mirror of https://github.com/portainer/portainer
34 lines
710 B
TypeScript
34 lines
710 B
TypeScript
import { CreateContainerRequest } from '../types';
|
|
|
|
import { Values } from './types';
|
|
|
|
export function toRequest(
|
|
oldConfig: CreateContainerRequest,
|
|
values: Values
|
|
): CreateContainerRequest {
|
|
const validValues = values.filter(
|
|
(volume) => volume.containerPath && volume.name
|
|
);
|
|
|
|
const volumes = Object.fromEntries(
|
|
validValues.map((volume) => [volume.containerPath, {}])
|
|
);
|
|
const binds = validValues.map((volume) => {
|
|
let bind = `${volume.name}:${volume.containerPath}`;
|
|
if (volume.readOnly) {
|
|
bind += ':ro';
|
|
}
|
|
|
|
return bind;
|
|
});
|
|
|
|
return {
|
|
...oldConfig,
|
|
Volumes: volumes,
|
|
HostConfig: {
|
|
...oldConfig.HostConfig,
|
|
Binds: binds,
|
|
},
|
|
};
|
|
}
|