@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.
Files changed (123) hide show
  1. package/BaseApiClient.d.ts +16 -0
  2. package/BaseApiClient.js +39 -0
  3. package/ContextHolder/index.d.ts +108 -27
  4. package/ContextHolder/index.js +155 -50
  5. package/FetchClient.d.ts +42 -0
  6. package/FetchClient.js +308 -0
  7. package/account-settings/index.d.ts +19 -7
  8. package/account-settings/index.js +23 -13
  9. package/applications/index.d.ts +49 -44
  10. package/applications/index.js +51 -37
  11. package/audits/index.d.ts +27 -15
  12. package/audits/index.js +27 -17
  13. package/auth/index.d.ts +817 -768
  14. package/auth/index.js +902 -721
  15. package/auth/secutiry-poilicy/index.d.ts +58 -102
  16. package/auth/secutiry-poilicy/index.js +122 -90
  17. package/auth/utils.d.ts +2 -2
  18. package/auth/utils.js +9 -8
  19. package/connectivity/index.d.ts +126 -27
  20. package/connectivity/index.js +147 -114
  21. package/directory/index.d.ts +31 -22
  22. package/directory/index.js +27 -15
  23. package/entitlements/index.d.ts +14 -8
  24. package/entitlements/index.js +12 -4
  25. package/feature-flags/index.d.ts +8 -2
  26. package/feature-flags/index.js +16 -8
  27. package/groups/index.d.ts +73 -49
  28. package/groups/index.js +64 -45
  29. package/impersonate/index.d.ts +15 -6
  30. package/impersonate/index.js +13 -5
  31. package/index.d.ts +154 -108
  32. package/index.js +109 -78
  33. package/interfaces.d.ts +10 -0
  34. package/metadata/index.d.ts +67 -7
  35. package/metadata/index.js +52 -32
  36. package/node/BaseApiClient.js +49 -0
  37. package/node/ContextHolder/index.js +155 -50
  38. package/node/FetchClient.js +326 -0
  39. package/node/account-settings/index.js +27 -16
  40. package/node/applications/index.js +51 -44
  41. package/node/audits/index.js +31 -20
  42. package/node/auth/index.js +768 -1035
  43. package/node/auth/secutiry-poilicy/index.js +125 -136
  44. package/node/auth/utils.js +9 -7
  45. package/node/connectivity/index.js +148 -187
  46. package/node/directory/index.js +29 -20
  47. package/node/entitlements/index.js +18 -5
  48. package/node/feature-flags/index.js +21 -9
  49. package/node/groups/index.js +65 -63
  50. package/node/impersonate/index.js +18 -5
  51. package/node/index.js +116 -71
  52. package/node/metadata/index.js +61 -52
  53. package/node/notifications/index.js +37 -27
  54. package/node/reports/index.js +78 -70
  55. package/node/roles/index.js +56 -51
  56. package/node/security-center/index.js +21 -9
  57. package/node/sub-tenants/index.js +90 -89
  58. package/node/subscriptions/index.js +69 -107
  59. package/node/subscriptions/invoices.js +25 -17
  60. package/node/subscriptions/managedSubscriptions.js +32 -27
  61. package/node/subscriptions/paymentMethods.js +27 -20
  62. package/node/subscriptions/paymentProviders.js +15 -6
  63. package/node/subscriptions/plans.js +17 -9
  64. package/node/subscriptions/providers/stripe/index.js +26 -21
  65. package/node/subscriptions/subscriptions.js +32 -27
  66. package/node/subscriptions/summaries.js +15 -6
  67. package/node/subscriptions/tenantConfiguration.js +17 -9
  68. package/node/subscriptions/vendorPublicConfigurations.js +15 -6
  69. package/node/teams/index.js +130 -138
  70. package/node/tenants/index.js +65 -60
  71. package/node/user-phone-numbers/index.js +32 -24
  72. package/node/users/index.js +58 -53
  73. package/node/vendor/index.js +17 -6
  74. package/notifications/index.d.ts +22 -16
  75. package/notifications/index.js +33 -22
  76. package/package.json +1 -1
  77. package/reports/index.d.ts +50 -44
  78. package/reports/index.js +75 -62
  79. package/roles/index.d.ts +44 -38
  80. package/roles/index.js +57 -41
  81. package/security-center/index.d.ts +14 -2
  82. package/security-center/index.js +15 -6
  83. package/sub-tenants/index.d.ts +57 -15
  84. package/sub-tenants/index.js +88 -68
  85. package/subscriptions/index.d.ts +56 -11
  86. package/subscriptions/index.js +58 -11
  87. package/subscriptions/invoices.d.ts +16 -13
  88. package/subscriptions/invoices.js +24 -14
  89. package/subscriptions/managedSubscriptions.d.ts +18 -15
  90. package/subscriptions/managedSubscriptions.js +33 -22
  91. package/subscriptions/paymentMethods.d.ts +16 -13
  92. package/subscriptions/paymentMethods.js +26 -17
  93. package/subscriptions/paymentProviders.d.ts +8 -5
  94. package/subscriptions/paymentProviders.js +11 -4
  95. package/subscriptions/plans.d.ts +11 -8
  96. package/subscriptions/plans.js +14 -6
  97. package/subscriptions/providers/stripe/index.d.ts +24 -21
  98. package/subscriptions/providers/stripe/index.js +27 -16
  99. package/subscriptions/subscriptions.d.ts +24 -21
  100. package/subscriptions/subscriptions.js +33 -22
  101. package/subscriptions/summaries.d.ts +7 -4
  102. package/subscriptions/summaries.js +10 -3
  103. package/subscriptions/tenantConfiguration.d.ts +6 -3
  104. package/subscriptions/tenantConfiguration.js +15 -7
  105. package/subscriptions/vendorPublicConfigurations.d.ts +5 -2
  106. package/subscriptions/vendorPublicConfigurations.js +11 -4
  107. package/teams/index.d.ts +35 -131
  108. package/teams/index.js +122 -93
  109. package/tenants/index.d.ts +25 -37
  110. package/tenants/index.js +62 -46
  111. package/tenants/interfaces.d.ts +2 -0
  112. package/user-phone-numbers/index.d.ts +32 -26
  113. package/user-phone-numbers/index.js +32 -19
  114. package/users/index.d.ts +21 -15
  115. package/users/index.js +60 -44
  116. package/vendor/index.d.ts +12 -6
  117. package/vendor/index.js +11 -4
  118. package/fetch.d.ts +0 -24
  119. package/fetch.js +0 -265
  120. package/node/fetch.js +0 -306
  121. package/node/subscriptions/providers/index.js +0 -18
  122. package/subscriptions/providers/index.d.ts +0 -1
  123. 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';