@copado/copado-cli
Version:
Copado Developer CLI
52 lines • 2.43 kB
JavaScript
;
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: {} });
}
}
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 })
};
exports.default = JobStatus;
//# sourceMappingURL=status.js.map