@forge/api 6.1.1-experimental-73629cc → 6.1.1-experimental-3ed5db1
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 +3 -4
- package/out/api/errors.d.ts +0 -4
- package/out/api/errors.d.ts.map +1 -1
- package/out/api/errors.js +2 -16
- package/out/api/runtime.d.ts +0 -29
- package/out/api/runtime.d.ts.map +1 -1
- package/out/api/runtime.js +3 -90
- package/out/index.d.ts +0 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -3
- package/package.json +3 -5
- package/out/api/permissions.d.ts +0 -23
- package/out/api/permissions.d.ts.map +0 -1
- package/out/api/permissions.js +0 -157
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
# @forge/api
|
|
2
2
|
|
|
3
|
-
## 6.1.1-experimental-
|
|
3
|
+
## 6.1.1-experimental-3ed5db1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
- @forge/manifest@10.4.0-experimental-73629cc
|
|
7
|
+
- Updated dependencies [c76782c]
|
|
8
|
+
- @forge/storage@2.0.2-experimental-3ed5db1
|
|
10
9
|
|
|
11
10
|
## 6.1.1
|
|
12
11
|
|
package/out/api/errors.d.ts
CHANGED
|
@@ -5,7 +5,6 @@ export declare const NEEDS_AUTHENTICATION_ERR = "NEEDS_AUTHENTICATION_ERR";
|
|
|
5
5
|
export declare const INVALID_REMOTE_ERR = "INVALID_REMOTE_ERR";
|
|
6
6
|
export declare const INVALID_CONTAINER_SERVICE_ERR = "INVALID_CONTAINER_SERVICE_ERR";
|
|
7
7
|
export declare const PROXY_ERR = "PROXY_ERR";
|
|
8
|
-
export declare const API_NOT_READY_ERR = "API_NOT_READY_ERR";
|
|
9
8
|
export declare function isForgePlatformError(err: Error): boolean;
|
|
10
9
|
export declare function isHostedCodeError(err: Error | string): boolean;
|
|
11
10
|
export declare function isExpectedError(err: Error): boolean;
|
|
@@ -53,7 +52,4 @@ export declare class ProxyRequestError extends HttpError {
|
|
|
53
52
|
errorCode: string;
|
|
54
53
|
constructor(status: number, errorCode: string);
|
|
55
54
|
}
|
|
56
|
-
export declare class ApiNotReadyError extends Error {
|
|
57
|
-
constructor(message?: string);
|
|
58
|
-
}
|
|
59
55
|
//# sourceMappingURL=errors.d.ts.map
|
package/out/api/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E,eAAO,MAAM,SAAS,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/api/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,WAE9C;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,WAIpD;AAKD,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAEnD;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBACf,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,UAAW,SAAQ,KAAK;gBACvB,KAAK,EAAE,MAAM;CAK1B;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM;CAM5B;AAED,qBAAa,+BAAgC,SAAQ,eAAe;gBACtD,SAAS,EAAE,MAAM;CAK9B;AAED,qBAAa,8BAA+B,SAAQ,eAAe;gBACrD,SAAS,EAAE,MAAM;CAG9B;AAED,qBAAa,6BAA8B,SAAQ,eAAe;gBACpD,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;CAGhE;AAED,qBAAa,8BAA+B,SAAQ,eAAe;gBACrD,SAAS,EAAE,MAAM;CAG9B;AAED,MAAM,WAAW,+BAA+B;IAI9C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAKlB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,wBAAyB,SAAQ,SAAS;aAGnC,UAAU,EAAE,MAAM;aAClB,OAAO,CAAC;gBAFxB,KAAK,EAAE,MAAM,EACG,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,6CAAiC;CAO5D;AAED,qBAAa,kBAAmB,SAAQ,SAAS;aAG7B,SAAS,EAAE,MAAM;gBADjC,KAAK,EAAE,MAAM,EACG,SAAS,EAAE,MAAM;CAMpC;AAED,qBAAa,4BAA6B,SAAQ,SAAS;aAGvC,UAAU,EAAE,MAAM;gBADlC,KAAK,EAAE,MAAM,EACG,UAAU,EAAE,MAAM;CAMrC;AAED,qBAAa,iBAAkB,SAAQ,SAAS;IAErC,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,MAAM;gBADjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM;CAK3B"}
|
package/out/api/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ProxyRequestError = exports.InvalidContainerServiceError = exports.InvalidRemoteError = exports.NeedsAuthenticationError = exports.InvalidWorkspaceRequestedError = exports.RequestProductNotAllowedError = exports.ProductEndpointNotAllowedError = exports.ExternalEndpointNotAllowedError = exports.NotAllowedError = exports.FetchError = exports.HttpError = exports.isExpectedError = exports.isHostedCodeError = exports.isForgePlatformError = exports.PROXY_ERR = exports.INVALID_CONTAINER_SERVICE_ERR = exports.INVALID_REMOTE_ERR = exports.NEEDS_AUTHENTICATION_ERR = exports.FUNCTION_FETCH_ERR = exports.REQUEST_EGRESS_ALLOWLIST_ERR = exports.FUNCTION_ERR = void 0;
|
|
4
4
|
exports.FUNCTION_ERR = 'FUNCTION_ERR';
|
|
5
5
|
exports.REQUEST_EGRESS_ALLOWLIST_ERR = 'REQUEST_EGRESS_ALLOWLIST_ERR';
|
|
6
6
|
exports.FUNCTION_FETCH_ERR = 'FUNCTION_FETCH_ERR';
|
|
@@ -8,15 +8,8 @@ exports.NEEDS_AUTHENTICATION_ERR = 'NEEDS_AUTHENTICATION_ERR';
|
|
|
8
8
|
exports.INVALID_REMOTE_ERR = 'INVALID_REMOTE_ERR';
|
|
9
9
|
exports.INVALID_CONTAINER_SERVICE_ERR = 'INVALID_CONTAINER_SERVICE_ERR';
|
|
10
10
|
exports.PROXY_ERR = 'PROXY_ERR';
|
|
11
|
-
exports.API_NOT_READY_ERR = 'API_NOT_READY_ERR';
|
|
12
11
|
function isForgePlatformError(err) {
|
|
13
|
-
return [
|
|
14
|
-
exports.REQUEST_EGRESS_ALLOWLIST_ERR,
|
|
15
|
-
exports.FUNCTION_FETCH_ERR,
|
|
16
|
-
exports.NEEDS_AUTHENTICATION_ERR,
|
|
17
|
-
exports.PROXY_ERR,
|
|
18
|
-
exports.API_NOT_READY_ERR
|
|
19
|
-
].includes(err.name);
|
|
12
|
+
return [exports.REQUEST_EGRESS_ALLOWLIST_ERR, exports.FUNCTION_FETCH_ERR, exports.NEEDS_AUTHENTICATION_ERR, exports.PROXY_ERR].includes(err.name);
|
|
20
13
|
}
|
|
21
14
|
exports.isForgePlatformError = isForgePlatformError;
|
|
22
15
|
function isHostedCodeError(err) {
|
|
@@ -119,10 +112,3 @@ class ProxyRequestError extends HttpError {
|
|
|
119
112
|
}
|
|
120
113
|
}
|
|
121
114
|
exports.ProxyRequestError = ProxyRequestError;
|
|
122
|
-
class ApiNotReadyError extends Error {
|
|
123
|
-
constructor(message = 'Forge API currently not available') {
|
|
124
|
-
super(message);
|
|
125
|
-
this.name = exports.API_NOT_READY_ERR;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
exports.ApiNotReadyError = ApiNotReadyError;
|
package/out/api/runtime.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AppAri, EnvironmentAri, InstallationAri } from './ari';
|
|
2
|
-
import { Permissions as ManifestPermissions, External as ManifestExternal, Scopes as ManifestScopes, Content1 as ManifestContent } from '@forge/manifest';
|
|
3
2
|
interface Timer {
|
|
4
3
|
stop(tags?: Record<string, string>): void;
|
|
5
4
|
}
|
|
@@ -65,31 +64,6 @@ export interface Installation {
|
|
|
65
64
|
export interface Realtime {
|
|
66
65
|
contextToken?: string;
|
|
67
66
|
}
|
|
68
|
-
export declare type External = ManifestExternal;
|
|
69
|
-
export declare abstract class Permissions implements ManifestPermissions {
|
|
70
|
-
abstract scopes?: ManifestScopes;
|
|
71
|
-
abstract content?: ManifestContent;
|
|
72
|
-
abstract external?: ManifestExternal;
|
|
73
|
-
format(): string;
|
|
74
|
-
}
|
|
75
|
-
export declare class RuntimePermissions extends Permissions {
|
|
76
|
-
scopes: ManifestScopes;
|
|
77
|
-
external: ManifestExternal;
|
|
78
|
-
content?: ManifestContent | undefined;
|
|
79
|
-
constructor(scopes: ManifestScopes, external: ManifestExternal, content?: ManifestContent | undefined);
|
|
80
|
-
}
|
|
81
|
-
export declare class PermissionRequirements extends Permissions {
|
|
82
|
-
scopes?: ManifestScopes | undefined;
|
|
83
|
-
external?: ManifestExternal | undefined;
|
|
84
|
-
content?: ManifestContent | undefined;
|
|
85
|
-
constructor(scopes?: ManifestScopes | undefined, external?: ManifestExternal | undefined, content?: ManifestContent | undefined);
|
|
86
|
-
}
|
|
87
|
-
export declare class MissingPermissions extends Permissions {
|
|
88
|
-
scopes?: ManifestScopes | undefined;
|
|
89
|
-
external?: ManifestExternal | undefined;
|
|
90
|
-
content?: ManifestContent | undefined;
|
|
91
|
-
constructor(scopes?: ManifestScopes | undefined, external?: ManifestExternal | undefined, content?: ManifestContent | undefined);
|
|
92
|
-
}
|
|
93
67
|
export declare type ForgeRuntime = {
|
|
94
68
|
proxy: ProxyInfo;
|
|
95
69
|
contextAri: string;
|
|
@@ -111,7 +85,6 @@ export declare type ForgeRuntime = {
|
|
|
111
85
|
moduleKey: string;
|
|
112
86
|
license?: License;
|
|
113
87
|
installation?: Installation;
|
|
114
|
-
permissions: Permissions;
|
|
115
88
|
};
|
|
116
89
|
aaid?: string;
|
|
117
90
|
lambdaContext: {
|
|
@@ -146,12 +119,10 @@ export declare type AppContext = {
|
|
|
146
119
|
moduleKey: string;
|
|
147
120
|
license?: License;
|
|
148
121
|
installation?: Installation;
|
|
149
|
-
permissions: Permissions;
|
|
150
122
|
};
|
|
151
123
|
export declare function __getRuntime(): ForgeRuntime;
|
|
152
124
|
export declare function getAppContext(): AppContext;
|
|
153
125
|
export declare function wrapInMetrics<Args extends unknown[], Ret>(name: string, fn: (...args: Args) => Promise<Ret>): (...args: Args) => Promise<Ret>;
|
|
154
126
|
export declare function bindInvocationContext<Func extends (...args: never[]) => unknown>(fn: Func): Func;
|
|
155
|
-
export declare function arePermsAvailableInRuntime(): boolean;
|
|
156
127
|
export {};
|
|
157
128
|
//# sourceMappingURL=runtime.d.ts.map
|
package/out/api/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/api/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAoD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/api/runtime.ts"],"names":[],"mappings":"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"}
|
package/out/api/runtime.js
CHANGED
|
@@ -1,88 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.bindInvocationContext = exports.wrapInMetrics = exports.getAppContext = exports.__getRuntime = void 0;
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
5
|
const ari_1 = require("./ari");
|
|
6
|
-
function extractUrlString(item) {
|
|
7
|
-
if (typeof item === 'string') {
|
|
8
|
-
return item;
|
|
9
|
-
}
|
|
10
|
-
else if ('address' in item) {
|
|
11
|
-
return item.address;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
return item.remote;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
class Permissions {
|
|
18
|
-
format() {
|
|
19
|
-
const parts = [];
|
|
20
|
-
if (this.scopes && Array.isArray(this.scopes) && this.scopes.length > 0) {
|
|
21
|
-
parts.push(`Scopes: ${this.scopes.join(', ')}`);
|
|
22
|
-
}
|
|
23
|
-
if (this.external) {
|
|
24
|
-
const externalParts = [];
|
|
25
|
-
if (this.external.fetch) {
|
|
26
|
-
if (this.external.fetch.backend && this.external.fetch.backend.length > 0) {
|
|
27
|
-
const backendUrls = this.external.fetch.backend.map(extractUrlString).join(', ');
|
|
28
|
-
externalParts.push(`Fetch Backend: ${backendUrls}`);
|
|
29
|
-
}
|
|
30
|
-
if (this.external.fetch.client && this.external.fetch.client.length > 0) {
|
|
31
|
-
const clientUrls = this.external.fetch.client.map(extractUrlString).join(', ');
|
|
32
|
-
externalParts.push(`Fetch Client: ${clientUrls}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
const resourceTypes = ['fonts', 'frames', 'navigation', 'images', 'media', 'scripts', 'styles'];
|
|
36
|
-
for (const type of resourceTypes) {
|
|
37
|
-
const externalUrls = this.external[type];
|
|
38
|
-
if (externalUrls && externalUrls.length > 0) {
|
|
39
|
-
externalParts.push(`${type.charAt(0).toUpperCase() + type.slice(1)}: ${externalUrls.join(', ')}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (externalParts.length > 0) {
|
|
43
|
-
parts.push(`External: ${externalParts.join('; ')}`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return parts.length > 0 ? parts.join('; ') : 'No permissions specified';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.Permissions = Permissions;
|
|
50
|
-
class RuntimePermissions extends Permissions {
|
|
51
|
-
scopes;
|
|
52
|
-
external;
|
|
53
|
-
content;
|
|
54
|
-
constructor(scopes, external, content) {
|
|
55
|
-
super();
|
|
56
|
-
this.scopes = scopes;
|
|
57
|
-
this.external = external;
|
|
58
|
-
this.content = content;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
exports.RuntimePermissions = RuntimePermissions;
|
|
62
|
-
class PermissionRequirements extends Permissions {
|
|
63
|
-
scopes;
|
|
64
|
-
external;
|
|
65
|
-
content;
|
|
66
|
-
constructor(scopes, external, content) {
|
|
67
|
-
super();
|
|
68
|
-
this.scopes = scopes;
|
|
69
|
-
this.external = external;
|
|
70
|
-
this.content = content;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.PermissionRequirements = PermissionRequirements;
|
|
74
|
-
class MissingPermissions extends Permissions {
|
|
75
|
-
scopes;
|
|
76
|
-
external;
|
|
77
|
-
content;
|
|
78
|
-
constructor(scopes, external, content) {
|
|
79
|
-
super();
|
|
80
|
-
this.scopes = scopes;
|
|
81
|
-
this.external = external;
|
|
82
|
-
this.content = content;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
exports.MissingPermissions = MissingPermissions;
|
|
86
6
|
function __getRuntime() {
|
|
87
7
|
const runtime = global.__forge_runtime__;
|
|
88
8
|
if (!runtime) {
|
|
@@ -93,7 +13,7 @@ function __getRuntime() {
|
|
|
93
13
|
exports.__getRuntime = __getRuntime;
|
|
94
14
|
function getAppContext() {
|
|
95
15
|
const runtime = __getRuntime();
|
|
96
|
-
const { appId, appVersion, environmentId, environmentType, invocationId, installationId, moduleKey, license, installation
|
|
16
|
+
const { appId, appVersion, environmentId, environmentType, invocationId, installationId, moduleKey, license, installation } = runtime.appContext;
|
|
97
17
|
const invocationRemainingTimeInMillis = runtime.lambdaContext.getRemainingTimeInMillis ??
|
|
98
18
|
(() => {
|
|
99
19
|
throw new Error('Lambda remaining time is not available. If tunnelling, update Forge CLI to the latest version.');
|
|
@@ -108,8 +28,7 @@ function getAppContext() {
|
|
|
108
28
|
invocationRemainingTimeInMillis,
|
|
109
29
|
moduleKey,
|
|
110
30
|
license,
|
|
111
|
-
installation
|
|
112
|
-
permissions: new RuntimePermissions(permissions?.scopes || [], permissions?.external || {})
|
|
31
|
+
installation
|
|
113
32
|
};
|
|
114
33
|
}
|
|
115
34
|
exports.getAppContext = getAppContext;
|
|
@@ -141,9 +60,3 @@ function bindInvocationContext(fn) {
|
|
|
141
60
|
return AsyncLocalStorage.bind(fn);
|
|
142
61
|
}
|
|
143
62
|
exports.bindInvocationContext = bindInvocationContext;
|
|
144
|
-
function arePermsAvailableInRuntime() {
|
|
145
|
-
const runtime = __getRuntime();
|
|
146
|
-
const permissions = runtime.appContext.permissions;
|
|
147
|
-
return !!(permissions && typeof permissions === 'object');
|
|
148
|
-
}
|
|
149
|
-
exports.arePermsAvailableInRuntime = arePermsAvailableInRuntime;
|
package/out/index.d.ts
CHANGED
|
@@ -106,5 +106,4 @@ export { route, assumeTrustedRoute, routeFromAbsolute, Route } from './safeUrl';
|
|
|
106
106
|
export { ForgeRuntime, AppContext, getAppContext, __getRuntime, bindInvocationContext } from './api/runtime';
|
|
107
107
|
export { NeedsAuthenticationError, NeedsAuthenticationErrorOptions, ProxyRequestError, FetchError, ExternalEndpointNotAllowedError, ProductEndpointNotAllowedError, RequestProductNotAllowedError, NotAllowedError, InvalidWorkspaceRequestedError, HttpError, FUNCTION_ERR, isForgePlatformError, isHostedCodeError, isExpectedError } from './api/errors';
|
|
108
108
|
export { i18n, type TranslationFunction } from './api/i18n';
|
|
109
|
-
export { permissions } from './api/permissions';
|
|
110
109
|
//# sourceMappingURL=index.d.ts.map
|
package/out/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAExG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAe,cAAc,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAK7G,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,eAAe,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACrC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;CACrE;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IAExC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,oBAAY,WAAW,GAAG,QAAQ,CAAC;AACnC,oBAAY,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AACpF,oBAAY,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AACzG,oBAAY,oBAAoB,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAC5F,oBAAY,YAAY,GAAG,WAAW,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,oBAAoB,CAAC;IAClC,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,gBAAgB,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;CACvG;AAED,MAAM,WAAW,yBAAyB;IACxC,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,KAAK,EAAE,wBAAwB,CAAC;IAChC,UAAU,EAAE,MAAM,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;CAC5D;AACD,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B;IAC1E,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACnD,SAAS,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,0BAA0B,CAAC;CACtE;AAED,MAAM,WAAW,gCAAgC;IAC/C,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,wBAAwB,CAAC;CACrG;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpG,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc,EAAE,QAAQ,EAAE,gBAAgB;CAAG;AAEjF,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,aAAK,kBAAkB,GAAG,qBAAqB,GAC7C,mBAAmB,GACnB,yBAAyB,GACzB,gCAAgC,CAAC;AAEnC,aAAK,iBAAiB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,yBAAyB,CAAC;AAEjG,MAAM,WAAW,QAAS,SAAQ,qBAAqB;IACrD,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAC5C,KAAK,IAAI,iBAAiB,CAAC;IAC3B,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,aAAa,EAAE,OAAO,aAAa,CAAC;CACrC;AAGD,QAAA,MAAM,MAAM,YAXM,MAAM,KAAG,kBAWG,CAAC;AAC/B,QAAA,MAAM,KAAK,QAXA,iBAWiB,CAAC;AAC7B,QAAA,MAAM,KAAK,0BAAiB,CAAC;AAC7B,QAAA,MAAM,WAAW,sBAAuB,CAAC;AACzC,QAAA,MAAM,iBAAiB,sBAA6B,CAAC;AACrD,QAAA,MAAM,gBAAgB,sBAA4B,CAAC;AAEnD,QAAA,MAAM,OAAO,EAAE,eAEd,CAAC;AAEF,QAAA,MAAM,GAAG,EAAE,QAIV,CAAC;AAEF,eAAO,MAAM,OAAO;;CAEnB,CAAC;AAEF,eAAe,GAAG,CAAC;AACnB,OAAO,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACf,CAAC;AAKF,eAAO,MAAM,0BAA0B,EAAE,MAAM,WAA2C,CAAC;AAE3F,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC7G,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,iBAAiB,EACjB,UAAU,EACV,+BAA+B,EAC/B,8BAA8B,EAC9B,6BAA6B,EAC7B,eAAe,EACf,8BAA8B,EAC9B,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/out/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.i18n = exports.isExpectedError = exports.isHostedCodeError = exports.isForgePlatformError = exports.FUNCTION_ERR = exports.HttpError = exports.InvalidWorkspaceRequestedError = exports.NotAllowedError = exports.RequestProductNotAllowedError = exports.ProductEndpointNotAllowedError = exports.ExternalEndpointNotAllowedError = exports.FetchError = exports.ProxyRequestError = exports.NeedsAuthenticationError = exports.bindInvocationContext = exports.__getRuntime = exports.getAppContext = exports.routeFromAbsolute = exports.assumeTrustedRoute = exports.route = exports.SortOrder = exports.FilterConditions = exports.WhereConditions = exports.startsWith = exports.createRequestStargateAsApp = exports.__fetchProduct = exports.__requestAtlassianAsUser = exports.__requestAtlassianAsApp = exports.webTrigger = exports.storage = exports.invokeService = exports.invokeRemote = exports.requestBitbucket = exports.requestConfluence = exports.requestJira = exports.fetch = exports.authorize = exports.asApp = exports.asUser = exports.privacy = void 0;
|
|
4
4
|
const storage_1 = require("@forge/storage");
|
|
5
5
|
const authorization_1 = require("./authorization");
|
|
6
6
|
Object.defineProperty(exports, "authorize", { enumerable: true, get: function () { return authorization_1.authorize; } });
|
|
@@ -70,5 +70,3 @@ Object.defineProperty(exports, "isHostedCodeError", { enumerable: true, get: fun
|
|
|
70
70
|
Object.defineProperty(exports, "isExpectedError", { enumerable: true, get: function () { return errors_1.isExpectedError; } });
|
|
71
71
|
var i18n_1 = require("./api/i18n");
|
|
72
72
|
Object.defineProperty(exports, "i18n", { enumerable: true, get: function () { return i18n_1.i18n; } });
|
|
73
|
-
var permissions_1 = require("./api/permissions");
|
|
74
|
-
Object.defineProperty(exports, "permissions", { enumerable: true, get: function () { return permissions_1.permissions; } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/api",
|
|
3
|
-
"version": "6.1.1-experimental-
|
|
3
|
+
"version": "6.1.1-experimental-3ed5db1",
|
|
4
4
|
"description": "Forge API methods",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
@@ -28,10 +28,8 @@
|
|
|
28
28
|
"@forge/auth": "0.0.8",
|
|
29
29
|
"@forge/egress": "2.0.3",
|
|
30
30
|
"@forge/i18n": "0.0.7",
|
|
31
|
-
"@forge/
|
|
32
|
-
"
|
|
33
|
-
"headers-utils": "^3.0.2",
|
|
34
|
-
"minimatch": "^9.0.5"
|
|
31
|
+
"@forge/storage": "2.0.2-experimental-3ed5db1",
|
|
32
|
+
"headers-utils": "^3.0.2"
|
|
35
33
|
},
|
|
36
34
|
"publishConfig": {
|
|
37
35
|
"registry": "https://packages.atlassian.com/api/npm/npm-public/"
|
package/out/api/permissions.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { PermissionRequirements, MissingPermissions } from './runtime';
|
|
2
|
-
export declare function extractUrlString(url: string | {
|
|
3
|
-
address: string;
|
|
4
|
-
} | {
|
|
5
|
-
remote: string;
|
|
6
|
-
}): string;
|
|
7
|
-
export type { PermissionRequirements };
|
|
8
|
-
export type { MissingPermissions };
|
|
9
|
-
export interface PermissionResult {
|
|
10
|
-
granted: boolean;
|
|
11
|
-
missing?: MissingPermissions;
|
|
12
|
-
}
|
|
13
|
-
export declare const hasPermission: (requirements: Partial<PermissionRequirements>) => PermissionResult;
|
|
14
|
-
export declare const hasScope: (scope: string) => boolean;
|
|
15
|
-
export declare const canFetchFrom: (type: 'backend' | 'client', url: string) => boolean;
|
|
16
|
-
export declare const canLoadResource: (type: 'fonts' | 'styles' | 'frames' | 'images' | 'media' | 'scripts', url: string) => boolean;
|
|
17
|
-
export declare const permissions: {
|
|
18
|
-
hasPermission: (requirements: Partial<PermissionRequirements>) => PermissionResult;
|
|
19
|
-
hasScope: (scope: string) => boolean;
|
|
20
|
-
canFetchFrom: (type: 'backend' | 'client', url: string) => boolean;
|
|
21
|
-
canLoadResource: (type: 'fonts' | 'styles' | 'frames' | 'images' | 'media' | 'scripts', url: string) => boolean;
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/api/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,kBAAkB,EAGnB,MAAM,WAAW,CAAC;AAOnB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAQ/F;AAeD,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAKvC,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAKnC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAsCD,eAAO,MAAM,aAAa,iBAAkB,QAAQ,sBAAsB,CAAC,KAAG,gBA4G7E,CAAC;AAmBF,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,OAaxC,CAAC;AAyBF,eAAO,MAAM,YAAY,SAAU,SAAS,GAAG,QAAQ,OAAO,MAAM,KAAG,OAiBtE,CAAC;AAyBF,eAAO,MAAM,eAAe,SACpB,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,OAC/D,MAAM,KACV,OAiBF,CAAC;AAKF,eAAO,MAAM,WAAW;kCAxOoB,QAAQ,sBAAsB,CAAC,KAAG,gBAAgB;sBA+H9D,MAAM,KAAG,OAAO;yBAsCb,SAAS,GAAG,QAAQ,OAAO,MAAM,KAAG,OAAO;4BA2CtE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,OAC/D,MAAM,KACV,OAAO;CA2BT,CAAC"}
|
package/out/api/permissions.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.permissions = exports.canLoadResource = exports.canFetchFrom = exports.hasScope = exports.hasPermission = exports.extractUrlString = void 0;
|
|
4
|
-
const runtime_1 = require("./runtime");
|
|
5
|
-
const errors_1 = require("./errors");
|
|
6
|
-
const minimatch_1 = require("minimatch");
|
|
7
|
-
function extractUrlString(url) {
|
|
8
|
-
if (typeof url === 'string') {
|
|
9
|
-
return url;
|
|
10
|
-
}
|
|
11
|
-
if ('address' in url) {
|
|
12
|
-
return url.address;
|
|
13
|
-
}
|
|
14
|
-
return url.remote;
|
|
15
|
-
}
|
|
16
|
-
exports.extractUrlString = extractUrlString;
|
|
17
|
-
function wrapInSyncMetrics(options, cb) {
|
|
18
|
-
const metrics = (0, runtime_1.__getRuntime)().metrics;
|
|
19
|
-
metrics.counter(options.name, options.tags).incr();
|
|
20
|
-
return cb();
|
|
21
|
-
}
|
|
22
|
-
const hasPermission = (requirements) => {
|
|
23
|
-
return wrapInSyncMetrics({ name: 'api.permissions.hasPermission' }, () => {
|
|
24
|
-
if (!(0, runtime_1.arePermsAvailableInRuntime)()) {
|
|
25
|
-
throw new errors_1.ApiNotReadyError('API not ready: permissions are not available in the runtime object');
|
|
26
|
-
}
|
|
27
|
-
const appContext = (0, runtime_1.getAppContext)();
|
|
28
|
-
const currentGrantedPermissions = appContext.permissions;
|
|
29
|
-
const missingPermissions = {};
|
|
30
|
-
let hasMissingPermissions = false;
|
|
31
|
-
if (requirements.scopes && Array.isArray(requirements.scopes) && requirements.scopes.length > 0) {
|
|
32
|
-
const currentGrantedScopes = Array.isArray(currentGrantedPermissions.scopes)
|
|
33
|
-
? currentGrantedPermissions.scopes
|
|
34
|
-
: [];
|
|
35
|
-
const missingScopes = requirements.scopes.filter((scope) => !currentGrantedScopes.includes(scope));
|
|
36
|
-
if (missingScopes.length > 0) {
|
|
37
|
-
missingPermissions.scopes = missingScopes;
|
|
38
|
-
hasMissingPermissions = true;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (requirements.external) {
|
|
42
|
-
const { external } = requirements;
|
|
43
|
-
const currentGrantedExternal = currentGrantedPermissions.external || {};
|
|
44
|
-
if (external.fetch) {
|
|
45
|
-
const missingFetch = {};
|
|
46
|
-
if (external.fetch.backend && external.fetch.backend.length > 0) {
|
|
47
|
-
const missingBackend = external.fetch.backend.filter((requiredUrl) => {
|
|
48
|
-
const currentGrantedBackendUrls = currentGrantedExternal.fetch?.backend || [];
|
|
49
|
-
const isUrlAlreadyGranted = currentGrantedBackendUrls.some((currentGrantedUrl) => {
|
|
50
|
-
return (0, minimatch_1.minimatch)(extractUrlString(requiredUrl), extractUrlString(currentGrantedUrl));
|
|
51
|
-
});
|
|
52
|
-
return !isUrlAlreadyGranted;
|
|
53
|
-
});
|
|
54
|
-
if (missingBackend.length > 0) {
|
|
55
|
-
missingFetch.backend = missingBackend.map(extractUrlString);
|
|
56
|
-
hasMissingPermissions = true;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (external.fetch.client && external.fetch.client.length > 0) {
|
|
60
|
-
const missingClient = external.fetch.client.filter((requiredUrl) => {
|
|
61
|
-
const currentGrantedClientUrls = currentGrantedExternal.fetch?.client || [];
|
|
62
|
-
const isUrlAlreadyGranted = currentGrantedClientUrls.some((currentGrantedUrl) => {
|
|
63
|
-
return (0, minimatch_1.minimatch)(extractUrlString(requiredUrl), extractUrlString(currentGrantedUrl));
|
|
64
|
-
});
|
|
65
|
-
return !isUrlAlreadyGranted;
|
|
66
|
-
});
|
|
67
|
-
if (missingClient.length > 0) {
|
|
68
|
-
missingFetch.client = missingClient.map(extractUrlString);
|
|
69
|
-
hasMissingPermissions = true;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (Object.keys(missingFetch).length > 0) {
|
|
73
|
-
missingPermissions.external = { ...missingPermissions.external, fetch: missingFetch };
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
const externalTypes = ['fonts', 'styles', 'frames', 'images', 'media', 'scripts'];
|
|
77
|
-
for (const type of externalTypes) {
|
|
78
|
-
const externalUrls = external[type];
|
|
79
|
-
if (externalUrls && externalUrls.length > 0) {
|
|
80
|
-
const missingUrls = externalUrls.filter((requiredUrl) => {
|
|
81
|
-
const currentGrantedUrls = currentGrantedExternal[type] || [];
|
|
82
|
-
const isUrlAlreadyGranted = currentGrantedUrls.some((currentGrantedUrl) => {
|
|
83
|
-
return (0, minimatch_1.minimatch)(extractUrlString(requiredUrl), extractUrlString(currentGrantedUrl));
|
|
84
|
-
});
|
|
85
|
-
return !isUrlAlreadyGranted;
|
|
86
|
-
});
|
|
87
|
-
if (missingUrls.length > 0) {
|
|
88
|
-
if (!missingPermissions.external) {
|
|
89
|
-
missingPermissions.external = {};
|
|
90
|
-
}
|
|
91
|
-
missingPermissions.external[type] = missingUrls.map(extractUrlString);
|
|
92
|
-
hasMissingPermissions = true;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return {
|
|
98
|
-
granted: !hasMissingPermissions,
|
|
99
|
-
...(hasMissingPermissions && {
|
|
100
|
-
missing: new runtime_1.MissingPermissions(missingPermissions.scopes, missingPermissions.external, missingPermissions.content)
|
|
101
|
-
})
|
|
102
|
-
};
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
exports.hasPermission = hasPermission;
|
|
106
|
-
const hasScope = (scope) => {
|
|
107
|
-
return wrapInSyncMetrics({ name: 'api.permissions.hasScope' }, () => {
|
|
108
|
-
if (!(0, runtime_1.arePermsAvailableInRuntime)()) {
|
|
109
|
-
throw new errors_1.ApiNotReadyError('API not ready: permissions are not available in the runtime object');
|
|
110
|
-
}
|
|
111
|
-
const appContext = (0, runtime_1.getAppContext)();
|
|
112
|
-
const currentScopes = appContext.permissions.scopes;
|
|
113
|
-
if (Array.isArray(currentScopes)) {
|
|
114
|
-
return currentScopes.includes(scope);
|
|
115
|
-
}
|
|
116
|
-
return false;
|
|
117
|
-
});
|
|
118
|
-
};
|
|
119
|
-
exports.hasScope = hasScope;
|
|
120
|
-
const canFetchFrom = (type, url) => {
|
|
121
|
-
return wrapInSyncMetrics({ name: 'api.permissions.canFetchFrom' }, () => {
|
|
122
|
-
if (!(0, runtime_1.arePermsAvailableInRuntime)()) {
|
|
123
|
-
throw new errors_1.ApiNotReadyError('API not ready: permissions are not available in the runtime object');
|
|
124
|
-
}
|
|
125
|
-
const appContext = (0, runtime_1.getAppContext)();
|
|
126
|
-
const grantedUrls = appContext.permissions.external?.fetch?.[type];
|
|
127
|
-
if (!grantedUrls || grantedUrls.length === 0) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
return grantedUrls.some((grantedUrl) => {
|
|
131
|
-
return (0, minimatch_1.minimatch)(url, extractUrlString(grantedUrl));
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
};
|
|
135
|
-
exports.canFetchFrom = canFetchFrom;
|
|
136
|
-
const canLoadResource = (type, url) => {
|
|
137
|
-
return wrapInSyncMetrics({ name: 'api.permissions.canLoadResource' }, () => {
|
|
138
|
-
if (!(0, runtime_1.arePermsAvailableInRuntime)()) {
|
|
139
|
-
throw new errors_1.ApiNotReadyError('API not ready: permissions are not available in the runtime object');
|
|
140
|
-
}
|
|
141
|
-
const appContext = (0, runtime_1.getAppContext)();
|
|
142
|
-
const grantedUrls = appContext.permissions.external?.[type];
|
|
143
|
-
if (!grantedUrls || grantedUrls.length === 0) {
|
|
144
|
-
return false;
|
|
145
|
-
}
|
|
146
|
-
return grantedUrls.some((grantedUrl) => {
|
|
147
|
-
return (0, minimatch_1.minimatch)(url, extractUrlString(grantedUrl));
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
};
|
|
151
|
-
exports.canLoadResource = canLoadResource;
|
|
152
|
-
exports.permissions = {
|
|
153
|
-
hasPermission: exports.hasPermission,
|
|
154
|
-
hasScope: exports.hasScope,
|
|
155
|
-
canFetchFrom: exports.canFetchFrom,
|
|
156
|
-
canLoadResource: exports.canLoadResource
|
|
157
|
-
};
|