UNPKG

@copado/copado-cli

Version:

Copado Developer CLI

52 lines 2.43 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const chalk_1 = __importDefault(require("chalk")); const core_1 = require("@salesforce/core"); const filesystem_1 = require("../../../copado_commons/filesystem"); const restConnections_1 = require("../../../service/restConnections"); const theme_1 = __importDefault(require("../../../service/theme")); const sf_plugins_core_1 = require("@salesforce/sf-plugins-core"); core_1.Messages.importMessagesDirectory(__dirname); const messages = core_1.Messages.loadMessages('@copado/copado-cli', 'copado_job'); class JobStatus extends sf_plugins_core_1.SfCommand { async run() { let result = null; const ux = new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() }); try { const { flags } = await this.parse(JobStatus); const jobId = flags.jobid; const copadoUser = await filesystem_1.CopadoFiles.getCurrentUser(); ux.spinner.start(messages.getMessage('status.fetching')); result = await restConnections_1.RestConnections.restServiceCall('job', 'status', '', { jobId }, copadoUser); ux.spinner.stop(); this.showStatus(result, ux); this.showResults(result.body, ux); } catch (error) { throw new core_1.SfError(error.message); } return result; } showStatus(result, ux) { const chalkTheme = result.body.status === 'Not Started' ? theme_1.default.status.Info : theme_1.default.status[result.body.status] || chalk_1.default; ux.log(chalkTheme(`Job Execution status: ${result.body.status}`)); } showResults(content, ux) { let data = []; for (const key of Object.keys(content)) { data.push({ key, value: content[key] }); } ux.styledHeader(messages.getMessage('status.header')); ux.table(data, { key: {}, value: {} }); } } exports.default = JobStatus; JobStatus.examples = [messages.getMessage('status.example')]; JobStatus.description = messages.getMessage('status.description'); JobStatus.flags = { jobid: sf_plugins_core_1.Flags.string({ char: 'i', description: messages.getMessage('status.flags.jobId'), required: true }) }; //# sourceMappingURL=status.js.map