@frontegg/rest-api 3.1.74-alpha.9436511986 → 3.1.74-alpha.9437859720

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.
@@ -12,112 +12,136 @@ export declare class ContextHolder {
12
12
  private accessToken;
13
13
  private user;
14
14
  private requestSource;
15
- private onRedirectTo;
16
- private logout;
15
+ onRedirectTo: (path: string, opts?: RedirectOptions) => void;
16
+ logout: (callback?: () => void) => void;
17
17
  private entitlementsOptions;
18
18
  private appName;
19
19
  private sessionContext?;
20
20
  private constructor();
21
+ static default(): ContextHolder;
22
+ static for(appName: string): ContextHolder;
23
+ /**
24
+ * @deprecated - use ContextHolder.for(appName) / ContextHolder.default() instead
25
+ * @param appName
26
+ */
21
27
  static getInstance(appName?: string): ContextHolder;
28
+ static createInstance(appName?: string): ContextHolder;
22
29
  /**
23
- * @deprecated - use getFronteggContext(appName).setContext instead
30
+ * @deprecated - use ContextHolder.for(appName).setContext instead
24
31
  */
25
32
  static setContext(context: ContextOptions, appName?: string): void;
33
+ setContext(context: ContextOptions): void;
26
34
  /**
27
- * @deprecated - use getFronteggContext(appName).setAccessToken instead
35
+ * @deprecated - use ContextHolder.for(appName).setAccessToken instead
28
36
  */
29
37
  static setAccessToken(accessToken: string | null, appName?: string): void;
38
+ setAccessToken(accessToken: string | null): void;
30
39
  /**
31
- * @deprecated - use getFronteggContext(appName).setUser instead
40
+ * @deprecated - use ContextHolder.for(appName).setUser instead
32
41
  */
33
42
  static setUser(user: IUserProfile | null, appName?: string): void;
43
+ setUser(user: IUserProfile | null): void;
34
44
  /**
35
- * @deprecated - use getFronteggContext(appName).setRequestSource instead
45
+ * @deprecated - use ContextHolder.for(appName).setRequestSource instead
36
46
  */
37
47
  static setRequestSource(requestSource: RequestSource | null, appName?: string): void;
48
+ setRequestSource(requestSource: RequestSource | null): void;
38
49
  /**
39
- * @deprecated - use getFronteggContext(appName).setOnRedirectTo instead
50
+ * @deprecated - use ContextHolder.for(appName).setOnRedirectTo instead
40
51
  */
41
52
  static setOnRedirectTo(onRedirectTo: (path: string, opts?: RedirectOptions) => void, appName?: string): void;
53
+ setOnRedirectTo(onRedirectTo: (path: string, opts?: RedirectOptions) => void): void;
42
54
  /**
43
- * @deprecated - use getFronteggContext(appName).setLogout instead
55
+ * @deprecated - use ContextHolder.for(appName).setLogout instead
44
56
  */
45
57
  static setLogout(logout: (callback?: () => void) => void, logoutUrl: string, appName?: string): void;
58
+ setLogout(logout: (callback?: () => void) => void): void;
46
59
  /**
47
60
  * App name should also be set for entitlements
48
- * @deprecated - use getFronteggContext(appName).setEntitlementsOptions instead
61
+ * @deprecated - use ContextHolder.for(appName).setEntitlementsOptions instead
49
62
  * @param entitlementsOptions frontegg options entitlements config
50
63
  * @param appName - app name
51
64
  */
52
65
  static setEntitlementsOptions(entitlementsOptions: EntitlementsOptions, appName?: string): void;
66
+ setEntitlementsOptions(entitlementsOptions: EntitlementsOptions): void;
53
67
  /**
54
- * @deprecated - use getFronteggContext(appName).setSessionContext instead
68
+ * @deprecated - use ContextHolder.for(appName).setSessionContext instead
55
69
  * @param sessionContext frontegg options SessionContext config
56
70
  * @param appName - app name
57
71
  */
58
72
  static setSessionContext(sessionContext: SessionContext, appName?: string): void;
73
+ setSessionContext(sessionContext: SessionContext): void;
59
74
  /**
60
- * @deprecated - use getFronteggContext(appName).setAppName instead
75
+ * @deprecated - use ContextHolder.for(appName).setAppName instead
61
76
  */
62
77
  static setAppName(appName: string): void;
78
+ setAppName(appName: string): void;
79
+ /**
80
+ * @deprecated - use ContextHolder.for(appName).getContext instead
81
+ */
63
82
  static getContext(appName?: string): ContextOptions;
83
+ getContext(): ContextOptions;
64
84
  /**
65
- * @deprecated - use getFronteggContext(appName) instead
85
+ * @deprecated - use ContextHolder.for(appName).getAccessToken instead
66
86
  */
67
87
  static getAccessToken(appName?: string): string | null;
88
+ getAccessToken(): string | null;
68
89
  /**
69
- * @deprecated - use getFronteggContext(appName).requestSource instead
90
+ * @deprecated - use ContextHolder.for(appName).requestSource instead
70
91
  */
71
92
  static getRequestSource(appName?: string): RequestSource | null;
93
+ getRequestSource(): RequestSource | null;
72
94
  /**
73
- * @deprecated - use getFronteggContext(appName).getUser instead
95
+ * @deprecated - use ContextHolder.for(appName).getUser instead
74
96
  */
75
97
  static getUser(appName?: string): IUserProfile | null;
98
+ getUser(): IUserProfile | null;
76
99
  /**
77
- * @deprecated - use getFronteggContext(appName).onRedirectTo instead
100
+ * @deprecated - use ContextHolder.for(appName).onRedirectTo instead
78
101
  */
79
102
  static onRedirectTo(path: string, opts?: RedirectOptions, appName?: string): void;
80
103
  /**
81
- * @deprecated - use getFronteggContext(appName)/logout instead
104
+ * @deprecated - use ContextHolder.for(appName).logout instead
82
105
  */
83
106
  static logout(callback?: () => void, appName?: string): void;
84
107
  /**
85
- * @deprecated - use getFronteggContext(appName).shouldLoadEntitlements instead
108
+ * @deprecated - use ContextHolder.for(appName).shouldLoadEntitlements instead
86
109
  * @returns shouldLoadEntitlements. Default to false.
87
110
  */
88
111
  static shouldLoadEntitlements(appName?: string): boolean;
112
+ shouldLoadEntitlements(): boolean;
89
113
  /**
90
- * @deprecated - use getFronteggContext(appName).isSessionPerTenantEnabled instead
114
+ * @deprecated - use ContextHolder.for(appName).isSessionPerTenantEnabled instead
91
115
  * @returns isSessionPerTenantEnabled. Default to false.
92
116
  */
93
117
  static isSessionPerTenantEnabled(appName?: string): boolean;
118
+ isSessionPerTenantEnabled(): boolean;
94
119
  /**
95
- * @deprecated - use getFronteggContext(appName).getAppName instead
120
+ * @deprecated - use ContextHolder.for(appName).getAppName instead
96
121
  * @returns app name value
97
122
  */
98
123
  static getAppName(appName?: string): string | null;
124
+ getAppName(): string | null;
99
125
  }
