@frontegg/angular 7.17.10 → 7.17.11
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontegg-angular.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/frontegg-app/src/lib/frontegg.component.ts","../../../../projects/frontegg-app/src/sdkVersion.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-base-guard.ts","../../../../projects/frontegg-app/src/lib/frontegg.utils.ts","../../../../projects/frontegg-app/src/lib/frontegg-user-subscription.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-auth.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-auth.guard.ts","../../../../projects/frontegg-app/src/lib/directives/authorized-content.directive.ts","../../../../projects/frontegg-app/src/lib/frontegg-subscription.services.ts","../../../../projects/frontegg-app/src/lib/frontegg-entitlements.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.module.ts","../../../../projects/frontegg-app/src/public-api.ts","../../../../projects/frontegg-app/src/frontegg-angular.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Component } from '@angular/core';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'frontegg',\n template: ``,\n})\nexport class FronteggComponent {\n}\n","export default { version: '7.17.10' };\n","import { Injectable, NgZone, Inject } from '@angular/core';\nimport { Route, Router, ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { FronteggApp, initialize } from '@frontegg/js';\nimport { AuthPageRoutes, FronteggState, isAuthRoute } from '@frontegg/redux-store';\nimport { FronteggAppOptions, FronteggCheckoutDialogOptions, ShowAdminPortalOptions } from '@frontegg/types';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ContextHolder, RedirectOptions, FronteggFrameworks, MetadataHeaders } from '@frontegg/rest-api';\nimport { FronteggComponent } from './frontegg.component';\nimport sdkVersion from '../sdkVersion';\nimport angularCoreVersion from '@angular/core/package.json';\n\nexport class FronteggAppOptionsClass implements FronteggAppOptions {\n contextOptions: FronteggAppOptions['contextOptions'] = {\n baseUrl: 'https://sub-domain.frontegg.com',\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAppService {\n fronteggApp: FronteggApp;\n\n private isLoadingSubject = new BehaviorSubject<boolean>(true);\n private isAuthenticatedSubject = new BehaviorSubject<boolean>(false);\n private stateSubject = new BehaviorSubject<FronteggState>({} as FronteggState);\n private authStateSubject = new BehaviorSubject<FronteggState['auth']>({\n isLoading: true,\n isAuthenticated: false,\n } as FronteggState['auth']);\n private auditsStateSubject = new BehaviorSubject<FronteggState['audits']>({} as FronteggState['audits']);\n private connectivityStateSubject = new BehaviorSubject<FronteggState['connectivity']>({} as FronteggState['connectivity']);\n private subscriptionsStateSubject = new BehaviorSubject<FronteggState['subscriptions']>({} as FronteggState['subscriptions']);\n private vendorStateSubject = new BehaviorSubject<FronteggState['vendor']>({} as FronteggState['vendor']);\n\n\n get state$(): Observable<FronteggState> {\n return this.stateSubject.asObservable();\n }\n\n get authState$(): Observable<FronteggState['auth']> {\n return this.authStateSubject.asObservable();\n }\n\n get auditsState$(): Observable<FronteggState['audits']> {\n return this.auditsStateSubject.asObservable();\n }\n\n get connectivityState$(): Observable<FronteggState['connectivity']> {\n return this.connectivityStateSubject.asObservable();\n }\n\n get subscriptionsState$(): Observable<FronteggState['subscriptions']> {\n return this.subscriptionsStateSubject.asObservable();\n }\n\n get vendorState$(): Observable<FronteggState['vendor']> {\n return this.vendorStateSubject.asObservable();\n }\n\n get isLoading$(): Observable<boolean> {\n return this.isLoadingSubject.asObservable();\n };\n\n get isAuthenticated$(): Observable<boolean> {\n return this.isAuthenticatedSubject.asObservable();\n };\n\n constructor(@Inject(FronteggAppOptionsClass) private config: FronteggAppOptions, public router: Router, private ngZone: NgZone) {\n if (!this.config) {\n throw Error('Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)');\n }\n\n if ((window as any).CYPRESS_CONFIG) {\n this.config = (window as any).CYPRESS_CONFIG;\n }\n const onRedirectTo = (to: string, opts?: RedirectOptions) => {\n const baseName = window.location.origin;\n let path = to;\n if (path.startsWith(baseName) && baseName !== '/') {\n path = path.substring(baseName.length - 1);\n }\n if (opts?.preserveQueryParams || isAuthRoute(path, config.authOptions?.routes)) {\n path = `${path}${window.location.search}`;\n }\n\n if (opts?.refresh) {\n window.location.href = path;\n } else {\n this.ngZone.run(() => {\n if (opts?.replace) {\n this.router.navigateByUrl(path, { replaceUrl: true });\n } else {\n this.router.navigateByUrl(path);\n }\n });\n }\n };\n\n\n const metadataHeaders: MetadataHeaders = {\n fronteggSdkVersion: `@frontegg/angular@${sdkVersion.version}`,\n // TODO: remove this any type after updating rest-api context options type to accept string.\n // @ts-ignore\n framework: `${FronteggFrameworks.Angular}@${angularCoreVersion.version}`,\n };\n\n const appName = this.config.appName ?? 'default'\n // prepare config default values\n this.config = {\n ...this.config,\n appName,\n contextOptions: {\n ...this.config.contextOptions,\n metadataHeaders,\n },\n authOptions: {\n ...this.config.authOptions,\n hostedLoginOptions: {\n loadUserOnFirstLoad: true, // set default to load user on first load\n ...this.config.authOptions?.hostedLoginOptions,\n },\n onRedirectTo,\n },\n };\n\n ContextHolder.for(appName).setOnRedirectTo(onRedirectTo);\n this.fronteggApp = initialize({\n onRedirectTo,\n ...this.config,\n });\n\n\n // Add all login box routes to Angular router config\n this.router.resetConfig([\n ...this.mapAuthComponents,\n {\n path: '',\n canActivate: [ FronteggLoadGuard ],\n children: [ ...this.router.config ],\n },\n ]);\n const initialFronteggState = this.fronteggApp.store.getState() as FronteggState;\n this.updateState(initialFronteggState);\n // Subscribe on fronteggApp store to change state subjects\n this.fronteggApp.store.subscribe(() => {\n this.updateState(this.fronteggApp.store.getState() as FronteggState);\n });\n }\n\n private updateState(fronteggStore: FronteggState): void {\n if (this.isLoadingSubject.getValue() !== fronteggStore.auth.isLoading) {\n this.isLoadingSubject.next(fronteggStore.auth.isLoading);\n }\n if (this.isAuthenticatedSubject.getValue() !== fronteggStore.auth.isAuthenticated) {\n this.isAuthenticatedSubject.next(fronteggStore.auth.isAuthenticated);\n }\n\n this.stateSubject.next(fronteggStore);\n this.authStateSubject.next(fronteggStore.auth);\n this.auditsStateSubject.next(fronteggStore.audits);\n this.connectivityStateSubject.next(fronteggStore.connectivity);\n this.subscriptionsStateSubject.next(fronteggStore.subscriptions);\n this.vendorStateSubject.next(fronteggStore.vendor);\n }\n\n get mapAuthComponents(): Route[] {\n const authRoutes = this.authRoutes;\n return (Object.keys(authRoutes) as (keyof AuthPageRoutes)[])\n .filter((key: keyof AuthPageRoutes) => key !== 'authenticatedUrl' && key !== 'signUpSuccessUrl' && key != null)\n .map((key: keyof AuthPageRoutes) => ({\n path: authRoutes[key]?.substring(1),\n component: FronteggComponent,\n }));\n }\n\n get authRoutes(): AuthPageRoutes {\n return this.fronteggApp.store.getState().auth.routes;\n }\n\n // Open admin portal\n public showAdminPortal(options?: ShowAdminPortalOptions): void {\n this.fronteggApp.showAdminPortal(options);\n }\n\n /**\n * Open admin portal hosted mode\n * @param newTab - open in new tab\n * */\n\n public openHostedAdminPortal(newTab?: boolean): void {\n this.fronteggApp.openHostedAdminPortal(newTab);\n }\n\n // Open admin portal\n public hideAdminPortal(): void {\n this.fronteggApp?.hideAdminPortal();\n }\n\n // Open checkout dialog\n public showCheckoutDialog(opts: FronteggCheckoutDialogOptions): void {\n this.fronteggApp.showCheckoutDialog(opts);\n }\n\n // Open checkout dialog\n public hideCheckoutDialog(): void {\n this.fronteggApp?.hideCheckoutDialog();\n }\n}\n\n@Injectable()\nexport class FronteggLoadGuard implements CanActivate {\n constructor(protected fronteggAppService: FronteggAppService) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n return new Observable<boolean>(obs => {\n this.fronteggAppService.isLoading$.subscribe(loading => {\n if (!loading) {\n obs.next(true);\n }\n });\n });\n }\n}\n","import { ActivatedRouteSnapshot, CanActivate, DefaultUrlSerializer, Router, RouterStateSnapshot, UrlSerializer, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport abstract class FronteggBaseGuard implements UrlSerializer, CanActivate {\n\n abstract canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)\n : Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;\n\n parse(url: any): UrlTree {\n const dus = new DefaultUrlSerializer();\n return dus.parse(url);\n }\n\n serialize(tree: UrlTree): any {\n const dus = new DefaultUrlSerializer();\n\n return dus\n .serialize(tree)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/')\n .replace(/(https?):\\/([\\w\\d])/gi, '$1://$2');\n }\n}\n","import { NgZone } from '@angular/core';\n\nexport const runNgZoneIfNeeded = (ngZone: NgZone, fn: () => void) => {\n if (NgZone.isInAngularZone()) {\n fn();\n } else {\n ngZone.run(fn);\n }\n};\n","import { Subscription, PartialObserver, BehaviorSubject } from 'rxjs';\nimport { AuthState } from '@frontegg/redux-store';\nimport { Injectable } from '@angular/core';\n\nimport { FronteggState } from '@frontegg/redux-store';\nimport { FronteggAppService } from './frontegg-app.service';\n\nexport type User = FronteggState['auth']['user'];\n\n/**\n * A service for managing user state subscription\n * The service gives the ability to subscribe to user state change and get a manipulated data when the user state changes\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggUserSubscriptionService {\n private userStateSubject = new BehaviorSubject<any>(undefined);\n\n constructor(private fronteggAppService: FronteggAppService) {\n const state = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateUserStateIfNeeded(state.auth);\n\n // Memoized user State\n this.fronteggAppService.fronteggApp.store.subscribe(() => {\n const newState = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateUserStateIfNeeded(newState.auth);\n });\n }\n\n /**\n * Trigger user subject change event if the user reference changes\n * No need for deep equal because we already check it internally\n * @param authState AuthState object\n */\n private updateUserStateIfNeeded(authState: AuthState): void {\n const userState = authState.user as User;\n if (this.userStateSubject.value === userState) {\n return;\n }\n\n this.userStateSubject.next(userState);\n }\n\n /**\n * The function gives the ability to return a manipulated data of the user state as a subscription.\n *\n * @param dataManipulator Manipulator function that receives user state and returns a manipulated data\n * @param observer For receiving manipulated data result\n * @returns a subscription to be able to unsubscribe\n */\n public getUserManipulatorSubscription<Result>(\n dataManipulator: (user: User) => Result,\n observer: PartialObserver<Result>\n ): Subscription {\n // used for computing the end user result because we don't return the state itself, but a calculated one\n const userSubject = new BehaviorSubject<Result>(undefined as unknown as Result);\n\n const stateSubscription = this.userStateSubject.subscribe(user => {\n userSubject.next(dataManipulator(user));\n });\n\n // subscribing the consumer observer\n const userResultSubscription = userSubject.asObservable().subscribe(observer)\n\n // monkey patched to manage both un-subscriptions: state and user manipulated result\n const originalUnsubscribe = userResultSubscription.unsubscribe.bind(userResultSubscription);\n\n userResultSubscription.unsubscribe = () => {\n originalUnsubscribe();\n stateSubscription.unsubscribe();\n };\n\n return userResultSubscription;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, PartialObserver, Subscription } from 'rxjs';\nimport { FronteggAppService } from './frontegg-app.service';\nimport FastDeepEqual from 'fast-deep-equal';\nimport {\n RolesState,\n TenantsState,\n AccountSettingsState,\n SaveSecurityPolicyPasswordHistoryPayload,\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n PasswordPolicyState,\n PasswordHistoryPolicyState,\n MfaPolicyState,\n CaptchaPolicyState,\n LockoutPolicyState,\n PublicPolicyState,\n GlobalPolicyState,\n SecurityPolicyState,\n AddUserApiTokenPayload,\n AddTenantApiTokenPayload,\n ApiTokenType,\n ApiTokensState,\n ApiStateIndicator,\n ISetDeleteUserDialog,\n ISetAddUserDialog,\n LoadRolesAndPermissionsPayload,\n TeamState,\n TeamStateIndicator,\n MFAState,\n SaveSSOConfigurationPayload,\n SSOState,\n ProfileState,\n SaveSSOConfigurationFilePayload,\n UpdateSSOAuthorizationRolesPayload,\n DeleteSamlGroupPayload,\n CreateSamlGroupPayload,\n SaveProfilePayload,\n SignUpState,\n ForgotPasswordState,\n AcceptInvitationState,\n AuthState,\n User,\n LoginState,\n ActivateAccountStrategyState,\n IsSteppedUpOptions,\n StepUpOptions,\n} from '@frontegg/redux-store';\nimport {\n ILogin,\n ILoginWithMfa,\n IPostLogin,\n IPreLogin,\n IRecoverMFAToken,\n IActivateAccount,\n ILoginViaSocialLogin,\n ISetSocialLoginError,\n IResendActivationEmail,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n IAcceptInvitation,\n IForgotPassword,\n IResetPassword,\n IGetUserPasswordConfig,\n ISignUpUser,\n IChangePassword,\n IOidcPostLogin,\n IVerifyMfa,\n IDisableMfa,\n ILoadUsers,\n ITeamUser,\n IAddUser,\n IUpdateUser,\n IDeleteUser,\n IResendActivationLink,\n ISettingsResponse,\n ISwitchTenant,\n ITenantsResponse,\n IAddRole,\n IRole,\n IUpdateRole,\n IDeleteRole,\n IAttachPermissionsToRole,\n IResendInvitationLink,\n IRolePermission,\n RedirectOptions,\n} from '@frontegg/rest-api';\nimport type { FronteggState, ActivateAccountState, SocialLoginState } from '@frontegg/redux-store';\nimport { Observable } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { LoginDirectAction } from '@frontegg/redux-store/auth/LoginState/interfaces';\nimport { FronteggUserSubscriptionService } from './frontegg-user-subscription.service';\n\ninterface AuthSubStates {\n field: Partial<keyof AuthState>;\n subject: BehaviorSubject<any>;\n}\n\nexport type WithCallback<T = {}, R = boolean> = T & {\n callback?: (data: R | null, error?: string) => void;\n};\n\nexport type WithSilentLoad<T> = T & {\n silentLoading?: boolean;\n};\n\ntype Path = (string | symbol)[];\ntype Op =\n [ op: 'set', path: Path, value: unknown, prevValue: unknown ]\n | [ op: 'delete', path: Path, prevValue: unknown ]\n | [ op: 'resolve', path: Path, value: unknown ]\n | [ op: 'reject', path: Path, error: unknown ];\n\n\ntype SubjectState<T> = {\n [K in keyof T as `${Extract<K, string>}Subject`]: T[K]\n}\ntype AuthStateObservable = {\n [K in keyof AuthState]: BehaviorSubject<AuthState[K]>\n}\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAuthService implements SubjectState<Partial<AuthStateObservable>> {\n\n authStateSubject = new BehaviorSubject<AuthState>({ isAuthenticated: false, isLoading: true } as AuthState);\n acceptInvitationStateSubject = new BehaviorSubject<AuthState['acceptInvitationState']>({} as AuthState['acceptInvitationState']);\n accountSettingsStateSubject = new BehaviorSubject<AuthState['accountSettingsState']>({} as AuthState['accountSettingsState']);\n activateAccountStateSubject = new BehaviorSubject<AuthState['activateAccountState']>({} as AuthState['activateAccountState']);\n apiTokensStateSubject = new BehaviorSubject<AuthState['apiTokensState']>({} as AuthState['apiTokensState']);\n forgotPasswordStateSubject = new BehaviorSubject<AuthState['forgotPasswordState']>({} as AuthState['forgotPasswordState']);\n loginStateSubject = new BehaviorSubject<AuthState['loginState']>({} as AuthState['loginState']);\n mfaStateSubject = new BehaviorSubject<AuthState['mfaState']>({} as AuthState['mfaState']);\n profileStateSubject = new BehaviorSubject<AuthState['profileState']>({} as AuthState['profileState']);\n rolesStateSubject = new BehaviorSubject<AuthState['rolesState']>({} as AuthState['rolesState']);\n routesSubject = new BehaviorSubject<AuthState['routes']>({} as AuthState['routes']);\n securityPolicyStateSubject = new BehaviorSubject<AuthState['securityPolicyState']>({} as AuthState['securityPolicyState']);\n signUpStateSubject = new BehaviorSubject<AuthState['signUpState']>({} as AuthState['signUpState']);\n socialLoginStateSubject = new BehaviorSubject<AuthState['socialLoginState']>({} as AuthState['socialLoginState']);\n ssoStateSubject = new BehaviorSubject<AuthState['ssoState']>({} as AuthState['ssoState']);\n teamStateSubject = new BehaviorSubject<AuthState['teamState']>({} as AuthState['teamState']);\n tenantsStateSubject = new BehaviorSubject<AuthState['tenantsState']>({} as AuthState['tenantsState']);\n userSubject = new BehaviorSubject<AuthState['user']>({} as AuthState['user']);\n isAuthenticatedSubject = new BehaviorSubject<AuthState['isAuthenticated']>(false);\n isLoadingSubject = new BehaviorSubject<AuthState['isLoading']>(true);\n isSSOAuthSubject = new BehaviorSubject<AuthState['isSSOAuth']>(false);\n ssoACSSubject = new BehaviorSubject<AuthState['ssoACS']>('');\n customLoginStateSubject = new BehaviorSubject<AuthState['customLoginState']>({} as AuthState['customLoginState']);\n groupsStateSubject = new BehaviorSubject<AuthState['groupsState']>({} as AuthState['groupsState']);\n groupsDialogsStateSubject = new BehaviorSubject<AuthState['groupsDialogsState']>({} as AuthState['groupsDialogsState']);\n impersonateStateSubject = new BehaviorSubject<AuthState['impersonateState']>({} as AuthState['impersonateState']);\n allAccountsStateSubject = new BehaviorSubject<AuthState['allAccountsState']>({} as AuthState['allAccountsState']);\n allAccountsDialogsStateSubject = new BehaviorSubject<AuthState['allAccountsDialogsState']>({} as AuthState['allAccountsDialogsState']);\n passkeysStateSubject = new BehaviorSubject<AuthState['passkeysState']>({} as AuthState['passkeysState']);\n provisioningStateSubject = new BehaviorSubject<AuthState['provisioningState']>({} as AuthState['provisioningState']);\n resetPhoneNumberStateSubject = new BehaviorSubject<AuthState['resetPhoneNumberState']>({} as AuthState['resetPhoneNumberState']);\n restrictionsStateSubject = new BehaviorSubject<AuthState['restrictionsState']>({} as AuthState['restrictionsState']);\n securityCenterStateSubject = new BehaviorSubject<AuthState['securityCenterState']>({} as AuthState['securityCenterState']);\n sessionsPolicyStateSubject = new BehaviorSubject<AuthState['sessionsPolicyState']>({} as AuthState['sessionsPolicyState']);\n sessionsStateSubject = new BehaviorSubject<AuthState['sessionsState']>({} as AuthState['sessionsState']);\n smsStateSubject = new BehaviorSubject<AuthState['smsState']>({} as AuthState['smsState']);\n stepUpStateSubject = new BehaviorSubject<AuthState['stepUpState']>({} as AuthState['stepUpState']);\n applicationsStateSubject = new BehaviorSubject<AuthState['applicationsState']>({} as AuthState['applicationsState']);\n userIpSubject = new BehaviorSubject<AuthState['userIp']>(undefined);\n keepSessionAliveSubject = new BehaviorSubject<AuthState['keepSessionAlive']>(undefined);\n socialLoginOptionsSubject = new BehaviorSubject<AuthState['socialLoginOptions']>(undefined);\n includeQueryParamSubject = new BehaviorSubject<AuthState['includeQueryParam']>(undefined);\n hostedLoginBoxSubject = new BehaviorSubject<AuthState['hostedLoginBox']>(undefined);\n disableSilentRefreshSubject = new BehaviorSubject<AuthState['disableSilentRefresh']>(undefined);\n enforceRedirectToSameSiteSubject = new BehaviorSubject<AuthState['enforceRedirectToSameSite']>(undefined);\n allowedRedirectOriginsSubject = new BehaviorSubject<AuthState['allowedRedirectOrigins']>(undefined);\n\n\n getAuthState(): AuthState {\n return this.fronteggAppService.fronteggApp.store.getState().auth;\n }\n\n get authState$(): Observable<AuthState> {\n return this.authStateSubject.asObservable();\n }\n\n get acceptInvitationState$(): Observable<AuthState['acceptInvitationState']> {\n return this.acceptInvitationStateSubject.asObservable();\n }\n\n get accountSettingsState$(): Observable<AuthState['accountSettingsState']> {\n return this.accountSettingsStateSubject.asObservable();\n }\n\n get activateState$(): Observable<AuthState['activateAccountState']> {\n return this.activateAccountStateSubject.asObservable();\n }\n\n get apiTokensState$(): Observable<AuthState['apiTokensState']> {\n return this.apiTokensStateSubject.asObservable();\n }\n\n get forgotPasswordState$(): Observable<AuthState['forgotPasswordState']> {\n return this.forgotPasswordStateSubject.asObservable();\n }\n\n get loginState$(): Observable<AuthState['loginState']> {\n return this.loginStateSubject.asObservable();\n }\n\n get mfaState$(): Observable<AuthState['mfaState']> {\n return this.mfaStateSubject.asObservable();\n }\n\n get profileState$(): Observable<AuthState['profileState']> {\n return this.profileStateSubject.asObservable();\n }\n\n get rolesState$(): Observable<AuthState['rolesState']> {\n return this.rolesStateSubject.asObservable();\n }\n\n get routesState$(): Observable<AuthState['routes']> {\n return this.routesSubject.asObservable();\n }\n\n get securityPolicyState$(): Observable<AuthState['securityPolicyState']> {\n return this.securityPolicyStateSubject.asObservable();\n }\n\n get signUpState$(): Observable<AuthState['signUpState']> {\n return this.signUpStateSubject.asObservable();\n }\n\n get socialLoginState$(): Observable<AuthState['socialLoginState']> {\n return this.socialLoginStateSubject.asObservable();\n }\n\n get ssoState$(): Observable<AuthState['ssoState']> {\n return this.ssoStateSubject.asObservable();\n }\n\n get teamState$(): Observable<AuthState['teamState']> {\n return this.teamStateSubject.asObservable();\n }\n\n get tenantsState$(): Observable<AuthState['tenantsState']> {\n return this.tenantsStateSubject.asObservable();\n }\n\n get user$(): Observable<AuthState['user']> {\n return this.userSubject.asObservable();\n }\n\n get user(): AuthState['user'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.user;\n }\n\n\n get isAuthenticated$(): Observable<AuthState['isAuthenticated']> {\n return this.isAuthenticatedSubject.asObservable();\n }\n\n get isAuthenticated(): AuthState['isAuthenticated'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.isAuthenticated;\n }\n\n get isLoading$(): Observable<AuthState['isLoading']> {\n return this.isLoadingSubject.asObservable();\n }\n\n get isSSOAuth$(): Observable<AuthState['isSSOAuth']> {\n return this.isSSOAuthSubject.asObservable();\n }\n\n get ssoACS$(): Observable<AuthState['ssoACS']> {\n return this.ssoACSSubject.asObservable();\n }\n\n get customLoginStateSubject$(): Observable<AuthState['customLoginState']> {\n return this.customLoginStateSubject.asObservable();\n }\n\n get groupsStateSubject$(): Observable<AuthState['groupsState']> {\n return this.groupsStateSubject.asObservable();\n }\n\n get groupsDialogsStateSubject$(): Observable<AuthState['groupsDialogsState']> {\n return this.groupsDialogsStateSubject.asObservable();\n }\n\n get impersonateStateSubject$(): Observable<AuthState['impersonateState']> {\n return this.impersonateStateSubject.asObservable();\n }\n\n get allAccountsStateSubject$(): Observable<AuthState['allAccountsState']> {\n return this.allAccountsStateSubject.asObservable();\n }\n\n get allAccountsDialogsStateSubject$(): Observable<AuthState['allAccountsDialogsState']> {\n return this.allAccountsDialogsStateSubject.asObservable();\n }\n\n get passkeysStateSubject$(): Observable<AuthState['passkeysState']> {\n return this.passkeysStateSubject.asObservable();\n }\n\n get provisioningStateSubject$(): Observable<AuthState['provisioningState']> {\n return this.provisioningStateSubject.asObservable();\n }\n\n get resetPhoneNumberStateSubject$(): Observable<AuthState['resetPhoneNumberState']> {\n return this.resetPhoneNumberStateSubject.asObservable();\n }\n\n get restrictionsStateSubject$(): Observable<AuthState['restrictionsState']> {\n return this.restrictionsStateSubject.asObservable();\n }\n\n get securityCenterStateSubject$(): Observable<AuthState['securityCenterState']> {\n return this.securityCenterStateSubject.asObservable();\n }\n\n get sessionsPolicyStateSubject$(): Observable<AuthState['sessionsPolicyState']> {\n return this.sessionsPolicyStateSubject.asObservable();\n }\n\n get sessionsStateSubject$(): Observable<AuthState['sessionsState']> {\n return this.sessionsStateSubject.asObservable();\n }\n\n get smsStateSubject$(): Observable<AuthState['smsState']> {\n return this.smsStateSubject.asObservable();\n }\n\n get stepUpStateSubject$(): Observable<AuthState['stepUpState']> {\n return this.stepUpStateSubject.asObservable();\n }\n\n get applicationsStateSubject$(): Observable<AuthState['applicationsState']> {\n return this.applicationsStateSubject.asObservable();\n }\n\n get userIpSubject$(): Observable<AuthState['userIp']> {\n return this.userIpSubject.asObservable();\n }\n\n get keepSessionAliveSubject$(): Observable<AuthState['keepSessionAlive']> {\n return this.keepSessionAliveSubject.asObservable();\n }\n\n get socialLoginOptionsSubject$(): Observable<AuthState['socialLoginOptions']> {\n return this.socialLoginOptionsSubject.asObservable();\n }\n\n get includeQueryParamSubject$(): Observable<AuthState['includeQueryParam']> {\n return this.includeQueryParamSubject.asObservable();\n }\n\n get hostedLoginBoxSubject$(): Observable<AuthState['hostedLoginBox']> {\n return this.hostedLoginBoxSubject.asObservable();\n }\n\n get disableSilentRefreshSubject$(): Observable<AuthState['disableSilentRefresh']> {\n return this.disableSilentRefreshSubject.asObservable();\n }\n\n get enforceRedirectToSameSiteSubject$(): Observable<AuthState['enforceRedirectToSameSite']> {\n return this.enforceRedirectToSameSiteSubject.asObservable();\n }\n\n get allowedRedirectOriginsSubject$(): Observable<AuthState['allowedRedirectOrigins']> {\n return this.allowedRedirectOriginsSubject.asObservable();\n }\n\n constructor(\n private fronteggAppService: FronteggAppService,\n private router: Router,\n private fronteggUserSubscriptionService: FronteggUserSubscriptionService,\n ) {\n const authSubStates: AuthSubStates[] = [\n { field: 'acceptInvitationState', subject: this.acceptInvitationStateSubject },\n { field: 'accountSettingsState', subject: this.accountSettingsStateSubject },\n { field: 'activateAccountState', subject: this.activateAccountStateSubject },\n { field: 'apiTokensState', subject: this.apiTokensStateSubject },\n { field: 'forgotPasswordState', subject: this.forgotPasswordStateSubject },\n { field: 'tenantsState', subject: this.tenantsStateSubject },\n { field: 'loginState', subject: this.loginStateSubject },\n { field: 'mfaState', subject: this.mfaStateSubject },\n { field: 'profileState', subject: this.profileStateSubject },\n { field: 'rolesState', subject: this.rolesStateSubject },\n { field: 'routes', subject: this.routesSubject },\n { field: 'securityPolicyState', subject: this.securityPolicyStateSubject },\n { field: 'signUpState', subject: this.signUpStateSubject },\n { field: 'socialLoginState', subject: this.socialLoginStateSubject },\n { field: 'ssoState', subject: this.ssoStateSubject },\n { field: 'teamState', subject: this.teamStateSubject },\n { field: 'user', subject: this.userSubject },\n { field: 'isSSOAuth', subject: this.isSSOAuthSubject },\n { field: 'ssoACS', subject: this.ssoACSSubject },\n { field: 'customLoginState', subject: this.customLoginStateSubject },\n { field: 'groupsState', subject: this.groupsStateSubject },\n { field: 'groupsDialogsState', subject: this.groupsDialogsStateSubject },\n { field: 'impersonateState', subject: this.impersonateStateSubject },\n { field: 'allAccountsState', subject: this.allAccountsStateSubject },\n { field: 'allAccountsDialogsState', subject: this.allAccountsDialogsStateSubject },\n { field: 'passkeysState', subject: this.passkeysStateSubject },\n { field: 'provisioningState', subject: this.provisioningStateSubject },\n { field: 'resetPhoneNumberState', subject: this.resetPhoneNumberStateSubject },\n { field: 'restrictionsState', subject: this.restrictionsStateSubject },\n { field: 'securityCenterState', subject: this.securityCenterStateSubject },\n { field: 'sessionsPolicyState', subject: this.sessionsPolicyStateSubject },\n { field: 'sessionsState', subject: this.sessionsStateSubject },\n { field: 'smsState', subject: this.smsStateSubject },\n { field: 'stepUpState', subject: this.stepUpStateSubject },\n { field: 'applicationsState', subject: this.applicationsStateSubject },\n { field: 'userIp', subject: this.userIpSubject },\n { field: 'keepSessionAlive', subject: this.keepSessionAliveSubject },\n { field: 'socialLoginOptions', subject: this.socialLoginOptionsSubject },\n { field: 'includeQueryParam', subject: this.includeQueryParamSubject },\n { field: 'hostedLoginBox', subject: this.hostedLoginBoxSubject },\n { field: 'disableSilentRefresh', subject: this.disableSilentRefreshSubject },\n { field: 'enforceRedirectToSameSite', subject: this.enforceRedirectToSameSiteSubject },\n { field: 'allowedRedirectOrigins', subject: this.allowedRedirectOriginsSubject },\n ];\n\n const state = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateState(state.auth, authSubStates);\n\n const callback: any = (op: Op[]) => {\n\n const newState = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateState(newState.auth, authSubStates);\n\n // this.updateDeepState(op);\n };\n this.fronteggAppService.fronteggApp.store.subscribe(callback);\n }\n\n\n // // tslint:disable-next-line:typedef\n // private updateDeepState(ops: Op[]) {\n // ops.filter(op => op[0] === 'set').forEach((op) => {\n // const [ action, path, value ] = op;\n // const state = path[0];\n // const subState = path[1];\n // const deepPath = path.slice(2);\n // console.log(state, subState, deepPath, value);\n // switch (state) {\n // case 'auth':\n // if(this.authStateSubject.value )\n // break;\n // }\n // });\n // }\n\n\n private updateState(authState: AuthState, authSubStates: AuthSubStates[]): void {\n\n if (this.authStateSubject.value !== authState) {\n this.authStateSubject.next(authState);\n }\n for (const authSubState of authSubStates) {\n if (!FastDeepEqual(authSubState.subject.value, authState[authSubState.field])) {\n authSubState.subject.next(authState[authSubState.field]);\n }\n }\n if (this.isAuthenticatedSubject.value !== authState.isAuthenticated) {\n this.isAuthenticatedSubject.next(authState.isAuthenticated);\n }\n if (this.isLoadingSubject.value !== authState.isLoading) {\n this.isLoadingSubject.next(authState.isLoading);\n }\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store = this.fronteggAppService.fronteggApp.store;\n store.dispatch({ type: `auth/${type}`, payload });\n }\n\n\n public isHostedLoginCallbackRoute(): boolean {\n const path = this.fronteggAppService.router.url;\n const hostedLoginRedirectUrl = this.fronteggAppService.authRoutes.hostedLoginRedirectUrl;\n return path.startsWith(hostedLoginRedirectUrl ?? '/oauth/callback');\n }\n\n /**\n * @param options.maxAge optional max age\n * @returns A subscription for step up state - true when user is stepped up, false otherwise\n */\n public isSteppedUp$(observer: PartialObserver<boolean>, options?: IsSteppedUpOptions): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<boolean>(\n () => this.fronteggAppService.fronteggApp.isSteppedUp(options),\n observer,\n );\n }\n\n /**\n * Triggers step up flow\n * @param options.maxAge optional max age\n */\n public stepUp = (options?: StepUpOptions) => this.fronteggAppService.fronteggApp.stepUp(options);\n\n\n // Root Actions\n setState = (state: Partial<AuthState>) => this.dispatchAction('setState', state);\n resetState = () => this.dispatchAction('resetState');\n setUser = (user: User) => this.dispatchAction('setUser', user);\n\n // Login Actions\n setLoginState = (state: Partial<LoginState>) => this.dispatchAction('setLoginState', state);\n resetLoginState = () => this.dispatchAction('resetLoginState');\n requestAuthorize = (firstTime?: boolean) => this.dispatchAction('requestAuthorize', firstTime);\n\n loginWithRedirect = (params?: Record<string, string>,\n shouldRedirectToLogin?: boolean,\n firstTime?: boolean,\n loginDirectAction?: LoginDirectAction) => {\n if (this.isHostedLoginCallbackRoute()) {\n return;\n }\n this.dispatchAction('requestHostedLoginAuthorizeV2', {\n additionalParams: params,\n shouldRedirectToLogin: shouldRedirectToLogin ?? true,\n firstTime: firstTime ?? false,\n loginDirectAction,\n });\n this.setState({ isLoading: true });\n };\n preLogin = (payload: IPreLogin) => this.dispatchAction('preLogin', payload);\n postLogin = (payload: IPostLogin) => this.dispatchAction('postLogin', payload);\n login = (payload: ILogin) => this.dispatchAction('login', payload);\n loginWithMfa = (payload: WithCallback<ILoginWithMfa>) => this.dispatchAction('loginWithMfa', payload);\n recoverMfa = (payload: IRecoverMFAToken) => this.dispatchAction('recoverMfa', payload);\n logout = (callback?: () => void) => this.dispatchAction('logout', callback);\n silentLogout = (callback?: () => void) => this.dispatchAction('silentLogout', callback);\n checkIfAllowToRememberMfaDevice = (payload: { mfaToken: string }) =>\n this.dispatchAction('checkIfAllowToRememberMfaDevice', payload);\n\n // Social Logins Actions\n setSocialLoginsState = (state: Partial<SocialLoginState>) => this.dispatchAction('setSocialLoginsState', state);\n resetSocialLoginsState = () => this.dispatchAction('resetSocialLoginsState');\n loadSocialLoginsConfiguration = () => this.dispatchAction('loadSocialLoginsConfiguration');\n loginViaSocialLogin = (payload: ILoginViaSocialLogin) => this.dispatchAction('loginViaSocialLogin', payload);\n setSocialLoginError = (payload: ISetSocialLoginError) => this.dispatchAction('setSocialLoginError', payload);\n\n // Activate Account Actions\n setActivateState = (state: Partial<ActivateAccountState>) => this.dispatchAction('setActivateState', state);\n resetActivateState = () => this.dispatchAction('resetActivateState');\n setActivateStrategyState = (state: Partial<ActivateAccountStrategyState>) =>\n this.dispatchAction('setActivateStrategyState', state);\n activateAccount = (payload: IActivateAccount) => this.dispatchAction('activateAccount', payload);\n resendActivationEmail = (payload: IResendActivationEmail) => this.dispatchAction('resendActivationEmail', payload);\n getActivateAccountStrategy = (\n payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>,\n ) => this.dispatchAction('getActivateAccountStrategy', payload);\n\n // Accept Invitation Actions\n setAcceptInvitationState = (state: Partial<AcceptInvitationState>) =>\n this.dispatchAction('setAcceptInvitationState', state);\n resetAcceptInvitationState = () => this.dispatchAction('resetAcceptInvitationState');\n acceptInvitation = (payload: IAcceptInvitation) => this.dispatchAction('acceptInvitation', payload);\n\n // Forgot Password Actions\n setForgotPasswordState = (state: Partial<ForgotPasswordState>) =>\n this.dispatchAction('setForgotPasswordState', state);\n resetForgotPasswordState = () => this.dispatchAction('resetForgotPasswordState');\n forgotPassword = (payload: IForgotPassword) => this.dispatchAction('forgotPassword', payload);\n resetPassword = (payload: IResetPassword) => this.dispatchAction('resetPassword', payload);\n loadPasswordConfig = (payload?: IGetUserPasswordConfig) => this.dispatchAction('loadPasswordConfig', payload);\n\n // Sign Up Actions\n setSignUpState = (state: Partial<SignUpState>) => this.dispatchAction('setSignUpState', state);\n resetSignUpState = () => this.dispatchAction('resetSignUpState');\n signUpUser = (payload: ISignUpUser) => this.dispatchAction('signUpUser', payload);\n resetSignUpStateSoft = () => this.dispatchAction('resetSignUpStateSoft');\n\n // Profile Actions\n setProfileState = (state: Partial<ProfileState>) => this.dispatchAction('setProfileState', state);\n resetProfileState = () => this.dispatchAction('resetProfileState');\n loadProfile = () => this.dispatchAction('loadProfile');\n saveProfile = (payload: SaveProfilePayload) => this.dispatchAction('saveProfile', payload);\n changePassword = (payload: WithCallback<IChangePassword>) => this.dispatchAction('changePassword', payload);\n\n // SSO actions\n setSSOState = (state: Partial<SSOState>) => this.dispatchAction('setSSOState', state);\n resetSSOState = () => this.dispatchAction('resetSSOState');\n loadSSOConfigurations = () => this.dispatchAction('loadSSOConfigurations');\n loadSSOAuthorizationRoles = () => this.dispatchAction('loadSSOAuthorizationRoles');\n saveSSOConfigurations = (payload: SaveSSOConfigurationPayload) =>\n this.dispatchAction('saveSSOConfigurations', payload);\n saveSSOConfigurationsFile = (payload: File[]) => this.dispatchAction('saveSSOConfigurationsFile', payload);\n saveSSOConfigurationsFileWithCallback = (payload: SaveSSOConfigurationFilePayload) =>\n this.dispatchAction('saveSSOConfigurationsFileWithCallback', payload);\n validateSSODomain = (payload?: WithCallback) => this.dispatchAction('validateSSODomain', payload);\n updateSSOAuthorizationRoles = (payload: UpdateSSOAuthorizationRolesPayload) =>\n this.dispatchAction('updateSSOAuthorizationRoles', payload);\n deleteSamlGroup = (payload: DeleteSamlGroupPayload) => this.dispatchAction('deleteSamlGroup', payload);\n createSamlGroup = (payload: CreateSamlGroupPayload) => this.dispatchAction('createSamlGroup', payload);\n oidcPostlogin = (payload: IOidcPostLogin) => this.dispatchAction('oidcPostlogin', payload);\n\n // Mfa actions\n setMfaState = (state: Partial<MFAState>) => this.dispatchAction('setMfaState', state);\n resetMfaState = () => this.dispatchAction('resetMfaState');\n enrollMfa = () => this.dispatchAction('enrollMfa');\n verifyMfa = (payload: WithCallback<IVerifyMfa, string | undefined>) => this.dispatchAction('verifyMfa', payload);\n verifyMfaAfterForce = (payload: WithCallback<ILoginWithMfa, string | undefined>) =>\n this.dispatchAction('verifyMfaAfterForce', payload);\n disableMfa = (payload: WithCallback<IDisableMfa>) => this.dispatchAction('disableMfa', payload);\n\n // Team actions\n setTeamLoader = (payload: TeamStateIndicator) => this.dispatchAction('setTeamLoader', payload);\n setTeamError = (payload: TeamStateIndicator) => this.dispatchAction('setTeamError', payload);\n setTeamState = (payload: Partial<TeamState>) => this.dispatchAction('setTeamState', payload);\n resetTeamState = () => this.dispatchAction('resetTeamState');\n loadUsers = (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) =>\n this.dispatchAction('loadUsers', payload);\n loadRoles = (payload?: LoadRolesAndPermissionsPayload) => this.dispatchAction('loadRoles', payload);\n addUser = (payload: WithCallback<IAddUser, ITeamUser>) => this.dispatchAction('addUser', payload);\n updateUser = (payload: WithCallback<IUpdateUser, ITeamUser>) => this.dispatchAction('updateUser', payload);\n deleteUser = (payload: WithCallback<IDeleteUser>) => this.dispatchAction('deleteUser', payload);\n resendActivationLink = (payload: WithCallback<IResendActivationLink>) =>\n this.dispatchAction('resendActivationLink', payload);\n resendInvitationLink = (payload: WithCallback<IResendInvitationLink>) =>\n this.dispatchAction('resendInvitationLink', payload);\n openAddUserDialog = (payload?: ISetAddUserDialog) => this.dispatchAction('openAddUserDialog', payload);\n closeAddUserDialog = (payload?: any) => this.dispatchAction('closeAddUserDialog', payload);\n openDeleteUserDialog = (payload?: ISetDeleteUserDialog) => this.dispatchAction('openDeleteUserDialog', payload);\n closeDeleteUserDialog = (payload?: any) => this.dispatchAction('closeDeleteUserDialog', payload);\n\n // API Token Actions\n setApiTokensLoader = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensLoader', payload);\n setApiTokensError = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensError', payload);\n setApiTokensState = (state: Partial<ApiTokensState>) => this.dispatchAction('setApiTokensState', state);\n resetApiTokensState = () => this.dispatchAction('resetApiTokensState');\n loadApiTokens = (payload?: WithSilentLoad<WithCallback>) => this.dispatchAction('loadApiTokens', payload);\n initApiTokensData = (payload: ApiTokenType) => this.dispatchAction('initApiTokensData', payload);\n addTenantApiToken = (payload: AddTenantApiTokenPayload) => this.dispatchAction('addTenantApiToken', payload);\n addUserApiToken = (payload: AddUserApiTokenPayload) => this.dispatchAction('addUserApiToken', payload);\n deleteUserApiToken = (payload: string) => this.dispatchAction('deleteUserApiToken', payload);\n deleteTenantApiToken = (payload: string) => this.dispatchAction('deleteTenantApiToken', payload);\n\n // Security Policy Actions\n setSecurityPolicyState = (state: Partial<SecurityPolicyState>) =>\n this.dispatchAction('setSecurityPolicyState', state);\n setSecurityPolicyGlobalState = (state: Partial<GlobalPolicyState>) =>\n this.dispatchAction('setSecurityPolicyGlobalState', state);\n setSecurityPolicyPublicState = (state: Partial<PublicPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPublicState', state);\n setSecurityPolicyMfaState = (state: Partial<MfaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyMfaState', state);\n setSecurityPolicyLockoutState = (state: Partial<LockoutPolicyState>) =>\n this.dispatchAction('setSecurityPolicyLockoutState', state);\n setSecurityPolicyCaptchaState = (state: Partial<CaptchaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyCaptchaState', state);\n setSecurityPolicyPasswordHistoryState = (state: Partial<PasswordHistoryPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordHistoryState', state);\n resetSecurityPolicyState = () => this.dispatchAction('resetSecurityPolicyState');\n setSecurityPolicyPasswordState = (state: Partial<PasswordPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordState', state);\n loadSecurityPolicy = () => this.dispatchAction('loadSecurityPolicy');\n loadPublicSecurityPolicy = () => this.dispatchAction('loadPublicSecurityPolicy');\n loadVendorPasswordConfig = () => this.dispatchAction('loadVendorPasswordConfig');\n loadSecurityPolicyMfa = () => this.dispatchAction('loadSecurityPolicyMfa');\n saveSecurityPolicyMfa = (payload: SaveSecurityPolicyMfaPayload) =>\n this.dispatchAction('saveSecurityPolicyMfa', payload);\n loadSecurityPolicyLockout = () => this.dispatchAction('loadSecurityPolicyLockout');\n saveSecurityPolicyLockout = (payload: SaveSecurityPolicyLockoutPayload) =>\n this.dispatchAction('saveSecurityPolicyLockout', payload);\n loadSecurityPolicyCaptcha = () => this.dispatchAction('loadSecurityPolicyCaptcha');\n loadSecurityPolicyPasswordHistory = () => this.dispatchAction('loadSecurityPolicyPasswordHistory');\n saveSecurityPolicyPasswordHistory = (payload: SaveSecurityPolicyPasswordHistoryPayload) =>\n this.dispatchAction('saveSecurityPolicyPasswordHistory', payload);\n\n // Account Settings Actions\n setAccountSettingsState = (state: Partial<AccountSettingsState>) =>\n this.dispatchAction('setAccountSettingsState', state);\n resetAccountSettingsState = () => this.dispatchAction('resetAccountSettingsState');\n loadAccountSettings = (payload?: WithCallback<WithSilentLoad<{}>>) =>\n this.dispatchAction('loadAccountSettings', payload);\n saveAccountSettings = (payload: WithCallback<ISettingsResponse, ISettingsResponse>) =>\n this.dispatchAction('saveAccountSettings', payload);\n\n // Tenants Actions\n setTenantsState = (state: Partial<TenantsState>) => this.dispatchAction('setTenantsState', state);\n resetTenantsState = () => this.dispatchAction('resetTenantsState');\n switchTenant = (payload: WithCallback<ISwitchTenant>) => this.dispatchAction('switchTenant', payload);\n loadTenants = (payload?: WithCallback<{}, ITenantsResponse[]>) => this.dispatchAction('loadTenants', payload);\n\n // Roles Actions\n setRolesState = (state: RolesState) => this.dispatchAction('setRolesState', state);\n resetRolesState = () => this.dispatchAction('resetRolesState');\n loadRolesAndPermissions = (payload?: WithSilentLoad<{}>) => this.dispatchAction('loadRolesAndPermissions', payload);\n addRole = (payload: WithCallback<IAddRole, IRole>) => this.dispatchAction('addRole', payload);\n updateRole = (payload: WithCallback<IUpdateRole, IRole>) => this.dispatchAction('updateRole', payload);\n deleteRole = (payload: WithCallback<IDeleteRole>) => this.dispatchAction('deleteRole', payload);\n attachPermissionsToRole = (payload: WithCallback<IAttachPermissionsToRole, IRole>) =>\n this.dispatchAction('attachPermissionsToRole', payload);\n\n attachPermissionToRoles = (\n payload: WithCallback<{\n permissionId: string;\n roleIds: string[];\n },\n IRolePermission>,\n ) => this.dispatchAction('attachPermissionToRoles', payload);\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggBaseGuard } from './frontegg-base-guard';\nimport { FronteggAppService } from '../frontegg-app.service';\nimport { FronteggAuthService } from '../frontegg-auth.service';\nimport { runNgZoneIfNeeded } from '../frontegg.utils';\n\n@Injectable()\nexport class FronteggAuthGuard extends FronteggBaseGuard {\n\n constructor(protected fronteggAppService: FronteggAppService, protected fronteggAuthService: FronteggAuthService,\n protected router: Router, protected ngZone: NgZone) {\n super();\n }\n\n\n /**\n * Wait for loader to finish\n * @private\n */\n private waitForLoader(): Promise<boolean> {\n return new Promise((resolve) => {\n const subscription = this.fronteggAppService.isLoading$.subscribe((isLoading) => {\n if (!isLoading) {\n resolve(true);\n subscription.unsubscribe();\n }\n });\n });\n }\n\n /**\n * Navigate to login page if user is not authenticated\n * @private\n */\n private async navigateToLoginIfNeeded(redirectUrl: string): Promise<boolean> {\n const { isAuthenticated } = this.fronteggAuthService.getAuthState();\n if (!isAuthenticated) {\n if (this.fronteggAppService.fronteggApp.options.hostedLoginBox) {\n localStorage.setItem('FRONTEGG_AFTER_AUTH_REDIRECT_URL', redirectUrl);\n this.fronteggAuthService.loginWithRedirect({ prompt: 'login' });\n return false;\n } else {\n return this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(redirectUrl));\n }\n }\n return true; // activate navigation\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n const redirectUrl = state.url;\n const { isLoading } = this.fronteggAuthService.getAuthState();\n\n if (!isLoading) {\n // if showLoader false\n // check if user is authenticated\n return this.navigateToLoginIfNeeded(redirectUrl);\n }\n\n // wait for loader to finish and then check if user is authenticated\n return new Promise<boolean>(async (resolve, reject) => {\n await this.waitForLoader();\n\n runNgZoneIfNeeded(this.ngZone, () => {\n this.navigateToLoginIfNeeded(redirectUrl).then(resolve).catch(reject);\n });\n });\n }\n}\n","import {\n AfterContentInit,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { FronteggAuthService } from '../frontegg-auth.service';\n\n@Directive({\n selector: '[authorizedContent]',\n})\nexport class AuthorizedContentDirective implements AfterContentInit {\n private roles: string[] = [];\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n private fronteggAuthService: FronteggAuthService,\n ) {\n }\n\n @Input()\n set authorizedContent(roles: string[]) {\n this.roles = roles;\n }\n\n ngAfterContentInit(): void {\n this.fronteggAuthService.user$.subscribe((user) => {\n if (user?.roles?.some((role) => this.roles.includes(role.name))) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FronteggAppService } from './frontegg-app.service';\nimport FastDeepEqual from 'fast-deep-equal';\nimport { SubscriptionsState, SubscriptionState } from '@frontegg/redux-store';\n\nexport interface CheckoutDialogState {\n loading: boolean;\n open: boolean;\n success: boolean;\n error: string | null;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggSubscriptionService {\n private subscriptionStateSubject = new BehaviorSubject<SubscriptionState>({} as SubscriptionState);\n\n private checkoutStateSubject = new BehaviorSubject<CheckoutDialogState>({\n loading: false,\n open: false,\n success: false,\n error: null,\n });\n\n get subscriptionState$(): Observable<SubscriptionState> {\n return this.subscriptionStateSubject.asObservable();\n }\n\n get checkoutState$(): Observable<CheckoutDialogState> {\n return this.checkoutStateSubject.asObservable();\n }\n\n constructor(private fronteggAppService: FronteggAppService) {\n // Memoized Subscription State\n this.fronteggAppService.subscriptionsState$.subscribe((subscriptionState: SubscriptionsState) => {\n if (subscriptionState != null) {\n const { billing: { subscription }, checkout: checkoutState } = subscriptionState;\n\n if (!FastDeepEqual(this.subscriptionStateSubject.getValue(), subscription)) {\n this.subscriptionStateSubject.next(subscription);\n }\n\n const checkoutSubjectState = this.checkoutStateSubject.getValue();\n if (checkoutSubjectState.loading !== checkoutState.loading) {\n this.checkoutStateSubject.next({\n ...checkoutSubjectState,\n loading: checkoutState.loading,\n });\n }\n }\n });\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store = this.fronteggAppService.fronteggApp.store;\n // @ts-ignore\n store.dispatch({ type: `${subscriptionsStoreName}/${type}`, payload });\n }\n\n public loadSubscription = () => this.dispatchAction('billing/subscription/loadSubscription');\n\n public openCheckout = (plan: string): void => {\n this.checkoutStateSubject.next({\n loading: false,\n open: true,\n success: false,\n error: null,\n });\n this.fronteggAppService.showCheckoutDialog({\n plan,\n onSuccess: () => {\n this.checkoutStateSubject.next({\n loading: false,\n open: false,\n success: true,\n error: null,\n });\n },\n onError: (error) => {\n const checkoutState = this.checkoutStateSubject.value;\n this.checkoutStateSubject.next({\n ...checkoutState,\n error,\n });\n },\n onClose: () => {\n const checkoutState = this.checkoutStateSubject.value;\n this.checkoutStateSubject.next({\n ...checkoutState,\n open: false,\n });\n },\n });\n };\n\n public hideCheckout = (): void => {\n this.fronteggAppService.hideCheckoutDialog();\n };\n}\n","import { Subscription, PartialObserver } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Entitlement, CustomAttributes, EntitledToOptions, LoadEntitlementsCallback } from '@frontegg/types';\nimport { NotEntitledJustification } from '@frontegg/rest-api';\nimport { FronteggAppService } from './frontegg-app.service';\nimport { FronteggUserSubscriptionService, User } from './frontegg-user-subscription.service';\n\n/**\n * An entitlements service for:\n * 1. Managing state subscription.\n * 2. Querying about feature and permission entitlements state.\n * 3. Load entitlements on demand.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggEntitlementsService {\n constructor(private fronteggAppService: FronteggAppService, private fronteggUserSubscriptionService: FronteggUserSubscriptionService) {\n }\n\n /**\n * @param feature featureKey\n * @param observer For receiving the feature entitlements result including if the user is entitled to the given feature.\n * Attaching the justification if not entitled\n * @param customAttributes consumer attributes\n * @returns a subscription to be able to unsubscribe\n * @throws when entitlement is not enabled via frontegg options\n */\n public featureEntitlements$(feature: string, observer: PartialObserver<Entitlement>, customAttributes?: CustomAttributes): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<Entitlement>(\n (user: User) => {\n // the entitlemenets-common npm doesn't know to overcome the case of signed out user, then we get console errors\n if (user) {\n return this.fronteggAppService.fronteggApp.getFeatureEntitlements(feature, customAttributes);\n }\n return { isEntitled: false, justification: NotEntitledJustification.MISSING_FEATURE };\n },\n observer,\n );\n }\n\n /**\n * @param permission permission key\n * @param observer For receiving the permission entitlements result including if the user is entitled to the given permission.\n * Attaching the justification if not entitled\n * @param customAttributes consumer attributes\n * @returns a subscription to be able to unsubscribe\n */\n public permissionEntitlements$(permission: string,\n observer: PartialObserver<Entitlement>,\n customAttributes?: CustomAttributes): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<Entitlement>(\n (user: User) => {\n if (user) {\n return this.fronteggAppService.fronteggApp.getPermissionEntitlements(permission, customAttributes);\n }\n return { isEntitled: false, justification: NotEntitledJustification.MISSING_PERMISSION };\n },\n observer,\n );\n }\n\n /**\n * @param options permissionKey or featureKey in an options object\n * @param observer For receiving the permission entitlements result including if the user is entitled to the given permission.\n * Attaching the justification if not entitled\n * @param customAttributes consumer attributes\n * @returns a subscription to be able to unsubscribe\n */\n public entitlements$(options: EntitledToOptions,\n observer: PartialObserver<Entitlement>,\n customAttributes?: CustomAttributes): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<Entitlement>(\n (user: User) => {\n if (user) {\n return this.fronteggAppService.fronteggApp.getEntitlements(options, customAttributes);\n }\n\n const justification = 'featureKey' in options ?\n NotEntitledJustification.MISSING_FEATURE : NotEntitledJustification.MISSING_PERMISSION;\n\n return { isEntitled: false, justification };\n },\n observer,\n );\n }\n\n /**\n * Load entitlements data on demand\n * @param callback called on request completed with true if succeeded, false if failed\n */\n public loadEntitlements(callback?: LoadEntitlementsCallback): void {\n this.fronteggAppService.fronteggApp.loadEntitlements(callback);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggAppOptionsClass, FronteggAppService, FronteggLoadGuard } from './frontegg-app.service';\nimport { FronteggComponent } from './frontegg.component';\nimport { FronteggAuthGuard } from './guards/frontegg-auth.guard';\nimport { FronteggAuthService } from './frontegg-auth.service';\nimport { AuthorizedContentDirective } from './directives/authorized-content.directive';\nimport { FronteggSubscriptionService } from './frontegg-subscription.services';\nimport { FronteggEntitlementsService } from './frontegg-entitlements.service';\nimport { FronteggUserSubscriptionService } from './frontegg-user-subscription.service';\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n declarations: [FronteggComponent, AuthorizedContentDirective],\n exports: [FronteggComponent, AuthorizedContentDirective],\n})\nexport class FronteggAppModule {\n static forRoot(config: FronteggAppOptions): ModuleWithProviders<FronteggAppModule> {\n return {\n ngModule: FronteggAppModule,\n providers: [\n FronteggAppService,\n FronteggAuthGuard,\n FronteggLoadGuard,\n FronteggAuthService,\n FronteggEntitlementsService,\n FronteggSubscriptionService,\n FronteggUserSubscriptionService,\n {\n provide: FronteggAppOptionsClass,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of frontegg-app\n */\n\nexport { FronteggAppModule } from './lib/frontegg-app.module';\nexport { FronteggAppService } from './lib/frontegg-app.service';\nexport { FronteggComponent } from './lib/frontegg.component';\nexport { FronteggAuthService } from './lib/frontegg-auth.service';\nexport { FronteggEntitlementsService } from './lib/frontegg-entitlements.service';\nexport { FronteggSubscriptionService } from './lib/frontegg-subscription.services';\nexport * from './lib/directives/authorized-content.directive';\nexport * from './lib/guards/frontegg-auth.guard';\nexport { ContextHolder } from '@frontegg/rest-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Component","BehaviorSubject","isAuthRoute","FronteggFrameworks","angularCoreVersion","ContextHolder","initialize","i1","Injectable","Inject","Observable","DefaultUrlSerializer","NgZone","i1.FronteggAppService","FastDeepEqual","i2","i3.FronteggUserSubscriptionService","i2.FronteggAuthService","i3","i1.FronteggAuthService","Directive","Input","NotEntitledJustification","i2.FronteggUserSubscriptionService","CommonModule","RouterModule","NgModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"frontegg-angular.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/frontegg-app/src/lib/frontegg.component.ts","../../../../projects/frontegg-app/src/sdkVersion.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-base-guard.ts","../../../../projects/frontegg-app/src/lib/frontegg.utils.ts","../../../../projects/frontegg-app/src/lib/frontegg-user-subscription.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-auth.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-auth.guard.ts","../../../../projects/frontegg-app/src/lib/directives/authorized-content.directive.ts","../../../../projects/frontegg-app/src/lib/frontegg-subscription.services.ts","../../../../projects/frontegg-app/src/lib/frontegg-entitlements.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.module.ts","../../../../projects/frontegg-app/src/public-api.ts","../../../../projects/frontegg-app/src/frontegg-angular.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Component } from '@angular/core';\n\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'frontegg',\n template: ``,\n})\nexport class FronteggComponent {\n}\n","export default { version: '7.17.11' };\n","import { Injectable, NgZone, Inject } from '@angular/core';\nimport { Route, Router, ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { FronteggApp, initialize } from '@frontegg/js';\nimport { AuthPageRoutes, FronteggState, isAuthRoute } from '@frontegg/redux-store';\nimport { FronteggAppOptions, FronteggCheckoutDialogOptions, ShowAdminPortalOptions } from '@frontegg/types';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ContextHolder, RedirectOptions, FronteggFrameworks, MetadataHeaders } from '@frontegg/rest-api';\nimport { FronteggComponent } from './frontegg.component';\nimport sdkVersion from '../sdkVersion';\nimport angularCoreVersion from '@angular/core/package.json';\n\nexport class FronteggAppOptionsClass implements FronteggAppOptions {\n contextOptions: FronteggAppOptions['contextOptions'] = {\n baseUrl: 'https://sub-domain.frontegg.com',\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAppService {\n fronteggApp: FronteggApp;\n\n private isLoadingSubject = new BehaviorSubject<boolean>(true);\n private isAuthenticatedSubject = new BehaviorSubject<boolean>(false);\n private stateSubject = new BehaviorSubject<FronteggState>({} as FronteggState);\n private authStateSubject = new BehaviorSubject<FronteggState['auth']>({\n isLoading: true,\n isAuthenticated: false,\n } as FronteggState['auth']);\n private auditsStateSubject = new BehaviorSubject<FronteggState['audits']>({} as FronteggState['audits']);\n private connectivityStateSubject = new BehaviorSubject<FronteggState['connectivity']>({} as FronteggState['connectivity']);\n private subscriptionsStateSubject = new BehaviorSubject<FronteggState['subscriptions']>({} as FronteggState['subscriptions']);\n private vendorStateSubject = new BehaviorSubject<FronteggState['vendor']>({} as FronteggState['vendor']);\n\n\n get state$(): Observable<FronteggState> {\n return this.stateSubject.asObservable();\n }\n\n get authState$(): Observable<FronteggState['auth']> {\n return this.authStateSubject.asObservable();\n }\n\n get auditsState$(): Observable<FronteggState['audits']> {\n return this.auditsStateSubject.asObservable();\n }\n\n get connectivityState$(): Observable<FronteggState['connectivity']> {\n return this.connectivityStateSubject.asObservable();\n }\n\n get subscriptionsState$(): Observable<FronteggState['subscriptions']> {\n return this.subscriptionsStateSubject.asObservable();\n }\n\n get vendorState$(): Observable<FronteggState['vendor']> {\n return this.vendorStateSubject.asObservable();\n }\n\n get isLoading$(): Observable<boolean> {\n return this.isLoadingSubject.asObservable();\n };\n\n get isAuthenticated$(): Observable<boolean> {\n return this.isAuthenticatedSubject.asObservable();\n };\n\n constructor(@Inject(FronteggAppOptionsClass) private config: FronteggAppOptions, public router: Router, private ngZone: NgZone) {\n if (!this.config) {\n throw Error('Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)');\n }\n\n if ((window as any).CYPRESS_CONFIG) {\n this.config = (window as any).CYPRESS_CONFIG;\n }\n const onRedirectTo = (to: string, opts?: RedirectOptions) => {\n const baseName = window.location.origin;\n let path = to;\n if (path.startsWith(baseName) && baseName !== '/') {\n path = path.substring(baseName.length - 1);\n }\n if (opts?.preserveQueryParams || isAuthRoute(path, config.authOptions?.routes)) {\n path = `${path}${window.location.search}`;\n }\n\n if (opts?.refresh) {\n window.location.href = path;\n } else {\n this.ngZone.run(() => {\n if (opts?.replace) {\n this.router.navigateByUrl(path, { replaceUrl: true });\n } else {\n this.router.navigateByUrl(path);\n }\n });\n }\n };\n\n\n const metadataHeaders: MetadataHeaders = {\n fronteggSdkVersion: `@frontegg/angular@${sdkVersion.version}`,\n // TODO: remove this any type after updating rest-api context options type to accept string.\n // @ts-ignore\n framework: `${FronteggFrameworks.Angular}@${angularCoreVersion.version}`,\n };\n\n const appName = this.config.appName ?? 'default'\n // prepare config default values\n this.config = {\n ...this.config,\n appName,\n contextOptions: {\n ...this.config.contextOptions,\n metadataHeaders,\n },\n authOptions: {\n ...this.config.authOptions,\n hostedLoginOptions: {\n loadUserOnFirstLoad: true, // set default to load user on first load\n ...this.config.authOptions?.hostedLoginOptions,\n },\n onRedirectTo,\n },\n };\n\n ContextHolder.for(appName).setOnRedirectTo(onRedirectTo);\n this.fronteggApp = initialize({\n onRedirectTo,\n ...this.config,\n });\n\n\n // Add all login box routes to Angular router config\n this.router.resetConfig([\n ...this.mapAuthComponents,\n {\n path: '',\n canActivate: [ FronteggLoadGuard ],\n children: [ ...this.router.config ],\n },\n ]);\n const initialFronteggState = this.fronteggApp.store.getState() as FronteggState;\n this.updateState(initialFronteggState);\n // Subscribe on fronteggApp store to change state subjects\n this.fronteggApp.store.subscribe(() => {\n this.updateState(this.fronteggApp.store.getState() as FronteggState);\n });\n }\n\n private updateState(fronteggStore: FronteggState): void {\n if (this.isLoadingSubject.getValue() !== fronteggStore.auth.isLoading) {\n this.isLoadingSubject.next(fronteggStore.auth.isLoading);\n }\n if (this.isAuthenticatedSubject.getValue() !== fronteggStore.auth.isAuthenticated) {\n this.isAuthenticatedSubject.next(fronteggStore.auth.isAuthenticated);\n }\n\n this.stateSubject.next(fronteggStore);\n this.authStateSubject.next(fronteggStore.auth);\n this.auditsStateSubject.next(fronteggStore.audits);\n this.connectivityStateSubject.next(fronteggStore.connectivity);\n this.subscriptionsStateSubject.next(fronteggStore.subscriptions);\n this.vendorStateSubject.next(fronteggStore.vendor);\n }\n\n get mapAuthComponents(): Route[] {\n const authRoutes = this.authRoutes;\n return (Object.keys(authRoutes) as (keyof AuthPageRoutes)[])\n .filter((key: keyof AuthPageRoutes) => key !== 'authenticatedUrl' && key !== 'signUpSuccessUrl' && key != null)\n .map((key: keyof AuthPageRoutes) => ({\n path: authRoutes[key]?.substring(1),\n component: FronteggComponent,\n }));\n }\n\n get authRoutes(): AuthPageRoutes {\n return this.fronteggApp.store.getState().auth.routes;\n }\n\n // Open admin portal\n public showAdminPortal(options?: ShowAdminPortalOptions): void {\n this.fronteggApp.showAdminPortal(options);\n }\n\n /**\n * Open admin portal hosted mode\n * @param newTab - open in new tab\n * */\n\n public openHostedAdminPortal(newTab?: boolean): void {\n this.fronteggApp.openHostedAdminPortal(newTab);\n }\n\n // Open admin portal\n public hideAdminPortal(): void {\n this.fronteggApp?.hideAdminPortal();\n }\n\n // Open checkout dialog\n public showCheckoutDialog(opts: FronteggCheckoutDialogOptions): void {\n this.fronteggApp.showCheckoutDialog(opts);\n }\n\n // Open checkout dialog\n public hideCheckoutDialog(): void {\n this.fronteggApp?.hideCheckoutDialog();\n }\n}\n\n@Injectable()\nexport class FronteggLoadGuard implements CanActivate {\n constructor(protected fronteggAppService: FronteggAppService) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n return new Observable<boolean>(obs => {\n this.fronteggAppService.isLoading$.subscribe(loading => {\n if (!loading) {\n obs.next(true);\n }\n });\n });\n }\n}\n","import { ActivatedRouteSnapshot, CanActivate, DefaultUrlSerializer, Router, RouterStateSnapshot, UrlSerializer, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nexport abstract class FronteggBaseGuard implements UrlSerializer, CanActivate {\n\n abstract canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)\n : Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;\n\n parse(url: any): UrlTree {\n const dus = new DefaultUrlSerializer();\n return dus.parse(url);\n }\n\n serialize(tree: UrlTree): any {\n const dus = new DefaultUrlSerializer();\n\n return dus\n .serialize(tree)\n .replace(/%40/gi, '@')\n .replace(/%3A/gi, ':')\n .replace(/%24/gi, '$')\n .replace(/%2C/gi, ',')\n .replace(/%3B/gi, ';')\n .replace(/%2B/gi, '+')\n .replace(/%3D/gi, '=')\n .replace(/%3F/gi, '?')\n .replace(/%2F/gi, '/')\n .replace(/(https?):\\/([\\w\\d])/gi, '$1://$2');\n }\n}\n","import { NgZone } from '@angular/core';\n\nexport const runNgZoneIfNeeded = (ngZone: NgZone, fn: () => void) => {\n if (NgZone.isInAngularZone()) {\n fn();\n } else {\n ngZone.run(fn);\n }\n};\n","import { Subscription, PartialObserver, BehaviorSubject } from 'rxjs';\nimport { AuthState } from '@frontegg/redux-store';\nimport { Injectable } from '@angular/core';\n\nimport { FronteggState } from '@frontegg/redux-store';\nimport { FronteggAppService } from './frontegg-app.service';\n\nexport type User = FronteggState['auth']['user'];\n\n/**\n * A service for managing user state subscription\n * The service gives the ability to subscribe to user state change and get a manipulated data when the user state changes\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggUserSubscriptionService {\n private userStateSubject = new BehaviorSubject<any>(undefined);\n\n constructor(private fronteggAppService: FronteggAppService) {\n const state = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateUserStateIfNeeded(state.auth);\n\n // Memoized user State\n this.fronteggAppService.fronteggApp.store.subscribe(() => {\n const newState = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateUserStateIfNeeded(newState.auth);\n });\n }\n\n /**\n * Trigger user subject change event if the user reference changes\n * No need for deep equal because we already check it internally\n * @param authState AuthState object\n */\n private updateUserStateIfNeeded(authState: AuthState): void {\n const userState = authState.user as User;\n if (this.userStateSubject.value === userState) {\n return;\n }\n\n this.userStateSubject.next(userState);\n }\n\n /**\n * The function gives the ability to return a manipulated data of the user state as a subscription.\n *\n * @param dataManipulator Manipulator function that receives user state and returns a manipulated data\n * @param observer For receiving manipulated data result\n * @returns a subscription to be able to unsubscribe\n */\n public getUserManipulatorSubscription<Result>(\n dataManipulator: (user: User) => Result,\n observer: PartialObserver<Result>\n ): Subscription {\n // used for computing the end user result because we don't return the state itself, but a calculated one\n const userSubject = new BehaviorSubject<Result>(undefined as unknown as Result);\n\n const stateSubscription = this.userStateSubject.subscribe(user => {\n userSubject.next(dataManipulator(user));\n });\n\n // subscribing the consumer observer\n const userResultSubscription = userSubject.asObservable().subscribe(observer)\n\n // monkey patched to manage both un-subscriptions: state and user manipulated result\n const originalUnsubscribe = userResultSubscription.unsubscribe.bind(userResultSubscription);\n\n userResultSubscription.unsubscribe = () => {\n originalUnsubscribe();\n stateSubscription.unsubscribe();\n };\n\n return userResultSubscription;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, PartialObserver, Subscription } from 'rxjs';\nimport { FronteggAppService } from './frontegg-app.service';\nimport FastDeepEqual from 'fast-deep-equal';\nimport {\n RolesState,\n TenantsState,\n AccountSettingsState,\n SaveSecurityPolicyPasswordHistoryPayload,\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n PasswordPolicyState,\n PasswordHistoryPolicyState,\n MfaPolicyState,\n CaptchaPolicyState,\n LockoutPolicyState,\n PublicPolicyState,\n GlobalPolicyState,\n SecurityPolicyState,\n AddUserApiTokenPayload,\n AddTenantApiTokenPayload,\n ApiTokenType,\n ApiTokensState,\n ApiStateIndicator,\n ISetDeleteUserDialog,\n ISetAddUserDialog,\n LoadRolesAndPermissionsPayload,\n TeamState,\n TeamStateIndicator,\n MFAState,\n SaveSSOConfigurationPayload,\n SSOState,\n ProfileState,\n SaveSSOConfigurationFilePayload,\n UpdateSSOAuthorizationRolesPayload,\n DeleteSamlGroupPayload,\n CreateSamlGroupPayload,\n SaveProfilePayload,\n SignUpState,\n ForgotPasswordState,\n AcceptInvitationState,\n AuthState,\n User,\n LoginState,\n ActivateAccountStrategyState,\n IsSteppedUpOptions,\n StepUpOptions,\n} from '@frontegg/redux-store';\nimport {\n ILogin,\n ILoginWithMfa,\n IPostLogin,\n IPreLogin,\n IRecoverMFAToken,\n IActivateAccount,\n ILoginViaSocialLogin,\n ISetSocialLoginError,\n IResendActivationEmail,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n IAcceptInvitation,\n IForgotPassword,\n IResetPassword,\n IGetUserPasswordConfig,\n ISignUpUser,\n IChangePassword,\n IOidcPostLogin,\n IVerifyMfa,\n IDisableMfa,\n ILoadUsers,\n ITeamUser,\n IAddUser,\n IUpdateUser,\n IDeleteUser,\n IResendActivationLink,\n ISettingsResponse,\n ISwitchTenant,\n ITenantsResponse,\n IAddRole,\n IRole,\n IUpdateRole,\n IDeleteRole,\n IAttachPermissionsToRole,\n IResendInvitationLink,\n IRolePermission,\n RedirectOptions,\n} from '@frontegg/rest-api';\nimport type { FronteggState, ActivateAccountState, SocialLoginState } from '@frontegg/redux-store';\nimport { Observable } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { LoginDirectAction } from '@frontegg/redux-store/auth/LoginState/interfaces';\nimport { FronteggUserSubscriptionService } from './frontegg-user-subscription.service';\n\ninterface AuthSubStates {\n field: Partial<keyof AuthState>;\n subject: BehaviorSubject<any>;\n}\n\nexport type WithCallback<T = {}, R = boolean> = T & {\n callback?: (data: R | null, error?: string) => void;\n};\n\nexport type WithSilentLoad<T> = T & {\n silentLoading?: boolean;\n};\n\ntype Path = (string | symbol)[];\ntype Op =\n [ op: 'set', path: Path, value: unknown, prevValue: unknown ]\n | [ op: 'delete', path: Path, prevValue: unknown ]\n | [ op: 'resolve', path: Path, value: unknown ]\n | [ op: 'reject', path: Path, error: unknown ];\n\n\ntype SubjectState<T> = {\n [K in keyof T as `${Extract<K, string>}Subject`]: T[K]\n}\ntype AuthStateObservable = {\n [K in keyof AuthState]: BehaviorSubject<AuthState[K]>\n}\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAuthService implements SubjectState<Partial<AuthStateObservable>> {\n\n authStateSubject = new BehaviorSubject<AuthState>({ isAuthenticated: false, isLoading: true } as AuthState);\n acceptInvitationStateSubject = new BehaviorSubject<AuthState['acceptInvitationState']>({} as AuthState['acceptInvitationState']);\n accountSettingsStateSubject = new BehaviorSubject<AuthState['accountSettingsState']>({} as AuthState['accountSettingsState']);\n activateAccountStateSubject = new BehaviorSubject<AuthState['activateAccountState']>({} as AuthState['activateAccountState']);\n apiTokensStateSubject = new BehaviorSubject<AuthState['apiTokensState']>({} as AuthState['apiTokensState']);\n forgotPasswordStateSubject = new BehaviorSubject<AuthState['forgotPasswordState']>({} as AuthState['forgotPasswordState']);\n loginStateSubject = new BehaviorSubject<AuthState['loginState']>({} as AuthState['loginState']);\n mfaStateSubject = new BehaviorSubject<AuthState['mfaState']>({} as AuthState['mfaState']);\n profileStateSubject = new BehaviorSubject<AuthState['profileState']>({} as AuthState['profileState']);\n rolesStateSubject = new BehaviorSubject<AuthState['rolesState']>({} as AuthState['rolesState']);\n routesSubject = new BehaviorSubject<AuthState['routes']>({} as AuthState['routes']);\n securityPolicyStateSubject = new BehaviorSubject<AuthState['securityPolicyState']>({} as AuthState['securityPolicyState']);\n signUpStateSubject = new BehaviorSubject<AuthState['signUpState']>({} as AuthState['signUpState']);\n socialLoginStateSubject = new BehaviorSubject<AuthState['socialLoginState']>({} as AuthState['socialLoginState']);\n ssoStateSubject = new BehaviorSubject<AuthState['ssoState']>({} as AuthState['ssoState']);\n teamStateSubject = new BehaviorSubject<AuthState['teamState']>({} as AuthState['teamState']);\n tenantsStateSubject = new BehaviorSubject<AuthState['tenantsState']>({} as AuthState['tenantsState']);\n userSubject = new BehaviorSubject<AuthState['user']>({} as AuthState['user']);\n isAuthenticatedSubject = new BehaviorSubject<AuthState['isAuthenticated']>(false);\n isLoadingSubject = new BehaviorSubject<AuthState['isLoading']>(true);\n isSSOAuthSubject = new BehaviorSubject<AuthState['isSSOAuth']>(false);\n ssoACSSubject = new BehaviorSubject<AuthState['ssoACS']>('');\n customLoginStateSubject = new BehaviorSubject<AuthState['customLoginState']>({} as AuthState['customLoginState']);\n groupsStateSubject = new BehaviorSubject<AuthState['groupsState']>({} as AuthState['groupsState']);\n groupsDialogsStateSubject = new BehaviorSubject<AuthState['groupsDialogsState']>({} as AuthState['groupsDialogsState']);\n impersonateStateSubject = new BehaviorSubject<AuthState['impersonateState']>({} as AuthState['impersonateState']);\n allAccountsStateSubject = new BehaviorSubject<AuthState['allAccountsState']>({} as AuthState['allAccountsState']);\n allAccountsDialogsStateSubject = new BehaviorSubject<AuthState['allAccountsDialogsState']>({} as AuthState['allAccountsDialogsState']);\n passkeysStateSubject = new BehaviorSubject<AuthState['passkeysState']>({} as AuthState['passkeysState']);\n provisioningStateSubject = new BehaviorSubject<AuthState['provisioningState']>({} as AuthState['provisioningState']);\n resetPhoneNumberStateSubject = new BehaviorSubject<AuthState['resetPhoneNumberState']>({} as AuthState['resetPhoneNumberState']);\n restrictionsStateSubject = new BehaviorSubject<AuthState['restrictionsState']>({} as AuthState['restrictionsState']);\n securityCenterStateSubject = new BehaviorSubject<AuthState['securityCenterState']>({} as AuthState['securityCenterState']);\n sessionsPolicyStateSubject = new BehaviorSubject<AuthState['sessionsPolicyState']>({} as AuthState['sessionsPolicyState']);\n sessionsStateSubject = new BehaviorSubject<AuthState['sessionsState']>({} as AuthState['sessionsState']);\n smsStateSubject = new BehaviorSubject<AuthState['smsState']>({} as AuthState['smsState']);\n stepUpStateSubject = new BehaviorSubject<AuthState['stepUpState']>({} as AuthState['stepUpState']);\n applicationsStateSubject = new BehaviorSubject<AuthState['applicationsState']>({} as AuthState['applicationsState']);\n userIpSubject = new BehaviorSubject<AuthState['userIp']>(undefined);\n keepSessionAliveSubject = new BehaviorSubject<AuthState['keepSessionAlive']>(undefined);\n socialLoginOptionsSubject = new BehaviorSubject<AuthState['socialLoginOptions']>(undefined);\n includeQueryParamSubject = new BehaviorSubject<AuthState['includeQueryParam']>(undefined);\n hostedLoginBoxSubject = new BehaviorSubject<AuthState['hostedLoginBox']>(undefined);\n disableSilentRefreshSubject = new BehaviorSubject<AuthState['disableSilentRefresh']>(undefined);\n enforceRedirectToSameSiteSubject = new BehaviorSubject<AuthState['enforceRedirectToSameSite']>(undefined);\n allowedRedirectOriginsSubject = new BehaviorSubject<AuthState['allowedRedirectOrigins']>(undefined);\n\n\n getAuthState(): AuthState {\n return this.fronteggAppService.fronteggApp.store.getState().auth;\n }\n\n get authState$(): Observable<AuthState> {\n return this.authStateSubject.asObservable();\n }\n\n get acceptInvitationState$(): Observable<AuthState['acceptInvitationState']> {\n return this.acceptInvitationStateSubject.asObservable();\n }\n\n get accountSettingsState$(): Observable<AuthState['accountSettingsState']> {\n return this.accountSettingsStateSubject.asObservable();\n }\n\n get activateState$(): Observable<AuthState['activateAccountState']> {\n return this.activateAccountStateSubject.asObservable();\n }\n\n get apiTokensState$(): Observable<AuthState['apiTokensState']> {\n return this.apiTokensStateSubject.asObservable();\n }\n\n get forgotPasswordState$(): Observable<AuthState['forgotPasswordState']> {\n return this.forgotPasswordStateSubject.asObservable();\n }\n\n get loginState$(): Observable<AuthState['loginState']> {\n return this.loginStateSubject.asObservable();\n }\n\n get mfaState$(): Observable<AuthState['mfaState']> {\n return this.mfaStateSubject.asObservable();\n }\n\n get profileState$(): Observable<AuthState['profileState']> {\n return this.profileStateSubject.asObservable();\n }\n\n get rolesState$(): Observable<AuthState['rolesState']> {\n return this.rolesStateSubject.asObservable();\n }\n\n get routesState$(): Observable<AuthState['routes']> {\n return this.routesSubject.asObservable();\n }\n\n get securityPolicyState$(): Observable<AuthState['securityPolicyState']> {\n return this.securityPolicyStateSubject.asObservable();\n }\n\n get signUpState$(): Observable<AuthState['signUpState']> {\n return this.signUpStateSubject.asObservable();\n }\n\n get socialLoginState$(): Observable<AuthState['socialLoginState']> {\n return this.socialLoginStateSubject.asObservable();\n }\n\n get ssoState$(): Observable<AuthState['ssoState']> {\n return this.ssoStateSubject.asObservable();\n }\n\n get teamState$(): Observable<AuthState['teamState']> {\n return this.teamStateSubject.asObservable();\n }\n\n get tenantsState$(): Observable<AuthState['tenantsState']> {\n return this.tenantsStateSubject.asObservable();\n }\n\n get user$(): Observable<AuthState['user']> {\n return this.userSubject.asObservable();\n }\n\n get user(): AuthState['user'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.user;\n }\n\n\n get isAuthenticated$(): Observable<AuthState['isAuthenticated']> {\n return this.isAuthenticatedSubject.asObservable();\n }\n\n get isAuthenticated(): AuthState['isAuthenticated'] {\n return this.fronteggAppService.fronteggApp.store.getState().auth.isAuthenticated;\n }\n\n get isLoading$(): Observable<AuthState['isLoading']> {\n return this.isLoadingSubject.asObservable();\n }\n\n get isSSOAuth$(): Observable<AuthState['isSSOAuth']> {\n return this.isSSOAuthSubject.asObservable();\n }\n\n get ssoACS$(): Observable<AuthState['ssoACS']> {\n return this.ssoACSSubject.asObservable();\n }\n\n get customLoginStateSubject$(): Observable<AuthState['customLoginState']> {\n return this.customLoginStateSubject.asObservable();\n }\n\n get groupsStateSubject$(): Observable<AuthState['groupsState']> {\n return this.groupsStateSubject.asObservable();\n }\n\n get groupsDialogsStateSubject$(): Observable<AuthState['groupsDialogsState']> {\n return this.groupsDialogsStateSubject.asObservable();\n }\n\n get impersonateStateSubject$(): Observable<AuthState['impersonateState']> {\n return this.impersonateStateSubject.asObservable();\n }\n\n get allAccountsStateSubject$(): Observable<AuthState['allAccountsState']> {\n return this.allAccountsStateSubject.asObservable();\n }\n\n get allAccountsDialogsStateSubject$(): Observable<AuthState['allAccountsDialogsState']> {\n return this.allAccountsDialogsStateSubject.asObservable();\n }\n\n get passkeysStateSubject$(): Observable<AuthState['passkeysState']> {\n return this.passkeysStateSubject.asObservable();\n }\n\n get provisioningStateSubject$(): Observable<AuthState['provisioningState']> {\n return this.provisioningStateSubject.asObservable();\n }\n\n get resetPhoneNumberStateSubject$(): Observable<AuthState['resetPhoneNumberState']> {\n return this.resetPhoneNumberStateSubject.asObservable();\n }\n\n get restrictionsStateSubject$(): Observable<AuthState['restrictionsState']> {\n return this.restrictionsStateSubject.asObservable();\n }\n\n get securityCenterStateSubject$(): Observable<AuthState['securityCenterState']> {\n return this.securityCenterStateSubject.asObservable();\n }\n\n get sessionsPolicyStateSubject$(): Observable<AuthState['sessionsPolicyState']> {\n return this.sessionsPolicyStateSubject.asObservable();\n }\n\n get sessionsStateSubject$(): Observable<AuthState['sessionsState']> {\n return this.sessionsStateSubject.asObservable();\n }\n\n get smsStateSubject$(): Observable<AuthState['smsState']> {\n return this.smsStateSubject.asObservable();\n }\n\n get stepUpStateSubject$(): Observable<AuthState['stepUpState']> {\n return this.stepUpStateSubject.asObservable();\n }\n\n get applicationsStateSubject$(): Observable<AuthState['applicationsState']> {\n return this.applicationsStateSubject.asObservable();\n }\n\n get userIpSubject$(): Observable<AuthState['userIp']> {\n return this.userIpSubject.asObservable();\n }\n\n get keepSessionAliveSubject$(): Observable<AuthState['keepSessionAlive']> {\n return this.keepSessionAliveSubject.asObservable();\n }\n\n get socialLoginOptionsSubject$(): Observable<AuthState['socialLoginOptions']> {\n return this.socialLoginOptionsSubject.asObservable();\n }\n\n get includeQueryParamSubject$(): Observable<AuthState['includeQueryParam']> {\n return this.includeQueryParamSubject.asObservable();\n }\n\n get hostedLoginBoxSubject$(): Observable<AuthState['hostedLoginBox']> {\n return this.hostedLoginBoxSubject.asObservable();\n }\n\n get disableSilentRefreshSubject$(): Observable<AuthState['disableSilentRefresh']> {\n return this.disableSilentRefreshSubject.asObservable();\n }\n\n get enforceRedirectToSameSiteSubject$(): Observable<AuthState['enforceRedirectToSameSite']> {\n return this.enforceRedirectToSameSiteSubject.asObservable();\n }\n\n get allowedRedirectOriginsSubject$(): Observable<AuthState['allowedRedirectOrigins']> {\n return this.allowedRedirectOriginsSubject.asObservable();\n }\n\n constructor(\n private fronteggAppService: FronteggAppService,\n private router: Router,\n private fronteggUserSubscriptionService: FronteggUserSubscriptionService,\n ) {\n const authSubStates: AuthSubStates[] = [\n { field: 'acceptInvitationState', subject: this.acceptInvitationStateSubject },\n { field: 'accountSettingsState', subject: this.accountSettingsStateSubject },\n { field: 'activateAccountState', subject: this.activateAccountStateSubject },\n { field: 'apiTokensState', subject: this.apiTokensStateSubject },\n { field: 'forgotPasswordState', subject: this.forgotPasswordStateSubject },\n { field: 'tenantsState', subject: this.tenantsStateSubject },\n { field: 'loginState', subject: this.loginStateSubject },\n { field: 'mfaState', subject: this.mfaStateSubject },\n { field: 'profileState', subject: this.profileStateSubject },\n { field: 'rolesState', subject: this.rolesStateSubject },\n { field: 'routes', subject: this.routesSubject },\n { field: 'securityPolicyState', subject: this.securityPolicyStateSubject },\n { field: 'signUpState', subject: this.signUpStateSubject },\n { field: 'socialLoginState', subject: this.socialLoginStateSubject },\n { field: 'ssoState', subject: this.ssoStateSubject },\n { field: 'teamState', subject: this.teamStateSubject },\n { field: 'user', subject: this.userSubject },\n { field: 'isSSOAuth', subject: this.isSSOAuthSubject },\n { field: 'ssoACS', subject: this.ssoACSSubject },\n { field: 'customLoginState', subject: this.customLoginStateSubject },\n { field: 'groupsState', subject: this.groupsStateSubject },\n { field: 'groupsDialogsState', subject: this.groupsDialogsStateSubject },\n { field: 'impersonateState', subject: this.impersonateStateSubject },\n { field: 'allAccountsState', subject: this.allAccountsStateSubject },\n { field: 'allAccountsDialogsState', subject: this.allAccountsDialogsStateSubject },\n { field: 'passkeysState', subject: this.passkeysStateSubject },\n { field: 'provisioningState', subject: this.provisioningStateSubject },\n { field: 'resetPhoneNumberState', subject: this.resetPhoneNumberStateSubject },\n { field: 'restrictionsState', subject: this.restrictionsStateSubject },\n { field: 'securityCenterState', subject: this.securityCenterStateSubject },\n { field: 'sessionsPolicyState', subject: this.sessionsPolicyStateSubject },\n { field: 'sessionsState', subject: this.sessionsStateSubject },\n { field: 'smsState', subject: this.smsStateSubject },\n { field: 'stepUpState', subject: this.stepUpStateSubject },\n { field: 'applicationsState', subject: this.applicationsStateSubject },\n { field: 'userIp', subject: this.userIpSubject },\n { field: 'keepSessionAlive', subject: this.keepSessionAliveSubject },\n { field: 'socialLoginOptions', subject: this.socialLoginOptionsSubject },\n { field: 'includeQueryParam', subject: this.includeQueryParamSubject },\n { field: 'hostedLoginBox', subject: this.hostedLoginBoxSubject },\n { field: 'disableSilentRefresh', subject: this.disableSilentRefreshSubject },\n { field: 'enforceRedirectToSameSite', subject: this.enforceRedirectToSameSiteSubject },\n { field: 'allowedRedirectOrigins', subject: this.allowedRedirectOriginsSubject },\n ];\n\n const state = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateState(state.auth, authSubStates);\n\n const callback: any = (op: Op[]) => {\n\n const newState = this.fronteggAppService.fronteggApp.store.getState() as FronteggState;\n this.updateState(newState.auth, authSubStates);\n\n // this.updateDeepState(op);\n };\n this.fronteggAppService.fronteggApp.store.subscribe(callback);\n }\n\n\n // // tslint:disable-next-line:typedef\n // private updateDeepState(ops: Op[]) {\n // ops.filter(op => op[0] === 'set').forEach((op) => {\n // const [ action, path, value ] = op;\n // const state = path[0];\n // const subState = path[1];\n // const deepPath = path.slice(2);\n // console.log(state, subState, deepPath, value);\n // switch (state) {\n // case 'auth':\n // if(this.authStateSubject.value )\n // break;\n // }\n // });\n // }\n\n\n private updateState(authState: AuthState, authSubStates: AuthSubStates[]): void {\n\n if (this.authStateSubject.value !== authState) {\n this.authStateSubject.next(authState);\n }\n for (const authSubState of authSubStates) {\n if (!FastDeepEqual(authSubState.subject.value, authState[authSubState.field])) {\n authSubState.subject.next(authState[authSubState.field]);\n }\n }\n if (this.isAuthenticatedSubject.value !== authState.isAuthenticated) {\n this.isAuthenticatedSubject.next(authState.isAuthenticated);\n }\n if (this.isLoadingSubject.value !== authState.isLoading) {\n this.isLoadingSubject.next(authState.isLoading);\n }\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store = this.fronteggAppService.fronteggApp.store;\n store.dispatch({ type: `auth/${type}`, payload });\n }\n\n\n public isHostedLoginCallbackRoute(): boolean {\n const path = this.fronteggAppService.router.url;\n const hostedLoginRedirectUrl = this.fronteggAppService.authRoutes.hostedLoginRedirectUrl;\n return path.startsWith(hostedLoginRedirectUrl ?? '/oauth/callback');\n }\n\n /**\n * @param options.maxAge optional max age\n * @returns A subscription for step up state - true when user is stepped up, false otherwise\n */\n public isSteppedUp$(observer: PartialObserver<boolean>, options?: IsSteppedUpOptions): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<boolean>(\n () => this.fronteggAppService.fronteggApp.isSteppedUp(options),\n observer,\n );\n }\n\n /**\n * Triggers step up flow\n * @param options.maxAge optional max age\n */\n public stepUp = (options?: StepUpOptions) => this.fronteggAppService.fronteggApp.stepUp(options);\n\n\n // Root Actions\n setState = (state: Partial<AuthState>) => this.dispatchAction('setState', state);\n resetState = () => this.dispatchAction('resetState');\n setUser = (user: User) => this.dispatchAction('setUser', user);\n\n // Login Actions\n setLoginState = (state: Partial<LoginState>) => this.dispatchAction('setLoginState', state);\n resetLoginState = () => this.dispatchAction('resetLoginState');\n requestAuthorize = (firstTime?: boolean) => this.dispatchAction('requestAuthorize', firstTime);\n\n loginWithRedirect = (params?: Record<string, string>,\n shouldRedirectToLogin?: boolean,\n firstTime?: boolean,\n loginDirectAction?: LoginDirectAction) => {\n if (this.isHostedLoginCallbackRoute()) {\n return;\n }\n this.dispatchAction('requestHostedLoginAuthorizeV2', {\n additionalParams: params,\n shouldRedirectToLogin: shouldRedirectToLogin ?? true,\n firstTime: firstTime ?? false,\n loginDirectAction,\n });\n this.setState({ isLoading: true });\n };\n preLogin = (payload: IPreLogin) => this.dispatchAction('preLogin', payload);\n postLogin = (payload: IPostLogin) => this.dispatchAction('postLogin', payload);\n login = (payload: ILogin) => this.dispatchAction('login', payload);\n loginWithMfa = (payload: WithCallback<ILoginWithMfa>) => this.dispatchAction('loginWithMfa', payload);\n recoverMfa = (payload: IRecoverMFAToken) => this.dispatchAction('recoverMfa', payload);\n logout = (callback?: () => void) => this.dispatchAction('logout', callback);\n silentLogout = (callback?: () => void) => this.dispatchAction('silentLogout', callback);\n checkIfAllowToRememberMfaDevice = (payload: { mfaToken: string }) =>\n this.dispatchAction('checkIfAllowToRememberMfaDevice', payload);\n\n // Social Logins Actions\n setSocialLoginsState = (state: Partial<SocialLoginState>) => this.dispatchAction('setSocialLoginsState', state);\n resetSocialLoginsState = () => this.dispatchAction('resetSocialLoginsState');\n loadSocialLoginsConfiguration = () => this.dispatchAction('loadSocialLoginsConfiguration');\n loginViaSocialLogin = (payload: ILoginViaSocialLogin) => this.dispatchAction('loginViaSocialLogin', payload);\n setSocialLoginError = (payload: ISetSocialLoginError) => this.dispatchAction('setSocialLoginError', payload);\n\n // Activate Account Actions\n setActivateState = (state: Partial<ActivateAccountState>) => this.dispatchAction('setActivateState', state);\n resetActivateState = () => this.dispatchAction('resetActivateState');\n setActivateStrategyState = (state: Partial<ActivateAccountStrategyState>) =>\n this.dispatchAction('setActivateStrategyState', state);\n activateAccount = (payload: IActivateAccount) => this.dispatchAction('activateAccount', payload);\n resendActivationEmail = (payload: IResendActivationEmail) => this.dispatchAction('resendActivationEmail', payload);\n getActivateAccountStrategy = (\n payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>,\n ) => this.dispatchAction('getActivateAccountStrategy', payload);\n\n // Accept Invitation Actions\n setAcceptInvitationState = (state: Partial<AcceptInvitationState>) =>\n this.dispatchAction('setAcceptInvitationState', state);\n resetAcceptInvitationState = () => this.dispatchAction('resetAcceptInvitationState');\n acceptInvitation = (payload: IAcceptInvitation) => this.dispatchAction('acceptInvitation', payload);\n\n // Forgot Password Actions\n setForgotPasswordState = (state: Partial<ForgotPasswordState>) =>\n this.dispatchAction('setForgotPasswordState', state);\n resetForgotPasswordState = () => this.dispatchAction('resetForgotPasswordState');\n forgotPassword = (payload: IForgotPassword) => this.dispatchAction('forgotPassword', payload);\n resetPassword = (payload: IResetPassword) => this.dispatchAction('resetPassword', payload);\n loadPasswordConfig = (payload?: IGetUserPasswordConfig) => this.dispatchAction('loadPasswordConfig', payload);\n\n // Sign Up Actions\n setSignUpState = (state: Partial<SignUpState>) => this.dispatchAction('setSignUpState', state);\n resetSignUpState = () => this.dispatchAction('resetSignUpState');\n signUpUser = (payload: ISignUpUser) => this.dispatchAction('signUpUser', payload);\n resetSignUpStateSoft = () => this.dispatchAction('resetSignUpStateSoft');\n\n // Profile Actions\n setProfileState = (state: Partial<ProfileState>) => this.dispatchAction('setProfileState', state);\n resetProfileState = () => this.dispatchAction('resetProfileState');\n loadProfile = () => this.dispatchAction('loadProfile');\n saveProfile = (payload: SaveProfilePayload) => this.dispatchAction('saveProfile', payload);\n changePassword = (payload: WithCallback<IChangePassword>) => this.dispatchAction('changePassword', payload);\n\n // SSO actions\n setSSOState = (state: Partial<SSOState>) => this.dispatchAction('setSSOState', state);\n resetSSOState = () => this.dispatchAction('resetSSOState');\n loadSSOConfigurations = () => this.dispatchAction('loadSSOConfigurations');\n loadSSOAuthorizationRoles = () => this.dispatchAction('loadSSOAuthorizationRoles');\n saveSSOConfigurations = (payload: SaveSSOConfigurationPayload) =>\n this.dispatchAction('saveSSOConfigurations', payload);\n saveSSOConfigurationsFile = (payload: File[]) => this.dispatchAction('saveSSOConfigurationsFile', payload);\n saveSSOConfigurationsFileWithCallback = (payload: SaveSSOConfigurationFilePayload) =>\n this.dispatchAction('saveSSOConfigurationsFileWithCallback', payload);\n validateSSODomain = (payload?: WithCallback) => this.dispatchAction('validateSSODomain', payload);\n updateSSOAuthorizationRoles = (payload: UpdateSSOAuthorizationRolesPayload) =>\n this.dispatchAction('updateSSOAuthorizationRoles', payload);\n deleteSamlGroup = (payload: DeleteSamlGroupPayload) => this.dispatchAction('deleteSamlGroup', payload);\n createSamlGroup = (payload: CreateSamlGroupPayload) => this.dispatchAction('createSamlGroup', payload);\n oidcPostlogin = (payload: IOidcPostLogin) => this.dispatchAction('oidcPostlogin', payload);\n\n // Mfa actions\n setMfaState = (state: Partial<MFAState>) => this.dispatchAction('setMfaState', state);\n resetMfaState = () => this.dispatchAction('resetMfaState');\n enrollMfa = () => this.dispatchAction('enrollMfa');\n verifyMfa = (payload: WithCallback<IVerifyMfa, string | undefined>) => this.dispatchAction('verifyMfa', payload);\n verifyMfaAfterForce = (payload: WithCallback<ILoginWithMfa, string | undefined>) =>\n this.dispatchAction('verifyMfaAfterForce', payload);\n disableMfa = (payload: WithCallback<IDisableMfa>) => this.dispatchAction('disableMfa', payload);\n\n // Team actions\n setTeamLoader = (payload: TeamStateIndicator) => this.dispatchAction('setTeamLoader', payload);\n setTeamError = (payload: TeamStateIndicator) => this.dispatchAction('setTeamError', payload);\n setTeamState = (payload: Partial<TeamState>) => this.dispatchAction('setTeamState', payload);\n resetTeamState = () => this.dispatchAction('resetTeamState');\n loadUsers = (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) =>\n this.dispatchAction('loadUsers', payload);\n loadRoles = (payload?: LoadRolesAndPermissionsPayload) => this.dispatchAction('loadRoles', payload);\n addUser = (payload: WithCallback<IAddUser, ITeamUser>) => this.dispatchAction('addUser', payload);\n updateUser = (payload: WithCallback<IUpdateUser, ITeamUser>) => this.dispatchAction('updateUser', payload);\n deleteUser = (payload: WithCallback<IDeleteUser>) => this.dispatchAction('deleteUser', payload);\n resendActivationLink = (payload: WithCallback<IResendActivationLink>) =>\n this.dispatchAction('resendActivationLink', payload);\n resendInvitationLink = (payload: WithCallback<IResendInvitationLink>) =>\n this.dispatchAction('resendInvitationLink', payload);\n openAddUserDialog = (payload?: ISetAddUserDialog) => this.dispatchAction('openAddUserDialog', payload);\n closeAddUserDialog = (payload?: any) => this.dispatchAction('closeAddUserDialog', payload);\n openDeleteUserDialog = (payload?: ISetDeleteUserDialog) => this.dispatchAction('openDeleteUserDialog', payload);\n closeDeleteUserDialog = (payload?: any) => this.dispatchAction('closeDeleteUserDialog', payload);\n\n // API Token Actions\n setApiTokensLoader = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensLoader', payload);\n setApiTokensError = (payload: ApiStateIndicator) => this.dispatchAction('setApiTokensError', payload);\n setApiTokensState = (state: Partial<ApiTokensState>) => this.dispatchAction('setApiTokensState', state);\n resetApiTokensState = () => this.dispatchAction('resetApiTokensState');\n loadApiTokens = (payload?: WithSilentLoad<WithCallback>) => this.dispatchAction('loadApiTokens', payload);\n initApiTokensData = (payload: ApiTokenType) => this.dispatchAction('initApiTokensData', payload);\n addTenantApiToken = (payload: AddTenantApiTokenPayload) => this.dispatchAction('addTenantApiToken', payload);\n addUserApiToken = (payload: AddUserApiTokenPayload) => this.dispatchAction('addUserApiToken', payload);\n deleteUserApiToken = (payload: string) => this.dispatchAction('deleteUserApiToken', payload);\n deleteTenantApiToken = (payload: string) => this.dispatchAction('deleteTenantApiToken', payload);\n\n // Security Policy Actions\n setSecurityPolicyState = (state: Partial<SecurityPolicyState>) =>\n this.dispatchAction('setSecurityPolicyState', state);\n setSecurityPolicyGlobalState = (state: Partial<GlobalPolicyState>) =>\n this.dispatchAction('setSecurityPolicyGlobalState', state);\n setSecurityPolicyPublicState = (state: Partial<PublicPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPublicState', state);\n setSecurityPolicyMfaState = (state: Partial<MfaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyMfaState', state);\n setSecurityPolicyLockoutState = (state: Partial<LockoutPolicyState>) =>\n this.dispatchAction('setSecurityPolicyLockoutState', state);\n setSecurityPolicyCaptchaState = (state: Partial<CaptchaPolicyState>) =>\n this.dispatchAction('setSecurityPolicyCaptchaState', state);\n setSecurityPolicyPasswordHistoryState = (state: Partial<PasswordHistoryPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordHistoryState', state);\n resetSecurityPolicyState = () => this.dispatchAction('resetSecurityPolicyState');\n setSecurityPolicyPasswordState = (state: Partial<PasswordPolicyState>) =>\n this.dispatchAction('setSecurityPolicyPasswordState', state);\n loadSecurityPolicy = () => this.dispatchAction('loadSecurityPolicy');\n loadPublicSecurityPolicy = () => this.dispatchAction('loadPublicSecurityPolicy');\n loadVendorPasswordConfig = () => this.dispatchAction('loadVendorPasswordConfig');\n loadSecurityPolicyMfa = () => this.dispatchAction('loadSecurityPolicyMfa');\n saveSecurityPolicyMfa = (payload: SaveSecurityPolicyMfaPayload) =>\n this.dispatchAction('saveSecurityPolicyMfa', payload);\n loadSecurityPolicyLockout = () => this.dispatchAction('loadSecurityPolicyLockout');\n saveSecurityPolicyLockout = (payload: SaveSecurityPolicyLockoutPayload) =>\n this.dispatchAction('saveSecurityPolicyLockout', payload);\n loadSecurityPolicyCaptcha = () => this.dispatchAction('loadSecurityPolicyCaptcha');\n loadSecurityPolicyPasswordHistory = () => this.dispatchAction('loadSecurityPolicyPasswordHistory');\n saveSecurityPolicyPasswordHistory = (payload: SaveSecurityPolicyPasswordHistoryPayload) =>\n this.dispatchAction('saveSecurityPolicyPasswordHistory', payload);\n\n // Account Settings Actions\n setAccountSettingsState = (state: Partial<AccountSettingsState>) =>\n this.dispatchAction('setAccountSettingsState', state);\n resetAccountSettingsState = () => this.dispatchAction('resetAccountSettingsState');\n loadAccountSettings = (payload?: WithCallback<WithSilentLoad<{}>>) =>\n this.dispatchAction('loadAccountSettings', payload);\n saveAccountSettings = (payload: WithCallback<ISettingsResponse, ISettingsResponse>) =>\n this.dispatchAction('saveAccountSettings', payload);\n\n // Tenants Actions\n setTenantsState = (state: Partial<TenantsState>) => this.dispatchAction('setTenantsState', state);\n resetTenantsState = () => this.dispatchAction('resetTenantsState');\n switchTenant = (payload: WithCallback<ISwitchTenant>) => this.dispatchAction('switchTenant', payload);\n loadTenants = (payload?: WithCallback<{}, ITenantsResponse[]>) => this.dispatchAction('loadTenants', payload);\n\n // Roles Actions\n setRolesState = (state: RolesState) => this.dispatchAction('setRolesState', state);\n resetRolesState = () => this.dispatchAction('resetRolesState');\n loadRolesAndPermissions = (payload?: WithSilentLoad<{}>) => this.dispatchAction('loadRolesAndPermissions', payload);\n addRole = (payload: WithCallback<IAddRole, IRole>) => this.dispatchAction('addRole', payload);\n updateRole = (payload: WithCallback<IUpdateRole, IRole>) => this.dispatchAction('updateRole', payload);\n deleteRole = (payload: WithCallback<IDeleteRole>) => this.dispatchAction('deleteRole', payload);\n attachPermissionsToRole = (payload: WithCallback<IAttachPermissionsToRole, IRole>) =>\n this.dispatchAction('attachPermissionsToRole', payload);\n\n attachPermissionToRoles = (\n payload: WithCallback<{\n permissionId: string;\n roleIds: string[];\n },\n IRolePermission>,\n ) => this.dispatchAction('attachPermissionToRoles', payload);\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggBaseGuard } from './frontegg-base-guard';\nimport { FronteggAppService } from '../frontegg-app.service';\nimport { FronteggAuthService } from '../frontegg-auth.service';\nimport { runNgZoneIfNeeded } from '../frontegg.utils';\n\n@Injectable()\nexport class FronteggAuthGuard extends FronteggBaseGuard {\n\n constructor(protected fronteggAppService: FronteggAppService, protected fronteggAuthService: FronteggAuthService,\n protected router: Router, protected ngZone: NgZone) {\n super();\n }\n\n\n /**\n * Wait for loader to finish\n * @private\n */\n private waitForLoader(): Promise<boolean> {\n return new Promise((resolve) => {\n const subscription = this.fronteggAppService.isLoading$.subscribe((isLoading) => {\n if (!isLoading) {\n resolve(true);\n subscription.unsubscribe();\n }\n });\n });\n }\n\n /**\n * Navigate to login page if user is not authenticated\n * @private\n */\n private async navigateToLoginIfNeeded(redirectUrl: string): Promise<boolean> {\n const { isAuthenticated } = this.fronteggAuthService.getAuthState();\n if (!isAuthenticated) {\n if (this.fronteggAppService.fronteggApp.options.hostedLoginBox) {\n localStorage.setItem('FRONTEGG_AFTER_AUTH_REDIRECT_URL', redirectUrl);\n this.fronteggAuthService.loginWithRedirect({ prompt: 'login' });\n return false;\n } else {\n return this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(redirectUrl));\n }\n }\n return true; // activate navigation\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n const redirectUrl = state.url;\n const { isLoading } = this.fronteggAuthService.getAuthState();\n\n if (!isLoading) {\n // if showLoader false\n // check if user is authenticated\n return this.navigateToLoginIfNeeded(redirectUrl);\n }\n\n // wait for loader to finish and then check if user is authenticated\n return new Promise<boolean>(async (resolve, reject) => {\n await this.waitForLoader();\n\n runNgZoneIfNeeded(this.ngZone, () => {\n this.navigateToLoginIfNeeded(redirectUrl).then(resolve).catch(reject);\n });\n });\n }\n}\n","import {\n AfterContentInit,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { FronteggAuthService } from '../frontegg-auth.service';\n\n@Directive({\n selector: '[authorizedContent]',\n})\nexport class AuthorizedContentDirective implements AfterContentInit {\n private roles: string[] = [];\n\n constructor(\n private templateRef: TemplateRef<any>,\n private viewContainer: ViewContainerRef,\n private fronteggAuthService: FronteggAuthService,\n ) {\n }\n\n @Input()\n set authorizedContent(roles: string[]) {\n this.roles = roles;\n }\n\n ngAfterContentInit(): void {\n this.fronteggAuthService.user$.subscribe((user) => {\n if (user?.roles?.some((role) => this.roles.includes(role.name))) {\n this.viewContainer.createEmbeddedView(this.templateRef);\n } else {\n this.viewContainer.clear();\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FronteggAppService } from './frontegg-app.service';\nimport FastDeepEqual from 'fast-deep-equal';\nimport { SubscriptionsState, SubscriptionState } from '@frontegg/redux-store';\n\nexport interface CheckoutDialogState {\n loading: boolean;\n open: boolean;\n success: boolean;\n error: string | null;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggSubscriptionService {\n private subscriptionStateSubject = new BehaviorSubject<SubscriptionState>({} as SubscriptionState);\n\n private checkoutStateSubject = new BehaviorSubject<CheckoutDialogState>({\n loading: false,\n open: false,\n success: false,\n error: null,\n });\n\n get subscriptionState$(): Observable<SubscriptionState> {\n return this.subscriptionStateSubject.asObservable();\n }\n\n get checkoutState$(): Observable<CheckoutDialogState> {\n return this.checkoutStateSubject.asObservable();\n }\n\n constructor(private fronteggAppService: FronteggAppService) {\n // Memoized Subscription State\n this.fronteggAppService.subscriptionsState$.subscribe((subscriptionState: SubscriptionsState) => {\n if (subscriptionState != null) {\n const { billing: { subscription }, checkout: checkoutState } = subscriptionState;\n\n if (!FastDeepEqual(this.subscriptionStateSubject.getValue(), subscription)) {\n this.subscriptionStateSubject.next(subscription);\n }\n\n const checkoutSubjectState = this.checkoutStateSubject.getValue();\n if (checkoutSubjectState.loading !== checkoutState.loading) {\n this.checkoutStateSubject.next({\n ...checkoutSubjectState,\n loading: checkoutState.loading,\n });\n }\n }\n });\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store = this.fronteggAppService.fronteggApp.store;\n // @ts-ignore\n store.dispatch({ type: `${subscriptionsStoreName}/${type}`, payload });\n }\n\n public loadSubscription = () => this.dispatchAction('billing/subscription/loadSubscription');\n\n public openCheckout = (plan: string): void => {\n this.checkoutStateSubject.next({\n loading: false,\n open: true,\n success: false,\n error: null,\n });\n this.fronteggAppService.showCheckoutDialog({\n plan,\n onSuccess: () => {\n this.checkoutStateSubject.next({\n loading: false,\n open: false,\n success: true,\n error: null,\n });\n },\n onError: (error) => {\n const checkoutState = this.checkoutStateSubject.value;\n this.checkoutStateSubject.next({\n ...checkoutState,\n error,\n });\n },\n onClose: () => {\n const checkoutState = this.checkoutStateSubject.value;\n this.checkoutStateSubject.next({\n ...checkoutState,\n open: false,\n });\n },\n });\n };\n\n public hideCheckout = (): void => {\n this.fronteggAppService.hideCheckoutDialog();\n };\n}\n","import { Subscription, PartialObserver } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Entitlement, CustomAttributes, EntitledToOptions, LoadEntitlementsCallback } from '@frontegg/types';\nimport { NotEntitledJustification } from '@frontegg/rest-api';\nimport { FronteggAppService } from './frontegg-app.service';\nimport { FronteggUserSubscriptionService, User } from './frontegg-user-subscription.service';\n\n/**\n * An entitlements service for:\n * 1. Managing state subscription.\n * 2. Querying about feature and permission entitlements state.\n * 3. Load entitlements on demand.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggEntitlementsService {\n constructor(private fronteggAppService: FronteggAppService, private fronteggUserSubscriptionService: FronteggUserSubscriptionService) {\n }\n\n /**\n * @param feature featureKey\n * @param observer For receiving the feature entitlements result including if the user is entitled to the given feature.\n * Attaching the justification if not entitled\n * @param customAttributes consumer attributes\n * @returns a subscription to be able to unsubscribe\n * @throws when entitlement is not enabled via frontegg options\n */\n public featureEntitlements$(feature: string, observer: PartialObserver<Entitlement>, customAttributes?: CustomAttributes): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<Entitlement>(\n (user: User) => {\n // the entitlemenets-common npm doesn't know to overcome the case of signed out user, then we get console errors\n if (user) {\n return this.fronteggAppService.fronteggApp.getFeatureEntitlements(feature, customAttributes);\n }\n return { isEntitled: false, justification: NotEntitledJustification.MISSING_FEATURE };\n },\n observer,\n );\n }\n\n /**\n * @param permission permission key\n * @param observer For receiving the permission entitlements result including if the user is entitled to the given permission.\n * Attaching the justification if not entitled\n * @param customAttributes consumer attributes\n * @returns a subscription to be able to unsubscribe\n */\n public permissionEntitlements$(permission: string,\n observer: PartialObserver<Entitlement>,\n customAttributes?: CustomAttributes): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<Entitlement>(\n (user: User) => {\n if (user) {\n return this.fronteggAppService.fronteggApp.getPermissionEntitlements(permission, customAttributes);\n }\n return { isEntitled: false, justification: NotEntitledJustification.MISSING_PERMISSION };\n },\n observer,\n );\n }\n\n /**\n * @param options permissionKey or featureKey in an options object\n * @param observer For receiving the permission entitlements result including if the user is entitled to the given permission.\n * Attaching the justification if not entitled\n * @param customAttributes consumer attributes\n * @returns a subscription to be able to unsubscribe\n */\n public entitlements$(options: EntitledToOptions,\n observer: PartialObserver<Entitlement>,\n customAttributes?: CustomAttributes): Subscription {\n return this.fronteggUserSubscriptionService.getUserManipulatorSubscription<Entitlement>(\n (user: User) => {\n if (user) {\n return this.fronteggAppService.fronteggApp.getEntitlements(options, customAttributes);\n }\n\n const justification = 'featureKey' in options ?\n NotEntitledJustification.MISSING_FEATURE : NotEntitledJustification.MISSING_PERMISSION;\n\n return { isEntitled: false, justification };\n },\n observer,\n );\n }\n\n /**\n * Load entitlements data on demand\n * @param callback called on request completed with true if succeeded, false if failed\n */\n public loadEntitlements(callback?: LoadEntitlementsCallback): void {\n this.fronteggAppService.fronteggApp.loadEntitlements(callback);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggAppOptionsClass, FronteggAppService, FronteggLoadGuard } from './frontegg-app.service';\nimport { FronteggComponent } from './frontegg.component';\nimport { FronteggAuthGuard } from './guards/frontegg-auth.guard';\nimport { FronteggAuthService } from './frontegg-auth.service';\nimport { AuthorizedContentDirective } from './directives/authorized-content.directive';\nimport { FronteggSubscriptionService } from './frontegg-subscription.services';\nimport { FronteggEntitlementsService } from './frontegg-entitlements.service';\nimport { FronteggUserSubscriptionService } from './frontegg-user-subscription.service';\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n declarations: [FronteggComponent, AuthorizedContentDirective],\n exports: [FronteggComponent, AuthorizedContentDirective],\n})\nexport class FronteggAppModule {\n static forRoot(config: FronteggAppOptions): ModuleWithProviders<FronteggAppModule> {\n return {\n ngModule: FronteggAppModule,\n providers: [\n FronteggAppService,\n FronteggAuthGuard,\n FronteggLoadGuard,\n FronteggAuthService,\n FronteggEntitlementsService,\n FronteggSubscriptionService,\n FronteggUserSubscriptionService,\n {\n provide: FronteggAppOptionsClass,\n useValue: config,\n },\n ],\n };\n }\n}\n","/*\n * Public API Surface of frontegg-app\n */\n\nexport { FronteggAppModule } from './lib/frontegg-app.module';\nexport { FronteggAppService } from './lib/frontegg-app.service';\nexport { FronteggComponent } from './lib/frontegg.component';\nexport { FronteggAuthService } from './lib/frontegg-auth.service';\nexport { FronteggEntitlementsService } from './lib/frontegg-entitlements.service';\nexport { FronteggSubscriptionService } from './lib/frontegg-subscription.services';\nexport * from './lib/directives/authorized-content.directive';\nexport * from './lib/guards/frontegg-auth.guard';\nexport { ContextHolder } from '@frontegg/rest-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Component","BehaviorSubject","isAuthRoute","FronteggFrameworks","angularCoreVersion","ContextHolder","initialize","i1","Injectable","Inject","Observable","DefaultUrlSerializer","NgZone","i1.FronteggAppService","FastDeepEqual","i2","i3.FronteggUserSubscriptionService","i2.FronteggAuthService","i3","i1.FronteggAuthService","Directive","Input","NotEntitledJustification","i2.FronteggUserSubscriptionService","CommonModule","RouterModule","NgModule"],"mappings":"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"}
|