salesforcedx-templates
Version:
Salesforce CLI scaffolding commands for different types of Force.com metadata
75 lines • 3.21 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
/*
* Copyright (c) 2019, salesforce.com, inc.
* All rights reserved.
* Licensed under the BSD 3-Clause license.
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/
const command_1 = require("@salesforce/command");
const apexTriggerGenerator_1 = require("../../../../generators/apexTriggerGenerator");
const utils_1 = require("../../../../utils");
const apexTriggerFileSuffix = /.trigger$/;
class ApexTrigger extends utils_1.TemplateCommand {
run() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
utils_1.CreateUtil.checkInputs(this.flags.triggername);
utils_1.CreateUtil.checkInputs(this.flags.template);
return this.runGenerator(apexTriggerGenerator_1.default);
});
}
}
ApexTrigger.description = utils_1.MessageUtil.buildDescription('ApexTriggerDescription', false);
ApexTrigger.examples = [
'$ sfdx force:apex:trigger:create -n MyTrigger',
"$ sfdx force:apex:trigger:create -n MyTrigger -s Account -e 'before insert, after insert'",
'$ sfdx force:apex:trigger:create -n MyTrigger -d triggers'
];
ApexTrigger.help = utils_1.MessageUtil.buildHelpText(ApexTrigger.examples, false);
ApexTrigger.longDescription = utils_1.MessageUtil.get('ApexTriggerLongDescription');
ApexTrigger.flagsConfig = {
triggername: command_1.flags.string({
char: 'n',
description: utils_1.MessageUtil.get('ApexTriggerNameFlagDescription'),
longDescription: utils_1.MessageUtil.get('ApexTriggerNameFlagLongDescription'),
required: true
}),
template: command_1.flags.string({
char: 't',
description: utils_1.MessageUtil.get('TemplateFlagDescription'),
longDescription: utils_1.MessageUtil.get('TemplateFlagLongDescription'),
default: 'ApexTrigger',
options: utils_1.CreateUtil.getCommandTemplatesForFiletype(apexTriggerFileSuffix, 'apextrigger')
}),
outputdir: command_1.flags.string({
char: 'd',
description: utils_1.MessageUtil.get('OutputDirFlagDescription'),
longDescription: utils_1.MessageUtil.get('OutputDirFlagLongDescription'),
default: process.cwd()
}),
apiversion: command_1.flags.builtin(),
sobject: command_1.flags.string({
char: 's',
description: utils_1.MessageUtil.get('ApexTriggerSObjectFlagDescription'),
longDescription: utils_1.MessageUtil.get('ApexTriggerSObjectFlagLongDescription'),
default: 'SOBJECT'
}),
triggerevents: command_1.flags.array({
char: 'e',
description: utils_1.MessageUtil.get('ApexTriggerEventsFlagDescription'),
longDescription: utils_1.MessageUtil.get('ApexTriggerEventsFlagLongDescription'),
default: ['before insert'],
options: [
'before insert',
'before update',
'before delete',
'after insert',
'after update',
'after delete',
'after undelete'
]
})
};
exports.default = ApexTrigger;
//# sourceMappingURL=create.js.map