100
126
  /**
101
127
  * Frontegg context to be used in the application
102
128
  *
103
- * @deprecated use getFronteggContext instead
129
+ * @deprecated use ContextHolder.for instead
104
130
  */
105
131
  export declare const FronteggContext: {
106
132
  getContext: () => ContextOptions;
107
133
  getAccessToken: () => string | null;
134
+ setAccessToken: (accessToken: string | null) => void;
108
135
  getUser: () => IUserProfile | null;
109
- onRedirectTo: (path: string, opts: RedirectOptions) => void;
110
- logout: (callback?: (() => void) | undefined) => void;
111
- };
112
- export declare const getFronteggContext: (appName?: string) => {
113
- getContext: () => ContextOptions;
114
- getAccessToken: () => string | null;
115
- getUser: () => IUserProfile | null;
136
+ setUser: (user: IUserProfile | null) => void;
116
137
  onRedirectTo: (path: string, opts?: RedirectOptions | undefined) => void;
138
+ setOnRedirectTo: (onRedirectTo: (path: string, opts?: RedirectOptions | undefined) => void) => void;
117
139
  logout: (callback?: (() => void) | undefined) => void;
118
140
  getRequestSource: () => RequestSource | null;
119
- setAccessToken: (accessToken: string | null) => void;
120
- setUser: (user: IUserProfile | null) => void;
141
+ setRequestSource: (requestSource: RequestSource | null) => void;
121
142
  isSessionPerTenantEnabled: () => boolean;
122
143
  shouldLoadEntitlements: () => boolean;
144
+ getAppName: () => string | null;
145
+ setEntitlementsOptions: (entitlementsOptions: EntitlementsOptions) => void;
146
+ setSessionContext: (sessionContext: SessionContext) => void;
123
147
  };
