@forge/cli

14.2.0-next.11-experimental-e03cc8514.2.0-next.19
out/command-line/register-webtrigger-commands.js
~out/command-line/register-webtrigger-commands.jsModified
+15−10
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
@@ -53,18 +53,23 @@
             site,
             environment,
             product
         });
-        return (0, installation_helper_1.validateInstallationId)(installation?.id);
+        if (!installation) {
+            throw new cli_shared_2.ValidationError(cli_shared_1.Text.installationId.errors.invalid);
+        }
+        (0, installation_helper_1.validateInstallationId)(installation.id);
+        return installation;
     }
     else {
         const appInstallation = await installationsService.listNonTechnicalAppInstallations({
             site,
             environment,
             product
         });
         const installation = await (0, installation_helper_1.selectSingleInstallation)(ui, appInstallation.installations, textConfig.interactiveTablePrompt, textConfig.interactiveTableOverview);
-        return (0, installation_helper_1.validateInstallationId)(installation.id);
+        (0, installation_helper_1.validateInstallationId)(installation.id);
+        return installation;
     }
 }
 function registerWebtriggerCreateCommand({ cmd, ui, configFile, services: { installationsService, extensionsService }, commands: { getWebTriggerURLCommand } }) {
     cmd
@@ -77,16 +82,16 @@
         .contextOption()
         .environmentOption()
         .precondition(manifestDefinesTriggers(configFile))
         .action(async ({ site, environment, product, functionKey, readSecretKey: readSecretKeyFlag, noKeyExpiry }) => {
-        const selectedInstallationId = await getInstallation(ui, installationsService, { site, product, environment }, {
+        const installation = await getInstallation(ui, installationsService, { site, product, environment }, {
             interactiveTablePrompt: cli_shared_1.Text.webtrigger.promptInstallationTable,
             interactiveTableOverview: cli_shared_1.Text.webtrigger.overViewInstallationTable,
             providedContextOverview: cli_shared_1.Text.webtrigger.overviewFuncKey
         });
-        const triggerKey = await validateWebtriggerKey(ui, configFile, extensionsService, selectedInstallationId, functionKey);
+        const triggerKey = await validateWebtriggerKey(ui, configFile, extensionsService, installation.id, functionKey);
         const secretKeyConfig = await (0, resolve_secret_key_1.resolveSecretKey)(ui, configFile, readSecretKeyFlag, triggerKey, noKeyExpiry);
-        const url = await getWebTriggerURLCommand.execute(selectedInstallationId, triggerKey, secretKeyConfig);
+        const url = await getWebTriggerURLCommand.execute(installation.id, triggerKey, secretKeyConfig);
         ui.info(cli_shared_1.Text.webtrigger.copy(url));
     });
 }
 function registerWebtriggerListCommand({ cmd, configFile, ui, services: { installationsService, extensionsService }, commands: { listWebTriggerURLCommand } }) {
@@ -99,17 +104,17 @@
         .environmentOption()
         .jsonOption()
         .precondition(manifestDefinesTriggers(configFile))
         .action(async ({ site, environment, product, functionKey, json }) => {
-        const selectedInstallationId = await getInstallation(ui, installationsService, { site, product, environment }, {
+        const installation = await getInstallation(ui, installationsService, { site, product, environment }, {
             interactiveTablePrompt: cli_shared_1.Text.webtrigger.promptInstallationTable,
             interactiveTableOverview: cli_shared_1.Text.webtrigger.list.overviewInstallationTable,
             providedContextOverview: cli_shared_1.Text.webtrigger.list.overviewProvidedContext
         });
-        let urls = await listWebTriggerURLCommand.execute(selectedInstallationId);
+        let urls = await listWebTriggerURLCommand.execute(installation.id);
         let tablePreMessage = cli_shared_1.Text.webtrigger.list.tablePreMessage;
         if (functionKey) {
-            const validatedKey = await validateWebtriggerKey(ui, configFile, extensionsService, selectedInstallationId, functionKey);
+            const validatedKey = await validateWebtriggerKey(ui, configFile, extensionsService, installation.id, functionKey);
             urls = urls.filter((url) => url.triggerKey === validatedKey);
             tablePreMessage = cli_shared_1.Text.webtrigger.list.listUrlsForKey(validatedKey);
         }
         ui.table([
@@ -133,9 +138,9 @@
             interactiveTablePrompt: cli_shared_1.Text.webtrigger.promptInstallationTable,
             interactiveTableOverview: cli_shared_1.Text.webtrigger.delete.interactive.overviewInstallationTable,
             providedContextOverview: cli_shared_1.Text.webtrigger.delete.interactive.overviewProvidedContext
         });
-        const urls = await listWebTriggerURLCommand.execute(installation);
+        const urls = await listWebTriggerURLCommand.execute(installation.id);
         let idToDelete = '';
         if (!webtriggerId) {
             const selectedUrlIndex = await ui.promptForSingleChoiceTable(cli_shared_1.Text.webtrigger.delete.interactive.desc, cli_shared_1.Text.webtrigger.delete.interactive.progressInfo, ['ID', 'Module Key', 'URL'], urls.map(({ id, triggerKey, url }) => ({
                 names: [id, triggerKey, url],
@@ -150,9 +155,9 @@
                 throw new cli_shared_2.ValidationError(cli_shared_1.Text.webtrigger.error.noMatchingIdForDeletion(webtriggerId));
             }
             idToDelete = targetUrl.id;
         }
-        const { success } = await deleteWebTriggerURLCommand.execute(idToDelete);
+        const { success } = await deleteWebTriggerURLCommand.execute(idToDelete, installation);
         if (success) {
             ui.info(cli_shared_1.Text.webtrigger.delete.successfulDelete(idToDelete));
         }
     });