@copado/copado-cli
Version:
Copado Developer CLI
66 lines • 3.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const theme_1 = __importDefault(require("../../../service/theme"));
const core_1 = require("@salesforce/core");
const filesystem_1 = require("../../../copado_commons/filesystem");
const listViews_1 = require("../../../service/listViews");
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_config');
class ConfigSet extends sf_plugins_core_1.SfCommand {
constructor() {
super(...arguments);
this.availableConfig = ['defaultlistview', 'externalid', 'bypassforceignore'];
}
async run() {
const ux = new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() });
let copadoConfig = await filesystem_1.CopadoFiles.getUserConfig();
const file = this.argv[0];
const argValues = file ? file.split('=') : null;
let localConfig = await filesystem_1.CopadoFiles.getLocalConfig();
this.assertArguments(argValues);
if (argValues[0] == 'defaultlistview') {
ux.log(theme_1.default.status.Info(messages.getMessage('set.search')));
if (copadoConfig.get('defaultlistview') != argValues[0] && !(await listViews_1.ListViews.exists(argValues[1]))) {
throw new core_1.SfError(messages.getMessage('set.listViewNotExist'));
}
}
// Note: Storing bypassforceignore only at local config and not at user config
if (argValues[0] !== 'bypassforceignore') {
await filesystem_1.CopadoFiles.setInGroup(copadoConfig, new Map([[argValues[0], argValues[1]]]), 'config');
}
await filesystem_1.CopadoFiles.setInGroup(localConfig, new Map([[argValues[0], argValues[1]]]), 'config');
if (argValues[0] == 'defaultlistview') {
ux.log(`${theme_1.default.status.Success(messages.getMessage('set.listViewExist'), argValues[1])}`);
}
else {
ux.log(theme_1.default.status.Success(messages.getMessage('set.success')));
}
return localConfig === null || localConfig === void 0 ? void 0 : localConfig.get('config');
}
assertArguments(argValue) {
if (!argValue) {
throw new core_1.SfError(messages.getMessage('set.noArguments'));
}
else if (argValue.length != 2) {
throw new core_1.SfError(messages.getMessage('set.invalidFormat'));
}
else if (!this.availableConfig.includes(argValue[0])) {
throw new core_1.SfError(`${theme_1.default.format.bold(argValue[0])} ${messages.getMessage('set.invalidKey')} ${this.availableConfig}`);
}
else if (argValue[0] === 'bypassforceignore' && argValue[1] != 'true' && argValue[1] != 'false') {
throw new core_1.SfError(messages.getMessage('set.invalidValue'));
}
}
}
exports.default = ConfigSet;
ConfigSet.description = messages.getMessage('set.description');
ConfigSet.examples = [
messages.getMessage('set.example.1'),
messages.getMessage('set.example.2'),
messages.getMessage('set.example.3')
];
//# sourceMappingURL=set.js.map