@@ -14,7 +14,19 @@ export class ContextHolder {
14
14
  this.sessionContext = void 0;
15
15
  }
16
16
 
17
+ static default() {
18
+ return ContextHolder.getInstance(DEFAULT_APP_NAME);
19
+ }
20
+
21
+ static for(appName) {
22
+ return ContextHolder.getInstance(appName);
23
+ }
24
+
17
25
  static getInstance(appName = 'default') {
26
+ if (!ContextHolder._apps) {
27
+ ContextHolder._apps = {};
28
+ }
29
+
18
30
  if (ContextHolder._apps[appName]) {
19
31
  return ContextHolder._apps[appName];
20
32
  }
@@ -23,52 +35,106 @@ export class ContextHolder {
23
35
  return ContextHolder._apps[appName];
24
36
  }
25
37
 
38
+ static createInstance(appName = 'default') {
39
+ ContextHolder._apps[appName] = new ContextHolder();
40
+ ContextHolder._apps[appName].appName = appName;
41
+ return ContextHolder._apps[appName];
42
+ }
43
+
26
44
  static setContext(context, appName = 'default') {
27
- ContextHolder.getInstance(appName).context = context;
45
+ ContextHolder.for(appName).context = context;
46
+ }
47
+
48
+ setContext(context) {
49
+ this.context = context;
28
50
  }
29
51
 
30
52
  static setAccessToken(accessToken, appName = 'default') {
31
- ContextHolder.getInstance(appName).accessToken = accessToken;
53
+ ContextHolder.for(appName).accessToken = accessToken;
54
+ }
55
+
56
+ setAccessToken(accessToken) {
57
+ this.accessToken = accessToken;
32
58
  }
33
59
 
34
60
  static setUser(user, appName = 'default') {
35
- ContextHolder.getInstance(appName).user = user;
61
+ ContextHolder.for(appName).user = user;
62
+ }
63
+
64
+ setUser(user) {
65
+ this.user = user;
36
66
  }
37
67
 
38
68
  static setRequestSource(requestSource, appName = 'default') {
39
- ContextHolder.getInstance(appName).requestSource = requestSource;
69
+ ContextHolder.for(appName).requestSource = requestSource;
70
+ }
71
+
72
+ setRequestSource(requestSource) {
73
+ this.requestSource = requestSource;
40
74
  }
41
75
 
42
76
  static setOnRedirectTo(onRedirectTo, appName = 'default') {
43
- ContextHolder.getInstance(appName).onRedirectTo = onRedirectTo;
77
+ ContextHolder.for(appName).onRedirectTo = onRedirectTo;
78
+ }
79
+
80
+ setOnRedirectTo(onRedirectTo) {
81
+ this.onRedirectTo = onRedirectTo;
44
82
  }
45
83
 
46
84
  static setLogout(logout, logoutUrl, appName = 'default') {
47
- ContextHolder.getInstance(appName).logout = callback => {
85
+ const context = ContextHolder.for(appName);
86
+
87
+ context.logout = callback => {
48
88
  if (!callback) {
49
- ContextHolder.onRedirectTo(logoutUrl, undefined, appName);
89
+ context.onRedirectTo(logoutUrl, undefined);
50
90
  } else {
51
91
  logout(callback);
52
92
  }
53
93
  };
54
94
  }
55
95
 
96
+ setLogout(logout) {
97
+ this.logout = logout;
98
+ }
99
+
56
100
  static setEntitlementsOptions(entitlementsOptions, appName = 'default') {
57
- ContextHolder.getInstance(appName).entitlementsOptions = entitlementsOptions;
101
+ ContextHolder.for(appName).entitlementsOptions = entitlementsOptions;
102
+ }
103
+
104
+ setEntitlementsOptions(entitlementsOptions) {
105
+ this.entitlementsOptions = entitlementsOptions;
58
106
  }
59
107
 
60
108
  static setSessionContext(sessionContext, appName = 'default') {
61
- ContextHolder.getInstance(appName).sessionContext = sessionContext;
109
+ ContextHolder.for(appName).sessionContext = sessionContext;
110
+ }
111
+
112
+ setSessionContext(sessionContext) {
113
+ this.sessionContext = sessionContext;
62
114
  }
63
115
 
64
116
  static setAppName(appName) {
65
- ContextHolder.getInstance(appName).appName = appName;
117
+ ContextHolder.for(appName).appName = appName;
118
+ }
119
+
120
+ setAppName(appName) {
121
+ this.appName = appName;
66
122
  }
67
123
 
68
124
  static getContext(appName = 'default') {
69
- var _ContextHolder$getIns;
125
+ var _ContextHolder$for$co;
70
126
 
71
- return (_ContextHolder$getIns = ContextHolder.getInstance(appName).context) != null ? _ContextHolder$getIns : {
127
+ return (_ContextHolder$for$co = ContextHolder.for(appName).context) != null ? _ContextHolder$for$co : {
128
+ baseUrl: window.location.href,
129
+ tokenResolver: () => 'my-authentication-token',
130
+ logLevel: 'error'
131
+ };
132
+ }
133
+
134
+ getContext() {
135
+ var _this$context;
136
+
137
+ return (_this$context = this.context) != null ? _this$context : {
72
138
  baseUrl: window.location.href,
73
139
  tokenResolver: () => 'my-authentication-token',
74
140
  logLevel: 'error'
@@ -76,59 +142,86 @@ export class ContextHolder {
76
142
  }
77
143
 
78
144
  static getAccessToken(appName = 'default') {
79
- return ContextHolder.getInstance(appName).accessToken;
145
+ return ContextHolder.for(appName).accessToken;
146
+ }
147
+
148
+ getAccessToken() {
149
+ return this.accessToken;
80
150
  }
81
151
 
82
152
  static getRequestSource(appName = 'default') {
83
- return ContextHolder.getInstance(appName).requestSource;
153
+ return ContextHolder.for(appName).requestSource;
154
+ }
155
+
156
+ getRequestSource() {
157
+ return this.requestSource;
84
158
  }
85
159
 
86
160
  static getUser(appName = 'default') {
87
- return ContextHolder.getInstance(appName).user;
161
+ return ContextHolder.for(appName).user;
162
+ }
163
+
164
+ getUser() {
165
+ return this.user;
88
166
  }
89
167
 
90
168
  static onRedirectTo(path, opts, appName = 'default') {
91
- return ContextHolder.getInstance(appName).onRedirectTo(path, opts);
169
+ return ContextHolder.for(appName).onRedirectTo(path, opts);
92
170
  }
93
171
 
94
172
  static logout(callback, appName = 'default') {
95
- return ContextHolder.getInstance(appName).logout(callback);
173
+ return ContextHolder.for(appName).logout(callback);
96
174
  }
97
175
 
98
176
  static shouldLoadEntitlements(appName = 'default') {
99
- var _ContextHolder$getIns2;
177
+ var _ContextHolder$for$en;
178
+
179
+ return ((_ContextHolder$for$en = ContextHolder.for(appName).entitlementsOptions) == null ? void 0 : _ContextHolder$for$en.enabled) || false;
180
+ }
100
181
 
101
- return ((_ContextHolder$getIns2 = ContextHolder.getInstance(appName).entitlementsOptions) == null ? void 0 : _ContextHolder$getIns2.enabled) || false;
182
+ shouldLoadEntitlements() {
183
+ var _this$entitlementsOpt;
184
+
185
+ return ((_this$entitlementsOpt = this.entitlementsOptions) == null ? void 0 : _this$entitlementsOpt.enabled) || false;
102
186
  }
103
187
 
104
188
  static isSessionPerTenantEnabled(appName = 'default') {
105
- var _ContextHolder$getIns3;
189
+ var _ContextHolder$for$se;
190
+
191
+ return ((_ContextHolder$for$se = ContextHolder.for(appName).sessionContext) == null ? void 0 : _ContextHolder$for$se.enableSessionPerTenant) || false;
192
+ }
106
193
 
107
- return ((_ContextHolder$getIns3 = ContextHolder.getInstance(appName).sessionContext) == null ? void 0 : _ContextHolder$getIns3.enableSessionPerTenant) || false;
194
+ isSessionPerTenantEnabled() {
195
+ var _this$sessionContext;
196
+
197
+ return ((_this$sessionContext = this.sessionContext) == null ? void 0 : _this$sessionContext.enableSessionPerTenant) || false;
108
198
  }
109
199
 
110
200
  static getAppName(appName = 'default') {
111
- return ContextHolder.getInstance(appName).appName;
201
+ return ContextHolder.for(appName).appName;
202
+ }
203
+
204
+ getAppName() {
205
+ return this.appName;
112
206
  }
113
207
 
114
208
  }
115
209
  ContextHolder._apps = void 0;
210
+ const DEFAULT_APP_NAME = 'default';
116
211
  export const FronteggContext = {
117
- getContext: () => ContextHolder.getContext(),
118
- getAccessToken: () => ContextHolder.getAccessToken(),
119
- getUser: () => ContextHolder.getUser(),
120
- onRedirectTo: (path, opts) => ContextHolder.onRedirectTo(path, opts),
121
- logout: callback => ContextHolder.logout(callback)
122
- };
123
- export const getFronteggContext = (appName = 'default') => ({
124
- getContext: () => ContextHolder.getContext(appName),
125
- getAccessToken: () => ContextHolder.getAccessToken(appName),
126
- getUser: () => ContextHolder.getUser(appName),
127
- onRedirectTo: (path, opts) => ContextHolder.onRedirectTo(path, opts, appName),
128
- logout: callback => ContextHolder.logout(callback, appName),
129
- getRequestSource: () => ContextHolder.getRequestSource(appName),
130
- setAccessToken: accessToken => ContextHolder.setAccessToken(accessToken, appName),
131
- setUser: user => ContextHolder.setUser(user, appName),
132
- isSessionPerTenantEnabled: () => ContextHolder.isSessionPerTenantEnabled(appName),
133
- shouldLoadEntitlements: () => ContextHolder.shouldLoadEntitlements(appName)
134
- });
212
+ getContext: () => ContextHolder.getContext(DEFAULT_APP_NAME),
213
+ getAccessToken: () => ContextHolder.getAccessToken(DEFAULT_APP_NAME),
214
+ setAccessToken: accessToken => ContextHolder.setAccessToken(accessToken, DEFAULT_APP_NAME),
215
+ getUser: () => ContextHolder.getUser(DEFAULT_APP_NAME),
216
+ setUser: user => ContextHolder.setUser(user, DEFAULT_APP_NAME),
217
+ onRedirectTo: (path, opts) => ContextHolder.onRedirectTo(path, opts, DEFAULT_APP_NAME),
218
+ setOnRedirectTo: onRedirectTo => ContextHolder.setOnRedirectTo(onRedirectTo, DEFAULT_APP_NAME),
219
+ logout: callback => ContextHolder.logout(callback, DEFAULT_APP_NAME),
220
+ getRequestSource: () => ContextHolder.getRequestSource(DEFAULT_APP_NAME),
221
+ setRequestSource: requestSource => ContextHolder.setRequestSource(requestSource, DEFAULT_APP_NAME),
222
+ isSessionPerTenantEnabled: () => ContextHolder.isSessionPerTenantEnabled(DEFAULT_APP_NAME),
223
+ shouldLoadEntitlements: () => ContextHolder.shouldLoadEntitlements(DEFAULT_APP_NAME),
224
+ getAppName: () => ContextHolder.getAppName(DEFAULT_APP_NAME),
225
+ setEntitlementsOptions: entitlementsOptions => ContextHolder.setEntitlementsOptions(entitlementsOptions, DEFAULT_APP_NAME),
226
+ setSessionContext: sessionContext => ContextHolder.setSessionContext(sessionContext, DEFAULT_APP_NAME)
227
+ };
package/FetchClient.d.ts CHANGED
@@ -22,10 +22,17 @@ export declare class FetchClient {
22
22
  extractHeadersFromOptions: (options?: UserJwtOptions) => {
23
23
  Authorization?: string;
24
24
  };
25
+ /** @deprecated use getContextBaseUrl instead */
26
+ static getBaseUrl: (context: ContextOptions, url: string, withFronteggPrefix?: boolean) => string;
27
+ /** @deprecated use getContextBaseUrl instead */
28
+ getBaseUrl: (context: ContextOptions, url: string, withFronteggPrefix?: boolean) => string;
29
+ getContextBaseUrl: (url: string, withFronteggPrefix?: boolean) => string;
30
+ static getMetadataHeaders: (context: ContextOptions) => Record<string, string>;
31
+ /** @deprecated - use getContextMetadataHeaders instead */
32
+ getMetadataHeaders: (context: ContextOptions) => Record<string, string>;
33
+ getContextMetadataHeaders: () => Record<string, string>;
34
+ static getScopedTenant: () => string | null;
25
35
  }
26
- export declare function getBaseUrl(context: ContextOptions, url: string, withFronteggPrefix?: boolean): string;
27
- export declare function getMetadataHeaders(context: ContextOptions): Record<string, string>;
28
- export declare function getScopedTenant(): string | null;
29
36
  declare const _default: FetchClient;
30
37
  /**
31
38
  * import FetchClient and use it to make requests to the server for specific application
package/FetchClient.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { getFronteggContext } from './ContextHolder';
2
+ import { ContextHolder } from './ContextHolder';
3
3
  import { FronteggApiError } from './error';
4
4
  import { GENERIC_ERROR_MESSAGE } from './constants';
5
5
  import { fronteggHeaders } from './interfaces';
@@ -8,12 +8,12 @@ export class FetchClient {
8
8
  this.appName = void 0;
9
9
 
10
10
  this.getFronteggContext = () => {
11
- return getFronteggContext(this.appName);
11
+ return ContextHolder.for(this.appName);
12
12
  };
13
13
 
14
14
  this.prepareUrl = async (url, params) => {
15
15
  const context = this.getFronteggContext().getContext();
16
- const baseUrl = getBaseUrl(context, url);
16
+ const baseUrl = this.getContextBaseUrl(url);
17
17
  const paramsToSend = await this.buildQueryParams(context, params);
18
18
  let finalUrl = url.startsWith('http') ? url : `${baseUrl}${url}`;
19
19
  const hasKeys = Object.keys(paramsToSend).length > 0;
@@ -90,10 +90,10 @@ export class FetchClient {
90
90
 
91
91
  const fronteggContext = this.getFronteggContext();
92
92
  const context = fronteggContext.getContext();
93
- const headers = getMetadataHeaders(context);
93
+ const headers = FetchClient.getMetadataHeaders(context);
94
94
  const authToken = await ((_context$tokenResolve = context == null ? void 0 : context.tokenResolver) != null ? _context$tokenResolve : fronteggContext.getAccessToken)();
95
95
  const requestSource = fronteggContext.getRequestSource();
96
- const scopedTenant = getScopedTenant();
96
+ const scopedTenant = FetchClient.getScopedTenant();
97
97
 
98
98
  if (contentType) {
99
99
  headers[fronteggHeaders.contentType] = contentType;
@@ -121,7 +121,7 @@ export class FetchClient {
121
121
  this.sendRequest = async opts => {
122
122
  var _opts$method, _ref, _opts$credentials;
123
123
 
124
- const context = getFronteggContext(this.appName).getContext();
124
+ const context = this.getFronteggContext().getContext();
125
125
  const headers = await this.buildRequestHeaders(opts.contentType);
126
126
  const url = await this.prepareUrl(opts.url, opts.params);
127
127
  const response = await fetch(url, {
@@ -232,11 +232,30 @@ export class FetchClient {
232
232
  Authorization: options.jwt
233
233
  } : {});
234
234
 
235
+ this.getBaseUrl = (context, url, withFronteggPrefix = true) => {
236
+ return FetchClient.getBaseUrl(context, url, withFronteggPrefix);
237
+ };
238
+
239
+ this.getContextBaseUrl = (url, withFronteggPrefix = true) => {
240
+ const context = this.getFronteggContext().getContext();
241
+ return this.getBaseUrl(context, url, withFronteggPrefix);
242
+ };
243
+
244
+ this.getMetadataHeaders = context => {
245
+ return FetchClient.getMetadataHeaders(context);
246
+ };
247
+
248
+ this.getContextMetadataHeaders = () => {
249
+ const context = this.getFronteggContext().getContext();
250
+ return FetchClient.getMetadataHeaders(context);
251
+ };
252
+
235
253
  this.appName = appName;
236
254
  }
237
255
 
238
256
  }
239
- export function getBaseUrl(context, url, withFronteggPrefix = true) {
257
+
258
+ FetchClient.getBaseUrl = (context, url, withFronteggPrefix = true) => {
240
259
  let baseUrl;
241
260
 
242
261
  if (typeof context.baseUrl === 'function') {
@@ -257,8 +276,9 @@ export function getBaseUrl(context, url, withFronteggPrefix = true) {
257
276
  }
258
277
 
259
278
  return baseUrl;
260
- }
261
- export function getMetadataHeaders(context) {
279
+ };
280
+
281
+ FetchClient.getMetadataHeaders = context => {
262
282
  var _context$metadataHead, _context$metadataHead2;
263
283
 
264
284
  const headers = {};
@@ -272,8 +292,9 @@ export function getMetadataHeaders(context) {
272
292
  }
273
293
 
274
294
  return headers;
275
- }
276
- export function getScopedTenant() {
295
+ };
296
+
297
+ FetchClient.getScopedTenant = () => {
277
298
  const urlParams = new URLSearchParams(window.location.search);
278
299
  const scopedTenant = urlParams.get('tenantId');
279
300
 
@@ -282,5 +303,6 @@ export function getScopedTenant() {
282
303
  }
283
304
 
284
305
  return null;
285
- }
306
+ };
307
+
286
308
  export default new FetchClient('default');
package/auth/index.js CHANGED
@@ -8,7 +8,6 @@ export * from "./enums";
8
8
  export { FRONTEGG_SEPARATE_TABS_BY_TENANT } from "./constants";
9
9
  export { setTabTenantInSessionStorage, getTabTenantFromSessionStorage, getCurrentUserTenantsFunction, removeTabTenantFromSessionStorage } from './utils';
10
10
  import { urls } from "../constants";
11
- import { getFronteggContext } from '../ContextHolder';
12
11
  import { jwtDecode } from "../jwt";
13
12
  import { LOAD_AUTHORIZATION_FF } from './interfaces';
14
13
  import { ADMIN_PORTAL_ENTITLEMENTS_FF } from '../entitlements/interfaces';
@@ -17,6 +16,7 @@ import { executeConditionalPromise, getCurrentUserTenantsFunction, getTabTenantF
17
16
  import { TenantsApi } from "../tenants";
18
17
  import { BaseApiClient } from '../BaseApiClient';
19
18
  import { EntitlementsApi } from '../entitlements';
19
+ import { ContextHolder } from '../ContextHolder';
20
20
  export class AuthenticationApi extends BaseApiClient {
21
21
  constructor(appName) {
22
22
  super(appName);
@@ -28,14 +28,14 @@ export class AuthenticationApi extends BaseApiClient {
28
28
  return loginResponse;
29
29
  }
30
30
 
31
- const contextHolder = getFronteggContext(this.appName);
31
+ const contextHolder = ContextHolder.for(this.appName);
32
32
  contextHolder.setAccessToken(loginResponse.accessToken);
33
33
  const me = await this.getMeAndEntitlements();
34
34
  const decodedContent = loginResponse.accessToken ? jwtDecode(loginResponse.accessToken) : {};
35
35
 
36
36
  const user = _extends({}, loginResponse, decodedContent, me);
37
37
 
38
- getFronteggContext(this.appName).setUser(user);
38
+ contextHolder.setUser(user);
39
39
  return user;
40
40
  };
41
41
 
@@ -46,14 +46,14 @@ export class AuthenticationApi extends BaseApiClient {
46
46
  };
47
47
  }
48
48
 
49
- const contextHolder = getFronteggContext(this.appName);
49
+ const contextHolder = ContextHolder.for(this.appName);
50
50
  contextHolder.setAccessToken(loginResponse.accessToken);
51
51
  const [me, tenants] = await Promise.all([this.getMeAndEntitlements(), this.tenantsApi.getTenants()]);
52
52
  const decodedContent = loginResponse.accessToken ? jwtDecode(loginResponse.accessToken) : {};
53
53
 
54
54
  const user = _extends({}, loginResponse, decodedContent, me);
55
55
 
56
- getFronteggContext(this.appName).setUser(user);
56
+ contextHolder.setUser(user);
57
57
  return {
58
58
  user,
59
59
  tenants
@@ -71,7 +71,7 @@ export class AuthenticationApi extends BaseApiClient {
71
71
  };
72
72
  }
73
73
 
74
- const contextHolder = getFronteggContext(this.appName);
74
+ const contextHolder = ContextHolder.for(this.appName);
75
75
  contextHolder.setAccessToken(accessToken);
76
76
  const [me, currentUserTenants] = await Promise.all([this.getMeAndEntitlements(), getCurrentUserTenantsFunction(this.appName)()]);
77
77
  const decodedContent = accessToken ? jwtDecode(accessToken) : {};
@@ -91,7 +91,7 @@ export class AuthenticationApi extends BaseApiClient {
91
91
  };
92
92
 
93
93
  this.generateLoginResponseFromOAuthResponse = async oauthResponse => {
94
- const contextHolder = getFronteggContext(this.appName);
94
+ const contextHolder = ContextHolder.for(this.appName);
95
95
  contextHolder.setAccessToken(oauthResponse.id_token);
96
96
  const me = await this.getMeAndEntitlements();
97
97
  const decodedContent = oauthResponse.id_token ? jwtDecode(oauthResponse.id_token) : {};
@@ -109,7 +109,7 @@ export class AuthenticationApi extends BaseApiClient {
109
109
  };
110
110
 
111
111
  this.generateLoginResponseFromOAuthResponseV2 = async oauthResponse => {
112
- const contextHolder = getFronteggContext(this.appName);
112
+ const contextHolder = ContextHolder.for(this.appName);
113
113
  contextHolder.setAccessToken(oauthResponse.id_token);
114
114
  const [me, currentUserTenants] = await Promise.all([this.getMeAndEntitlements(), getCurrentUserTenantsFunction(this.appName)()]);
115
115
  const decodedContent = oauthResponse.id_token ? jwtDecode(oauthResponse.id_token) : {};
@@ -904,7 +904,7 @@ export class AuthenticationApi extends BaseApiClient {
904
904
  }
905
905
 
906
906
  shouldLoadEntitlements() {
907
- if (!getFronteggContext(this.appName).shouldLoadEntitlements()) {
907
+ if (!ContextHolder.for(this.appName).shouldLoadEntitlements()) {
908
908
  return false;
909
909
  }
910
910
 
package/auth/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getFronteggContext } from '../ContextHolder';
1
+ import { ContextHolder } from '../ContextHolder';
2
2
  import { USE_CURRENT_USER_TENANTS_V1_ENDPOINT_FF } from './constants';
3
3
  import { FeatureFlags } from '../feature-flags';
4
4
  import { UsersApi } from '../users';
@@ -22,7 +22,7 @@ export function removeTabTenantFromSessionStorage() {
22
22
  sessionStorage.removeItem(FRONTEGG_SEPARATE_TABS_BY_TENANT);
23
23
  }
24
24
  export function getTabTenantFromSessionStorage(appName) {
25
- if (!getFronteggContext(appName).isSessionPerTenantEnabled()) {
25
+ if (!ContextHolder.for(appName).isSessionPerTenantEnabled()) {
26
26
  return null;
27
27
  }
28
28
 
@@ -32,7 +32,7 @@ export function getCurrentUserTenantsFunction(appName) {
32
32
  const usersApi = new UsersApi(appName);
33
33
  const [useCurrentUserTenantsV1] = FeatureFlags.getFeatureFlags([USE_CURRENT_USER_TENANTS_V1_ENDPOINT_FF], appName);
34
34
 
35
- if (getFronteggContext(appName).isSessionPerTenantEnabled()) {
35
+ if (ContextHolder.for(appName).isSessionPerTenantEnabled()) {
36
36
  return usersApi.getCurrentUserTenantsV1;
37
37
  }
38
38