@forge/api

8.3.1-next.38.4.0-next.4
out/webTrigger.js
~out/webTrigger.jsModified
+42−14
Index: package/out/webTrigger.js
===================================================================
--- package/out/webTrigger.js
+++ package/out/webTrigger.js
@@ -2,23 +2,15 @@
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.webTrigger = void 0;
 const runtime_1 = require("./api/runtime");
 const fetch_1 = require("./api/fetch");
-const proxyGetWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.getWebTriggerUrl', async (webTriggerModuleKey, forceCreate, secretKeyConfig) => {
+const proxyGetWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.getWebTriggerUrl', async (webTriggerModuleKey, forceCreate) => {
     const runtime = (0, runtime_1.__getRuntime)();
     const input = {
         appId: runtime.appContext.appId,
         envId: runtime.appContext.environmentId,
         triggerKey: webTriggerModuleKey,
-        contextId: runtime.contextAri,
-        ...(secretKeyConfig !== undefined
-            ? {
-                secretKeyConfig: {
-                    key: secretKeyConfig.key,
-                    ...(secretKeyConfig.noExpiry !== undefined ? { noExpiry: secretKeyConfig.noExpiry } : {})
-                }
-            }
-            : {})
+        contextId: runtime.contextAri
     };
     const response = await (0, fetch_1.__requestAtlassianAsApp)('/graphql', {
         method: 'POST',
         headers: { 'Content-Type': 'application/json' },
@@ -44,8 +36,46 @@
         throw new Error(`Internal error occurred: Failed to get web trigger URL.`);
     }
     return responseBody.data.createWebTriggerUrl.url;
 });
+const proxyCreateAuthWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.createAuthWebTriggerUrl', async (webTriggerModuleKey, secretKeyConfig, forceCreate) => {
+    const runtime = (0, runtime_1.__getRuntime)();
+    const input = {
+        appId: runtime.appContext.appId,
+        envId: runtime.appContext.environmentId,
+        triggerKey: webTriggerModuleKey,
+        contextId: runtime.contextAri,
+        secretKey: secretKeyConfig.key,
+        ...(secretKeyConfig.noExpiry !== undefined ? { noExpiry: secretKeyConfig.noExpiry } : {})
+    };
+    const response = await (0, fetch_1.__requestAtlassianAsApp)('/graphql', {
+        method: 'POST',
+        headers: { 'Content-Type': 'application/json' },
+        body: JSON.stringify({
+            query: `
+            mutation forge_app_createAuthenticatedWebTriggerUrl($input: CreateAuthenticatedWebTriggerUrlInput!, $forceCreate: Boolean) {
+              createAuthenticatedWebTriggerUrl(input: $input, forceCreate: $forceCreate) {
+                url
+                keyId
+              }
+            }
+          `,
+            variables: {
+                input,
+                forceCreate
+            }
+        })
+    });
+    if (!response.ok) {
+        throw new Error(`Internal error occurred: Failed to create authenticated web trigger URL: ${response.statusText}.`);
+    }
+    const responseBody = (await response.json());
+    const { url, keyId } = responseBody?.data?.createAuthenticatedWebTriggerUrl ?? {};
+    if (!url || !keyId) {
+        throw new Error(`Internal error occurred: Failed to create authenticated web trigger URL.`);
+    }
+    return { url, keyId };
+});
 const proxyDeleteWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.deleteWebTriggerUrl', async (webTriggerUrl) => {
     const webTriggerUrlIdRegexGroupMatch = /\/(?:x1|public)\/([^\/\?\#]+)/;
     const matches = webTriggerUrl.match(webTriggerUrlIdRegexGroupMatch);
     if (!matches || matches.length < 2) {
@@ -120,12 +150,10 @@
 });
 exports.webTrigger = {
     getUrl: async (webTriggerModuleKey, optionsOrForceCreate) => {
         const forceCreate = typeof optionsOrForceCreate === 'boolean' ? optionsOrForceCreate : optionsOrForceCreate?.forceCreate ?? false;
-        const secretKeyConfig = typeof optionsOrForceCreate === 'object' && optionsOrForceCreate !== null
-            ? optionsOrForceCreate.secretKeyConfig
-            : undefined;
-        return proxyGetWebTriggerURL(webTriggerModuleKey, forceCreate, secretKeyConfig);
+        return proxyGetWebTriggerURL(webTriggerModuleKey, forceCreate);
     },
+    createAuthUrl: async (webTriggerModuleKey, secretKeyConfig, forceCreate = false) => proxyCreateAuthWebTriggerURL(webTriggerModuleKey, secretKeyConfig, forceCreate),
     deleteUrl: async (webTriggerUrl) => proxyDeleteWebTriggerURL(webTriggerUrl),
     queryUrls: async (moduleKey) => proxyQueryWebTriggerURLs(moduleKey)
 };