@frontegg/rest-api 3.1.74 → 3.1.76-alpha.9502349697
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/BaseApiClient.d.ts +16 -0
- package/BaseApiClient.js +39 -0
- package/ContextHolder/index.d.ts +108 -27
- package/ContextHolder/index.js +155 -50
- package/FetchClient.d.ts +42 -0
- package/FetchClient.js +308 -0
- package/account-settings/index.d.ts +19 -7
- package/account-settings/index.js +23 -13
- package/applications/index.d.ts +49 -44
- package/applications/index.js +51 -37
- package/audits/index.d.ts +27 -15
- package/audits/index.js +27 -17
- package/auth/index.d.ts +817 -768
- package/auth/index.js +902 -721
- package/auth/secutiry-poilicy/index.d.ts +58 -102
- package/auth/secutiry-poilicy/index.js +122 -90
- package/auth/utils.d.ts +2 -2
- package/auth/utils.js +9 -8
- package/connectivity/index.d.ts +126 -27
- package/connectivity/index.js +147 -114
- package/directory/index.d.ts +31 -22
- package/directory/index.js +27 -15
- package/entitlements/index.d.ts +14 -8
- package/entitlements/index.js +12 -4
- package/feature-flags/index.d.ts +8 -2
- package/feature-flags/index.js +16 -8
- package/groups/index.d.ts +73 -49
- package/groups/index.js +64 -45
- package/impersonate/index.d.ts +15 -6
- package/impersonate/index.js +13 -5
- package/index.d.ts +154 -108
- package/index.js +109 -78
- package/interfaces.d.ts +10 -0
- package/metadata/index.d.ts +67 -7
- package/metadata/index.js +52 -32
- package/node/BaseApiClient.js +49 -0
- package/node/ContextHolder/index.js +155 -50
- package/node/FetchClient.js +326 -0
- package/node/account-settings/index.js +27 -16
- package/node/applications/index.js +51 -44
- package/node/audits/index.js +31 -20
- package/node/auth/index.js +768 -1035
- package/node/auth/secutiry-poilicy/index.js +125 -136
- package/node/auth/utils.js +9 -7
- package/node/connectivity/index.js +148 -187
- package/node/directory/index.js +29 -20
- package/node/entitlements/index.js +18 -5
- package/node/feature-flags/index.js +21 -9
- package/node/groups/index.js +65 -63
- package/node/impersonate/index.js +18 -5
- package/node/index.js +116 -71
- package/node/metadata/index.js +61 -52
- package/node/notifications/index.js +37 -27
- package/node/reports/index.js +78 -70
- package/node/roles/index.js +56 -51
- package/node/security-center/index.js +21 -9
- package/node/sub-tenants/index.js +90 -89
- package/node/subscriptions/index.js +69 -107
- package/node/subscriptions/invoices.js +25 -17
- package/node/subscriptions/managedSubscriptions.js +32 -27
- package/node/subscriptions/paymentMethods.js +27 -20
- package/node/subscriptions/paymentProviders.js +15 -6
- package/node/subscriptions/plans.js +17 -9
- package/node/subscriptions/providers/stripe/index.js +26 -21
- package/node/subscriptions/subscriptions.js +32 -27
- package/node/subscriptions/summaries.js +15 -6
- package/node/subscriptions/tenantConfiguration.js +17 -9
- package/node/subscriptions/vendorPublicConfigurations.js +15 -6
- package/node/teams/index.js +130 -138
- package/node/tenants/index.js +65 -60
- package/node/user-phone-numbers/index.js +32 -24
- package/node/users/index.js +58 -53
- package/node/vendor/index.js +17 -6
- package/notifications/index.d.ts +22 -16
- package/notifications/index.js +33 -22
- package/package.json +1 -1
- package/reports/index.d.ts +50 -44
- package/reports/index.js +75 -62
- package/roles/index.d.ts +44 -38
- package/roles/index.js +57 -41
- package/security-center/index.d.ts +14 -2
- package/security-center/index.js +15 -6
- package/sub-tenants/index.d.ts +57 -15
- package/sub-tenants/index.js +88 -68
- package/subscriptions/index.d.ts +56 -11
- package/subscriptions/index.js +58 -11
- package/subscriptions/invoices.d.ts +16 -13
- package/subscriptions/invoices.js +24 -14
- package/subscriptions/managedSubscriptions.d.ts +18 -15
- package/subscriptions/managedSubscriptions.js +33 -22
- package/subscriptions/paymentMethods.d.ts +16 -13
- package/subscriptions/paymentMethods.js +26 -17
- package/subscriptions/paymentProviders.d.ts +8 -5
- package/subscriptions/paymentProviders.js +11 -4
- package/subscriptions/plans.d.ts +11 -8
- package/subscriptions/plans.js +14 -6
- package/subscriptions/providers/stripe/index.d.ts +24 -21
- package/subscriptions/providers/stripe/index.js +27 -16
- package/subscriptions/subscriptions.d.ts +24 -21
- package/subscriptions/subscriptions.js +33 -22
- package/subscriptions/summaries.d.ts +7 -4
- package/subscriptions/summaries.js +10 -3
- package/subscriptions/tenantConfiguration.d.ts +6 -3
- package/subscriptions/tenantConfiguration.js +15 -7
- package/subscriptions/vendorPublicConfigurations.d.ts +5 -2
- package/subscriptions/vendorPublicConfigurations.js +11 -4
- package/teams/index.d.ts +35 -131
- package/teams/index.js +122 -93
- package/tenants/index.d.ts +25 -37
- package/tenants/index.js +62 -46
- package/tenants/interfaces.d.ts +2 -0
- package/user-phone-numbers/index.d.ts +32 -26
- package/user-phone-numbers/index.js +32 -19
- package/users/index.d.ts +21 -15
- package/users/index.js +60 -44
- package/vendor/index.d.ts +12 -6
- package/vendor/index.js +11 -4
- package/fetch.d.ts +0 -24
- package/fetch.js +0 -265
- package/node/fetch.js +0 -306
- package/node/subscriptions/providers/index.js +0 -18
- package/subscriptions/providers/index.d.ts +0 -1
- package/subscriptions/providers/index.js +0 -1
package/node/fetch.js
DELETED
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.extractHeadersFromOptions = exports.Put = exports.PostDownload = exports.Post = exports.Patch = exports.Get = exports.Delete = void 0;
|
|
9
|
-
exports.getBaseUrl = getBaseUrl;
|
|
10
|
-
exports.getMetadataHeaders = getMetadataHeaders;
|
|
11
|
-
exports.getScopedTenant = getScopedTenant;
|
|
12
|
-
|
|
13
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
14
|
-
|
|
15
|
-
var _ContextHolder = require("./ContextHolder");
|
|
16
|
-
|
|
17
|
-
var _interfaces = require("./interfaces");
|
|
18
|
-
|
|
19
|
-
var _error = require("./error");
|
|
20
|
-
|
|
21
|
-
var _constants = require("./constants");
|
|
22
|
-
|
|
23
|
-
function getBaseUrl(context, url, withFronteggPrefix = true) {
|
|
24
|
-
let baseUrl;
|
|
25
|
-
|
|
26
|
-
if (typeof context.baseUrl === 'function') {
|
|
27
|
-
baseUrl = context.baseUrl(url);
|
|
28
|
-
} else {
|
|
29
|
-
baseUrl = context.baseUrl;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const prefix = context.urlPrefix || 'frontegg';
|
|
33
|
-
const removePrefix = prefix === 'frontegg' && !withFronteggPrefix;
|
|
34
|
-
|
|
35
|
-
if (!baseUrl.endsWith('/')) {
|
|
36
|
-
baseUrl += '/';
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (!baseUrl.endsWith(prefix) && !removePrefix) {
|
|
40
|
-
baseUrl += prefix;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return baseUrl;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
async function prepareUrl(context, url, params) {
|
|
47
|
-
const baseUrl = getBaseUrl(context, url);
|
|
48
|
-
const paramsToSend = await buildQueryParams(context, params);
|
|
49
|
-
let finalUrl = url.startsWith('http') ? url : `${baseUrl}${url}`;
|
|
50
|
-
const hasKeys = Object.keys(paramsToSend).length > 0;
|
|
51
|
-
|
|
52
|
-
if (paramsToSend && hasKeys) {
|
|
53
|
-
const urlParams = new URLSearchParams(paramsToSend);
|
|
54
|
-
finalUrl += `?${urlParams}`;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return finalUrl;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function getMetadataHeaders(context) {
|
|
61
|
-
var _context$metadataHead, _context$metadataHead2;
|
|
62
|
-
|
|
63
|
-
const headers = {};
|
|
64
|
-
|
|
65
|
-
if (context != null && (_context$metadataHead = context.metadataHeaders) != null && _context$metadataHead.fronteggSdkVersion) {
|
|
66
|
-
headers[_interfaces.fronteggHeaders.fronteggSdkVersion] = context.metadataHeaders.fronteggSdkVersion;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
if (context != null && (_context$metadataHead2 = context.metadataHeaders) != null && _context$metadataHead2.framework) {
|
|
70
|
-
headers[_interfaces.fronteggHeaders.frameWork] = context.metadataHeaders.framework;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return headers;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function getScopedTenant() {
|
|
77
|
-
const urlParams = new URLSearchParams(window.location.search);
|
|
78
|
-
const scopedTenant = urlParams.get('tenantId');
|
|
79
|
-
|
|
80
|
-
if (scopedTenant) {
|
|
81
|
-
return scopedTenant;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
async function buildRequestHeaders(context, contentType) {
|
|
88
|
-
var _context$tokenResolve;
|
|
89
|
-
|
|
90
|
-
const headers = getMetadataHeaders(context);
|
|
91
|
-
const authToken = await ((_context$tokenResolve = context == null ? void 0 : context.tokenResolver) != null ? _context$tokenResolve : _ContextHolder.ContextHolder.getAccessToken)();
|
|
92
|
-
|
|
93
|
-
const requestSource = _ContextHolder.ContextHolder.getRequestSource();
|
|
94
|
-
|
|
95
|
-
const scopedTenant = getScopedTenant();
|
|
96
|
-
|
|
97
|
-
if (contentType) {
|
|
98
|
-
headers[_interfaces.fronteggHeaders.contentType] = contentType;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (requestSource) {
|
|
102
|
-
headers[_interfaces.fronteggHeaders.source] = requestSource;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
if (authToken) {
|
|
106
|
-
headers.Authorization = `Bearer ${authToken}`;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
if (scopedTenant) {
|
|
110
|
-
headers[_interfaces.fronteggHeaders.scopedTenant] = scopedTenant;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
for (const additionalHeader of await getAdditionalHeaders(context)) {
|
|
114
|
-
headers[`${additionalHeader.key}`] = `${additionalHeader.value}`;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return headers;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
async function buildQueryParams(context, params) {
|
|
121
|
-
if (!params) {
|
|
122
|
-
params = {};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
const additionalQueryParams = await getAdditionalQueryParams(context);
|
|
126
|
-
|
|
127
|
-
for (const queryParam of additionalQueryParams) {
|
|
128
|
-
params[queryParam.key] = queryParam.value;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const keys = Object.keys(params);
|
|
132
|
-
|
|
133
|
-
for (const key of keys) {
|
|
134
|
-
const value = params[key];
|
|
135
|
-
params[key] = typeof value === 'object' ? JSON.stringify(value) : value;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return params;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
async function getAdditionalQueryParams(context) {
|
|
142
|
-
let output = [];
|
|
143
|
-
|
|
144
|
-
if (context.additionalQueryParamsResolver) {
|
|
145
|
-
output = await context.additionalQueryParamsResolver();
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
return output;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
async function getAdditionalHeaders(context) {
|
|
152
|
-
let output = [];
|
|
153
|
-
|
|
154
|
-
if (context.additionalHeadersResolver) {
|
|
155
|
-
output = await context.additionalHeadersResolver();
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
if (context.tenantResolver) {
|
|
159
|
-
const resolvedTenantResult = await context.tenantResolver();
|
|
160
|
-
|
|
161
|
-
if (!!(resolvedTenantResult != null && resolvedTenantResult.tenant)) {
|
|
162
|
-
output.push({
|
|
163
|
-
key: 'frontegg-login-alias',
|
|
164
|
-
value: resolvedTenantResult.tenant
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
if (context.appId) {
|
|
170
|
-
output.push({
|
|
171
|
-
key: 'frontegg-requested-application-id',
|
|
172
|
-
value: context.appId
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
return output;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
const sendRequest = async opts => {
|
|
180
|
-
var _opts$method, _ref, _opts$credentials;
|
|
181
|
-
|
|
182
|
-
const context = _ContextHolder.ContextHolder.getContext();
|
|
183
|
-
|
|
184
|
-
const headers = await buildRequestHeaders(context, opts.contentType);
|
|
185
|
-
const url = await prepareUrl(context, opts.url, opts.params);
|
|
186
|
-
const response = await fetch(url, {
|
|
187
|
-
body: opts.body ? opts.contentType === 'application/json' ? JSON.stringify(opts.body) : opts.body : null,
|
|
188
|
-
method: (_opts$method = opts.method) != null ? _opts$method : 'GET',
|
|
189
|
-
headers: (0, _extends2.default)({}, headers, opts.headers),
|
|
190
|
-
credentials: (_ref = (_opts$credentials = opts.credentials) != null ? _opts$credentials : context.requestCredentials) != null ? _ref : 'same-origin'
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
if (response.status === 302) {
|
|
194
|
-
window.location.href = await response.text();
|
|
195
|
-
return new Promise(() => {});
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
if (!response.ok) {
|
|
199
|
-
var _context$logLevel, _context$logLevel2;
|
|
200
|
-
|
|
201
|
-
if (response.status === 413) {
|
|
202
|
-
throw new _error.FronteggApiError('Error request is too large', response.status);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
let errorMessage;
|
|
206
|
-
let isJsonResponse = true;
|
|
207
|
-
|
|
208
|
-
try {
|
|
209
|
-
errorMessage = await response.text();
|
|
210
|
-
errorMessage = JSON.parse(errorMessage);
|
|
211
|
-
} catch (e) {
|
|
212
|
-
isJsonResponse = false;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
if (errorMessage.errors) {
|
|
216
|
-
errorMessage = errorMessage.errors.join(', ');
|
|
217
|
-
} else if (typeof errorMessage !== 'string') {
|
|
218
|
-
errorMessage = `Error ${response.status} - ${response.statusText}`;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
if (response.status >= 400 && response.status < 500 && ['warn'].includes((_context$logLevel = context.logLevel) != null ? _context$logLevel : '')) console.warn(errorMessage);else if (response.status === 500 && ['warn', 'error'].includes((_context$logLevel2 = context.logLevel) != null ? _context$logLevel2 : '')) console.error(errorMessage);
|
|
222
|
-
throw new _error.FronteggApiError(isJsonResponse ? errorMessage : _constants.GENERIC_ERROR_MESSAGE, response.status);
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
if (!opts.responseType || opts.responseType === 'json') {
|
|
226
|
-
try {
|
|
227
|
-
return await response.json();
|
|
228
|
-
} catch (e) {
|
|
229
|
-
return {};
|
|
230
|
-
}
|
|
231
|
-
} else if (opts.responseType === 'blob') {
|
|
232
|
-
const {
|
|
233
|
-
outputFileName
|
|
234
|
-
} = opts.params;
|
|
235
|
-
return await response.blob().then(blob => URL.createObjectURL(blob)).then(url => {
|
|
236
|
-
const tempLink = document.createElement('a');
|
|
237
|
-
tempLink.href = url;
|
|
238
|
-
tempLink.setAttribute('download', outputFileName || 'output');
|
|
239
|
-
tempLink.click();
|
|
240
|
-
});
|
|
241
|
-
} else {
|
|
242
|
-
return await response.text();
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
const Get = async (url, params, opts) => sendRequest((0, _extends2.default)({
|
|
247
|
-
url,
|
|
248
|
-
method: 'GET',
|
|
249
|
-
contentType: 'application/json',
|
|
250
|
-
params
|
|
251
|
-
}, opts));
|
|
252
|
-
|
|
253
|
-
exports.Get = Get;
|
|
254
|
-
|
|
255
|
-
const Post = async (url, body, opts) => sendRequest((0, _extends2.default)({
|
|
256
|
-
url,
|
|
257
|
-
method: 'POST',
|
|
258
|
-
contentType: 'application/json',
|
|
259
|
-
body
|
|
260
|
-
}, opts));
|
|
261
|
-
|
|
262
|
-
exports.Post = Post;
|
|
263
|
-
|
|
264
|
-
const Patch = async (url, body, opts) => sendRequest((0, _extends2.default)({
|
|
265
|
-
url,
|
|
266
|
-
method: 'PATCH',
|
|
267
|
-
contentType: 'application/json',
|
|
268
|
-
body
|
|
269
|
-
}, opts));
|
|
270
|
-
|
|
271
|
-
exports.Patch = Patch;
|
|
272
|
-
|
|
273
|
-
const Put = async (url, body, opts) => sendRequest((0, _extends2.default)({
|
|
274
|
-
url,
|
|
275
|
-
method: 'PUT',
|
|
276
|
-
contentType: 'application/json',
|
|
277
|
-
body
|
|
278
|
-
}, opts));
|
|
279
|
-
|
|
280
|
-
exports.Put = Put;
|
|
281
|
-
|
|
282
|
-
const Delete = async (url, body, opts) => sendRequest((0, _extends2.default)({
|
|
283
|
-
url,
|
|
284
|
-
method: 'DELETE',
|
|
285
|
-
contentType: 'application/json',
|
|
286
|
-
body
|
|
287
|
-
}, opts));
|
|
288
|
-
|
|
289
|
-
exports.Delete = Delete;
|
|
290
|
-
|
|
291
|
-
const PostDownload = async (url, body, params, opts) => sendRequest((0, _extends2.default)({
|
|
292
|
-
url,
|
|
293
|
-
method: 'POST',
|
|
294
|
-
contentType: 'application/json',
|
|
295
|
-
responseType: 'blob',
|
|
296
|
-
body,
|
|
297
|
-
params
|
|
298
|
-
}, opts));
|
|
299
|
-
|
|
300
|
-
exports.PostDownload = PostDownload;
|
|
301
|
-
|
|
302
|
-
const extractHeadersFromOptions = (options = {}) => (0, _extends2.default)({}, options.jwt ? {
|
|
303
|
-
Authorization: options.jwt
|
|
304
|
-
} : {});
|
|
305
|
-
|
|
306
|
-
exports.extractHeadersFromOptions = extractHeadersFromOptions;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _stripe = require("./stripe");
|
|
8
|
-
|
|
9
|
-
Object.keys(_stripe).forEach(function (key) {
|
|
10
|
-
if (key === "default" || key === "__esModule") return;
|
|
11
|
-
if (key in exports && exports[key] === _stripe[key]) return;
|
|
12
|
-
Object.defineProperty(exports, key, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _stripe[key];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './stripe';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './stripe';
|