@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)
};