portainer/portainer

View on GitHub
app/docker/models/imageDetails.js

Summary

Maintainability
A
25 mins
Test Coverage
export function ImageDetailsViewModel(data) {
  this.Id = data.Id;
  this.Tag = data.Tag;
  this.Parent = data.Parent;
  this.Repository = data.Repository;
  this.Created = data.Created;
  this.Checked = false;
  this.RepoTags = data.RepoTags;
  this.Size = data.Size;
  this.DockerVersion = data.DockerVersion;
  this.Os = data.Os;
  this.Architecture = data.Architecture;
  this.Author = data.Author;
  this.Command = data.Config.Cmd;

  let config = {};
  if (data.Config) {
    config = data.Config; // this is part of OCI images-spec
  } else if (data.ContainerConfig != null) {
    config = data.ContainerConfig; // not OCI ; has been removed in Docker 26 (API v1.45) along with .Container
  }
  this.Entrypoint = config.Entrypoint ? config.Entrypoint : '';
  this.ExposedPorts = config.ExposedPorts ? Object.keys(config.ExposedPorts) : [];
  this.Volumes = config.Volumes ? Object.keys(config.Volumes) : [];
  this.Env = config.Env ? config.Env : [];
  this.Labels = config.Labels;
}