gitlab-ce/app/assets/javascripts/ci/artifacts/utils.js

29 lines
798 B
JavaScript

import { numberToHumanSize } from '~/lib/utils/number_utils';
import { ARCHIVE_FILE_TYPE, METADATA_FILE_TYPE } from './constants';
export const totalArtifactsSizeForJob = (job) =>
numberToHumanSize(
job.artifacts.nodes
.map((artifact) => Number(artifact.size))
.reduce((total, artifact) => total + artifact, 0),
);
export const mapArchivesToJobNodes = (jobNode) => {
return {
archive: {
...jobNode.artifacts.nodes.find((artifact) => artifact.fileType === ARCHIVE_FILE_TYPE),
},
...jobNode,
};
};
export const mapBooleansToJobNodes = (jobNode) => {
return {
hasArtifacts: jobNode.artifacts.nodes.length > 0,
hasMetadata: jobNode.artifacts.nodes.some(
(artifact) => artifact.fileType === METADATA_FILE_TYPE,
),
...jobNode,
};
};