@forge/api 2.21.0 → 2.22.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @forge/api
2
2
 
3
+ ## 2.22.0-next.1
4
+
5
+ ### Minor Changes
6
+
7
+ - 97bbfc10: Add deleteWebTriggerUrl mutation to forge-api for Web Triggers
8
+ - 1fd03c6d: Added getUrlId function to Web Trigger forge-api
9
+ - 52455789: Added deleteWebTriggerUrl mutation to forge-api and sandbox runtime
10
+
11
+ ## 2.21.1-next.0
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [2cf5ac83]
16
+ - @forge/egress@1.2.10-next.0
17
+
3
18
  ## 2.21.0
4
19
 
5
20
  ### Minor Changes
@@ -1,5 +1,7 @@
1
1
  interface WebTriggerAPI {
2
2
  getUrl: (webTriggerModuleKey: string, forceCreate?: boolean) => Promise<string>;
3
+ deleteUrl: (webTriggerUrl: string) => Promise<void>;
4
+ getUrlIds: (webTriggerUrl: string) => Promise<string[]>;
3
5
  }
4
6
  export declare const webTrigger: WebTriggerAPI;
5
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"webTrigger.d.ts","sourceRoot":"","sources":["../src/webTrigger.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,MAAM,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACjF;AA4CD,eAAO,MAAM,UAAU,EAAE,aAGxB,CAAC"}
1
+ {"version":3,"file":"webTrigger.d.ts","sourceRoot":"","sources":["../src/webTrigger.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,MAAM,EAAE,CAAC,mBAAmB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChF,SAAS,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,SAAS,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzD;AAyID,eAAO,MAAM,UAAU,EAAE,aAOxB,CAAC"}
package/out/webTrigger.js CHANGED
@@ -37,6 +37,79 @@ const proxyGetWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.getWebTriggerUrl
37
37
  }
38
38
  return responseBody.data.createWebTriggerUrl.url;
39
39
  });
