@forge/cli
12.9.0-next.16-experimental-4bd2ca012.9.0-next.17
out/command-line/register-webtrigger-commands.js~
out/command-line/register-webtrigger-commands.jsModified+63−40
Index: package/out/command-line/register-webtrigger-commands.js
===================================================================
--- package/out/command-line/register-webtrigger-commands.js
+++ package/out/command-line/register-webtrigger-commands.js
@@ -25,52 +25,75 @@
return async () => {
await getValidWebtriggers(configFile);
};
}
-const registerCommands = ({ cmd, ui, configFile, services: { installationsService }, commands: { getWebTriggerURLCommand } }) => {
- const validateWebtriggerKey = async (functionKey) => {
- const availableWebTriggers = await getValidWebtriggers(configFile);
- if (functionKey) {
- if (!availableWebTriggers.has(functionKey)) {
- throw new cli_shared_2.ValidationError(cli_shared_1.Text.webtrigger.error.funcKey);
- }
- return functionKey;
+async function validateWebtriggerKey(ui, configFile, functionKey) {
+ const availableWebTriggers = await getValidWebtriggers(configFile);
+ if (functionKey) {
+ if (!availableWebTriggers.has(functionKey)) {
+ throw new cli_shared_2.ValidationError(cli_shared_1.Text.webtrigger.error.funcKey);
}
- else {
- const values = [...availableWebTriggers.values()];
- return await ui.promptForList(cli_shared_1.Text.webtrigger.promptFuncKey, values);
- }
- };
- cmd
- .command('webtrigger')
+ return functionKey;
+ }
+ else {
+ const values = [...availableWebTriggers.values()];
+ return await ui.promptForList(cli_shared_1.Text.webtrigger.promptFuncKey, values);
+ }
+}
+async function webtriggerCreateAction(deps, { functionKey, site, environment, product }) {
+ const { ui, configFile, services: { installationsService }, commands: { getWebTriggerURLCommand } } = deps;
+ let selectedInstallationId = '';
+ if (site && product) {
+ ui.info(cli_shared_1.Text.webtrigger.overviewFuncKey);
+ const installation = await installationsService.findOnlyMatchingInstallation({
+ site,
+ environment,
+ product
+ });
+ selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation?.id);
+ }
+ else {
+ const appInstallation = await installationsService.listNonTechnicalAppInstallations({
+ site,
+ environment,
+ product
+ });
+ const installation = await (0, installation_helper_1.selectSingleInstallation)(ui, appInstallation.installations, cli_shared_1.Text.webtrigger.promptInstallationTable, cli_shared_1.Text.webtrigger.overViewInstallationTable);
+ selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation.id);
+ }
+ const url = await getWebTriggerURLCommand.execute(selectedInstallationId, await validateWebtriggerKey(ui, configFile, functionKey));
+ ui.info(cli_shared_1.Text.webtrigger.copy(url));
+}
+function registerDeprecatedWebtriggerCreateCommand(deps) {
+ deps.cmd
+ .command('__create', { isDefault: true, hidden: true })
.requireAppId()
- .description(cli_shared_1.Text.webtrigger.cmd)
- .option('-f, --functionKey [function]', cli_shared_1.Text.webtrigger.optionFuncKey)
+ .option('-f, --functionKey <functionKey>', cli_shared_1.Text.webtrigger.optionFuncKey)
.contextOption()
.environmentOption()
- .precondition(manifestDefinesTriggers(configFile))
- .action(async ({ functionKey, site, environment, product }) => {
- let selectedInstallationId = '';
- if (site && product) {
- ui.info(cli_shared_1.Text.webtrigger.overviewFuncKey);
- const installation = await installationsService.findOnlyMatchingInstallation({
- site,
- environment,
- product
- });
- selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation?.id);
- }
- else {
- const appInstallation = await installationsService.listNonTechnicalAppInstallations({
- site,
- environment,
- product
- });
- const installation = await (0, installation_helper_1.selectSingleInstallation)(ui, appInstallation.installations, cli_shared_1.Text.webtrigger.promptInstallationTable, cli_shared_1.Text.webtrigger.overViewInstallationTable);
- selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation.id);
- }
- const url = await getWebTriggerURLCommand.execute(selectedInstallationId, await validateWebtriggerKey(functionKey));
- ui.info(cli_shared_1.Text.webtrigger.copy(url));
+ .precondition(manifestDefinesTriggers(deps.configFile))
+ .action(async (args) => {
+ deps.ui.emptyLine();
+ deps.ui.warn(cli_shared_1.Text.warning.oldCreateCommandDeprecation);
+ await webtriggerCreateAction(deps, args);
});
+}
+function registerWebtriggerCreateCommand(deps) {
+ deps.cmd
+ .command('create')
+ .requireAppId()
+ .description(cli_shared_1.Text.webtrigger.create.cmd)
+ .option('-f, --functionKey <functionKey>', cli_shared_1.Text.webtrigger.create.optionFunctionKey)
+ .contextOption()
+ .environmentOption()
+ .precondition(manifestDefinesTriggers(deps.configFile))
+ .action(async (args) => {
+ await webtriggerCreateAction(deps, args);
+ });
+}
+const registerCommands = (deps) => {
+ const webtrigger = deps.cmd.command('webtrigger').description(cli_shared_1.Text.webtrigger.cmd);
+ registerWebtriggerCreateCommand({ ...deps, cmd: webtrigger });
+ registerDeprecatedWebtriggerCreateCommand({ ...deps, cmd: webtrigger });
};
exports.registerCommands = registerCommands;
//# sourceMappingURL=register-webtrigger-commands.js.map
\ No newline at end of file