@frontegg/js 7.32.0 → 7.33.0
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/FronteggApp/FronteggApp.d.ts +1 -0
- package/FronteggApp/FronteggApp.js +45 -20
- package/FronteggApp/utils.d.ts +2 -1
- package/FronteggApp/utils.js +10 -7
- package/index.js +1 -1
- package/node/FronteggApp/FronteggApp.js +44 -19
- package/node/FronteggApp/utils.js +10 -7
- package/node/index.js +1 -1
- package/node/version.js +1 -1
- package/package.json +2 -2
- package/umd/frontegg.development.js +653 -463
- package/umd/frontegg.production.min.js +1 -1
- package/umd/frontegg.production.min.js.LICENSE.txt +1 -1
- package/version.js +1 -1
|
@@ -38,6 +38,7 @@ export declare class FronteggApp {
|
|
|
38
38
|
*/
|
|
39
39
|
private setEntitlementsOptions;
|
|
40
40
|
private setSessionContext;
|
|
41
|
+
private dispatchErrorByRequestName;
|
|
41
42
|
loadAdminBoxMetadata: () => Promise<void>;
|
|
42
43
|
/**
|
|
43
44
|
* Loading required information on first load, mainly for refresh token and initial data.
|
|
@@ -4,7 +4,7 @@ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
|
4
4
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
5
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
6
6
|
import * as FronteggReduxStore from '@frontegg/redux-store';
|
|
7
|
-
import { createStore, getFeatureEntitlements as _getFeatureEntitlements, getPermissionEntitlements as _getPermissionEntitlements, isSteppedUp as _isSteppedUp, redirectByStepUpUrl } from '@frontegg/redux-store';
|
|
7
|
+
import { createStore, getFeatureEntitlements as _getFeatureEntitlements, getPermissionEntitlements as _getPermissionEntitlements, isSteppedUp as _isSteppedUp, redirectByStepUpUrl, retryIfNeeded, DEFAULT_RETRY_CONFIG, errorTraceId, REQUEST_NAME } from '@frontegg/redux-store';
|
|
8
8
|
import * as FronteggTypes from '@frontegg/types';
|
|
9
9
|
import { Metadata } from '@frontegg/types';
|
|
10
10
|
import { formatName, restoreSearchParams } from '../utils';
|
|
@@ -48,34 +48,45 @@ export var FronteggApp = /*#__PURE__*/function () {
|
|
|
48
48
|
while (1) switch (_context.prev = _context.next) {
|
|
49
49
|
case 0:
|
|
50
50
|
if (_this.options.metadata) {
|
|
51
|
-
_context.next =
|
|
51
|
+
_context.next = 21;
|
|
52
52
|
break;
|
|
53
53
|
}
|
|
54
54
|
_context.prev = 1;
|
|
55
55
|
_context.next = 4;
|
|
56
|
-
return
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
return retryIfNeeded(function () {
|
|
57
|
+
return _this.fetchClient.get('/metadata', {
|
|
58
|
+
entityName: 'adminBox'
|
|
59
|
+
});
|
|
60
|
+
}, DEFAULT_RETRY_CONFIG);
|
|
59
61
|
case 4:
|
|
60
62
|
data = _context.sent;
|
|
61
63
|
metadata = (_data$rows$0$configur = data == null ? void 0 : (_data$rows = data.rows) == null ? void 0 : (_data$rows$ = _data$rows[0]) == null ? void 0 : _data$rows$.configuration) != null ? _data$rows$0$configur : {};
|
|
62
|
-
_context.
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
_context.prev = 6;
|
|
65
|
+
_context.next = 9;
|
|
66
|
+
return getOverriddenMetadata(metadata, _this.fetchClient, DEFAULT_RETRY_CONFIG);
|
|
67
|
+
case 9:
|
|
65
68
|
_this.options.metadata = _context.sent;
|
|
66
|
-
_context.next =
|
|
69
|
+
_context.next = 15;
|
|
67
70
|
break;
|
|
68
|
-
case
|
|
69
|
-
_context.prev =
|
|
70
|
-
_context.t0 = _context["catch"](
|
|
71
|
-
console.error('failed to get admin portal metadata', _context.t0);
|
|
72
|
-
case 14:
|
|
73
|
-
Metadata.set(_this.options.metadata, _this.name);
|
|
71
|
+
case 12:
|
|
72
|
+
_context.prev = 12;
|
|
73
|
+
_context.t0 = _context["catch"](6);
|
|
74
|
+
console.error('failed to get admin portal overridden metadata', _context.t0);
|
|
74
75
|
case 15:
|
|
76
|
+
_context.next = 21;
|
|
77
|
+
break;
|
|
78
|
+
case 17:
|
|
79
|
+
_context.prev = 17;
|
|
80
|
+
_context.t1 = _context["catch"](1);
|
|
81
|
+
console.error('failed to get admin portal metadata', _context.t1);
|
|
82
|
+
_this.dispatchErrorByRequestName(_context.t1, REQUEST_NAME.LOAD_ADMIN_BOX_METADATA);
|
|
83
|
+
case 21:
|
|
84
|
+
Metadata.set(_this.options.metadata, _this.name);
|
|
85
|
+
case 22:
|
|
75
86
|
case "end":
|
|
76
87
|
return _context.stop();
|
|
77
88
|
}
|
|
78
|
-
}, _callee, null, [[1,
|
|
89
|
+
}, _callee, null, [[1, 17], [6, 12]]);
|
|
79
90
|
}));
|
|
80
91
|
this.requestAuthorize = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
81
92
|
var _this$options$authOpt, _this$options$authOpt2;
|
|
@@ -118,25 +129,28 @@ export var FronteggApp = /*#__PURE__*/function () {
|
|
|
118
129
|
break;
|
|
119
130
|
}
|
|
120
131
|
FronteggRestApi.FeatureFlags.set(mockFlagsList, _this.name);
|
|
121
|
-
_context3.next =
|
|
132
|
+
_context3.next = 16;
|
|
122
133
|
break;
|
|
123
134
|
case 4:
|
|
124
135
|
_context3.prev = 4;
|
|
125
136
|
_context3.next = 7;
|
|
126
|
-
return
|
|
137
|
+
return retryIfNeeded(function () {
|
|
138
|
+
return _this.apiClient.featureFlags.loadFeatureFlags();
|
|
139
|
+
}, DEFAULT_RETRY_CONFIG);
|
|
127
140
|
case 7:
|
|
128
141
|
flags = _context3.sent;
|
|
129
142
|
if (_this.options.overrideFeatureFlags) {
|
|
130
143
|
Object.assign(flags, _this.options.overrideFeatureFlags);
|
|
131
144
|
}
|
|
132
145
|
FronteggRestApi.FeatureFlags.set(flags, _this.name);
|
|
133
|
-
_context3.next =
|
|
146
|
+
_context3.next = 16;
|
|
134
147
|
break;
|
|
135
148
|
case 12:
|
|
136
149
|
_context3.prev = 12;
|
|
137
150
|
_context3.t0 = _context3["catch"](4);
|
|
138
151
|
console.error('failed to get admin portal feature flags', _context3.t0);
|
|
139
|
-
|
|
152
|
+
_this.dispatchErrorByRequestName(_context3.t0, REQUEST_NAME.LOAD_FEATURE_FLAGS);
|
|
153
|
+
case 16:
|
|
140
154
|
case "end":
|
|
141
155
|
return _context3.stop();
|
|
142
156
|
}
|
|
@@ -241,6 +255,17 @@ export var FronteggApp = /*#__PURE__*/function () {
|
|
|
241
255
|
value: function setSessionContext(sessionContext) {
|
|
242
256
|
ContextHolder["for"](this.name).setSessionContext(Object.assign({}, sessionContext));
|
|
243
257
|
}
|
|
258
|
+
}, {
|
|
259
|
+
key: "dispatchErrorByRequestName",
|
|
260
|
+
value: function dispatchErrorByRequestName(error, requestName) {
|
|
261
|
+
this.store.dispatch({
|
|
262
|
+
type: 'auth/setErrorByRequestName',
|
|
263
|
+
payload: {
|
|
264
|
+
requestName: requestName,
|
|
265
|
+
traceId: errorTraceId(error)
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
}
|
|
244
269
|
}, {
|
|
245
270
|
key: "initContainers",
|
|
246
271
|
value: function () {
|
package/FronteggApp/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FronteggMetadata } from '@frontegg/types';
|
|
2
2
|
import { FetchClient } from '@frontegg/rest-api';
|
|
3
|
+
import { RetryConfig } from '@frontegg/redux-store';
|
|
3
4
|
/**
|
|
4
5
|
* load gtm scripts by using metadata gtm keys
|
|
5
6
|
* @param fronteggAppName
|
|
@@ -10,4 +11,4 @@ export declare const loadGTM: (fronteggAppName: string) => void;
|
|
|
10
11
|
* this function will get metadata overrides from the metadataOverrides.url and will return a new object with override of old metadata
|
|
11
12
|
* @param fetchClient
|
|
12
13
|
*/
|
|
13
|
-
export declare const getOverriddenMetadata: (metadata: FronteggMetadata, fetchClient: FetchClient) => Promise<FronteggMetadata>;
|
|
14
|
+
export declare const getOverriddenMetadata: (metadata: FronteggMetadata, fetchClient: FetchClient, retryConfig?: RetryConfig) => Promise<FronteggMetadata>;
|
package/FronteggApp/utils.js
CHANGED
|
@@ -2,6 +2,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
|
2
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
3
|
import { Metadata } from '@frontegg/types';
|
|
4
4
|
import deepMerge from 'deepmerge';
|
|
5
|
+
import { retryIfNeeded } from '@frontegg/redux-store';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* To prevent XSS attack, this function check for gtm key validity
|
|
@@ -41,7 +42,7 @@ export var loadGTM = function loadGTM(fronteggAppName) {
|
|
|
41
42
|
* @param fetchClient
|
|
42
43
|
*/
|
|
43
44
|
export var getOverriddenMetadata = /*#__PURE__*/function () {
|
|
44
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(metadata, fetchClient) {
|
|
45
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(metadata, fetchClient, retryConfig) {
|
|
45
46
|
var _metadata$metadataOve;
|
|
46
47
|
var overrideUrl, overrideData, overriddenMetadata;
|
|
47
48
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -56,11 +57,13 @@ export var getOverriddenMetadata = /*#__PURE__*/function () {
|
|
|
56
57
|
case 3:
|
|
57
58
|
_context.prev = 3;
|
|
58
59
|
_context.next = 6;
|
|
59
|
-
return
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
return retryIfNeeded(function () {
|
|
61
|
+
return fetchClient.sendRequest({
|
|
62
|
+
url: overrideUrl,
|
|
63
|
+
method: 'GET',
|
|
64
|
+
credentials: 'omit'
|
|
65
|
+
});
|
|
66
|
+
}, retryConfig);
|
|
64
67
|
case 6:
|
|
65
68
|
overrideData = _context.sent;
|
|
66
69
|
if (!overrideData) {
|
|
@@ -84,7 +87,7 @@ export var getOverriddenMetadata = /*#__PURE__*/function () {
|
|
|
84
87
|
}
|
|
85
88
|
}, _callee, null, [[3, 12]]);
|
|
86
89
|
}));
|
|
87
|
-
return function getOverriddenMetadata(_x, _x2) {
|
|
90
|
+
return function getOverriddenMetadata(_x, _x2, _x3) {
|
|
88
91
|
return _ref3.apply(this, arguments);
|
|
89
92
|
};
|
|
90
93
|
}();
|
package/index.js
CHANGED
|
@@ -55,34 +55,45 @@ var FronteggApp = /*#__PURE__*/function () {
|
|
|
55
55
|
while (1) switch (_context.prev = _context.next) {
|
|
56
56
|
case 0:
|
|
57
57
|
if (_this.options.metadata) {
|
|
58
|
-
_context.next =
|
|
58
|
+
_context.next = 21;
|
|
59
59
|
break;
|
|
60
60
|
}
|
|
61
61
|
_context.prev = 1;
|
|
62
62
|
_context.next = 4;
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
return (0, FronteggReduxStore.retryIfNeeded)(function () {
|
|
64
|
+
return _this.fetchClient.get('/metadata', {
|
|
65
|
+
entityName: 'adminBox'
|
|
66
|
+
});
|
|
67
|
+
}, FronteggReduxStore.DEFAULT_RETRY_CONFIG);
|
|
66
68
|
case 4:
|
|
67
69
|
data = _context.sent;
|
|
68
70
|
metadata = (_data$rows$0$configur = data == null ? void 0 : (_data$rows = data.rows) == null ? void 0 : (_data$rows$ = _data$rows[0]) == null ? void 0 : _data$rows$.configuration) != null ? _data$rows$0$configur : {};
|
|
69
|
-
_context.
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
_context.prev = 6;
|
|
72
|
+
_context.next = 9;
|
|
73
|
+
return (0, _utils2.getOverriddenMetadata)(metadata, _this.fetchClient, FronteggReduxStore.DEFAULT_RETRY_CONFIG);
|
|
74
|
+
case 9:
|
|
72
75
|
_this.options.metadata = _context.sent;
|
|
73
|
-
_context.next =
|
|
76
|
+
_context.next = 15;
|
|
74
77
|
break;
|
|
75
|
-
case
|
|
76
|
-
_context.prev =
|
|
77
|
-
_context.t0 = _context["catch"](
|
|
78
|
-
console.error('failed to get admin portal metadata', _context.t0);
|
|
79
|
-
case 14:
|
|
80
|
-
FronteggTypes.Metadata.set(_this.options.metadata, _this.name);
|
|
78
|
+
case 12:
|
|
79
|
+
_context.prev = 12;
|
|
80
|
+
_context.t0 = _context["catch"](6);
|
|
81
|
+
console.error('failed to get admin portal overridden metadata', _context.t0);
|
|
81
82
|
case 15:
|
|
83
|
+
_context.next = 21;
|
|
84
|
+
break;
|
|
85
|
+
case 17:
|
|
86
|
+
_context.prev = 17;
|
|
87
|
+
_context.t1 = _context["catch"](1);
|
|
88
|
+
console.error('failed to get admin portal metadata', _context.t1);
|
|
89
|
+
_this.dispatchErrorByRequestName(_context.t1, FronteggReduxStore.REQUEST_NAME.LOAD_ADMIN_BOX_METADATA);
|
|
90
|
+
case 21:
|
|
91
|
+
FronteggTypes.Metadata.set(_this.options.metadata, _this.name);
|
|
92
|
+
case 22:
|
|
82
93
|
case "end":
|
|
83
94
|
return _context.stop();
|
|
84
95
|
}
|
|
85
|
-
}, _callee, null, [[1,
|
|
96
|
+
}, _callee, null, [[1, 17], [6, 12]]);
|
|
86
97
|
}));
|
|
87
98
|
this.requestAuthorize = /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
88
99
|
var _this$options$authOpt, _this$options$authOpt2;
|
|
@@ -125,25 +136,28 @@ var FronteggApp = /*#__PURE__*/function () {
|
|
|
125
136
|
break;
|
|
126
137
|
}
|
|
127
138
|
FronteggRestApi.FeatureFlags.set(_mockFlagsList.mockFlagsList, _this.name);
|
|
128
|
-
_context3.next =
|
|
139
|
+
_context3.next = 16;
|
|
129
140
|
break;
|
|
130
141
|
case 4:
|
|
131
142
|
_context3.prev = 4;
|
|
132
143
|
_context3.next = 7;
|
|
133
|
-
return
|
|
144
|
+
return (0, FronteggReduxStore.retryIfNeeded)(function () {
|
|
145
|
+
return _this.apiClient.featureFlags.loadFeatureFlags();
|
|
146
|
+
}, FronteggReduxStore.DEFAULT_RETRY_CONFIG);
|
|
134
147
|
case 7:
|
|
135
148
|
flags = _context3.sent;
|
|
136
149
|
if (_this.options.overrideFeatureFlags) {
|
|
137
150
|
Object.assign(flags, _this.options.overrideFeatureFlags);
|
|
138
151
|
}
|
|
139
152
|
FronteggRestApi.FeatureFlags.set(flags, _this.name);
|
|
140
|
-
_context3.next =
|
|
153
|
+
_context3.next = 16;
|
|
141
154
|
break;
|
|
142
155
|
case 12:
|
|
143
156
|
_context3.prev = 12;
|
|
144
157
|
_context3.t0 = _context3["catch"](4);
|
|
145
158
|
console.error('failed to get admin portal feature flags', _context3.t0);
|
|
146
|
-
|
|
159
|
+
_this.dispatchErrorByRequestName(_context3.t0, FronteggReduxStore.REQUEST_NAME.LOAD_FEATURE_FLAGS);
|
|
160
|
+
case 16:
|
|
147
161
|
case "end":
|
|
148
162
|
return _context3.stop();
|
|
149
163
|
}
|
|
@@ -248,6 +262,17 @@ var FronteggApp = /*#__PURE__*/function () {
|
|
|
248
262
|
value: function setSessionContext(sessionContext) {
|
|
249
263
|
FronteggRestApi.ContextHolder["for"](this.name).setSessionContext(Object.assign({}, sessionContext));
|
|
250
264
|
}
|
|
265
|
+
}, {
|
|
266
|
+
key: "dispatchErrorByRequestName",
|
|
267
|
+
value: function dispatchErrorByRequestName(error, requestName) {
|
|
268
|
+
this.store.dispatch({
|
|
269
|
+
type: 'auth/setErrorByRequestName',
|
|
270
|
+
payload: {
|
|
271
|
+
requestName: requestName,
|
|
272
|
+
traceId: (0, FronteggReduxStore.errorTraceId)(error)
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
}
|
|
251
276
|
}, {
|
|
252
277
|
key: "initContainers",
|
|
253
278
|
value: function () {
|
|
@@ -9,6 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _types = require("@frontegg/types");
|
|
11
11
|
var _deepmerge = _interopRequireDefault(require("deepmerge"));
|
|
12
|
+
var _reduxStore = require("@frontegg/redux-store");
|
|
12
13
|
/**
|
|
13
14
|
* To prevent XSS attack, this function check for gtm key validity
|
|
14
15
|
* XSS attack may happen if values are injected by postman because we don't have validity check in the BE
|
|
@@ -48,7 +49,7 @@ var loadGTM = function loadGTM(fronteggAppName) {
|
|
|
48
49
|
*/
|
|
49
50
|
exports.loadGTM = loadGTM;
|
|
50
51
|
var getOverriddenMetadata = /*#__PURE__*/function () {
|
|
51
|
-
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(metadata, fetchClient) {
|
|
52
|
+
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(metadata, fetchClient, retryConfig) {
|
|
52
53
|
var _metadata$metadataOve;
|
|
53
54
|
var overrideUrl, overrideData, overriddenMetadata;
|
|
54
55
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
@@ -63,11 +64,13 @@ var getOverriddenMetadata = /*#__PURE__*/function () {
|
|
|
63
64
|
case 3:
|
|
64
65
|
_context.prev = 3;
|
|
65
66
|
_context.next = 6;
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
return (0, _reduxStore.retryIfNeeded)(function () {
|
|
68
|
+
return fetchClient.sendRequest({
|
|
69
|
+
url: overrideUrl,
|
|
70
|
+
method: 'GET',
|
|
71
|
+
credentials: 'omit'
|
|
72
|
+
});
|
|
73
|
+
}, retryConfig);
|
|
71
74
|
case 6:
|
|
72
75
|
overrideData = _context.sent;
|
|
73
76
|
if (!overrideData) {
|
|
@@ -91,7 +94,7 @@ var getOverriddenMetadata = /*#__PURE__*/function () {
|
|
|
91
94
|
}
|
|
92
95
|
}, _callee, null, [[3, 12]]);
|
|
93
96
|
}));
|
|
94
|
-
return function getOverriddenMetadata(_x, _x2) {
|
|
97
|
+
return function getOverriddenMetadata(_x, _x2, _x3) {
|
|
95
98
|
return _ref3.apply(this, arguments);
|
|
96
99
|
};
|
|
97
100
|
}();
|
package/node/index.js
CHANGED
package/node/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontegg/js",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.33.0",
|
|
4
4
|
"main": "./node/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Frontegg LTD",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"@babel/runtime": "^7.18.6",
|
|
9
|
-
"@frontegg/types": "7.
|
|
9
|
+
"@frontegg/types": "7.33.0"
|
|
10
10
|
},
|
|
11
11
|
"browserslist": {
|
|
12
12
|
"production": [
|