40
+ const proxyDeleteWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.deleteWebTriggerUrl', async (webTriggerUrl) => {
41
+ const callDelete = async (webTriggerUrlId) => {
42
+ var _a, _b, _c, _d;
43
+ const response = await (0, fetch_and_storage_1.createRequestStargateAsApp)()('/graphql', {
44
+ method: 'POST',
45
+ headers: { 'Content-Type': 'application/json' },
46
+ body: JSON.stringify({
47
+ query: `
48
+ mutation forge_app_deleteWebTriggerUrl($id: ID!) {
49
+ deleteWebTriggerUrl(id: $id) {
50
+ success
51
+ message
52
+ }
53
+ }
54
+ `,
55
+ variables: {
56
+ id: webTriggerUrlId
57
+ }
58
+ })
59
+ });
60
+ if (!response.ok) {
61
+ throw new Error(`Internal error occurred: Failed to delete web trigger URL: ${response.statusText}.`);
62
+ }
63
+ const responseBody = await response.json();
64
+ if (!((_b = (_a = responseBody === null || responseBody === void 0 ? void 0 : responseBody.data) === null || _a === void 0 ? void 0 : _a.deleteWebTriggerUrl) === null || _b === void 0 ? void 0 : _b.success)) {
65
+ const errorText = ((_d = (_c = responseBody === null || responseBody === void 0 ? void 0 : responseBody.data) === null || _c === void 0 ? void 0 : _c.deleteWebTriggerUrl) === null || _d === void 0 ? void 0 : _d.message) || 'unknown error';
66
+ throw new Error(`Internal error occurred: Failed to delete web trigger URL: ${errorText}`);
67
+ }
68
+ };
69
+ const urlIds = await exports.webTrigger.getUrlIds(webTriggerUrl);
70
+ for (const urlId of urlIds) {
71
+ await callDelete(urlId);
72
+ }
73
+ });
74
+ const proxyGetWebTriggerUrlIds = (0, runtime_1.wrapInMetrics)('api.getWebTriggerUrlIds', async (webTriggerUrl) => {
75
+ var _a;
76
+ const runtime = (0, runtime_1.getRuntime)();
77
+ const response = await (0, fetch_and_storage_1.createRequestStargateAsApp)()('/graphql', {
78
+ method: 'POST',
79
+ headers: { 'Content-Type': 'application/json' },
80
+ body: JSON.stringify({
81
+ query: `
82
+ mutation forge_app_webTriggerUrlsByAppContext($appId: ID!, $envId: ID!, $contextId: ID!) {
83
+ webTriggerUrlsByAppContext(appId: $appId, envId: $envId, contextId: $contextId) {
84
+ id
85
+ url
86
+ }
87
+ }
88
+ `,
89
+ variables: {
90
+ appId: runtime.appContext.appId,
91
+ envId: runtime.appContext.environmentId,
92
+ contextId: runtime.contextAri
93
+ }
94
+ })
95
+ });
96
+ if (!response.ok) {
97
+ throw new Error(`Internal error occurred: Failed to get web trigger URLs: ${response.statusText}.`);
98
+ }
99
+ const responseBody = await response.json();
100
+ if (!((_a = responseBody === null || responseBody === void 0 ? void 0 : responseBody.data) === null || _a === void 0 ? void 0 : _a.webTriggerUrlsByAppContext) || responseBody.data.webTriggerUrlsByAppContext.length == 0) {
101
+ throw new Error('Internal error occurred: No web trigger URLs found');
102
+ }
103
+ const result = responseBody.data.webTriggerUrlsByAppContext
104
+ .filter((webTriggerResult) => webTriggerResult.url == webTriggerUrl)
105
+ .map((webTriggerResult) => webTriggerResult.id);
106
+ if (!result || result.length == 0) {
107
+ throw new Error('Internal error occurred: Web trigger URL matching URL not found');
108
+ }
109
+ return result;
110
+ });
40
111
  exports.webTrigger = {
41
- getUrl: async (webTriggerModuleKey, forceCreate = false) => { var _a, _b, _c; return ((_c = (_b = (_a = global.api) === null || _a === void 0 ? void 0 : _a.webTrigger) === null || _b === void 0 ? void 0 : _b.getUrl) !== null && _c !== void 0 ? _c : proxyGetWebTriggerURL)(webTriggerModuleKey, forceCreate); }
112
+ getUrl: async (webTriggerModuleKey, forceCreate = false) => { var _a, _b, _c; return ((_c = (_b = (_a = global.api) === null || _a === void 0 ? void 0 : _a.webTrigger) === null || _b === void 0 ? void 0 : _b.getUrl) !== null && _c !== void 0 ? _c : proxyGetWebTriggerURL)(webTriggerModuleKey, forceCreate); },
113
+ deleteUrl: async (webTriggerUrl) => { var _a, _b, _c; return ((_c = (_b = (_a = global.api) === null || _a === void 0 ? void 0 : _a.webTrigger) === null || _b === void 0 ? void 0 : _b.deleteUrl) !== null && _c !== void 0 ? _c : proxyDeleteWebTriggerURL)(webTriggerUrl); },
114
+ getUrlIds: async (webTriggerUrl) => { var _a, _b, _c; return ((_c = (_b = (_a = global.api) === null || _a === void 0 ? void 0 : _a.webTrigger) === null || _b === void 0 ? void 0 : _b.getUrlIds) !== null && _c !== void 0 ? _c : proxyGetWebTriggerUrlIds)(webTriggerUrl); }
42
115
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/api",
3
- "version": "2.21.0",
3
+ "version": "2.22.0-next.1",
4
4
  "description": "Forge API methods",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -12,7 +12,7 @@
12
12
  "compile": "tsc -b -v"
13
13
  },
14
14
  "devDependencies": {
15
- "@forge/runtime": "5.2.1",
15
+ "@forge/runtime": "5.2.2-next.0",
16
16
  "@types/node": "14.18.63",
17
17
  "expect-type": "^0.17.3",
18
18
  "jest-matcher-specific-error": "^1.0.0",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@forge/auth": "0.0.5",
23
- "@forge/egress": "1.2.9",
23
+ "@forge/egress": "1.2.10-next.0",
24
24
  "@forge/storage": "1.5.13",
25
25
  "@forge/util": "1.3.3",
26
26
  "@types/node-fetch": "^2.6.9",