@frontegg/angular 4.6.0-alpha.1692469171 → 4.7.0-alpha.1707025697
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/frontegg-angular.umd.js +23 -19
- package/bundles/frontegg-angular.umd.js.map +1 -1
- package/bundles/frontegg-angular.umd.min.js +1 -1
- package/bundles/frontegg-angular.umd.min.js.map +1 -1
- package/esm2015/lib/frontegg-app.service.js +5 -2
- package/esm2015/lib/guards/frontegg-auth.guard.js +15 -15
- package/fesm2015/frontegg-angular.js +18 -14
- package/fesm2015/frontegg-angular.js.map +1 -1
- package/frontegg-angular.metadata.json +1 -1
- package/lib/frontegg-app.service.d.ts.map +1 -1
- package/lib/guards/frontegg-auth.guard.d.ts +1 -2
- package/lib/guards/frontegg-auth.guard.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/router"),require("@frontegg/admin-portal"),require("rxjs"),require("@frontegg/rest-api"),require("fast-deep-equal"),require("@frontegg/redux-store"),require("@angular/common")):"function"==typeof define&&define.amd?define("@frontegg/angular",["exports","@angular/core","@angular/router","@frontegg/admin-portal","rxjs","@frontegg/rest-api","fast-deep-equal","@frontegg/redux-store","@angular/common"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).frontegg=t.frontegg||{},t.frontegg.angular={}),t.ng.core,t.ng.router,t.FronteggAdminPortal,t.rxjs,t.FronteggRestApi,t.FastDeepEqual,t.FronteggReduxStore,t.ng.common)}(this,(function(t,e,i,n,o,r,c,a,s){"use strict";function u(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function l(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var h=l(e),f=l(i),p=u(c),S=function(t,e){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)};Object.create;function d(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],n=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function b(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,o,r=i.call(t),c=[];try{for(;(void 0===e||e-- >0)&&!(n=r.next()).done;)c.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(i=r.return)&&i.call(r)}finally{if(o)throw o.error}}return c}function g(t,e){for(var i=0,n=e.length,o=t.length;i<n;i++,o++)t[o]=e[i];return t}Object.create;var A=function(){function t(t){this.fronteggAppService=t}return t.prototype.canActivate=function(t,e){var i=this;return new o.Observable((function(t){i.fronteggAppService.isLoading$.subscribe((function(e){e||t.next(!0)}))}))},t}();A.decorators=[{type:e.Injectable}],A.ctorParameters=function(){return[{type:j}]};var y=function(){};y.decorators=[{type:e.Component,args:[{selector:"frontegg",template:""}]}];var v=function(){this.contextOptions={baseUrl:"https://david.frontegg.com"}},j=function(){function t(t,e,i){var c=this;if(this.config=t,this.router=e,this.ngZone=i,this.isLoadingSubject=new o.BehaviorSubject(!0),this.isAuthenticatedSubject=new o.BehaviorSubject(!1),this.stateSubject=new o.BehaviorSubject({}),this.authStateSubject=new o.BehaviorSubject({}),this.auditsStateSubject=new o.BehaviorSubject({}),this.connectivityStateSubject=new o.BehaviorSubject({}),this.subscriptionsStateSubject=new o.BehaviorSubject({}),this.vendorStateSubject=new o.BehaviorSubject({}),!this.config)throw Error("Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)");var a=function(t,e){var i=window.location.origin,n=t;n.startsWith(i)&&"/"!==i&&(n=n.substring(i.length-1)),(null==e?void 0:e.refresh)?window.location.href=n:c.ngZone.run((function(){(null==e?void 0:e.replace)?c.router.navigateByUrl(n,{replaceUrl:!0}):c.router.navigateByUrl(n)}))};r.ContextHolder.setOnRedirectTo(a),this.fronteggApp=n.initialize(Object.assign({onRedirectTo:a},this.config)),this.router.resetConfig(g(g([],b(this.mapAuthComponents)),[{path:"",canActivate:[A],children:g([],b(this.router.config))}])),this.fronteggApp.store.subscribe((function(){var t=c.fronteggApp.store.getState();c.isLoadingSubject.getValue()!==t.auth.isLoading&&c.isLoadingSubject.next(t.auth.isLoading),c.isAuthenticatedSubject.getValue()!==t.auth.isAuthenticated&&c.isAuthenticatedSubject.next(t.auth.isAuthenticated),c.stateSubject.next(t),c.authStateSubject.next(t.auth),c.auditsStateSubject.next(t.audits),c.connectivityStateSubject.next(t.connectivity),c.subscriptionsStateSubject.next(t.subscriptions),c.vendorStateSubject.next(t.vendor)}))}return Object.defineProperty(t.prototype,"state$",{get:function(){return this.stateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"authState$",{get:function(){return this.authStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"auditsState$",{get:function(){return this.auditsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"connectivityState$",{get:function(){return this.connectivityStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"subscriptionsState$",{get:function(){return this.subscriptionsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"vendorState$",{get:function(){return this.vendorStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isLoading$",{get:function(){return this.isLoadingSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isAuthenticated$",{get:function(){return this.isAuthenticatedSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mapAuthComponents",{get:function(){var t=this.authRoutes;return Object.keys(t).filter((function(t){return"authenticatedUrl"!==t&&"signUpSuccessUrl"!==t&&null!=t})).map((function(e){var i;return{path:null===(i=t[e])||void 0===i?void 0:i.substring(1),component:y}}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"authRoutes",{get:function(){return this.fronteggApp.store.getState().auth.routes},enumerable:!1,configurable:!0}),t.prototype.showAdminPortal=function(){this.fronteggApp.showAdminPortal()},t.prototype.hideAdminPortal=function(){var t;null===(t=this.fronteggApp)||void 0===t||t.hideAdminPortal()},t}();j.ɵprov=h.ɵɵdefineInjectable({factory:function(){return new j(h.ɵɵinject(v),h.ɵɵinject(f.Router),h.ɵɵinject(h.NgZone))},token:j,providedIn:"root"}),j.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],j.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[v]}]},{type:i.Router},{type:e.NgZone}]};var P=function(){function t(t){var e=this;this.fronteggAppService=t,this.acceptInvitationStateSubject=new o.BehaviorSubject({}),this.accountSettingsStateSubject=new o.BehaviorSubject({}),this.activateStateSubject=new o.BehaviorSubject({}),this.apiTokensStateSubject=new o.BehaviorSubject({}),this.forgotPasswordStateSubject=new o.BehaviorSubject({}),this.loginStateSubject=new o.BehaviorSubject({}),this.mfaStateSubject=new o.BehaviorSubject({}),this.profileStateSubject=new o.BehaviorSubject({}),this.rolesStateSubject=new o.BehaviorSubject({}),this.routesSubject=new o.BehaviorSubject({}),this.securityPolicyStateSubject=new o.BehaviorSubject({}),this.signUpStateSubject=new o.BehaviorSubject({}),this.socialLoginStateSubject=new o.BehaviorSubject({}),this.ssoStateSubject=new o.BehaviorSubject({}),this.teamStateSubject=new o.BehaviorSubject({}),this.tenantsStateSubject=new o.BehaviorSubject({}),this.userSubject=new o.BehaviorSubject({}),this.isAuthenticatedSubject=new o.BehaviorSubject(!1),this.isLoadingSubject=new o.BehaviorSubject(!0),this.isSSOAuthSubject=new o.BehaviorSubject(!1),this.ssoACSSubject=new o.BehaviorSubject(""),this.setState=function(t){return e.dispatchAction("setState",t)},this.resetState=function(){return e.dispatchAction("resetState")},this.setUser=function(t){return e.dispatchAction("setUser",t)},this.setLoginState=function(t){return e.dispatchAction("setLoginState",t)},this.resetLoginState=function(){return e.dispatchAction("resetLoginState")},this.requestAuthorize=function(t){return e.dispatchAction("requestAuthorize",t)},this.loginWithRedirect=function(){return e.dispatchAction("requestHostedLoginAuthorize")},this.preLogin=function(t){return e.dispatchAction("preLogin",t)},this.postLogin=function(t){return e.dispatchAction("postLogin",t)},this.login=function(t){return e.dispatchAction("login",t)},this.loginWithMfa=function(t){return e.dispatchAction("loginWithMfa",t)},this.recoverMfa=function(t){return e.dispatchAction("recoverMfa",t)},this.logout=function(t){return e.dispatchAction("logout",t)},this.silentLogout=function(t){return e.dispatchAction("silentLogout",t)},this.checkIfAllowToRememberMfaDevice=function(t){return e.dispatchAction("checkIfAllowToRememberMfaDevice",t)},this.setSocialLoginsState=function(t){return e.dispatchAction("setSocialLoginsState",t)},this.resetSocialLoginsState=function(){return e.dispatchAction("resetSocialLoginsState")},this.loadSocialLoginsConfiguration=function(){return e.dispatchAction("loadSocialLoginsConfiguration")},this.loginViaSocialLogin=function(t){return e.dispatchAction("loginViaSocialLogin",t)},this.setSocialLoginError=function(t){return e.dispatchAction("setSocialLoginError",t)},this.setActivateState=function(t){return e.dispatchAction("setActivateState",t)},this.resetActivateState=function(){return e.dispatchAction("resetActivateState")},this.setActivateStrategyState=function(t){return e.dispatchAction("setActivateStrategyState",t)},this.activateAccount=function(t){return e.dispatchAction("activateAccount",t)},this.resendActivationEmail=function(t){return e.dispatchAction("resendActivationEmail",t)},this.getActivateAccountStrategy=function(t){return e.dispatchAction("getActivateAccountStrategy",t)},this.setAcceptInvitationState=function(t){return e.dispatchAction("setAcceptInvitationState",t)},this.resetAcceptInvitationState=function(){return e.dispatchAction("resetAcceptInvitationState")},this.acceptInvitation=function(t){return e.dispatchAction("acceptInvitation",t)},this.setForgotPasswordState=function(t){return e.dispatchAction("setForgotPasswordState",t)},this.resetForgotPasswordState=function(){return e.dispatchAction("resetForgotPasswordState")},this.forgotPassword=function(t){return e.dispatchAction("forgotPassword",t)},this.resetPassword=function(t){return e.dispatchAction("resetPassword",t)},this.loadPasswordConfig=function(t){return e.dispatchAction("loadPasswordConfig",t)},this.setSignUpState=function(t){return e.dispatchAction("setSignUpState",t)},this.resetSignUpState=function(){return e.dispatchAction("resetSignUpState")},this.signUpUser=function(t){return e.dispatchAction("signUpUser",t)},this.resetSignUpStateSoft=function(){return e.dispatchAction("resetSignUpStateSoft")},this.setProfileState=function(t){return e.dispatchAction("setProfileState",t)},this.resetProfileState=function(){return e.dispatchAction("resetProfileState")},this.loadProfile=function(){return e.dispatchAction("loadProfile")},this.saveProfile=function(t){return e.dispatchAction("saveProfile",t)},this.changePassword=function(t){return e.dispatchAction("changePassword",t)},this.setSSOState=function(t){return e.dispatchAction("setSSOState",t)},this.resetSSOState=function(){return e.dispatchAction("resetSSOState")},this.loadSSOConfigurations=function(){return e.dispatchAction("loadSSOConfigurations")},this.loadSSOAuthorizationRoles=function(){return e.dispatchAction("loadSSOAuthorizationRoles")},this.saveSSOConfigurations=function(t){return e.dispatchAction("saveSSOConfigurations",t)},this.saveSSOConfigurationsFile=function(t){return e.dispatchAction("saveSSOConfigurationsFile",t)},this.saveSSOConfigurationsFileWithCallback=function(t){return e.dispatchAction("saveSSOConfigurationsFileWithCallback",t)},this.validateSSODomain=function(t){return e.dispatchAction("validateSSODomain",t)},this.updateSSOAuthorizationRoles=function(t){return e.dispatchAction("updateSSOAuthorizationRoles",t)},this.deleteSamlGroup=function(t){return e.dispatchAction("deleteSamlGroup",t)},this.createSamlGroup=function(t){return e.dispatchAction("createSamlGroup",t)},this.oidcPostlogin=function(t){return e.dispatchAction("oidcPostlogin",t)},this.setMfaState=function(t){return e.dispatchAction("setMfaState",t)},this.resetMfaState=function(){return e.dispatchAction("resetMfaState")},this.enrollMfa=function(){return e.dispatchAction("enrollMfa")},this.verifyMfa=function(t){return e.dispatchAction("verifyMfa",t)},this.verifyMfaAfterForce=function(t){return e.dispatchAction("verifyMfaAfterForce",t)},this.disableMfa=function(t){return e.dispatchAction("disableMfa",t)},this.setTeamLoader=function(t){return e.dispatchAction("setTeamLoader",t)},this.setTeamError=function(t){return e.dispatchAction("setTeamError",t)},this.setTeamState=function(t){return e.dispatchAction("setTeamState",t)},this.resetTeamState=function(){return e.dispatchAction("resetTeamState")},this.loadUsers=function(t){return e.dispatchAction("loadUsers",t)},this.loadRoles=function(t){return e.dispatchAction("loadRoles",t)},this.addUser=function(t){return e.dispatchAction("addUser",t)},this.updateUser=function(t){return e.dispatchAction("updateUser",t)},this.deleteUser=function(t){return e.dispatchAction("deleteUser",t)},this.resendActivationLink=function(t){return e.dispatchAction("resendActivationLink",t)},this.resendInvitationLink=function(t){return e.dispatchAction("resendInvitationLink",t)},this.openAddUserDialog=function(t){return e.dispatchAction("openAddUserDialog",t)},this.closeAddUserDialog=function(t){return e.dispatchAction("closeAddUserDialog",t)},this.openDeleteUserDialog=function(t){return e.dispatchAction("openDeleteUserDialog",t)},this.closeDeleteUserDialog=function(t){return e.dispatchAction("closeDeleteUserDialog",t)},this.setApiTokensLoader=function(t){return e.dispatchAction("setApiTokensLoader",t)},this.setApiTokensError=function(t){return e.dispatchAction("setApiTokensError",t)},this.setApiTokensState=function(t){return e.dispatchAction("setApiTokensState",t)},this.resetApiTokensState=function(){return e.dispatchAction("resetApiTokensState")},this.loadApiTokens=function(t){return e.dispatchAction("loadApiTokens",t)},this.initApiTokensData=function(t){return e.dispatchAction("initApiTokensData",t)},this.addTenantApiToken=function(t){return e.dispatchAction("addTenantApiToken",t)},this.addUserApiToken=function(t){return e.dispatchAction("addUserApiToken",t)},this.deleteUserApiToken=function(t){return e.dispatchAction("deleteUserApiToken",t)},this.deleteTenantApiToken=function(t){return e.dispatchAction("deleteTenantApiToken",t)},this.setSecurityPolicyState=function(t){return e.dispatchAction("setSecurityPolicyState",t)},this.setSecurityPolicyGlobalState=function(t){return e.dispatchAction("setSecurityPolicyGlobalState",t)},this.setSecurityPolicyPublicState=function(t){return e.dispatchAction("setSecurityPolicyPublicState",t)},this.setSecurityPolicyMfaState=function(t){return e.dispatchAction("setSecurityPolicyMfaState",t)},this.setSecurityPolicyLockoutState=function(t){return e.dispatchAction("setSecurityPolicyLockoutState",t)},this.setSecurityPolicyCaptchaState=function(t){return e.dispatchAction("setSecurityPolicyCaptchaState",t)},this.setSecurityPolicyPasswordHistoryState=function(t){return e.dispatchAction("setSecurityPolicyPasswordHistoryState",t)},this.resetSecurityPolicyState=function(){return e.dispatchAction("resetSecurityPolicyState")},this.setSecurityPolicyPasswordState=function(t){return e.dispatchAction("setSecurityPolicyPasswordState",t)},this.loadSecurityPolicy=function(){return e.dispatchAction("loadSecurityPolicy")},this.loadPublicSecurityPolicy=function(){return e.dispatchAction("loadPublicSecurityPolicy")},this.loadVendorPasswordConfig=function(){return e.dispatchAction("loadVendorPasswordConfig")},this.loadSecurityPolicyMfa=function(){return e.dispatchAction("loadSecurityPolicyMfa")},this.saveSecurityPolicyMfa=function(t){return e.dispatchAction("saveSecurityPolicyMfa",t)},this.loadSecurityPolicyLockout=function(){return e.dispatchAction("loadSecurityPolicyLockout")},this.saveSecurityPolicyLockout=function(t){return e.dispatchAction("saveSecurityPolicyLockout",t)},this.loadSecurityPolicyCaptcha=function(){return e.dispatchAction("loadSecurityPolicyCaptcha")},this.loadSecurityPolicyPasswordHistory=function(){return e.dispatchAction("loadSecurityPolicyPasswordHistory")},this.saveSecurityPolicyPasswordHistory=function(t){return e.dispatchAction("saveSecurityPolicyPasswordHistory",t)},this.setAccountSettingsState=function(t){return e.dispatchAction("setAccountSettingsState",t)},this.resetAccountSettingsState=function(){return e.dispatchAction("resetAccountSettingsState")},this.loadAccountSettings=function(t){return e.dispatchAction("loadAccountSettings",t)},this.saveAccountSettings=function(t){return e.dispatchAction("saveAccountSettings",t)},this.setTenantsState=function(t){return e.dispatchAction("setTenantsState",t)},this.resetTenantsState=function(){return e.dispatchAction("resetTenantsState")},this.switchTenant=function(t){return e.dispatchAction("switchTenant",t)},this.loadTenants=function(t){return e.dispatchAction("loadTenants",t)},this.setRolesState=function(t){return e.dispatchAction("setRolesState",t)},this.resetRolesState=function(){return e.dispatchAction("resetRolesState")},this.loadRolesAndPermissions=function(t){return e.dispatchAction("loadRolesAndPermissions",t)},this.addRole=function(t){return e.dispatchAction("addRole",t)},this.updateRole=function(t){return e.dispatchAction("updateRole",t)},this.deleteRole=function(t){return e.dispatchAction("deleteRole",t)},this.attachPermissionsToRole=function(t){return e.dispatchAction("attachPermissionsToRole",t)},this.attachPermissionToRoles=function(t){return e.dispatchAction("attachPermissionToRoles",t)};var i=[{field:"acceptInvitationState",subject:this.acceptInvitationStateSubject},{field:"accountSettingsState",subject:this.accountSettingsStateSubject},{field:"activateState",subject:this.activateStateSubject},{field:"apiTokensState",subject:this.apiTokensStateSubject},{field:"forgotPasswordState",subject:this.forgotPasswordStateSubject},{field:"tenantsState",subject:this.tenantsStateSubject},{field:"loginState",subject:this.loginStateSubject},{field:"mfaState",subject:this.mfaStateSubject},{field:"profileState",subject:this.profileStateSubject},{field:"rolesState",subject:this.rolesStateSubject},{field:"routes",subject:this.routesSubject},{field:"securityPolicyState",subject:this.securityPolicyStateSubject},{field:"signUpState",subject:this.signUpStateSubject},{field:"socialLoginState",subject:this.socialLoginStateSubject},{field:"ssoState",subject:this.ssoStateSubject},{field:"teamState",subject:this.teamStateSubject},{field:"user",subject:this.userSubject},{field:"isSSOAuth",subject:this.isSSOAuthSubject},{field:"ssoACS",subject:this.ssoACSSubject}];this.fronteggAppService.authState$.subscribe((function(t){var n,o;if(null!=t){try{for(var r=d(i),c=r.next();!c.done;c=r.next()){var a=c.value;p.default(a.subject.getValue(),t[a.field])||a.subject.next(t[a.field])}}catch(t){n={error:t}}finally{try{c&&!c.done&&(o=r.return)&&o.call(r)}finally{if(n)throw n.error}}e.isAuthenticatedSubject.next(t.isAuthenticated),e.isLoadingSubject.next(t.isLoading)}}))}return Object.defineProperty(t.prototype,"acceptInvitationState$",{get:function(){return this.acceptInvitationStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"accountSettingsState$",{get:function(){return this.accountSettingsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"activateState$",{get:function(){return this.activateStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"apiTokensState$",{get:function(){return this.apiTokensStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"forgotPasswordState$",{get:function(){return this.forgotPasswordStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loginState$",{get:function(){return this.loginStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mfaState$",{get:function(){return this.mfaStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"profileState$",{get:function(){return this.profileStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rolesState$",{get:function(){return this.rolesStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"routesState$",{get:function(){return this.routesSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"securityPolicyState$",{get:function(){return this.securityPolicyStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"signUpState$",{get:function(){return this.signUpStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"socialLoginState$",{get:function(){return this.socialLoginStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssoState$",{get:function(){return this.ssoStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"teamState$",{get:function(){return this.teamStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tenantsState$",{get:function(){return this.tenantsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"user$",{get:function(){return this.userSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"user",{get:function(){return this.fronteggAppService.fronteggApp.store.getState().auth.user},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isAuthenticated$",{get:function(){return this.isAuthenticatedSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isAuthenticated",{get:function(){return this.fronteggAppService.fronteggApp.store.getState().auth.isAuthenticated},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isLoading$",{get:function(){return this.isLoadingSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isSSOAuth$",{get:function(){return this.isSSOAuthSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssoACS$",{get:function(){return this.ssoACSSubject.asObservable()},enumerable:!1,configurable:!0}),t.prototype.dispatchAction=function(t,e){this.fronteggAppService.fronteggApp.store.dispatch({type:a.authStoreName+"/"+t,payload:e})},t}();P.ɵprov=h.ɵɵdefineInjectable({factory:function(){return new P(h.ɵɵinject(j))},token:P,providedIn:"root"}),P.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],P.ctorParameters=function(){return[{type:j}]};var m=function(){function t(){}return t.prototype.parse=function(t){return(new i.DefaultUrlSerializer).parse(t)},t.prototype.serialize=function(t){return(new i.DefaultUrlSerializer).serialize(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/").replace(/(https?):\/([\w\d])/gi,"$1://$2")},t}(),O=function(t){function i(i,n,r){var c=t.call(this)||this;return c.fronteggAppService=i,c.router=n,c.ngZone=r,c.authObservable=new o.Observable((function(t){c.fronteggAppService.isAuthenticated$.subscribe((function(i){i?t.next(!0):(e.NgZone.isInAngularZone()?c.navigateToUrl():c.ngZone.run((function(){c.navigateToUrl()})),t.next(!1))}))})),c}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}S(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(i,t),i.prototype.navigateToUrl=function(){var t=this.router.routerState.snapshot.url;this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl+"?redirectUrl="+encodeURIComponent(t))},i.prototype.canActivate=function(t,e){return this.authObservable},i}(m);O.decorators=[{type:e.Injectable}],O.ctorParameters=function(){return[{type:j},{type:i.Router},{type:e.NgZone}]};var w=function(){function t(t,e,i){this.templateRef=t,this.viewContainer=e,this.fronteggAuthService=i,this._roles=[]}return Object.defineProperty(t.prototype,"authorizedContent",{set:function(t){this._roles=t},enumerable:!1,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.fronteggAuthService.user$.subscribe((function(e){var i;(null===(i=null==e?void 0:e.roles)||void 0===i?void 0:i.some((function(e){return t._roles.includes(e.name)})))?t.viewContainer.createEmbeddedView(t.templateRef):t.viewContainer.clear()}))},t}();w.decorators=[{type:e.Directive,args:[{selector:"[authorizedContent]"}]}],w.ctorParameters=function(){return[{type:e.TemplateRef},{type:e.ViewContainerRef},{type:P}]},w.propDecorators={authorizedContent:[{type:e.Input}]};var T=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[j,O,A,P,{provide:v,useValue:e}]}},t}();T.decorators=[{type:e.NgModule,args:[{imports:[s.CommonModule,i.RouterModule],declarations:[y,w],exports:[y,w]}]}],t.AuthorizedContentDirective=w,t.FronteggAppModule=T,t.FronteggAppService=j,t.FronteggAuthGuard=O,t.FronteggAuthService=P,t.FronteggComponent=y,t.FronteggLoadGuard=A,t.ɵa=v,t.ɵb=m,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/router"),require("@frontegg/admin-portal"),require("rxjs"),require("@frontegg/rest-api"),require("fast-deep-equal"),require("@frontegg/redux-store"),require("@angular/common"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@frontegg/angular",["exports","@angular/core","@angular/router","@frontegg/admin-portal","rxjs","@frontegg/rest-api","fast-deep-equal","@frontegg/redux-store","@angular/common","rxjs/operators"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).frontegg=t.frontegg||{},t.frontegg.angular={}),t.ng.core,t.ng.router,t.FronteggAdminPortal,t.rxjs,t.FronteggRestApi,t.FastDeepEqual,t.FronteggReduxStore,t.ng.common,t.rxjs.operators)}(this,(function(t,e,i,n,o,r,c,a,s,u){"use strict";function h(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function l(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(i){if("default"!==i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}})),e.default=t,Object.freeze(e)}var f=l(e),p=l(i),S=h(c),d=function(t,e){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)};Object.create;function b(t){var e="function"==typeof Symbol&&Symbol.iterator,i=e&&t[e],n=0;if(i)return i.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,o,r=i.call(t),c=[];try{for(;(void 0===e||e-- >0)&&!(n=r.next()).done;)c.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(i=r.return)&&i.call(r)}finally{if(o)throw o.error}}return c}function A(t,e){for(var i=0,n=e.length,o=t.length;i<n;i++,o++)t[o]=e[i];return t}Object.create;var y=function(){function t(t){this.fronteggAppService=t}return t.prototype.canActivate=function(t,e){var i=this;return new o.Observable((function(t){i.fronteggAppService.isLoading$.subscribe((function(e){e||t.next(!0)}))}))},t}();y.decorators=[{type:e.Injectable}],y.ctorParameters=function(){return[{type:P}]};var v=function(){};v.decorators=[{type:e.Component,args:[{selector:"frontegg",template:""}]}];var j=function(){this.contextOptions={baseUrl:"https://sub-domain.frontegg.com"}},P=function(){function t(t,e,i){var c=this;if(this.config=t,this.router=e,this.ngZone=i,this.isLoadingSubject=new o.BehaviorSubject(!0),this.isAuthenticatedSubject=new o.BehaviorSubject(!1),this.stateSubject=new o.BehaviorSubject({}),this.authStateSubject=new o.BehaviorSubject({}),this.auditsStateSubject=new o.BehaviorSubject({}),this.connectivityStateSubject=new o.BehaviorSubject({}),this.subscriptionsStateSubject=new o.BehaviorSubject({}),this.vendorStateSubject=new o.BehaviorSubject({}),!this.config)throw Error("Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)");window.CYPRESS_CONFIG&&(this.config=window.CYPRESS_CONFIG);var a=function(t,e){var i=window.location.origin,n=t;n.startsWith(i)&&"/"!==i&&(n=n.substring(i.length-1)),(null==e?void 0:e.refresh)?window.location.href=n:c.ngZone.run((function(){(null==e?void 0:e.replace)?c.router.navigateByUrl(n,{replaceUrl:!0}):c.router.navigateByUrl(n)}))};r.ContextHolder.setOnRedirectTo(a),this.fronteggApp=n.initialize(Object.assign({onRedirectTo:a},this.config)),this.router.resetConfig(A(A([],g(this.mapAuthComponents)),[{path:"",canActivate:[y],children:A([],g(this.router.config))}])),this.fronteggApp.store.subscribe((function(){var t=c.fronteggApp.store.getState();c.isLoadingSubject.getValue()!==t.auth.isLoading&&c.isLoadingSubject.next(t.auth.isLoading),c.isAuthenticatedSubject.getValue()!==t.auth.isAuthenticated&&c.isAuthenticatedSubject.next(t.auth.isAuthenticated),c.stateSubject.next(t),c.authStateSubject.next(t.auth),c.auditsStateSubject.next(t.audits),c.connectivityStateSubject.next(t.connectivity),c.subscriptionsStateSubject.next(t.subscriptions),c.vendorStateSubject.next(t.vendor)}))}return Object.defineProperty(t.prototype,"state$",{get:function(){return this.stateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"authState$",{get:function(){return this.authStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"auditsState$",{get:function(){return this.auditsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"connectivityState$",{get:function(){return this.connectivityStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"subscriptionsState$",{get:function(){return this.subscriptionsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"vendorState$",{get:function(){return this.vendorStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isLoading$",{get:function(){return this.isLoadingSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isAuthenticated$",{get:function(){return this.isAuthenticatedSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mapAuthComponents",{get:function(){var t=this.authRoutes;return Object.keys(t).filter((function(t){return"authenticatedUrl"!==t&&"signUpSuccessUrl"!==t&&null!=t})).map((function(e){var i;return{path:null===(i=t[e])||void 0===i?void 0:i.substring(1),component:v}}))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"authRoutes",{get:function(){return this.fronteggApp.store.getState().auth.routes},enumerable:!1,configurable:!0}),t.prototype.showAdminPortal=function(){this.fronteggApp.showAdminPortal()},t.prototype.hideAdminPortal=function(){var t;null===(t=this.fronteggApp)||void 0===t||t.hideAdminPortal()},t}();P.ɵprov=f.ɵɵdefineInjectable({factory:function(){return new P(f.ɵɵinject(j),f.ɵɵinject(p.Router),f.ɵɵinject(f.NgZone))},token:P,providedIn:"root"}),P.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],P.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[j]}]},{type:i.Router},{type:e.NgZone}]};var m=function(){function t(t){var e=this;this.fronteggAppService=t,this.acceptInvitationStateSubject=new o.BehaviorSubject({}),this.accountSettingsStateSubject=new o.BehaviorSubject({}),this.activateStateSubject=new o.BehaviorSubject({}),this.apiTokensStateSubject=new o.BehaviorSubject({}),this.forgotPasswordStateSubject=new o.BehaviorSubject({}),this.loginStateSubject=new o.BehaviorSubject({}),this.mfaStateSubject=new o.BehaviorSubject({}),this.profileStateSubject=new o.BehaviorSubject({}),this.rolesStateSubject=new o.BehaviorSubject({}),this.routesSubject=new o.BehaviorSubject({}),this.securityPolicyStateSubject=new o.BehaviorSubject({}),this.signUpStateSubject=new o.BehaviorSubject({}),this.socialLoginStateSubject=new o.BehaviorSubject({}),this.ssoStateSubject=new o.BehaviorSubject({}),this.teamStateSubject=new o.BehaviorSubject({}),this.tenantsStateSubject=new o.BehaviorSubject({}),this.userSubject=new o.BehaviorSubject({}),this.isAuthenticatedSubject=new o.BehaviorSubject(!1),this.isLoadingSubject=new o.BehaviorSubject(!0),this.isSSOAuthSubject=new o.BehaviorSubject(!1),this.ssoACSSubject=new o.BehaviorSubject(""),this.setState=function(t){return e.dispatchAction("setState",t)},this.resetState=function(){return e.dispatchAction("resetState")},this.setUser=function(t){return e.dispatchAction("setUser",t)},this.setLoginState=function(t){return e.dispatchAction("setLoginState",t)},this.resetLoginState=function(){return e.dispatchAction("resetLoginState")},this.requestAuthorize=function(t){return e.dispatchAction("requestAuthorize",t)},this.loginWithRedirect=function(){return e.dispatchAction("requestHostedLoginAuthorize")},this.preLogin=function(t){return e.dispatchAction("preLogin",t)},this.postLogin=function(t){return e.dispatchAction("postLogin",t)},this.login=function(t){return e.dispatchAction("login",t)},this.loginWithMfa=function(t){return e.dispatchAction("loginWithMfa",t)},this.recoverMfa=function(t){return e.dispatchAction("recoverMfa",t)},this.logout=function(t){return e.dispatchAction("logout",t)},this.silentLogout=function(t){return e.dispatchAction("silentLogout",t)},this.checkIfAllowToRememberMfaDevice=function(t){return e.dispatchAction("checkIfAllowToRememberMfaDevice",t)},this.setSocialLoginsState=function(t){return e.dispatchAction("setSocialLoginsState",t)},this.resetSocialLoginsState=function(){return e.dispatchAction("resetSocialLoginsState")},this.loadSocialLoginsConfiguration=function(){return e.dispatchAction("loadSocialLoginsConfiguration")},this.loginViaSocialLogin=function(t){return e.dispatchAction("loginViaSocialLogin",t)},this.setSocialLoginError=function(t){return e.dispatchAction("setSocialLoginError",t)},this.setActivateState=function(t){return e.dispatchAction("setActivateState",t)},this.resetActivateState=function(){return e.dispatchAction("resetActivateState")},this.setActivateStrategyState=function(t){return e.dispatchAction("setActivateStrategyState",t)},this.activateAccount=function(t){return e.dispatchAction("activateAccount",t)},this.resendActivationEmail=function(t){return e.dispatchAction("resendActivationEmail",t)},this.getActivateAccountStrategy=function(t){return e.dispatchAction("getActivateAccountStrategy",t)},this.setAcceptInvitationState=function(t){return e.dispatchAction("setAcceptInvitationState",t)},this.resetAcceptInvitationState=function(){return e.dispatchAction("resetAcceptInvitationState")},this.acceptInvitation=function(t){return e.dispatchAction("acceptInvitation",t)},this.setForgotPasswordState=function(t){return e.dispatchAction("setForgotPasswordState",t)},this.resetForgotPasswordState=function(){return e.dispatchAction("resetForgotPasswordState")},this.forgotPassword=function(t){return e.dispatchAction("forgotPassword",t)},this.resetPassword=function(t){return e.dispatchAction("resetPassword",t)},this.loadPasswordConfig=function(t){return e.dispatchAction("loadPasswordConfig",t)},this.setSignUpState=function(t){return e.dispatchAction("setSignUpState",t)},this.resetSignUpState=function(){return e.dispatchAction("resetSignUpState")},this.signUpUser=function(t){return e.dispatchAction("signUpUser",t)},this.resetSignUpStateSoft=function(){return e.dispatchAction("resetSignUpStateSoft")},this.setProfileState=function(t){return e.dispatchAction("setProfileState",t)},this.resetProfileState=function(){return e.dispatchAction("resetProfileState")},this.loadProfile=function(){return e.dispatchAction("loadProfile")},this.saveProfile=function(t){return e.dispatchAction("saveProfile",t)},this.changePassword=function(t){return e.dispatchAction("changePassword",t)},this.setSSOState=function(t){return e.dispatchAction("setSSOState",t)},this.resetSSOState=function(){return e.dispatchAction("resetSSOState")},this.loadSSOConfigurations=function(){return e.dispatchAction("loadSSOConfigurations")},this.loadSSOAuthorizationRoles=function(){return e.dispatchAction("loadSSOAuthorizationRoles")},this.saveSSOConfigurations=function(t){return e.dispatchAction("saveSSOConfigurations",t)},this.saveSSOConfigurationsFile=function(t){return e.dispatchAction("saveSSOConfigurationsFile",t)},this.saveSSOConfigurationsFileWithCallback=function(t){return e.dispatchAction("saveSSOConfigurationsFileWithCallback",t)},this.validateSSODomain=function(t){return e.dispatchAction("validateSSODomain",t)},this.updateSSOAuthorizationRoles=function(t){return e.dispatchAction("updateSSOAuthorizationRoles",t)},this.deleteSamlGroup=function(t){return e.dispatchAction("deleteSamlGroup",t)},this.createSamlGroup=function(t){return e.dispatchAction("createSamlGroup",t)},this.oidcPostlogin=function(t){return e.dispatchAction("oidcPostlogin",t)},this.setMfaState=function(t){return e.dispatchAction("setMfaState",t)},this.resetMfaState=function(){return e.dispatchAction("resetMfaState")},this.enrollMfa=function(){return e.dispatchAction("enrollMfa")},this.verifyMfa=function(t){return e.dispatchAction("verifyMfa",t)},this.verifyMfaAfterForce=function(t){return e.dispatchAction("verifyMfaAfterForce",t)},this.disableMfa=function(t){return e.dispatchAction("disableMfa",t)},this.setTeamLoader=function(t){return e.dispatchAction("setTeamLoader",t)},this.setTeamError=function(t){return e.dispatchAction("setTeamError",t)},this.setTeamState=function(t){return e.dispatchAction("setTeamState",t)},this.resetTeamState=function(){return e.dispatchAction("resetTeamState")},this.loadUsers=function(t){return e.dispatchAction("loadUsers",t)},this.loadRoles=function(t){return e.dispatchAction("loadRoles",t)},this.addUser=function(t){return e.dispatchAction("addUser",t)},this.updateUser=function(t){return e.dispatchAction("updateUser",t)},this.deleteUser=function(t){return e.dispatchAction("deleteUser",t)},this.resendActivationLink=function(t){return e.dispatchAction("resendActivationLink",t)},this.resendInvitationLink=function(t){return e.dispatchAction("resendInvitationLink",t)},this.openAddUserDialog=function(t){return e.dispatchAction("openAddUserDialog",t)},this.closeAddUserDialog=function(t){return e.dispatchAction("closeAddUserDialog",t)},this.openDeleteUserDialog=function(t){return e.dispatchAction("openDeleteUserDialog",t)},this.closeDeleteUserDialog=function(t){return e.dispatchAction("closeDeleteUserDialog",t)},this.setApiTokensLoader=function(t){return e.dispatchAction("setApiTokensLoader",t)},this.setApiTokensError=function(t){return e.dispatchAction("setApiTokensError",t)},this.setApiTokensState=function(t){return e.dispatchAction("setApiTokensState",t)},this.resetApiTokensState=function(){return e.dispatchAction("resetApiTokensState")},this.loadApiTokens=function(t){return e.dispatchAction("loadApiTokens",t)},this.initApiTokensData=function(t){return e.dispatchAction("initApiTokensData",t)},this.addTenantApiToken=function(t){return e.dispatchAction("addTenantApiToken",t)},this.addUserApiToken=function(t){return e.dispatchAction("addUserApiToken",t)},this.deleteUserApiToken=function(t){return e.dispatchAction("deleteUserApiToken",t)},this.deleteTenantApiToken=function(t){return e.dispatchAction("deleteTenantApiToken",t)},this.setSecurityPolicyState=function(t){return e.dispatchAction("setSecurityPolicyState",t)},this.setSecurityPolicyGlobalState=function(t){return e.dispatchAction("setSecurityPolicyGlobalState",t)},this.setSecurityPolicyPublicState=function(t){return e.dispatchAction("setSecurityPolicyPublicState",t)},this.setSecurityPolicyMfaState=function(t){return e.dispatchAction("setSecurityPolicyMfaState",t)},this.setSecurityPolicyLockoutState=function(t){return e.dispatchAction("setSecurityPolicyLockoutState",t)},this.setSecurityPolicyCaptchaState=function(t){return e.dispatchAction("setSecurityPolicyCaptchaState",t)},this.setSecurityPolicyPasswordHistoryState=function(t){return e.dispatchAction("setSecurityPolicyPasswordHistoryState",t)},this.resetSecurityPolicyState=function(){return e.dispatchAction("resetSecurityPolicyState")},this.setSecurityPolicyPasswordState=function(t){return e.dispatchAction("setSecurityPolicyPasswordState",t)},this.loadSecurityPolicy=function(){return e.dispatchAction("loadSecurityPolicy")},this.loadPublicSecurityPolicy=function(){return e.dispatchAction("loadPublicSecurityPolicy")},this.loadVendorPasswordConfig=function(){return e.dispatchAction("loadVendorPasswordConfig")},this.loadSecurityPolicyMfa=function(){return e.dispatchAction("loadSecurityPolicyMfa")},this.saveSecurityPolicyMfa=function(t){return e.dispatchAction("saveSecurityPolicyMfa",t)},this.loadSecurityPolicyLockout=function(){return e.dispatchAction("loadSecurityPolicyLockout")},this.saveSecurityPolicyLockout=function(t){return e.dispatchAction("saveSecurityPolicyLockout",t)},this.loadSecurityPolicyCaptcha=function(){return e.dispatchAction("loadSecurityPolicyCaptcha")},this.loadSecurityPolicyPasswordHistory=function(){return e.dispatchAction("loadSecurityPolicyPasswordHistory")},this.saveSecurityPolicyPasswordHistory=function(t){return e.dispatchAction("saveSecurityPolicyPasswordHistory",t)},this.setAccountSettingsState=function(t){return e.dispatchAction("setAccountSettingsState",t)},this.resetAccountSettingsState=function(){return e.dispatchAction("resetAccountSettingsState")},this.loadAccountSettings=function(t){return e.dispatchAction("loadAccountSettings",t)},this.saveAccountSettings=function(t){return e.dispatchAction("saveAccountSettings",t)},this.setTenantsState=function(t){return e.dispatchAction("setTenantsState",t)},this.resetTenantsState=function(){return e.dispatchAction("resetTenantsState")},this.switchTenant=function(t){return e.dispatchAction("switchTenant",t)},this.loadTenants=function(t){return e.dispatchAction("loadTenants",t)},this.setRolesState=function(t){return e.dispatchAction("setRolesState",t)},this.resetRolesState=function(){return e.dispatchAction("resetRolesState")},this.loadRolesAndPermissions=function(t){return e.dispatchAction("loadRolesAndPermissions",t)},this.addRole=function(t){return e.dispatchAction("addRole",t)},this.updateRole=function(t){return e.dispatchAction("updateRole",t)},this.deleteRole=function(t){return e.dispatchAction("deleteRole",t)},this.attachPermissionsToRole=function(t){return e.dispatchAction("attachPermissionsToRole",t)},this.attachPermissionToRoles=function(t){return e.dispatchAction("attachPermissionToRoles",t)};var i=[{field:"acceptInvitationState",subject:this.acceptInvitationStateSubject},{field:"accountSettingsState",subject:this.accountSettingsStateSubject},{field:"activateState",subject:this.activateStateSubject},{field:"apiTokensState",subject:this.apiTokensStateSubject},{field:"forgotPasswordState",subject:this.forgotPasswordStateSubject},{field:"tenantsState",subject:this.tenantsStateSubject},{field:"loginState",subject:this.loginStateSubject},{field:"mfaState",subject:this.mfaStateSubject},{field:"profileState",subject:this.profileStateSubject},{field:"rolesState",subject:this.rolesStateSubject},{field:"routes",subject:this.routesSubject},{field:"securityPolicyState",subject:this.securityPolicyStateSubject},{field:"signUpState",subject:this.signUpStateSubject},{field:"socialLoginState",subject:this.socialLoginStateSubject},{field:"ssoState",subject:this.ssoStateSubject},{field:"teamState",subject:this.teamStateSubject},{field:"user",subject:this.userSubject},{field:"isSSOAuth",subject:this.isSSOAuthSubject},{field:"ssoACS",subject:this.ssoACSSubject}];this.fronteggAppService.authState$.subscribe((function(t){var n,o;if(null!=t){try{for(var r=b(i),c=r.next();!c.done;c=r.next()){var a=c.value;S.default(a.subject.getValue(),t[a.field])||a.subject.next(t[a.field])}}catch(t){n={error:t}}finally{try{c&&!c.done&&(o=r.return)&&o.call(r)}finally{if(n)throw n.error}}e.isAuthenticatedSubject.next(t.isAuthenticated),e.isLoadingSubject.next(t.isLoading)}}))}return Object.defineProperty(t.prototype,"acceptInvitationState$",{get:function(){return this.acceptInvitationStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"accountSettingsState$",{get:function(){return this.accountSettingsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"activateState$",{get:function(){return this.activateStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"apiTokensState$",{get:function(){return this.apiTokensStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"forgotPasswordState$",{get:function(){return this.forgotPasswordStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"loginState$",{get:function(){return this.loginStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mfaState$",{get:function(){return this.mfaStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"profileState$",{get:function(){return this.profileStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rolesState$",{get:function(){return this.rolesStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"routesState$",{get:function(){return this.routesSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"securityPolicyState$",{get:function(){return this.securityPolicyStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"signUpState$",{get:function(){return this.signUpStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"socialLoginState$",{get:function(){return this.socialLoginStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssoState$",{get:function(){return this.ssoStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"teamState$",{get:function(){return this.teamStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tenantsState$",{get:function(){return this.tenantsStateSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"user$",{get:function(){return this.userSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"user",{get:function(){return this.fronteggAppService.fronteggApp.store.getState().auth.user},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isAuthenticated$",{get:function(){return this.isAuthenticatedSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isAuthenticated",{get:function(){return this.fronteggAppService.fronteggApp.store.getState().auth.isAuthenticated},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isLoading$",{get:function(){return this.isLoadingSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isSSOAuth$",{get:function(){return this.isSSOAuthSubject.asObservable()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"ssoACS$",{get:function(){return this.ssoACSSubject.asObservable()},enumerable:!1,configurable:!0}),t.prototype.dispatchAction=function(t,e){this.fronteggAppService.fronteggApp.store.dispatch({type:a.authStoreName+"/"+t,payload:e})},t}();m.ɵprov=f.ɵɵdefineInjectable({factory:function(){return new m(f.ɵɵinject(P))},token:m,providedIn:"root"}),m.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],m.ctorParameters=function(){return[{type:P}]};var O=function(){function t(){}return t.prototype.parse=function(t){return(new i.DefaultUrlSerializer).parse(t)},t.prototype.serialize=function(t){return(new i.DefaultUrlSerializer).serialize(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/").replace(/(https?):\/([\w\d])/gi,"$1://$2")},t}(),w=function(t){function i(e,i,n){var o=t.call(this)||this;return o.fronteggAppService=e,o.router=i,o.ngZone=n,o}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}d(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(i,t),i.prototype.navigateToUrl=function(t){this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl+"?redirectUrl="+encodeURIComponent(t))},i.prototype.canActivate=function(t,i){var n=this,o=i.url;return new Promise((function(t,i){n.fronteggAppService.isAuthenticated$.pipe(u.take(1)).subscribe((function(r){r?t(!0):(e.NgZone.isInAngularZone()?n.navigateToUrl(o):n.ngZone.run((function(){n.navigateToUrl(o)})),i("unauthorized"))})).unsubscribe()}))},i}(O);w.decorators=[{type:e.Injectable}],w.ctorParameters=function(){return[{type:P},{type:i.Router},{type:e.NgZone}]};var T=function(){function t(t,e,i){this.templateRef=t,this.viewContainer=e,this.fronteggAuthService=i,this._roles=[]}return Object.defineProperty(t.prototype,"authorizedContent",{set:function(t){this._roles=t},enumerable:!1,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.fronteggAuthService.user$.subscribe((function(e){var i;(null===(i=null==e?void 0:e.roles)||void 0===i?void 0:i.some((function(e){return t._roles.includes(e.name)})))?t.viewContainer.createEmbeddedView(t.templateRef):t.viewContainer.clear()}))},t}();T.decorators=[{type:e.Directive,args:[{selector:"[authorizedContent]"}]}],T.ctorParameters=function(){return[{type:e.TemplateRef},{type:e.ViewContainerRef},{type:m}]},T.propDecorators={authorizedContent:[{type:e.Input}]};var L=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[P,w,y,m,{provide:j,useValue:e}]}},t}();L.decorators=[{type:e.NgModule,args:[{imports:[s.CommonModule,i.RouterModule],declarations:[v,T],exports:[v,T]}]}],t.AuthorizedContentDirective=T,t.FronteggAppModule=L,t.FronteggAppService=P,t.FronteggAuthGuard=w,t.FronteggAuthService=m,t.FronteggComponent=v,t.FronteggLoadGuard=y,t.ɵa=j,t.ɵb=O,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=frontegg-angular.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/frontegg-app/src/lib/guards/frontegg-load.guard.ts","../../../../projects/frontegg-app/src/lib/frontegg.component.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-auth.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-base-guard.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-app.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spreadArray","to","from","il","j","FronteggLoadGuard","fronteggAppService","this","canActivate","route","state","_this","Observable","obs","isLoading$","subscribe","loading","Injectable","FronteggAppService","Component","args","selector","template","contextOptions","baseUrl","config","router","ngZone","isLoadingSubject","BehaviorSubject","isAuthenticatedSubject","stateSubject","authStateSubject","auditsStateSubject","connectivityStateSubject","subscriptionsStateSubject","vendorStateSubject","Error","onRedirectTo","opts","baseName","window","location","origin","path","startsWith","substring","refresh","href","run","replace","navigateByUrl","replaceUrl","ContextHolder","setOnRedirectTo","fronteggApp","initialize","assign","resetConfig","mapAuthComponents","children","store","fronteggStore","getState","getValue","auth","isLoading","isAuthenticated","audits","connectivity","subscriptions","vendor","defineProperty","asObservable","authRoutes","keys","filter","key","map","_a","component","FronteggComponent","routes","showAdminPortal","hideAdminPortal","providedIn","Inject","FronteggAppOptionsClass","Router","NgZone","FronteggAuthService","acceptInvitationStateSubject","accountSettingsStateSubject","activateStateSubject","apiTokensStateSubject","forgotPasswordStateSubject","loginStateSubject","mfaStateSubject","profileStateSubject","rolesStateSubject","routesSubject","securityPolicyStateSubject","signUpStateSubject","socialLoginStateSubject","ssoStateSubject","teamStateSubject","tenantsStateSubject","userSubject","isSSOAuthSubject","ssoACSSubject","setState","dispatchAction","resetState","setUser","user","setLoginState","resetLoginState","requestAuthorize","firstTime","loginWithRedirect","preLogin","payload","postLogin","login","loginWithMfa","recoverMfa","logout","callback","silentLogout","checkIfAllowToRememberMfaDevice","setSocialLoginsState","resetSocialLoginsState","loadSocialLoginsConfiguration","loginViaSocialLogin","setSocialLoginError","setActivateState","resetActivateState","setActivateStrategyState","activateAccount","resendActivationEmail","getActivateAccountStrategy","setAcceptInvitationState","resetAcceptInvitationState","acceptInvitation","setForgotPasswordState","resetForgotPasswordState","forgotPassword","resetPassword","loadPasswordConfig","setSignUpState","resetSignUpState","signUpUser","resetSignUpStateSoft","setProfileState","resetProfileState","loadProfile","saveProfile","changePassword","setSSOState","resetSSOState","loadSSOConfigurations","loadSSOAuthorizationRoles","saveSSOConfigurations","saveSSOConfigurationsFile","saveSSOConfigurationsFileWithCallback","validateSSODomain","updateSSOAuthorizationRoles","deleteSamlGroup","createSamlGroup","oidcPostlogin","setMfaState","resetMfaState","enrollMfa","verifyMfa","verifyMfaAfterForce","disableMfa","setTeamLoader","setTeamError","setTeamState","resetTeamState","loadUsers","loadRoles","addUser","updateUser","deleteUser","resendActivationLink","resendInvitationLink","openAddUserDialog","closeAddUserDialog","openDeleteUserDialog","closeDeleteUserDialog","setApiTokensLoader","setApiTokensError","setApiTokensState","resetApiTokensState","loadApiTokens","initApiTokensData","addTenantApiToken","addUserApiToken","deleteUserApiToken","deleteTenantApiToken","setSecurityPolicyState","setSecurityPolicyGlobalState","setSecurityPolicyPublicState","setSecurityPolicyMfaState","setSecurityPolicyLockoutState","setSecurityPolicyCaptchaState","setSecurityPolicyPasswordHistoryState","resetSecurityPolicyState","setSecurityPolicyPasswordState","loadSecurityPolicy","loadPublicSecurityPolicy","loadVendorPasswordConfig","loadSecurityPolicyMfa","saveSecurityPolicyMfa","loadSecurityPolicyLockout","saveSecurityPolicyLockout","loadSecurityPolicyCaptcha","loadSecurityPolicyPasswordHistory","saveSecurityPolicyPasswordHistory","setAccountSettingsState","resetAccountSettingsState","loadAccountSettings","saveAccountSettings","setTenantsState","resetTenantsState","switchTenant","loadTenants","setRolesState","resetRolesState","loadRolesAndPermissions","addRole","updateRole","deleteRole","attachPermissionsToRole","attachPermissionToRoles","authSubStates","field","subject","authState$","authState","authSubStates_1","authSubStates_1_1","authSubState","FastDeepEqual","type","dispatch","authStoreName","FronteggBaseGuard","parse","url","DefaultUrlSerializer","serialize","tree","FronteggAuthGuard","_super","authObservable","isAuthenticated$","isInAngularZone","navigateToUrl","String","__","constructor","__extends","redirectUrl","routerState","snapshot","loginUrl","encodeURIComponent","AuthorizedContentDirective","templateRef","viewContainer","fronteggAuthService","_roles","roles","ngAfterContentInit","user$","some","role","includes","name","createEmbeddedView","clear","Directive","TemplateRef","ViewContainerRef","Input","FronteggAppModule","forRoot","ngModule","providers","provide","useValue","NgModule","imports","CommonModule","RouterModule","declarations","exports"],"mappings":"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","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 { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggAppService } from '../frontegg-app.service';\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 { 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","import { Inject, Injectable, NgZone } from '@angular/core';\nimport { NavigationStart, Route, Router, RoutesRecognized } from '@angular/router';\nimport { AuthPageRoutes, FronteggState, initialize } from '@frontegg/admin-portal';\nimport { FronteggAppInstance, FronteggAppOptions } from '@frontegg/types';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { ContextHolder, RedirectOptions } from '@frontegg/rest-api';\nimport { FronteggComponent } from './frontegg.component';\n\ntype FronteggApp = FronteggAppInstance & {\n showAdminPortal(): void;\n hideAdminPortal(): void;\n};\n\nexport class FronteggAppOptionsClass implements FronteggAppOptions {\n contextOptions: FronteggAppOptions['contextOptions'] = {\n baseUrl: 'https://david.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']>({} 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\n get isAuthenticated$(): Observable<boolean> {\n return this.isAuthenticatedSubject.asObservable();\n };\n\n constructor(@Inject(FronteggAppOptionsClass) private config: FronteggAppOptions, private router: Router, private ngZone: NgZone) {\n if (!this.config) {\n throw Error('Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)');\n }\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\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 ContextHolder.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\n // Subscribe on fronteggApp store to change state subjects\n this.fronteggApp.store.subscribe(() => {\n const fronteggStore = this.fronteggApp.store.getState() as FronteggState;\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\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(): void {\n this.fronteggApp.showAdminPortal();\n }\n\n // Open admin portal\n public hideAdminPortal(): void {\n this.fronteggApp?.hideAdminPortal();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } 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 authStoreName,\n LoginState,\n ActivateAccountStrategyState,\n EnhancedStore,\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} from '@frontegg/rest-api';\nimport { ActivateAccountState, SocialLoginState } from '@frontegg/redux-store/auth';\nimport { Observable } from 'rxjs';\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\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAuthService {\n private acceptInvitationStateSubject = new BehaviorSubject<AuthState['acceptInvitationState']>({} as AuthState['acceptInvitationState']);\n private accountSettingsStateSubject = new BehaviorSubject<AuthState['accountSettingsState']>({} as AuthState['accountSettingsState']);\n private activateStateSubject = new BehaviorSubject<AuthState['activateState']>({} as AuthState['activateState']);\n private apiTokensStateSubject = new BehaviorSubject<AuthState['apiTokensState']>({} as AuthState['apiTokensState']);\n private forgotPasswordStateSubject = new BehaviorSubject<AuthState['forgotPasswordState']>({} as AuthState['forgotPasswordState']);\n private loginStateSubject = new BehaviorSubject<AuthState['loginState']>({} as AuthState['loginState']);\n private mfaStateSubject = new BehaviorSubject<AuthState['mfaState']>({} as AuthState['mfaState']);\n private profileStateSubject = new BehaviorSubject<AuthState['profileState']>({} as AuthState['profileState']);\n private rolesStateSubject = new BehaviorSubject<AuthState['rolesState']>({} as AuthState['rolesState']);\n private routesSubject = new BehaviorSubject<AuthState['routes']>({} as AuthState['routes']);\n private securityPolicyStateSubject = new BehaviorSubject<AuthState['securityPolicyState']>({} as AuthState['securityPolicyState']);\n private signUpStateSubject = new BehaviorSubject<AuthState['signUpState']>({} as AuthState['signUpState']);\n private socialLoginStateSubject = new BehaviorSubject<AuthState['socialLoginState']>({} as AuthState['socialLoginState']);\n private ssoStateSubject = new BehaviorSubject<AuthState['ssoState']>({} as AuthState['ssoState']);\n private teamStateSubject = new BehaviorSubject<AuthState['teamState']>({} as AuthState['teamState']);\n private tenantsStateSubject = new BehaviorSubject<AuthState['tenantsState']>({} as AuthState['tenantsState']);\n private userSubject = new BehaviorSubject<AuthState['user']>({} as AuthState['user']);\n private isAuthenticatedSubject = new BehaviorSubject<AuthState['isAuthenticated']>(false);\n private isLoadingSubject = new BehaviorSubject<AuthState['isLoading']>(true);\n private isSSOAuthSubject = new BehaviorSubject<AuthState['isSSOAuth']>(false);\n private ssoACSSubject = new BehaviorSubject<AuthState['ssoACS']>('');\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['activateState']> {\n return this.activateStateSubject.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 constructor(private fronteggAppService: FronteggAppService) {\n const authSubStates: AuthSubStates[] = [\n { field: 'acceptInvitationState', subject: this.acceptInvitationStateSubject },\n { field: 'accountSettingsState', subject: this.accountSettingsStateSubject },\n { field: 'activateState', subject: this.activateStateSubject },\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 ];\n\n // Memoized Auth State\n this.fronteggAppService.authState$.subscribe((authState) => {\n if (authState != null) {\n for (const authSubState of authSubStates) {\n if (!FastDeepEqual(authSubState.subject.getValue(), authState[authSubState.field])) {\n authSubState.subject.next(authState[authSubState.field]);\n }\n }\n this.isAuthenticatedSubject.next(authState.isAuthenticated);\n this.isLoadingSubject.next(authState.isLoading);\n }\n });\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store: EnhancedStore = this.fronteggAppService.fronteggApp.store;\n store.dispatch({ type: `${authStoreName}/${type}`, payload });\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 loginWithRedirect = () => this.dispatchAction('requestHostedLoginAuthorize');\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 { 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 { 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';\n\n@Injectable()\nexport class FronteggAuthGuard extends FronteggBaseGuard {\n private readonly authObservable: Observable<boolean>;\n\n constructor(protected fronteggAppService: FronteggAppService, protected router: Router, protected ngZone: NgZone) {\n super();\n this.authObservable = new Observable<boolean>(obs => {\n this.fronteggAppService.isAuthenticated$.subscribe((isAuthenticated: boolean) => {\n if (isAuthenticated) {\n obs.next(true);\n } else {\n if (NgZone.isInAngularZone()) {\n this.navigateToUrl();\n } else {\n this.ngZone.run(() => {\n this.navigateToUrl();\n });\n }\n obs.next(false);\n }\n });\n });\n }\n\n navigateToUrl(): void {\n const redirectUrl = this.router.routerState.snapshot.url;\n this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(redirectUrl));\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n return this.authObservable;\n }\n}\n","import {\n AfterContentInit,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n } from '@angular/core';\n import { FronteggAuthService } from '../frontegg-auth.service';\n \n @Directive({\n selector: '[authorizedContent]',\n })\n export 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 @Input()\n set authorizedContent(roles: string[]) {\n this._roles = roles;\n }\n \n ngAfterContentInit() {\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 { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggAppOptionsClass, FronteggAppService } from './frontegg-app.service';\nimport { FronteggComponent } from './frontegg.component';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { FronteggAuthGuard } from './guards/frontegg-auth.guard';\nimport { FronteggAuthService } from './frontegg-auth.service';\nimport { AuthorizedContentDirective } from './directives/authorized-content.directive';\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 {\n provide: FronteggAppOptionsClass,\n useValue: config,\n },\n ],\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/frontegg-app/src/lib/guards/frontegg-load.guard.ts","../../../../projects/frontegg-app/src/lib/frontegg.component.ts","../../../../projects/frontegg-app/src/lib/frontegg-app.service.ts","../../../../projects/frontegg-app/src/lib/frontegg-auth.service.ts","../../../../projects/frontegg-app/src/lib/guards/frontegg-base-guard.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-app.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__values","o","s","Symbol","iterator","m","i","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spreadArray","to","from","il","j","FronteggLoadGuard","fronteggAppService","this","canActivate","route","state","_this","Observable","obs","isLoading$","subscribe","loading","Injectable","FronteggAppService","Component","args","selector","template","contextOptions","baseUrl","config","router","ngZone","isLoadingSubject","BehaviorSubject","isAuthenticatedSubject","stateSubject","authStateSubject","auditsStateSubject","connectivityStateSubject","subscriptionsStateSubject","vendorStateSubject","Error","window","CYPRESS_CONFIG","onRedirectTo","opts","baseName","location","origin","path","startsWith","substring","refresh","href","run","replace","navigateByUrl","replaceUrl","ContextHolder","setOnRedirectTo","fronteggApp","initialize","assign","resetConfig","mapAuthComponents","children","store","fronteggStore","getState","getValue","auth","isLoading","isAuthenticated","audits","connectivity","subscriptions","vendor","defineProperty","asObservable","authRoutes","keys","filter","key","map","_a","component","FronteggComponent","routes","showAdminPortal","hideAdminPortal","providedIn","Inject","FronteggAppOptionsClass","Router","NgZone","FronteggAuthService","acceptInvitationStateSubject","accountSettingsStateSubject","activateStateSubject","apiTokensStateSubject","forgotPasswordStateSubject","loginStateSubject","mfaStateSubject","profileStateSubject","rolesStateSubject","routesSubject","securityPolicyStateSubject","signUpStateSubject","socialLoginStateSubject","ssoStateSubject","teamStateSubject","tenantsStateSubject","userSubject","isSSOAuthSubject","ssoACSSubject","setState","dispatchAction","resetState","setUser","user","setLoginState","resetLoginState","requestAuthorize","firstTime","loginWithRedirect","preLogin","payload","postLogin","login","loginWithMfa","recoverMfa","logout","callback","silentLogout","checkIfAllowToRememberMfaDevice","setSocialLoginsState","resetSocialLoginsState","loadSocialLoginsConfiguration","loginViaSocialLogin","setSocialLoginError","setActivateState","resetActivateState","setActivateStrategyState","activateAccount","resendActivationEmail","getActivateAccountStrategy","setAcceptInvitationState","resetAcceptInvitationState","acceptInvitation","setForgotPasswordState","resetForgotPasswordState","forgotPassword","resetPassword","loadPasswordConfig","setSignUpState","resetSignUpState","signUpUser","resetSignUpStateSoft","setProfileState","resetProfileState","loadProfile","saveProfile","changePassword","setSSOState","resetSSOState","loadSSOConfigurations","loadSSOAuthorizationRoles","saveSSOConfigurations","saveSSOConfigurationsFile","saveSSOConfigurationsFileWithCallback","validateSSODomain","updateSSOAuthorizationRoles","deleteSamlGroup","createSamlGroup","oidcPostlogin","setMfaState","resetMfaState","enrollMfa","verifyMfa","verifyMfaAfterForce","disableMfa","setTeamLoader","setTeamError","setTeamState","resetTeamState","loadUsers","loadRoles","addUser","updateUser","deleteUser","resendActivationLink","resendInvitationLink","openAddUserDialog","closeAddUserDialog","openDeleteUserDialog","closeDeleteUserDialog","setApiTokensLoader","setApiTokensError","setApiTokensState","resetApiTokensState","loadApiTokens","initApiTokensData","addTenantApiToken","addUserApiToken","deleteUserApiToken","deleteTenantApiToken","setSecurityPolicyState","setSecurityPolicyGlobalState","setSecurityPolicyPublicState","setSecurityPolicyMfaState","setSecurityPolicyLockoutState","setSecurityPolicyCaptchaState","setSecurityPolicyPasswordHistoryState","resetSecurityPolicyState","setSecurityPolicyPasswordState","loadSecurityPolicy","loadPublicSecurityPolicy","loadVendorPasswordConfig","loadSecurityPolicyMfa","saveSecurityPolicyMfa","loadSecurityPolicyLockout","saveSecurityPolicyLockout","loadSecurityPolicyCaptcha","loadSecurityPolicyPasswordHistory","saveSecurityPolicyPasswordHistory","setAccountSettingsState","resetAccountSettingsState","loadAccountSettings","saveAccountSettings","setTenantsState","resetTenantsState","switchTenant","loadTenants","setRolesState","resetRolesState","loadRolesAndPermissions","addRole","updateRole","deleteRole","attachPermissionsToRole","attachPermissionToRoles","authSubStates","field","subject","authState$","authState","authSubStates_1","authSubStates_1_1","authSubState","FastDeepEqual","type","dispatch","authStoreName","FronteggBaseGuard","parse","url","DefaultUrlSerializer","serialize","tree","FronteggAuthGuard","_super","String","__","constructor","__extends","navigateToUrl","redirectUrl","loginUrl","encodeURIComponent","Promise","resolve","reject","isAuthenticated$","pipe","take","isInAngularZone","unsubscribe","AuthorizedContentDirective","templateRef","viewContainer","fronteggAuthService","_roles","roles","ngAfterContentInit","user$","some","role","includes","name","createEmbeddedView","clear","Directive","TemplateRef","ViewContainerRef","Input","FronteggAppModule","forRoot","ngModule","providers","provide","useValue","NgModule","imports","CommonModule","RouterModule","declarations","exports"],"mappings":"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","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 { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { FronteggAppService } from '../frontegg-app.service';\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 { 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","import { Inject, Injectable, NgZone } from '@angular/core';\nimport { NavigationStart, Route, Router, RoutesRecognized } from '@angular/router';\nimport { AuthPageRoutes, FronteggState, initialize } from '@frontegg/admin-portal';\nimport { FronteggAppInstance, FronteggAppOptions } from '@frontegg/types';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { ContextHolder, RedirectOptions } from '@frontegg/rest-api';\nimport { FronteggComponent } from './frontegg.component';\n\ntype FronteggApp = FronteggAppInstance & {\n showAdminPortal(): void;\n hideAdminPortal(): void;\n};\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']>({} 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\n get isAuthenticated$(): Observable<boolean> {\n return this.isAuthenticatedSubject.asObservable();\n };\n\n constructor(@Inject(FronteggAppOptionsClass) private config: FronteggAppOptions, private 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\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 ContextHolder.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\n // Subscribe on fronteggApp store to change state subjects\n this.fronteggApp.store.subscribe(() => {\n const fronteggStore = this.fronteggApp.store.getState() as FronteggState;\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\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(): void {\n this.fronteggApp.showAdminPortal();\n }\n\n // Open admin portal\n public hideAdminPortal(): void {\n this.fronteggApp?.hideAdminPortal();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } 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 authStoreName,\n LoginState,\n ActivateAccountStrategyState,\n EnhancedStore,\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} from '@frontegg/rest-api';\nimport { ActivateAccountState, SocialLoginState } from '@frontegg/redux-store/auth';\nimport { Observable } from 'rxjs';\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\n@Injectable({\n providedIn: 'root',\n})\nexport class FronteggAuthService {\n private acceptInvitationStateSubject = new BehaviorSubject<AuthState['acceptInvitationState']>({} as AuthState['acceptInvitationState']);\n private accountSettingsStateSubject = new BehaviorSubject<AuthState['accountSettingsState']>({} as AuthState['accountSettingsState']);\n private activateStateSubject = new BehaviorSubject<AuthState['activateState']>({} as AuthState['activateState']);\n private apiTokensStateSubject = new BehaviorSubject<AuthState['apiTokensState']>({} as AuthState['apiTokensState']);\n private forgotPasswordStateSubject = new BehaviorSubject<AuthState['forgotPasswordState']>({} as AuthState['forgotPasswordState']);\n private loginStateSubject = new BehaviorSubject<AuthState['loginState']>({} as AuthState['loginState']);\n private mfaStateSubject = new BehaviorSubject<AuthState['mfaState']>({} as AuthState['mfaState']);\n private profileStateSubject = new BehaviorSubject<AuthState['profileState']>({} as AuthState['profileState']);\n private rolesStateSubject = new BehaviorSubject<AuthState['rolesState']>({} as AuthState['rolesState']);\n private routesSubject = new BehaviorSubject<AuthState['routes']>({} as AuthState['routes']);\n private securityPolicyStateSubject = new BehaviorSubject<AuthState['securityPolicyState']>({} as AuthState['securityPolicyState']);\n private signUpStateSubject = new BehaviorSubject<AuthState['signUpState']>({} as AuthState['signUpState']);\n private socialLoginStateSubject = new BehaviorSubject<AuthState['socialLoginState']>({} as AuthState['socialLoginState']);\n private ssoStateSubject = new BehaviorSubject<AuthState['ssoState']>({} as AuthState['ssoState']);\n private teamStateSubject = new BehaviorSubject<AuthState['teamState']>({} as AuthState['teamState']);\n private tenantsStateSubject = new BehaviorSubject<AuthState['tenantsState']>({} as AuthState['tenantsState']);\n private userSubject = new BehaviorSubject<AuthState['user']>({} as AuthState['user']);\n private isAuthenticatedSubject = new BehaviorSubject<AuthState['isAuthenticated']>(false);\n private isLoadingSubject = new BehaviorSubject<AuthState['isLoading']>(true);\n private isSSOAuthSubject = new BehaviorSubject<AuthState['isSSOAuth']>(false);\n private ssoACSSubject = new BehaviorSubject<AuthState['ssoACS']>('');\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['activateState']> {\n return this.activateStateSubject.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 constructor(private fronteggAppService: FronteggAppService) {\n const authSubStates: AuthSubStates[] = [\n { field: 'acceptInvitationState', subject: this.acceptInvitationStateSubject },\n { field: 'accountSettingsState', subject: this.accountSettingsStateSubject },\n { field: 'activateState', subject: this.activateStateSubject },\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 ];\n\n // Memoized Auth State\n this.fronteggAppService.authState$.subscribe((authState) => {\n if (authState != null) {\n for (const authSubState of authSubStates) {\n if (!FastDeepEqual(authSubState.subject.getValue(), authState[authSubState.field])) {\n authSubState.subject.next(authState[authSubState.field]);\n }\n }\n this.isAuthenticatedSubject.next(authState.isAuthenticated);\n this.isLoadingSubject.next(authState.isLoading);\n }\n });\n }\n\n private dispatchAction(type: string, payload?: any): void {\n const store: EnhancedStore = this.fronteggAppService.fronteggApp.store;\n store.dispatch({ type: `${authStoreName}/${type}`, payload });\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 loginWithRedirect = () => this.dispatchAction('requestHostedLoginAuthorize');\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 { 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 { 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 { take } from 'rxjs/operators';\n\n@Injectable()\nexport class FronteggAuthGuard extends FronteggBaseGuard {\n\n constructor(protected fronteggAppService: FronteggAppService, protected router: Router, protected ngZone: NgZone) {\n super();\n }\n\n navigateToUrl(redirectUrl: string): void {\n this.router.navigateByUrl(this.fronteggAppService.authRoutes.loginUrl + '?redirectUrl=' + encodeURIComponent(redirectUrl));\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {\n const redirectUrl = state.url;\n return new Promise<boolean>((resolve, reject) => {\n const subscription = this.fronteggAppService.isAuthenticated$.pipe(take(1)).subscribe((isAuthenticated: boolean) => {\n if (isAuthenticated) {\n resolve(true);\n } else {\n if (NgZone.isInAngularZone()) {\n this.navigateToUrl(redirectUrl);\n } else {\n this.ngZone.run(() => {\n this.navigateToUrl(redirectUrl);\n });\n }\n reject('unauthorized');\n }\n });\n subscription.unsubscribe();\n });\n }\n}\n","import {\n AfterContentInit,\n Directive,\n Input,\n TemplateRef,\n ViewContainerRef,\n } from '@angular/core';\n import { FronteggAuthService } from '../frontegg-auth.service';\n \n @Directive({\n selector: '[authorizedContent]',\n })\n export 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 @Input()\n set authorizedContent(roles: string[]) {\n this._roles = roles;\n }\n \n ngAfterContentInit() {\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 { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { FronteggAppOptionsClass, FronteggAppService } from './frontegg-app.service';\nimport { FronteggComponent } from './frontegg.component';\nimport { FronteggLoadGuard } from './guards/frontegg-load.guard';\nimport { FronteggAuthGuard } from './guards/frontegg-auth.guard';\nimport { FronteggAuthService } from './frontegg-auth.service';\nimport { AuthorizedContentDirective } from './directives/authorized-content.directive';\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 {\n provide: FronteggAppOptionsClass,\n useValue: config,\n },\n ],\n };\n }\n}\n"]}
|
|
@@ -10,7 +10,7 @@ import * as i1 from "@angular/router";
|
|
|
10
10
|
export class FronteggAppOptionsClass {
|
|
11
11
|
constructor() {
|
|
12
12
|
this.contextOptions = {
|
|
13
|
-
baseUrl: 'https://
|
|
13
|
+
baseUrl: 'https://sub-domain.frontegg.com',
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -30,6 +30,9 @@ export class FronteggAppService {
|
|
|
30
30
|
if (!this.config) {
|
|
31
31
|
throw Error('Need to pass config: FronteggConfigOptions in FronteggAppModule.forRoot(config)');
|
|
32
32
|
}
|
|
33
|
+
if (window.CYPRESS_CONFIG) {
|
|
34
|
+
this.config = window.CYPRESS_CONFIG;
|
|
35
|
+
}
|
|
33
36
|
const onRedirectTo = (to, opts) => {
|
|
34
37
|
const baseName = window.location.origin;
|
|
35
38
|
let path = to;
|
|
@@ -140,4 +143,4 @@ FronteggAppService.ctorParameters = () => [
|
|
|
140
143
|
{ type: Router },
|
|
141
144
|
{ type: NgZone }
|
|
142
145
|
];
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUEwQixNQUFNLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDbkYsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU96RCxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBQ0UsbUJBQWMsR0FBeUM7WUFDckQsT0FBTyxFQUFFLDRCQUE0QjtTQUN0QyxDQUFDO0lBQ0osQ0FBQztDQUFBO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQThDN0IsWUFBcUQsTUFBMEIsRUFBVSxNQUFjLEVBQVUsTUFBYztRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBM0N2SCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN0RCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFtQixDQUFDLENBQUM7UUFDdkUscUJBQWdCLEdBQUcsSUFBSSxlQUFl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QUNsQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBQUEsQ0FBQztJQThERixJQUFJLGlCQUFpQjtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQThCO2FBQ3pELE1BQU0sQ0FBQyxDQUFDLEdBQXlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxrQkFBa0IsSUFBSSxHQUFHLEtBQUssa0JBQWtCLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQzthQUM5RyxHQUFHLENBQUMsQ0FBQyxHQUF5QixFQUFFLEVBQUU7O1lBQUMsT0FBQSxDQUFDO2dCQUNuQyxJQUFJLEVBQUUsTUFBQSxVQUFVLENBQUMsR0FBRyxDQUFDLDBDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxpQkFBaUI7YUFDN0IsQ0FBQyxDQUFBO1NBQUEsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2RCxDQUFDO0lBRUQsb0JBQW9CO0lBQ2IsZUFBZTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxvQkFBb0I7SUFDYixlQUFlOztRQUNwQixNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGVBQWUsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Ozs7WUFuSUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7NENBK0NjLE1BQU0sU0FBQyx1QkFBdUI7WUFwRVosTUFBTTtZQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZSwgUm91dGVyLCBSb3V0ZXNSZWNvZ25pemVkIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhQYWdlUm91dGVzLCBGcm9udGVnZ1N0YXRlLCBpbml0aWFsaXplIH0gZnJvbSAnQGZyb250ZWdnL2FkbWluLXBvcnRhbCc7XG5pbXBvcnQgeyBGcm9udGVnZ0FwcEluc3RhbmNlLCBGcm9udGVnZ0FwcE9wdGlvbnMgfSBmcm9tICdAZnJvbnRlZ2cvdHlwZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGcm9udGVnZ0xvYWRHdWFyZCB9IGZyb20gJy4vZ3VhcmRzL2Zyb250ZWdnLWxvYWQuZ3VhcmQnO1xuaW1wb3J0IHsgQ29udGV4dEhvbGRlciwgUmVkaXJlY3RPcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3Jlc3QtYXBpJztcbmltcG9ydCB7IEZyb250ZWdnQ29tcG9uZW50IH0gZnJvbSAnLi9mcm9udGVnZy5jb21wb25lbnQnO1xuXG50eXBlIEZyb250ZWdnQXBwID0gRnJvbnRlZ2dBcHBJbnN0YW5jZSAmIHtcbiAgc2hvd0FkbWluUG9ydGFsKCk6IHZvaWQ7XG4gIGhpZGVBZG1pblBvcnRhbCgpOiB2b2lkO1xufTtcblxuZXhwb3J0IGNsYXNzIEZyb250ZWdnQXBwT3B0aW9uc0NsYXNzIGltcGxlbWVudHMgRnJvbnRlZ2dBcHBPcHRpb25zIHtcbiAgY29udGV4dE9wdGlvbnM6IEZyb250ZWdnQXBwT3B0aW9uc1snY29udGV4dE9wdGlvbnMnXSA9IHtcbiAgICBiYXNlVXJsOiAnaHR0cHM6Ly9kYXZpZC5mcm9udGVnZy5jb20nLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBcHBTZXJ2aWNlIHtcbiAgZnJvbnRlZ2dBcHA6IEZyb250ZWdnQXBwO1xuXG4gIHByaXZhdGUgaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZT4oe30gYXMgRnJvbnRlZ2dTdGF0ZSk7XG4gIHByaXZhdGUgYXV0aFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXV0aCddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydhdXRoJ10pO1xuICBwcml2YXRlIGF1ZGl0c1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddKTtcbiAgcHJpdmF0ZSBjb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXSk7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10pO1xuICBwcml2YXRlIHZlbmRvclN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddKTtcblxuXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1dGhTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydhdXRoJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1ZGl0c1N0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaXRzU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGNvbm5lY3Rpdml0eVN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHN1YnNjcmlwdGlvbnNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHZlbmRvclN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddPiB7XG4gICAgcmV0dXJuIHRoaXMudmVuZG9yU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzTG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfTtcblxuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcykgcHJpdmF0ZSBjb25maWc6IEZyb250ZWdnQXBwT3B0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHRocm93IEVycm9yKCdOZWVkIHRvIHBhc3MgY29uZmlnOiBGcm9udGVnZ0NvbmZpZ09wdGlvbnMgaW4gRnJvbnRlZ2dBcHBNb2R1bGUuZm9yUm9vdChjb25maWcpJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb25SZWRpcmVjdFRvID0gKHRvOiBzdHJpbmcsIG9wdHM/OiBSZWRpcmVjdE9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IGJhc2VOYW1lID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgICAgIGxldCBwYXRoID0gdG87XG4gICAgICBpZiAocGF0aC5zdGFydHNXaXRoKGJhc2VOYW1lKSAmJiBiYXNlTmFtZSAhPT0gJy8nKSB7XG4gICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZyhiYXNlTmFtZS5sZW5ndGggLSAxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdHM/LnJlZnJlc2gpIHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwYXRoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBpZiAob3B0cz8ucmVwbGFjZSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoLCB7IHJlcGxhY2VVcmw6IHRydWUgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIENvbnRleHRIb2xkZXIuc2V0T25SZWRpcmVjdFRvKG9uUmVkaXJlY3RUbyk7XG4gICAgdGhpcy5mcm9udGVnZ0FwcCA9IGluaXRpYWxpemUoe1xuICAgICAgb25SZWRpcmVjdFRvLFxuICAgICAgLi4udGhpcy5jb25maWcsXG4gICAgfSk7XG5cblxuICAgIC8vIEFkZCBhbGwgbG9naW4gYm94IHJvdXRlcyB0byBBbmd1bGFyIHJvdXRlciBjb25maWdcbiAgICB0aGlzLnJvdXRlci5yZXNldENvbmZpZyhbXG4gICAgICAuLi50aGlzLm1hcEF1dGhDb21wb25lbnRzLFxuICAgICAge1xuICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgY2FuQWN0aXZhdGU6IFtGcm9udGVnZ0xvYWRHdWFyZF0sXG4gICAgICAgIGNoaWxkcmVuOiBbLi4udGhpcy5yb3V0ZXIuY29uZmlnXSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICAvLyBTdWJzY3JpYmUgb24gZnJvbnRlZ2dBcHAgc3RvcmUgdG8gY2hhbmdlIHN0YXRlIHN1YmplY3RzXG4gICAgdGhpcy5mcm9udGVnZ0FwcC5zdG9yZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgZnJvbnRlZ2dTdG9yZSA9IHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKSBhcyBGcm9udGVnZ1N0YXRlO1xuICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nU3ViamVjdC5nZXRWYWx1ZSgpICE9PSBmcm9udGVnZ1N0b3JlLmF1dGguaXNMb2FkaW5nKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aC5pc0xvYWRpbmcpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5nZXRWYWx1ZSgpICE9PSBmcm9udGVnZ1N0b3JlLmF1dGguaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUpO1xuICAgICAgdGhpcy5hdXRoU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoKTtcbiAgICAgIHRoaXMuYXVkaXRzU3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdWRpdHMpO1xuICAgICAgdGhpcy5jb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmNvbm5lY3Rpdml0eSk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLnN1YnNjcmlwdGlvbnMpO1xuICAgICAgdGhpcy52ZW5kb3JTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLnZlbmRvcik7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgbWFwQXV0aENvbXBvbmVudHMoKTogUm91dGVbXSB7XG4gICAgY29uc3QgYXV0aFJvdXRlcyA9IHRoaXMuYXV0aFJvdXRlcztcbiAgICByZXR1cm4gKE9iamVjdC5rZXlzKGF1dGhSb3V0ZXMpIGFzIChrZXlvZiBBdXRoUGFnZVJvdXRlcylbXSlcbiAgICAgIC5maWx0ZXIoKGtleToga2V5b2YgQXV0aFBhZ2VSb3V0ZXMpID0+IGtleSAhPT0gJ2F1dGhlbnRpY2F0ZWRVcmwnICYmIGtleSAhPT0gJ3NpZ25VcFN1Y2Nlc3NVcmwnICYmIGtleSAhPSBudWxsKVxuICAgICAgLm1hcCgoa2V5OiBrZXlvZiBBdXRoUGFnZVJvdXRlcykgPT4gKHtcbiAgICAgICAgcGF0aDogYXV0aFJvdXRlc1trZXldPy5zdWJzdHJpbmcoMSksXG4gICAgICAgIGNvbXBvbmVudDogRnJvbnRlZ2dDb21wb25lbnQsXG4gICAgICB9KSk7XG4gIH1cblxuICBnZXQgYXV0aFJvdXRlcygpOiBBdXRoUGFnZVJvdXRlcyB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbnRlZ2dBcHAuc3RvcmUuZ2V0U3RhdGUoKS5hdXRoLnJvdXRlcztcbiAgfVxuXG4gIC8vIE9wZW4gYWRtaW4gcG9ydGFsXG4gIHB1YmxpYyBzaG93QWRtaW5Qb3J0YWwoKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcC5zaG93QWRtaW5Qb3J0YWwoKTtcbiAgfVxuXG4gIC8vIE9wZW4gYWRtaW4gcG9ydGFsXG4gIHB1YmxpYyBoaWRlQWRtaW5Qb3J0YWwoKTogdm9pZCB7XG4gICAgdGhpcy5mcm9udGVnZ0FwcD8uaGlkZUFkbWluUG9ydGFsKCk7XG4gIH1cbn1cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlZ2ctYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mcm9udGVnZy1hcHAvc3JjL2xpYi9mcm9udGVnZy1hcHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUEwQixNQUFNLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFDbkYsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU96RCxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBQ0UsbUJBQWMsR0FBeUM7WUFDckQsT0FBTyxFQUFFLGlDQUFpQztTQUMzQyxDQUFDO0lBQ0osQ0FBQztDQUFBO0FBS0QsTUFBTSxPQUFPLGtCQUFrQjtJQThDN0IsWUFBcUQsTUFBMEIsRUFBVSxNQUFjLEVBQVUsTUFBYztRQUExRSxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBM0N2SCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN0RCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUM3RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFtQixDQUFDLENBQUM7UUFDdkUscUJBQWdCLEdBQUcsSUFBSSxlQUFl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c0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGUsIFJvdXRlciwgUm91dGVzUmVjb2duaXplZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoUGFnZVJvdXRlcywgRnJvbnRlZ2dTdGF0ZSwgaW5pdGlhbGl6ZSB9IGZyb20gJ0Bmcm9udGVnZy9hZG1pbi1wb3J0YWwnO1xuaW1wb3J0IHsgRnJvbnRlZ2dBcHBJbnN0YW5jZSwgRnJvbnRlZ2dBcHBPcHRpb25zIH0gZnJvbSAnQGZyb250ZWdnL3R5cGVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRnJvbnRlZ2dMb2FkR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9mcm9udGVnZy1sb2FkLmd1YXJkJztcbmltcG9ydCB7IENvbnRleHRIb2xkZXIsIFJlZGlyZWN0T3B0aW9ucyB9IGZyb20gJ0Bmcm9udGVnZy9yZXN0LWFwaSc7XG5pbXBvcnQgeyBGcm9udGVnZ0NvbXBvbmVudCB9IGZyb20gJy4vZnJvbnRlZ2cuY29tcG9uZW50JztcblxudHlwZSBGcm9udGVnZ0FwcCA9IEZyb250ZWdnQXBwSW5zdGFuY2UgJiB7XG4gIHNob3dBZG1pblBvcnRhbCgpOiB2b2lkO1xuICBoaWRlQWRtaW5Qb3J0YWwoKTogdm9pZDtcbn07XG5cbmV4cG9ydCBjbGFzcyBGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcyBpbXBsZW1lbnRzIEZyb250ZWdnQXBwT3B0aW9ucyB7XG4gIGNvbnRleHRPcHRpb25zOiBGcm9udGVnZ0FwcE9wdGlvbnNbJ2NvbnRleHRPcHRpb25zJ10gPSB7XG4gICAgYmFzZVVybDogJ2h0dHBzOi8vc3ViLWRvbWFpbi5mcm9udGVnZy5jb20nLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJvbnRlZ2dBcHBTZXJ2aWNlIHtcbiAgZnJvbnRlZ2dBcHA6IEZyb250ZWdnQXBwO1xuXG4gIHByaXZhdGUgaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZT4oe30gYXMgRnJvbnRlZ2dTdGF0ZSk7XG4gIHByaXZhdGUgYXV0aFN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXV0aCddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydhdXRoJ10pO1xuICBwcml2YXRlIGF1ZGl0c1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnYXVkaXRzJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddKTtcbiAgcHJpdmF0ZSBjb25uZWN0aXZpdHlTdGF0ZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydjb25uZWN0aXZpdHknXSk7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsnc3Vic2NyaXB0aW9ucyddPih7fSBhcyBGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10pO1xuICBwcml2YXRlIHZlbmRvclN0YXRlU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RnJvbnRlZ2dTdGF0ZVsndmVuZG9yJ10+KHt9IGFzIEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddKTtcblxuXG4gIGdldCBzdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1dGhTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydhdXRoJ10+IHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGF1ZGl0c1N0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2F1ZGl0cyddPiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaXRzU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGNvbm5lY3Rpdml0eVN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ2Nvbm5lY3Rpdml0eSddPiB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGl2aXR5U3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHN1YnNjcmlwdGlvbnNTdGF0ZSQoKTogT2JzZXJ2YWJsZTxGcm9udGVnZ1N0YXRlWydzdWJzY3JpcHRpb25zJ10+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IHZlbmRvclN0YXRlJCgpOiBPYnNlcnZhYmxlPEZyb250ZWdnU3RhdGVbJ3ZlbmRvciddPiB7XG4gICAgcmV0dXJuIHRoaXMudmVuZG9yU3RhdGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGlzTG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfTtcblxuXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChGcm9udGVnZ0FwcE9wdGlvbnNDbGFzcykgcHJpdmF0ZSBjb25maWc6IEZyb250ZWdnQXBwT3B0aW9ucywgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHRocm93IEVycm9yKCdOZWVkIHRvIHBhc3MgY29uZmlnOiBGcm9udGVnZ0NvbmZpZ09wdGlvbnMgaW4gRnJvbnRlZ2dBcHBNb2R1bGUuZm9yUm9vdChjb25maWcpJyk7XG4gICAgfVxuXG4gICAgaWYoKHdpbmRvdyBhcyBhbnkpLkNZUFJFU1NfQ09ORklHKXtcbiAgICAgIHRoaXMuY29uZmlnID0gKHdpbmRvdyBhcyBhbnkpLkNZUFJFU1NfQ09ORklHO1xuICAgIH1cbiAgICBjb25zdCBvblJlZGlyZWN0VG8gPSAodG86IHN0cmluZywgb3B0cz86IFJlZGlyZWN0T3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgYmFzZU5hbWUgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xuICAgICAgbGV0IHBhdGggPSB0bztcbiAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoYmFzZU5hbWUpICYmIGJhc2VOYW1lICE9PSAnLycpIHtcbiAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKGJhc2VOYW1lLmxlbmd0aCAtIDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0cz8ucmVmcmVzaCkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHBhdGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChvcHRzPy5yZXBsYWNlKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgQ29udGV4dEhvbGRlci5zZXRPblJlZGlyZWN0VG8ob25SZWRpcmVjdFRvKTtcbiAgICB0aGlzLmZyb250ZWdnQXBwID0gaW5pdGlhbGl6ZSh7XG4gICAgICBvblJlZGlyZWN0VG8sXG4gICAgICAuLi50aGlzLmNvbmZpZyxcbiAgICB9KTtcblxuXG4gICAgLy8gQWRkIGFsbCBsb2dpbiBib3ggcm91dGVzIHRvIEFuZ3VsYXIgcm91dGVyIGNvbmZpZ1xuICAgIHRoaXMucm91dGVyLnJlc2V0Q29uZmlnKFtcbiAgICAgIC4uLnRoaXMubWFwQXV0aENvbXBvbmVudHMsXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBjYW5BY3RpdmF0ZTogW0Zyb250ZWdnTG9hZEd1YXJkXSxcbiAgICAgICAgY2hpbGRyZW46IFsuLi50aGlzLnJvdXRlci5jb25maWddLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIC8vIFN1YnNjcmliZSBvbiBmcm9udGVnZ0FwcCBzdG9yZSB0byBjaGFuZ2Ugc3RhdGUgc3ViamVjdHNcbiAgICB0aGlzLmZyb250ZWdnQXBwLnN0b3JlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBmcm9udGVnZ1N0b3JlID0gdGhpcy5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpIGFzIEZyb250ZWdnU3RhdGU7XG4gICAgICBpZiAodGhpcy5pc0xvYWRpbmdTdWJqZWN0LmdldFZhbHVlKCkgIT09IGZyb250ZWdnU3RvcmUuYXV0aC5pc0xvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmdTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoLmlzTG9hZGluZyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0LmdldFZhbHVlKCkgIT09IGZyb250ZWdnU3RvcmUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWRTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZS5hdXRoLmlzQXV0aGVudGljYXRlZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhdGVTdWJqZWN0Lm5leHQoZnJvbnRlZ2dTdG9yZSk7XG4gICAgICB0aGlzLmF1dGhTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1dGgpO1xuICAgICAgdGhpcy5hdWRpdHNTdGF0ZVN1YmplY3QubmV4dChmcm9udGVnZ1N0b3JlLmF1ZGl0cyk7XG4gICAgICB0aGlzLmNvbm5lY3Rpdml0eVN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuY29ubmVjdGl2aXR5KTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1N0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUuc3Vic2NyaXB0aW9ucyk7XG4gICAgICB0aGlzLnZlbmRvclN0YXRlU3ViamVjdC5uZXh0KGZyb250ZWdnU3RvcmUudmVuZG9yKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBtYXBBdXRoQ29tcG9uZW50cygpOiBSb3V0ZVtdIHtcbiAgICBjb25zdCBhdXRoUm91dGVzID0gdGhpcy5hdXRoUm91dGVzO1xuICAgIHJldHVybiAoT2JqZWN0LmtleXMoYXV0aFJvdXRlcykgYXMgKGtleW9mIEF1dGhQYWdlUm91dGVzKVtdKVxuICAgICAgLmZpbHRlcigoa2V5OiBrZXlvZiBBdXRoUGFnZVJvdXRlcykgPT4ga2V5ICE9PSAnYXV0aGVudGljYXRlZFVybCcgJiYga2V5ICE9PSAnc2lnblVwU3VjY2Vzc1VybCcgJiYga2V5ICE9IG51bGwpXG4gICAgICAubWFwKChrZXk6IGtleW9mIEF1dGhQYWdlUm91dGVzKSA9PiAoe1xuICAgICAgICBwYXRoOiBhdXRoUm91dGVzW2tleV0/LnN1YnN0cmluZygxKSxcbiAgICAgICAgY29tcG9uZW50OiBGcm9udGVnZ0NvbXBvbmVudCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIGdldCBhdXRoUm91dGVzKCk6IEF1dGhQYWdlUm91dGVzIHtcbiAgICByZXR1cm4gdGhpcy5mcm9udGVnZ0FwcC5zdG9yZS5nZXRTdGF0ZSgpLmF1dGgucm91dGVzO1xuICB9XG5cbiAgLy8gT3BlbiBhZG1pbiBwb3J0YWxcbiAgcHVibGljIHNob3dBZG1pblBvcnRhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwLnNob3dBZG1pblBvcnRhbCgpO1xuICB9XG5cbiAgLy8gT3BlbiBhZG1pbiBwb3J0YWxcbiAgcHVibGljIGhpZGVBZG1pblBvcnRhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmZyb250ZWdnQXBwPy5oaWRlQWRtaW5Qb3J0YWwoKTtcbiAgfVxufVxuIl19
|