1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 07:49:41 +02:00
portainer/app/docker/models/containerDetails.ts
LP B ac5491e864
Some checks failed
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
ci / build_images (map[arch:arm platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Has been cancelled
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Has been cancelled
/ triage (push) Has been cancelled
Lint / Run linters (push) Has been cancelled
Test / test-client (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:linux]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Has been cancelled
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Has been cancelled
Test / test-server (map[arch:arm64 platform:linux]) (push) Has been cancelled
ci / build_manifests (push) Has been cancelled
feat(app): limit the docker API version supported by the frontend (#12295)
2024-10-08 17:13:14 +02:00

56 lines
1.7 KiB
TypeScript

import { IResource } from '@/react/docker/components/datatables/createOwnershipColumn';
import { ContainerDetailsResponse } from '@/react/docker/containers/queries/useContainer';
import { PortainerResponse } from '@/react/docker/types';
import { ResourceControlViewModel } from '@/react/portainer/access-control/models/ResourceControlViewModel';
export class ContainerDetailsViewModel
implements IResource, Pick<PortainerResponse<unknown>, 'IsPortainer'>
{
Model: ContainerDetailsResponse;
Id: ContainerDetailsResponse['Id'];
State: ContainerDetailsResponse['State'];
Created: ContainerDetailsResponse['Created'];
Name: ContainerDetailsResponse['Name'];
NetworkSettings: ContainerDetailsResponse['NetworkSettings'];
Args: ContainerDetailsResponse['Args'];
Image: ContainerDetailsResponse['Image'];
Config: ContainerDetailsResponse['Config'];
HostConfig: ContainerDetailsResponse['HostConfig'];
Mounts: ContainerDetailsResponse['Mounts'];
// IResource
ResourceControl?: ResourceControlViewModel;
// PortainerResponse
IsPortainer?: ContainerDetailsResponse['IsPortainer'];
constructor(data: ContainerDetailsResponse) {
this.Model = data;
this.Id = data.Id;
this.State = data.State;
this.Created = data.Created;
this.Name = data.Name;
this.NetworkSettings = data.NetworkSettings;
this.Args = data.Args;
this.Image = data.Image;
this.Config = data.Config;
this.HostConfig = data.HostConfig;
this.Mounts = data.Mounts;
if (data.Portainer && data.Portainer.ResourceControl) {
this.ResourceControl = new ResourceControlViewModel(
data.Portainer.ResourceControl
);
}
this.IsPortainer = data.IsPortainer;
}
}