@versatiledatakit/data-pipelines
Version:
Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')
68 lines • 10.9 kB
JavaScript
/*
* Copyright 2023-2025 Broadcom
* SPDX-License-Identifier: Apache-2.0
*/
import { FormatDeltaPipe } from '../../../../../shared/pipes';
import { DATA_PIPELINES_DATE_TIME_FORMAT, DataJobExecutionStatus } from '../../../../../model';
export class DataJobExecutionToGridDataJobExecution {
static convertStatus(jobStatus, message) {
switch (`${jobStatus}`.toUpperCase()) {
case DataJobExecutionStatus.SUCCEEDED:
case DataJobExecutionStatus.FINISHED:
return DataJobExecutionStatus.SUCCEEDED;
case DataJobExecutionStatus.FAILED:
if (message) {
return message === 'Platform error' ? DataJobExecutionStatus.PLATFORM_ERROR : DataJobExecutionStatus.USER_ERROR;
}
else {
return DataJobExecutionStatus.FAILED;
}
default:
return jobStatus;
}
}
static convertToDataJobExecution(datePipe) {
return (dataJobExecution) => {
const formatDeltaPipe = new FormatDeltaPipe();
return dataJobExecution.reduce((accumulator, execution) => {
accumulator.push({
status: DataJobExecutionToGridDataJobExecution.convertStatus(execution.status, execution.message),
type: execution.type,
duration: formatDeltaPipe.transform(execution),
startTime: execution.startTime,
startTimeFormatted: execution.startTime
? datePipe.transform(execution.startTime, DATA_PIPELINES_DATE_TIME_FORMAT, 'UTC')
: '',
endTime: execution.endTime ? execution.endTime : null,
endTimeFormatted: execution.endTime
? datePipe.transform(execution.endTime, DATA_PIPELINES_DATE_TIME_FORMAT, 'UTC')
: '',
logsUrl: execution.logsUrl,
startedBy: execution.startedBy,
id: execution.id,
jobName: execution.jobName,
opId: execution.opId,
jobVersion: execution.deployment.jobVersion,
deployment: execution.deployment,
message: execution.message
});
return accumulator;
}, []);
};
}
static getStatusColorsMap() {
return {
[DataJobExecutionStatus.SUBMITTED]: '#CCCCCC',
[DataJobExecutionStatus.RUNNING]: '#CCCCCC',
[DataJobExecutionStatus.SUCCEEDED]: '#5EB715',
[DataJobExecutionStatus.CANCELLED]: '#CCCCCC',
[DataJobExecutionStatus.SKIPPED]: '#CCCCCC',
[DataJobExecutionStatus.USER_ERROR]: '#F27963',
[DataJobExecutionStatus.PLATFORM_ERROR]: '#F8CF2A'
};
}
static resolveColor(key) {
return DataJobExecutionToGridDataJobExecution.getStatusColorsMap()[key];
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1qb2ItZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1waXBlbGluZXMvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtam9iL3BhZ2VzL2V4ZWN1dGlvbnMvbW9kZWwvZGF0YS1qb2ItZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUlILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsK0JBQStCLEVBQXVDLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFTcEksTUFBTSxPQUFPLHNDQUFzQztJQUMvQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQWlDLEVBQUUsT0FBZTtRQUNuRSxRQUFRLEdBQUcsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDbEMsS0FBSyxzQkFBc0IsQ0FBQyxTQUFTLENBQUM7WUFDdEMsS0FBSyxzQkFBc0IsQ0FBQyxRQUFRO2dCQUNoQyxPQUFPLHNCQUFzQixDQUFDLFNBQVMsQ0FBQztZQUM1QyxLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLElBQUksT0FBTyxFQUFFO29CQUNULE9BQU8sT0FBTyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQztpQkFDbkg7cUJBQU07b0JBQ0gsT0FBTyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7aUJBQ3hDO1lBQ0w7Z0JBQ0ksT0FBTyxTQUFTLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLHlCQUF5QixDQUFDLFFBQWtCO1FBQy9DLE9BQU8sQ0FBQyxnQkFBbUMsRUFBMEIsRUFBRTtZQUNuRSxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBRTlDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFFO2dCQUN0RCxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNiLE1BQU0sRUFBRSxzQ0FBc0MsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDO29CQUNqRyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7b0JBQ3BCLFFBQVEsRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztvQkFDOUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTO29CQUM5QixrQkFBa0IsRUFBRSxTQUFTLENBQUMsU0FBUzt3QkFDbkMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSwrQkFBK0IsRUFBRSxLQUFLLENBQUM7d0JBQ2pGLENBQUMsQ0FBQyxFQUFFO29CQUNSLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJO29CQUNyRCxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsT0FBTzt3QkFDL0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxLQUFLLENBQUM7d0JBQy9FLENBQUMsQ0FBQyxFQUFFO29CQUNSLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztvQkFDMUIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTO29CQUM5QixFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztvQkFDMUIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO29CQUNwQixVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVO29CQUMzQyxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVU7b0JBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTztpQkFDN0IsQ0FBQyxDQUFDO2dCQUVILE9BQU8sV0FBVyxDQUFDO1lBQ3ZCLENBQUMsRUFBRSxFQUE0QixDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxrQkFBa0I7UUFDckIsT0FBTztZQUNILENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUztZQUM3QyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVM7WUFDM0MsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxTQUFTO1lBQzdDLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUztZQUM3QyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVM7WUFDM0MsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTO1lBQzlDLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLEVBQUUsU0FBUztTQUNyRCxDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVztRQUMzQixPQUFPLHNDQUFzQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFXLENBQUM7SUFDdEYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIzLTIwMjUgQnJvYWRjb21cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3JtYXREZWx0YVBpcGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvcGlwZXMnO1xuXG5pbXBvcnQgeyBEQVRBX1BJUEVMSU5FU19EQVRFX1RJTUVfRk9STUFULCBEYXRhSm9iRXhlY3V0aW9uLCBEYXRhSm9iRXhlY3V0aW9ucywgRGF0YUpvYkV4ZWN1dGlvblN0YXR1cyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmlkRGF0YUpvYkV4ZWN1dGlvbiBleHRlbmRzIERhdGFKb2JFeGVjdXRpb24ge1xuICAgIGR1cmF0aW9uOiBzdHJpbmc7XG4gICAgam9iVmVyc2lvbjogc3RyaW5nO1xuICAgIHN0YXJ0VGltZUZvcm1hdHRlZDogc3RyaW5nO1xuICAgIGVuZFRpbWVGb3JtYXR0ZWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFKb2JFeGVjdXRpb25Ub0dyaWREYXRhSm9iRXhlY3V0aW9uIHtcbiAgICBzdGF0aWMgY29udmVydFN0YXR1cyhqb2JTdGF0dXM6IERhdGFKb2JFeGVjdXRpb25TdGF0dXMsIG1lc3NhZ2U6IHN0cmluZyk6IERhdGFKb2JFeGVjdXRpb25TdGF0dXMge1xuICAgICAgICBzd2l0Y2ggKGAke2pvYlN0YXR1c31gLnRvVXBwZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGNhc2UgRGF0YUpvYkV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQ6XG4gICAgICAgICAgICBjYXNlIERhdGFKb2JFeGVjdXRpb25TdGF0dXMuRklOSVNIRUQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIERhdGFKb2JFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVEO1xuICAgICAgICAgICAgY2FzZSBEYXRhSm9iRXhlY3V0aW9uU3RhdHVzLkZBSUxFRDpcbiAgICAgICAgICAgICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZSA9PT0gJ1BsYXRmb3JtIGVycm9yJyA/IERhdGFKb2JFeGVjdXRpb25TdGF0dXMuUExBVEZPUk1fRVJST1IgOiBEYXRhSm9iRXhlY3V0aW9uU3RhdHVzLlVTRVJfRVJST1I7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERhdGFKb2JFeGVjdXRpb25TdGF0dXMuRkFJTEVEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGpvYlN0YXR1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBjb252ZXJ0VG9EYXRhSm9iRXhlY3V0aW9uKGRhdGVQaXBlOiBEYXRlUGlwZSkge1xuICAgICAgICByZXR1cm4gKGRhdGFKb2JFeGVjdXRpb246IERhdGFKb2JFeGVjdXRpb25zKTogR3JpZERhdGFKb2JFeGVjdXRpb25bXSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXREZWx0YVBpcGUgPSBuZXcgRm9ybWF0RGVsdGFQaXBlKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBkYXRhSm9iRXhlY3V0aW9uLnJlZHVjZSgoYWNjdW11bGF0b3IsIGV4ZWN1dGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjY3VtdWxhdG9yLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IERhdGFKb2JFeGVjdXRpb25Ub0dyaWREYXRhSm9iRXhlY3V0aW9uLmNvbnZlcnRTdGF0dXMoZXhlY3V0aW9uLnN0YXR1cywgZXhlY3V0aW9uLm1lc3NhZ2UpLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBleGVjdXRpb24udHlwZSxcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IGZvcm1hdERlbHRhUGlwZS50cmFuc2Zvcm0oZXhlY3V0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBleGVjdXRpb24uc3RhcnRUaW1lLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFRpbWVGb3JtYXR0ZWQ6IGV4ZWN1dGlvbi5zdGFydFRpbWVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZGF0ZVBpcGUudHJhbnNmb3JtKGV4ZWN1dGlvbi5zdGFydFRpbWUsIERBVEFfUElQRUxJTkVTX0RBVEVfVElNRV9GT1JNQVQsICdVVEMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZW5kVGltZTogZXhlY3V0aW9uLmVuZFRpbWUgPyBleGVjdXRpb24uZW5kVGltZSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGVuZFRpbWVGb3JtYXR0ZWQ6IGV4ZWN1dGlvbi5lbmRUaW1lXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGRhdGVQaXBlLnRyYW5zZm9ybShleGVjdXRpb24uZW5kVGltZSwgREFUQV9QSVBFTElORVNfREFURV9USU1FX0ZPUk1BVCwgJ1VUQycpXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBsb2dzVXJsOiBleGVjdXRpb24ubG9nc1VybCxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRlZEJ5OiBleGVjdXRpb24uc3RhcnRlZEJ5LFxuICAgICAgICAgICAgICAgICAgICBpZDogZXhlY3V0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgICBqb2JOYW1lOiBleGVjdXRpb24uam9iTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgb3BJZDogZXhlY3V0aW9uLm9wSWQsXG4gICAgICAgICAgICAgICAgICAgIGpvYlZlcnNpb246IGV4ZWN1dGlvbi5kZXBsb3ltZW50LmpvYlZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgIGRlcGxveW1lbnQ6IGV4ZWN1dGlvbi5kZXBsb3ltZW50LFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBleGVjdXRpb24ubWVzc2FnZVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgICAgICAgICAgfSwgW10gYXMgR3JpZERhdGFKb2JFeGVjdXRpb25bXSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFN0YXR1c0NvbG9yc01hcCgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFtEYXRhSm9iRXhlY3V0aW9uU3RhdHVzLlNVQk1JVFRFRF06ICcjQ0NDQ0NDJyxcbiAgICAgICAgICAgIFtEYXRhSm9iRXhlY3V0aW9uU3RhdHVzLlJVTk5JTkddOiAnI0NDQ0NDQycsXG4gICAgICAgICAgICBbRGF0YUpvYkV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERURdOiAnIzVFQjcxNScsXG4gICAgICAgICAgICBbRGF0YUpvYkV4ZWN1dGlvblN0YXR1cy5DQU5DRUxMRURdOiAnI0NDQ0NDQycsXG4gICAgICAgICAgICBbRGF0YUpvYkV4ZWN1dGlvblN0YXR1cy5TS0lQUEVEXTogJyNDQ0NDQ0MnLFxuICAgICAgICAgICAgW0RhdGFKb2JFeGVjdXRpb25TdGF0dXMuVVNFUl9FUlJPUl06ICcjRjI3OTYzJyxcbiAgICAgICAgICAgIFtEYXRhSm9iRXhlY3V0aW9uU3RhdHVzLlBMQVRGT1JNX0VSUk9SXTogJyNGOENGMkEnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIHJlc29sdmVDb2xvcihrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBEYXRhSm9iRXhlY3V0aW9uVG9HcmlkRGF0YUpvYkV4ZWN1dGlvbi5nZXRTdGF0dXNDb2xvcnNNYXAoKVtrZXldIGFzIHN0cmluZztcbiAgICB9XG59XG4iXX0=