@frontegg/redux-store 4.18.1 → 4.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/LoginState/index.d.ts +3 -0
- package/auth/LoginState/interfaces.d.ts +1 -0
- package/auth/LoginState/saga.d.ts +1 -0
- package/auth/index.d.ts +1 -0
- package/auth/index.js +49 -10
- package/auth/index.js.map +1 -1
- package/auth/reducer.d.ts +1 -0
- package/connectivity/ConnectivityState/index.d.ts +80 -1
- package/connectivity/index.d.ts +2 -0
- package/connectivity/index.js +51 -2
- package/connectivity/index.js.map +1 -1
- package/connectivity/interfaces.d.ts +7 -0
- package/connectivity/reducer.d.ts +2 -0
- package/package.json +2 -2
package/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/auth/utils.ts","../../src/auth/LoginState/interfaces.ts","../../src/auth/LoginState/index.ts","../../src/auth/ActivateState/interfaces.ts","../../src/auth/ActivateState/index.ts","../../src/auth/AcceptInvitationState/interfaces.ts","../../src/auth/AcceptInvitationState/index.ts","../../src/auth/ForgotPasswordState/interfaces.ts","../../src/auth/ForgotPasswordState/index.ts","../../src/auth/SSOState/index.ts","../../src/auth/ProfileState/index.ts","../../src/auth/MfaState/interfaces.ts","../../src/auth/MfaState/index.ts","../../src/auth/TeamState/index.ts","../../src/auth/SocialLogins/index.ts","../../src/auth/SignUp/interfaces.ts","../../src/auth/SignUp/index.ts","../../src/auth/ApiTokensState/index.ts","../../src/auth/SecurityPolicyState/index.ts","../../src/auth/AccountSettingsState/index.ts","../../src/auth/TenantsState/index.ts","../../src/auth/RolesState/index.ts","../../src/auth/initialState.ts","../../src/auth/reducer.ts","../../src/auth/SSOState/interfaces.ts","../../src/helpers.ts","../../src/auth/dummy.ts","../../src/auth/SignUp/saga.ts","../../src/auth/SecurityPolicyState/saga.ts","../../src/auth/LoginState/saga.ts","../../src/auth/SSOState/saga.ts","../../src/auth/ProfileState/saga.ts","../../src/auth/MfaState/saga.ts","../../src/auth/ForgotPasswordState/saga.ts","../../src/auth/ActivateState/saga.ts","../../src/auth/AcceptInvitationState/saga.ts","../../src/auth/TeamState/interfaces.ts","../../src/auth/TeamState/saga.ts","../../src/auth/SocialLogins/saga.ts","../../src/auth/ApiTokensState/interfaces.ts","../../src/auth/ApiTokensState/saga.ts","../../src/auth/AccountSettingsState/saga.ts","../../src/auth/TenantsState/saga.ts","../../src/auth/RolesState/saga.ts","../../src/auth/saga.ts","../../src/auth/index.ts"],"sourcesContent":["import { PayloadAction } from '@reduxjs/toolkit';\nimport { AuthState } from './interfaces';\n\nexport const resetStateByKey = <T>(key: keyof AuthState, initialState: Partial<AuthState>) => (state: AuthState) => ({\n ...state,\n [key]: initialState[key],\n});\nexport const typeReducer = <T>(key: keyof AuthState) => (state: AuthState, { payload }: PayloadAction<T>) => ({\n ...state,\n [key]: payload,\n});\nexport const typeReducerForKey = <T>(key: keyof AuthState) => ({\n prepare: (payload: Partial<T>) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<Partial<T>>) => {\n return {\n ...state,\n [key]: {\n ...state[key],\n ...payload,\n },\n };\n },\n});\n\nexport const typeReducerNestedKey = <T, K>(key: keyof AuthState, nestedKey: keyof T) => ({\n prepare: (payload: Partial<K>) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<Partial<K>>) => {\n return {\n ...state,\n [key]: {\n ...state[key],\n [nestedKey]: {\n ...state?.[key]?.[nestedKey],\n ...payload,\n },\n },\n };\n },\n});\n\nexport const loadersReducerForKey = <T extends { key: string; value: string | boolean }>(key: keyof AuthState) => ({\n prepare: (payload: T) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<T>): AuthState => ({\n ...state,\n [key]: {\n ...state[key],\n loaders: {\n ...state[key].loaders,\n [payload.key]: payload.value ?? true,\n },\n },\n }),\n});\nexport const errorsReducerForKey = <T extends { key: string; value: string | boolean }>(key: keyof AuthState) => ({\n prepare: (payload: T) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<T>): AuthState => ({\n ...state,\n [key]: {\n ...state[key],\n errors: {\n ...state[key].errors,\n [payload.key]: payload.value ?? true,\n },\n },\n }),\n});\n\nexport const delay = (delayTime: number = 500) => new Promise((resolve) => setTimeout(resolve, delayTime));\n","import { ITenantsResponse, AuthStrategyEnum } from '@frontegg/rest-api';\n\nexport { AuthStrategyEnum }\n\nexport enum LoginStep {\n 'preLogin' = 'preLogin',\n 'magicLinkPreLoginSuccess' = \"magicLinkPreLoginSuccess\",\n 'loginWithOtc' = \"loginWithOtc\",\n 'loginWithPassword' = 'loginWithPassword',\n 'loginWithTwoFactor' = 'loginWithTwoFactor',\n 'redirectToSSO' = 'redirectToSSO',\n 'loginWithSSOFailed' = 'loginWithSSOFailed',\n 'success' = 'success',\n 'forceTwoFactor' = 'forceTwoFactor',\n 'recoverTwoFactor' = 'recoverTwoFactor',\n}\n\nexport interface LoginState {\n loading: boolean;\n error?: any;\n step: LoginStep;\n ssoRedirectUrl?: string;\n mfaRequired?: boolean;\n mfaToken?: string;\n email?: string;\n tenants: ITenantsResponse[];\n tenantsLoading?: boolean;\n allowRememberMfaDevice?: boolean;\n mfaDeviceExpiration?: number;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { ILogin, ILoginWithMfa, IPasswordlessPostLogin, IPasswordlessPreLogin, IPostLogin, IPreLogin, IRecoverMFAToken } from '@frontegg/rest-api';\nimport { LoginState, LoginStep } from './interfaces';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\n\nconst loginState: LoginState = {\n step: LoginStep.preLogin,\n loading: false,\n email: '',\n tenants: [],\n};\n\nconst reducers = {\n setLoginState: typeReducerForKey<LoginState>('loginState'),\n resetLoginState: resetStateByKey<LoginState>('loginState', { loginState }),\n};\n\nconst actions = {\n requestAuthorize: createAction(`${authStoreName}/requestAuthorize`, (payload: boolean = false) => ({ payload })),\n afterAuthNavigation: createAction(`${authStoreName}/afterAuthNavigation`),\n preLogin: createAction(`${authStoreName}/preLogin`, (payload: WithCallback<IPreLogin & { recaptchaToken?: string }, void>) => ({ payload })),\n postLogin: createAction(`${authStoreName}/postLogin`, (payload: IPostLogin) => ({ payload })),\n login: createAction(`${authStoreName}/login`, (payload: ILogin) => ({ payload })),\n loginWithMfa: createAction(`${authStoreName}/loginWithMfa`, (payload: WithCallback<ILoginWithMfa>) => ({ payload })),\n recoverMfa: createAction(`${authStoreName}/recoverMfa`, (payload: IRecoverMFAToken) => ({ payload })),\n logout: createAction(`${authStoreName}/logout`, (payload?: () => void) => ({ payload })),\n silentLogout: createAction(`${authStoreName}/silentLogout`, (payload?: () => void) => ({ payload })),\n checkIfAllowToRememberMfaDevice: createAction(\n `${authStoreName}/checkIfAllowToRememberMfaDevice`,\n (payload: { mfaToken: string }) => ({ payload }),\n ),\n passwordlessPreLogin: createAction(`${authStoreName}/passwordlessPreLogin`, (payload: WithCallback<IPasswordlessPreLogin, void>) => ({ payload })),\n passwordlessPostLogin: createAction(`${authStoreName}/passwordlessPostLogin`, (payload: IPasswordlessPostLogin) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setLoginState: (state: Partial<LoginState>) => void;\n resetLoginState: () => void;\n requestAuthorize: (payload?: boolean) => void;\n afterAuthNavigation: () => void;\n preLogin: (payload: WithCallback<IPreLogin & { recaptchaToken?: string }, void>) => void;\n postLogin: (payload: IPostLogin) => void;\n login: (payload: ILogin) => void;\n loginWithMfa: (payload: WithCallback<ILoginWithMfa>) => void;\n recoverMfa: (payload: IRecoverMFAToken) => void;\n logout: (payload?: () => void) => void;\n silentLogout: (payload?: () => void) => void;\n checkIfAllowToRememberMfaDevice: (payload: { mfaToken: string }) => void;\n passwordlessPreLogin: (payload: IPasswordlessPreLogin) => void;\n passwordlessPostLogin: (payload: IPasswordlessPostLogin) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type LoginActions = DispatchedActions;\nexport { loginState, reducers as loginReducers, actions as loginActions };\n","import { IGetActivateAccountStrategyResponse } from '@frontegg/rest-api';\nimport { WithStatus } from '../../interfaces';\n\nexport enum ActivateAccountStep {\n 'activating' = 'activating',\n 'success' = 'success',\n 'resend' = 'resend',\n}\n\nexport interface ActivateAccountState {\n loading: boolean;\n error?: any;\n step: ActivateAccountStep;\n resentEmail: boolean;\n activationStrategy: ActivateAccountStrategyState;\n}\n\nexport type ActivateAccountStrategyState = WithStatus & { strategy?: IGetActivateAccountStrategyResponse };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n IActivateAccount,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n IResendActivationEmail,\n} from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey, typeReducerNestedKey } from '../utils';\nimport { ActivateAccountState, ActivateAccountStep, ActivateAccountStrategyState } from './interfaces';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst activateState: ActivateAccountState = {\n step: ActivateAccountStep.activating,\n loading: false,\n resentEmail: false,\n activationStrategy: {\n loading: false,\n },\n};\n\nconst reducers = {\n setActivateState: typeReducerForKey<ActivateAccountState>('activateState'),\n resetActivateState: resetStateByKey<ActivateAccountState>('activateState', { activateState }),\n setActivateStrategyState: typeReducerNestedKey<ActivateAccountState, ActivateAccountStrategyState>(\n 'activateState',\n 'activationStrategy'\n ),\n};\n\nconst actions = {\n activateAccount: createAction(`${authStoreName}/activateAccount`, (payload: IActivateAccount) => ({ payload })),\n getActivateAccountStrategy: createAction(\n `${authStoreName}/getActivateAccountStrategy`,\n (payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>) => ({ payload })\n ),\n resendActivationEmail: createAction(`${authStoreName}/resendActivationEmail`, (payload: IResendActivationEmail) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setActivateState: (state: Partial<ActivateAccountState>) => void;\n resetActivateState: () => void;\n setActivateStrategyState: (state: Partial<ActivateAccountStrategyState>) => void;\n activateAccount: (payload: IActivateAccount) => void;\n resendActivationEmail: (payload: IResendActivationEmail) => void;\n getActivateAccountStrategy: (\n payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>\n ) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ActivateAccountActions = DispatchedActions;\nexport { activateState, reducers as activateAccountReducers, actions as activateAccountActions };\n","export enum AcceptInvitationStep {\n 'validate' = 'validate',\n 'invalid' = 'invalid',\n 'pending' = 'pending',\n 'success' = 'success',\n 'failed' = 'failed',\n}\n\nexport interface AcceptInvitationState {\n error?: string;\n step: AcceptInvitationStep;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { IAcceptInvitation } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { AcceptInvitationState, AcceptInvitationStep } from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\n\nconst acceptInvitationState: AcceptInvitationState = {\n step: AcceptInvitationStep.validate,\n};\n\nconst reducers = {\n setAcceptInvitationState: typeReducerForKey<AcceptInvitationState>('acceptInvitationState'),\n resetAcceptInvitationState: resetStateByKey<AcceptInvitationState>('acceptInvitationState', {\n acceptInvitationState,\n }),\n};\n\nconst actions = {\n acceptInvitation: createAction(`${authStoreName}/acceptInvitation`, (payload: IAcceptInvitation) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setAcceptInvitationState: (state: Partial<AcceptInvitationState>) => void;\n resetAcceptInvitationState: () => void;\n acceptInvitation: (payload: IAcceptInvitation) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type AcceptInvitationActions = DispatchedActions;\nexport { acceptInvitationState, reducers as acceptInvitationReducers, actions as acceptInvitationActions };\n","export enum ForgotPasswordStep {\n 'forgotPassword' = 'forgotPassword',\n 'success' = 'success',\n}\n\nexport interface TestConfig {\n allowPassphrases: boolean;\n maxLength: number;\n minLength: number;\n minPhraseLength: number;\n minOptionalTestsToPass: number;\n}\n\nexport interface ForgotPasswordState {\n step: ForgotPasswordStep;\n passwordConfig: Partial<TestConfig> | null;\n email: string;\n loading: boolean;\n error?: any;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { IForgotPassword, IGetUserPasswordConfig, IResetPassword } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ForgotPasswordState, ForgotPasswordStep } from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\n\nconst forgotPasswordState: ForgotPasswordState = {\n step: ForgotPasswordStep.forgotPassword,\n loading: false,\n email: '',\n passwordConfig: null,\n};\n\nconst reducers = {\n setForgotPasswordState: typeReducerForKey<ForgotPasswordState>('forgotPasswordState'),\n resetForgotPasswordState: resetStateByKey<ForgotPasswordState>('forgotPasswordState', { forgotPasswordState }),\n};\n\nconst actions = {\n forgotPassword: createAction(`${authStoreName}/forgotPassword`, (payload: IForgotPassword) => ({ payload })),\n resetPassword: createAction(`${authStoreName}/resetPassword`, (payload: IResetPassword) => ({ payload })),\n loadPasswordConfig: createAction(`${authStoreName}/loadPasswordConfig`, (payload?: IGetUserPasswordConfig) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setForgotPasswordState: (state: Partial<ForgotPasswordState>) => void;\n resetForgotPasswordState: () => void;\n forgotPassword: (payload: IForgotPassword) => void;\n resetPassword: (payload: IResetPassword) => void;\n loadPasswordConfig: (payload?: IGetUserPasswordConfig) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ForgotPasswordActions = DispatchedActions;\nexport { forgotPasswordState, reducers as forgotPasswordReducers, actions as forgotPasswordActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n CreateSamlGroupPayload,\n DeleteSamlGroupPayload,\n SaveSSOConfigurationFilePayload,\n SaveSSOConfigurationPayload,\n SSOState,\n UpdateSSOAuthorizationRolesPayload,\n} from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\nimport { IOidcPostLogin } from '@frontegg/rest-api';\n\nconst ssoState: SSOState = {\n firstLoad: true,\n loading: true,\n saving: false,\n};\n\nconst reducers = {\n setSSOState: typeReducerForKey<SSOState>('ssoState'),\n resetSSOState: resetStateByKey<SSOState>('ssoState', { ssoState }),\n};\n\nconst actions = {\n loadSSOConfigurations: createAction(`${authStoreName}/loadSSOConfigurations`),\n loadSSOAuthorizationRoles: createAction(`${authStoreName}/loadSSOAuthorizationRoles`),\n saveSSOConfigurations: createAction(\n `${authStoreName}/saveSSOConfigurations`,\n (payload: SaveSSOConfigurationPayload) => ({ payload })\n ),\n // NOTE: use withCallback in case of promise response\n saveSSOConfigurationsFile: createAction(`${authStoreName}/saveSSOConfigurationsFile`, (payload: File[]) => ({\n payload,\n })),\n saveSSOConfigurationsFileWithCallback: createAction(\n `${authStoreName}/saveSSOConfigurationsFileWithCallback`,\n (payload: SaveSSOConfigurationFilePayload) => ({ payload })\n ),\n validateSSODomain: createAction(`${authStoreName}/validateSSODomain`, (payload?: WithCallback) => ({ payload })),\n updateSSOAuthorizationRoles: createAction(\n `${authStoreName}/updateSSOAuthorizationRoles`,\n (payload: UpdateSSOAuthorizationRolesPayload) => ({ payload })\n ),\n deleteSamlGroup: createAction(`${authStoreName}/deleteSamlGroup`, (payload: DeleteSamlGroupPayload) => ({ payload })),\n createSamlGroup: createAction(`${authStoreName}/createSamlGroup`, (payload: CreateSamlGroupPayload) => ({ payload })),\n oidcPostlogin: createAction(`${authStoreName}/oidcPostlogin`, (payload: IOidcPostLogin) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSSOState: (state: Partial<SSOState>) => void;\n resetSSOState: () => void;\n loadSSOConfigurations: () => void;\n loadSSOAuthorizationRoles: () => void;\n saveSSOConfigurations: (payload: SaveSSOConfigurationPayload) => void;\n saveSSOConfigurationsFile: (payload: File[]) => void;\n saveSSOConfigurationsFileWithCallback: (payload: SaveSSOConfigurationFilePayload) => void;\n validateSSODomain: (payload?: WithCallback) => void;\n updateSSOAuthorizationRoles: (payload: UpdateSSOAuthorizationRolesPayload) => void;\n deleteSamlGroup: (payload: DeleteSamlGroupPayload) => void;\n createSamlGroup: (payload: CreateSamlGroupPayload) => void;\n oidcPostlogin: (payload: IOidcPostLogin) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SSOActions = DispatchedActions;\nexport { ssoState, reducers as ssoReducers, actions as ssoActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { IChangePassword } from '@frontegg/rest-api';\nimport { ProfileState, SaveProfilePayload } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\n\nconst profileState: ProfileState = {\n loading: false,\n error: null,\n};\n\nconst reducers = {\n setProfileState: typeReducerForKey<ProfileState>('profileState'),\n resetProfileState: resetStateByKey<ProfileState>('profileState', { profileState }),\n};\n\nconst actions = {\n loadProfile: createAction(`${authStoreName}/loadProfile`),\n saveProfile: createAction(`${authStoreName}/saveProfile`, (payload: SaveProfilePayload) => ({ payload })),\n changePassword: createAction(`${authStoreName}/changePassword`, (payload: WithCallback<IChangePassword>) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setProfileState: (state: Partial<ProfileState>) => void;\n resetProfileState: () => void;\n loadProfile: () => void;\n saveProfile: (payload: SaveProfilePayload) => void;\n changePassword: (payload: WithCallback<IChangePassword>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ProfileActions = DispatchedActions;\nexport { profileState, reducers as profileReducers, actions as profileActions };\n","export enum MFAStep {\n 'verify' = 'verify',\n 'recoveryCode' = 'recoveryCode',\n}\n\nexport interface MFAState {\n step: MFAStep;\n loading: boolean;\n error?: any;\n recoveryCode?: string;\n qrCode?: string | null; // qr code image base64\n mfaToken?: string;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { IDisableMfa, ILoginWithMfa, IVerifyMfa } from '@frontegg/rest-api';\nimport { MFAState, MFAStep } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst mfaState: MFAState = {\n step: MFAStep.verify,\n loading: false,\n};\n\nconst reducers = {\n setMfaState: typeReducerForKey<MFAState>('mfaState'),\n resetMfaState: resetStateByKey<MFAState>('mfaState', { mfaState }),\n};\n\nconst actions = {\n enrollMfa: createAction(`${authStoreName}/enrollMfa`),\n verifyMfa: createAction(`${authStoreName}/verifyMfa`, (payload: WithCallback<IVerifyMfa, string | undefined>) => ({\n payload,\n })),\n verifyMfaAfterForce: createAction(\n `${authStoreName}/verifyMfaAfterForce`,\n (payload: WithCallback<ILoginWithMfa, string | undefined>) => ({\n payload,\n })\n ),\n disableMfa: createAction(`${authStoreName}/disableMfa`, (payload: WithCallback<IDisableMfa>) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setMfaState: (state: Partial<MFAState>) => void;\n resetMfaState: () => void;\n enrollMfa: () => void;\n verifyMfa: (payload: WithCallback<IVerifyMfa, string | undefined>) => void;\n verifyMfaAfterForce: (payload: WithCallback<ILoginWithMfa, string | undefined>) => void;\n disableMfa: (payload: WithCallback<IDisableMfa>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type MfaActions = DispatchedActions;\nexport { mfaState, reducers as mfaReducers, actions as mfaActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n IAddUser,\n IDeleteUser,\n ILoadUsers,\n IResendActivationLink,\n IResendInvitationLink,\n ITeamUser,\n IUpdateUser,\n} from '@frontegg/rest-api';\nimport {\n ISetAddUserDialog,\n ISetDeleteUserDialog,\n TeamState,\n TeamStateIndicator,\n LoadRolesAndPermissionsPayload,\n} from './interfaces';\nimport { errorsReducerForKey, loadersReducerForKey, resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst teamState: TeamState = {\n loaders: {},\n pageOffset: 0,\n pageSize: 20,\n errors: {},\n users: [],\n roles: [],\n permissions: [],\n totalPages: 0,\n filter: [],\n sort: [],\n\n addUserDialogState: {\n loading: false,\n open: false,\n },\n deleteUserDialogState: {\n loading: false,\n open: false,\n },\n};\n\nconst reducers = {\n setTeamLoader: loadersReducerForKey<TeamStateIndicator>('teamState'),\n setTeamError: errorsReducerForKey<TeamStateIndicator>('teamState'),\n setTeamState: typeReducerForKey<TeamState>('teamState'),\n resetTeamState: resetStateByKey<TeamState>('teamState', { teamState }),\n};\n\nconst actions = {\n loadUsers: createAction(\n `${authStoreName}/loadUsers`,\n (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) => ({ payload })\n ),\n loadRoles: createAction(`${authStoreName}/loadRoles`, (payload?: LoadRolesAndPermissionsPayload) => ({ payload })),\n addUser: createAction(`${authStoreName}/addUser`, (payload: WithCallback<IAddUser, ITeamUser>) => ({ payload })),\n updateUser: createAction(`${authStoreName}/updateUser`, (payload: WithCallback<IUpdateUser, ITeamUser>) => ({\n payload,\n })),\n deleteUser: createAction(`${authStoreName}/deleteUser`, (payload: WithCallback<IDeleteUser>) => ({ payload })),\n resendActivationLink: createAction(\n `${authStoreName}/resendActivationLink`,\n (payload: WithCallback<IResendActivationLink>) => ({ payload })\n ),\n resendInvitationLink: createAction(\n `${authStoreName}/resendInvitationLink`,\n (payload: WithCallback<IResendInvitationLink>) => ({ payload })\n ),\n openAddUserDialog: createAction(`${authStoreName}/openAddUserDialog`, (payload?: ISetAddUserDialog) => ({ payload })),\n closeAddUserDialog: createAction(`${authStoreName}/closeAddUserDialog`, (payload?: any) => ({ payload })),\n openDeleteUserDialog: createAction(`${authStoreName}/openDeleteUserDialog`, (payload?: ISetDeleteUserDialog) => ({\n payload,\n })),\n closeDeleteUserDialog: createAction(`${authStoreName}/closeDeleteUserDialog`, (payload?: any) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setTeamLoader: (payload: TeamStateIndicator) => void;\n setTeamError: (payload: TeamStateIndicator) => void;\n setTeamState: (payload: Partial<TeamState>) => void;\n resetTeamState: () => void;\n loadUsers: (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) => void;\n loadRoles: (payload?: LoadRolesAndPermissionsPayload) => void;\n addUser: (payload: WithCallback<IAddUser, ITeamUser>) => void;\n updateUser: (payload: WithCallback<IUpdateUser, ITeamUser>) => void;\n deleteUser: (payload: WithCallback<IDeleteUser>) => void;\n resendActivationLink: (payload: WithCallback<IResendActivationLink>) => void;\n resendInvitationLink: (payload: WithCallback<IResendInvitationLink>) => void;\n openAddUserDialog: (payload?: ISetAddUserDialog) => void;\n closeAddUserDialog: (payload?: any) => void;\n openDeleteUserDialog: (payload?: ISetDeleteUserDialog) => void;\n closeDeleteUserDialog: (payload?: any) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type TeamActions = DispatchedActions;\nexport { teamState, reducers as teamReducers, actions as teamActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { ILoginViaSocialLogin, ISetSocialLoginError } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { SocialLoginState } from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\n\nconst socialLoginState: SocialLoginState = {\n firstLoad: true,\n loading: false,\n error: '',\n};\n\nconst reducers = {\n setSocialLoginsState: typeReducerForKey<SocialLoginState>('socialLoginState'),\n resetSocialLoginsState: resetStateByKey<SocialLoginState>('socialLoginState', { socialLoginState }),\n};\n\nconst actions = {\n loadSocialLoginsConfiguration: createAction(`${authStoreName}/loadSocialLoginsConfiguration`),\n loginViaSocialLogin: createAction(`${authStoreName}/loginViaSocialLogin`, (payload: ILoginViaSocialLogin) => ({\n payload,\n })),\n setSocialLoginError: createAction(`${authStoreName}/setSocialLoginError`, (payload: ISetSocialLoginError) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSocialLoginsState: (state: Partial<SocialLoginState>) => void;\n resetSocialLoginsState: () => void;\n loadSocialLoginsConfiguration: () => void;\n loginViaSocialLogin: (payload: ILoginViaSocialLogin) => void;\n setSocialLoginError: (payload: ISetSocialLoginError) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SocialLoginActions = DispatchedActions;\nexport { socialLoginState, reducers as socialLoginsReducer, actions as socialLoginsActions };\n","export interface SignUpState {\n loading: boolean;\n allowSignUps: boolean;\n allowNotVerifiedUsersLogin: boolean;\n error?: string;\n firstLoad: boolean;\n shouldActivate?: boolean;\n stage: SignUpStage;\n}\n\nexport enum SignUpStage {\n SignUp = 'SignUp',\n SignUpSuccess = 'SignUpSuccess',\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { ISignUpUser } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { SignUpStage, SignUpState } from './interfaces';\nimport { ActionDispatchMatcher } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst signUpState: SignUpState = {\n loading: false,\n allowSignUps: false,\n allowNotVerifiedUsersLogin: false,\n firstLoad: true,\n stage: SignUpStage.SignUp,\n};\n\nconst reducers = {\n setSignUpState: typeReducerForKey<SignUpState>('signUpState'),\n resetSignUpState: resetStateByKey<SignUpState>('signUpState', { signUpState }),\n};\n\nconst actions = {\n signUpUser: createAction(`${authStoreName}/signUpUser`, (payload: ISignUpUser) => ({ payload })),\n resetSignUpStateSoft: createAction(`${authStoreName}/resetSignUpStateSoft`),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSignUpState: (state: Partial<SignUpState>) => void;\n resetSignUpState: () => void;\n signUpUser: (payload: ISignUpUser) => void;\n resetSignUpStateSoft: () => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SignUpActions = DispatchedActions;\nexport { signUpState, reducers as signUpReducers, actions as signUpActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n ApiTokensState,\n ApiStateIndicator,\n ApiTokenType,\n AddTenantApiTokenPayload,\n AddUserApiTokenPayload,\n} from './interfaces';\nimport { resetStateByKey, typeReducerForKey, loadersReducerForKey, errorsReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\n\nconst apiTokensState: ApiTokensState = {\n apiTokenType: null,\n searchValue: '',\n showAddTokenDialog: false,\n createdByUserIdColumn: 'show',\n deleteTokenDialog: {\n open: false,\n clientId: '',\n },\n successDialog: {\n open: false,\n secret: '',\n clientId: '',\n },\n loaders: {},\n apiTokensDataTenant: [],\n apiTokensDataUser: [],\n roles: [],\n permissions: [],\n errors: {},\n};\n\nconst reducers = {\n setApiTokensLoader: loadersReducerForKey<ApiStateIndicator>('apiTokensState'),\n setApiTokensError: errorsReducerForKey<ApiStateIndicator>('apiTokensState'),\n setApiTokensState: typeReducerForKey<ApiTokensState>('apiTokensState'),\n resetApiTokensState: resetStateByKey<ApiTokensState>('apiTokensState', { apiTokensState }),\n};\n\nconst actions = {\n loadApiTokens: createAction(`${authStoreName}/loadApiTokens`, (payload?: WithSilentLoad<WithCallback>) => ({\n payload,\n })),\n initApiTokensData: createAction(`${authStoreName}/initApiTokensData`, (payload: ApiTokenType) => ({ payload })),\n addTenantApiToken: createAction(`${authStoreName}/addTenantApiToken`, (payload: AddTenantApiTokenPayload) => ({\n payload,\n })),\n addUserApiToken: createAction(`${authStoreName}/addUserApiToken`, (payload: AddUserApiTokenPayload) => ({ payload })),\n deleteUserApiToken: createAction(`${authStoreName}/deleteUserApiToken`, (payload: string) => ({ payload })),\n deleteTenantApiToken: createAction(`${authStoreName}/deleteTenantApiToken`, (payload: string) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setApiTokensLoader: (payload: ApiStateIndicator) => void;\n setApiTokensError: (payload: ApiStateIndicator) => void;\n setApiTokensState: (state: Partial<ApiTokensState>) => void;\n resetApiTokensState: () => void;\n\n loadApiTokens: (payload?: WithSilentLoad<WithCallback>) => void;\n initApiTokensData: (payload: ApiTokenType) => void;\n addTenantApiToken: (payload: AddTenantApiTokenPayload) => void;\n addUserApiToken: (payload: AddUserApiTokenPayload) => void;\n deleteUserApiToken: (payload: string) => void;\n deleteTenantApiToken: (payload: string) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ApiTokensActions = DispatchedActions;\nexport { apiTokensState, reducers as apiTokensReducers, actions as apiTokensActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { resetStateByKey, typeReducerForKey, typeReducerNestedKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\nimport {\n CaptchaPolicyState,\n GlobalPolicyState,\n PublicPolicyState,\n LockoutPolicyState,\n MfaPolicyState,\n PasswordPolicyState,\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n SecurityPolicyState,\n PasswordHistoryPolicyState,\n SaveSecurityPolicyPasswordHistoryPayload,\n} from './interfaces';\n\nconst securityPolicyState: SecurityPolicyState = {\n globalPolicy: {\n loading: true,\n },\n publicPolicy: {\n loading: false,\n },\n mfaPolicy: {\n loading: true,\n },\n lockoutPolicy: {\n loading: true,\n },\n captchaPolicy: {\n loading: true,\n },\n passwordHistoryPolicy: {\n loading: true,\n },\n passwordPolicy: {\n loading: true,\n },\n};\n\nconst reducers = {\n setSecurityPolicyState: typeReducerForKey<SecurityPolicyState>('securityPolicyState'),\n setSecurityPolicyGlobalState: typeReducerNestedKey<SecurityPolicyState, GlobalPolicyState>(\n 'securityPolicyState',\n 'globalPolicy'\n ),\n setSecurityPolicyPublicState: typeReducerNestedKey<SecurityPolicyState, PublicPolicyState>(\n 'securityPolicyState',\n 'publicPolicy'\n ),\n setSecurityPolicyMfaState: typeReducerNestedKey<SecurityPolicyState, MfaPolicyState>(\n 'securityPolicyState',\n 'mfaPolicy'\n ),\n setSecurityPolicyLockoutState: typeReducerNestedKey<SecurityPolicyState, LockoutPolicyState>(\n 'securityPolicyState',\n 'lockoutPolicy'\n ),\n setSecurityPolicyCaptchaState: typeReducerNestedKey<SecurityPolicyState, CaptchaPolicyState>(\n 'securityPolicyState',\n 'captchaPolicy'\n ),\n setSecurityPolicyPasswordHistoryState: typeReducerNestedKey<SecurityPolicyState, PasswordHistoryPolicyState>(\n 'securityPolicyState',\n 'passwordHistoryPolicy'\n ),\n setSecurityPolicyPasswordState: typeReducerNestedKey<SecurityPolicyState, PasswordPolicyState>(\n 'securityPolicyState',\n 'passwordPolicy'\n ),\n resetSecurityPolicyState: resetStateByKey<SecurityPolicyState>('securityPolicyState', { securityPolicyState }),\n};\n\nconst actions = {\n loadSecurityPolicy: createAction(`${authStoreName}/loadSecurityPolicy`),\n loadPublicSecurityPolicy: createAction(`${authStoreName}/loadPublicSecurityPolicy`),\n loadSecurityPolicyMfa: createAction(`${authStoreName}/loadSecurityPolicyMfa`),\n saveSecurityPolicyMfa: createAction(\n `${authStoreName}/saveSecurityPolicyMfa`,\n (payload: SaveSecurityPolicyMfaPayload) => ({ payload })\n ),\n loadSecurityPolicyLockout: createAction(`${authStoreName}/loadSecurityPolicyLockout`),\n saveSecurityPolicyLockout: createAction(\n `${authStoreName}/saveSecurityPolicyLockout`,\n (payload: SaveSecurityPolicyLockoutPayload) => ({ payload })\n ),\n loadSecurityPolicyCaptcha: createAction(`${authStoreName}/loadSecurityPolicyCaptcha`),\n loadSecurityPolicyPasswordHistory: createAction(`${authStoreName}/loadSecurityPolicyPasswordHistory`),\n saveSecurityPolicyPasswordHistory: createAction(\n `${authStoreName}/saveSecurityPolicyPasswordHistory`,\n (payload: SaveSecurityPolicyPasswordHistoryPayload) => ({ payload })\n ),\n loadVendorPasswordConfig: createAction(`${authStoreName}/loadVendorPasswordConfig`),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSecurityPolicyState: (state: Partial<SecurityPolicyState>) => void;\n setSecurityPolicyGlobalState: (state: Partial<GlobalPolicyState>) => void;\n setSecurityPolicyPublicState: (state: Partial<PublicPolicyState>) => void;\n setSecurityPolicyMfaState: (state: Partial<MfaPolicyState>) => void;\n setSecurityPolicyLockoutState: (state: Partial<LockoutPolicyState>) => void;\n setSecurityPolicyCaptchaState: (state: Partial<CaptchaPolicyState>) => void;\n setSecurityPolicyPasswordHistoryState: (state: Partial<PasswordHistoryPolicyState>) => void;\n resetSecurityPolicyState: () => void;\n setSecurityPolicyPasswordState: (state: Partial<PasswordPolicyState>) => void;\n\n loadSecurityPolicy: () => void;\n loadPublicSecurityPolicy: () => void;\n loadVendorPasswordConfig: () => void;\n loadSecurityPolicyMfa: () => void;\n saveSecurityPolicyMfa: (payload: SaveSecurityPolicyMfaPayload) => void;\n loadSecurityPolicyLockout: () => void;\n saveSecurityPolicyLockout: (payload: SaveSecurityPolicyLockoutPayload) => void;\n loadSecurityPolicyCaptcha: () => void;\n loadSecurityPolicyPasswordHistory: () => void;\n saveSecurityPolicyPasswordHistory: (payload: SaveSecurityPolicyPasswordHistoryPayload) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SecurityPolicyActions = DispatchedActions;\nexport { securityPolicyState, reducers as securityPolicyReducers, actions as securityPolicyActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { ISettingsResponse } from '@frontegg/rest-api';\nimport { AccountSettingsState } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\n\nconst accountSettingsState: AccountSettingsState = {\n loading: false,\n};\n\nconst reducers = {\n setAccountSettingsState: typeReducerForKey<AccountSettingsState>('accountSettingsState'),\n resetAccountSettingsState: resetStateByKey<AccountSettingsState>('accountSettingsState', { accountSettingsState }),\n};\n\nconst actions = {\n loadAccountSettings: createAction(\n `${authStoreName}/loadAccountSettings`,\n (payload?: WithCallback<WithSilentLoad<{}>>) => ({ payload })\n ),\n saveAccountSettings: createAction(\n `${authStoreName}/saveAccountSettings`,\n (payload: WithCallback<ISettingsResponse, ISettingsResponse>) => ({ payload })\n ),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setAccountSettingsState: (state: Partial<AccountSettingsState>) => void;\n resetAccountSettingsState: () => void;\n loadAccountSettings: (payload?: WithCallback<WithSilentLoad<{}>>) => void;\n saveAccountSettings: (payload: WithCallback<ISettingsResponse, ISettingsResponse>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type AccountSettingsActions = DispatchedActions;\nexport { accountSettingsState, reducers as accountSettingsReducers, actions as accountSettingsActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { TenantsState } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\nimport { ISwitchTenant, ITenantsResponse } from '@frontegg/rest-api';\n\nconst tenantsState: TenantsState = {\n tenants: [],\n loading: true,\n};\n\nconst reducers = {\n setTenantsState: typeReducerForKey<TenantsState>('tenantsState'),\n resetTenantsState: resetStateByKey<TenantsState>('tenantsState', { tenantsState }),\n};\n\nconst actions = {\n switchTenant: createAction(`${authStoreName}/switchTenant`, (payload: WithCallback<ISwitchTenant>) => ({ payload })),\n loadTenants: createAction(`${authStoreName}/loadTenants`, (payload?: WithCallback<{}, ITenantsResponse[]>) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setTenantsState: (state: Partial<TenantsState>) => void;\n resetTenantsState: () => void;\n switchTenant: (payload: WithCallback<ISwitchTenant>) => void;\n loadTenants: (payload?: WithCallback<{}, ITenantsResponse[]>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type TenantsActions = DispatchedActions;\nexport { tenantsState, reducers as tenantsReducers, actions as tenantsActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n IAddRole,\n IAttachPermissionsToRole,\n IAttachPermissionToRoles,\n IDeleteRole,\n IRole,\n IRolePermission,\n IUpdateRole,\n} from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\nimport { authStoreName } from '../../constants';\nimport { RolesState } from './interfaces';\n\nconst rolesState: RolesState = {\n loading: false,\n roles: [],\n permissions: [],\n permissionCategories: [],\n};\n\nconst reducers = {\n setRolesState: typeReducerForKey<RolesState>('rolesState'),\n resetRolesState: resetStateByKey<RolesState>('rolesState', { rolesState }),\n};\n\nconst actions = {\n loadRolesAndPermissions: createAction(`${authStoreName}/loadRoles`, (payload?: WithSilentLoad<{}>) => ({ payload })),\n addRole: createAction(`${authStoreName}/addRole`, (payload: WithCallback<IAddRole, IRole>) => ({ payload })),\n updateRole: createAction(`${authStoreName}/updateRole`, (payload: WithCallback<IUpdateRole, IRole>) => ({ payload })),\n deleteRole: createAction(`${authStoreName}/deleteRole`, (payload: WithCallback<IDeleteRole>) => ({ payload })),\n attachPermissionsToRole: createAction(\n `${authStoreName}/attachPermissionsToRole`,\n (payload: WithCallback<IAttachPermissionsToRole, IRole>) => ({ payload })\n ),\n attachPermissionToRoles: createAction(\n `${authStoreName}/attachPermissionToRoles`,\n (payload: WithCallback<IAttachPermissionToRoles, IRolePermission>) => ({ payload })\n ),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setRolesState: (state: RolesState) => void;\n resetRolesState: () => void;\n loadRolesAndPermissions: (payload?: WithSilentLoad<{}>) => void;\n addRole: (payload: WithCallback<IAddRole, IRole>) => void;\n updateRole: (payload: WithCallback<IUpdateRole, IRole>) => void;\n deleteRole: (payload: WithCallback<IDeleteRole>) => void;\n attachPermissionsToRole: (payload: WithCallback<IAttachPermissionsToRole, IRole>) => void;\n attachPermissionToRoles: (payload: WithCallback<IAttachPermissionToRoles, IRolePermission>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type RolesActions = DispatchedActions;\nexport { rolesState, reducers as rolesReducers, actions as rolesActions };\n","import { loginState } from './LoginState';\nimport { AuthState } from './interfaces';\nimport { activateState } from './ActivateState';\nimport { acceptInvitationState } from './AcceptInvitationState';\nimport { forgotPasswordState } from './ForgotPasswordState';\nimport { ssoState } from './SSOState';\nimport { profileState } from './ProfileState';\nimport { mfaState } from './MfaState';\nimport { teamState } from './TeamState';\nimport { socialLoginState } from './SocialLogins';\nimport { signUpState } from './SignUp';\nimport { apiTokensState } from './ApiTokensState';\nimport { securityPolicyState } from './SecurityPolicyState';\nimport { accountSettingsState } from './AccountSettingsState';\nimport { tenantsState } from './TenantsState';\nimport { rolesState } from './RolesState';\n\nexport const reinitializeState: Omit<AuthState, 'routes' | 'onRedirectTo'> = {\n isAuthenticated: false,\n isLoading: true,\n isSSOAuth: false,\n user: null,\n\n signUpState,\n loginState,\n activateState,\n acceptInvitationState,\n forgotPasswordState,\n ssoState,\n profileState,\n mfaState,\n teamState,\n socialLoginState,\n apiTokensState,\n securityPolicyState,\n accountSettingsState,\n tenantsState,\n rolesState,\n};\nexport const initialState: AuthState = {\n routes: {\n authenticatedUrl: '/',\n loginUrl: '/account/login',\n logoutUrl: '/account/logout',\n activateUrl: '/account/activate',\n acceptInvitationUrl: '/account/invitation/accept',\n forgetPasswordUrl: '/account/forget-password',\n resetPasswordUrl: '/account/reset-password',\n socialLoginCallbackUrl: '/account/social/success',\n signUpUrl: '/account/sign-up',\n oidcRedirectUrl: '/account/oidc/callback',\n magicLinkCallbackUrl: '/account/login/magic-link'\n },\n onRedirectTo: () => {},\n\n ...reinitializeState,\n};\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { AuthState, User } from './interfaces';\nimport { typeReducer } from './utils';\nimport { initialState, reinitializeState } from './initialState';\nimport { authStoreName } from '../constants';\nimport { LoginActions, loginActions, loginReducers } from './LoginState';\nimport { ActivateAccountActions, activateAccountActions, activateAccountReducers } from './ActivateState';\nimport { AcceptInvitationActions, acceptInvitationActions, acceptInvitationReducers } from './AcceptInvitationState';\nimport { ForgotPasswordActions, forgotPasswordActions, forgotPasswordReducers } from './ForgotPasswordState';\nimport { SSOActions, ssoActions, ssoReducers } from './SSOState';\nimport { MfaActions, mfaActions, mfaReducers } from './MfaState';\nimport { ProfileActions, profileActions, profileReducers } from './ProfileState';\nimport { TeamActions, teamActions, teamReducers } from './TeamState';\nimport { SocialLoginActions, socialLoginsActions, socialLoginsReducer } from './SocialLogins';\nimport { SignUpActions, signUpActions, signUpReducers } from './SignUp';\nimport { ApiTokensActions, apiTokensActions, apiTokensReducers } from './ApiTokensState';\nimport { SecurityPolicyActions, securityPolicyActions, securityPolicyReducers } from './SecurityPolicyState';\nimport { AccountSettingsActions, accountSettingsActions, accountSettingsReducers } from './AccountSettingsState';\nimport { TenantsActions, tenantsActions, tenantsReducers } from './TenantsState';\nimport { RolesActions, rolesActions, rolesReducers } from './RolesState';\n\nconst { reducer, actions: sliceActions } = createSlice({\n name: authStoreName,\n initialState,\n reducers: {\n resetState: (state: AuthState) => ({ ...state, ...reinitializeState }),\n setState: (state: AuthState, { payload }: PayloadAction<Partial<AuthState>>) => ({ ...state, ...payload }),\n setUser: typeReducer<User>('user'),\n ...loginReducers,\n ...socialLoginsReducer,\n ...activateAccountReducers,\n ...acceptInvitationReducers,\n ...forgotPasswordReducers,\n ...signUpReducers,\n ...profileReducers,\n ...ssoReducers,\n ...mfaReducers,\n ...teamReducers,\n ...apiTokensReducers,\n ...securityPolicyReducers,\n ...accountSettingsReducers,\n ...tenantsReducers,\n ...rolesReducers,\n },\n});\n\nconst actions = {\n ...sliceActions,\n ...loginActions,\n ...socialLoginsActions,\n ...activateAccountActions,\n ...acceptInvitationActions,\n ...forgotPasswordActions,\n ...signUpActions,\n ...profileActions,\n ...ssoActions,\n ...mfaActions,\n ...teamActions,\n ...apiTokensActions,\n ...securityPolicyActions,\n ...accountSettingsActions,\n ...tenantsActions,\n ...rolesActions,\n};\n\nexport type RootActions = {\n setState: (state: Partial<AuthState>) => void;\n resetState: () => void;\n setUser: (user: User) => void;\n};\n\nexport type AuthActions = RootActions &\n LoginActions &\n SocialLoginActions &\n ActivateAccountActions &\n AcceptInvitationActions &\n ForgotPasswordActions &\n SignUpActions &\n ProfileActions &\n SSOActions &\n MfaActions &\n TeamActions &\n ApiTokensActions &\n SecurityPolicyActions &\n AccountSettingsActions &\n TenantsActions &\n RolesActions;\n\nexport { reducer, actions };\n","import { ICreateSamlGroup, ISamlConfiguration, ISamlRolesGroup, IOidcConfiguration, ITeamUserRole } from '@frontegg/rest-api';\nimport { WithCallback } from '../../interfaces';\n\nexport interface SSOState {\n firstLoad: boolean;\n loading: boolean;\n error?: any;\n saving?: boolean;\n samlConfiguration?: ISamlConfiguration;\n oidcConfiguration?: IOidcConfiguration;\n roles?: ITeamUserRole[];\n rolesGroups?: ISamlRolesGroup[];\n authorizationRoles?: string[];\n}\n\nexport enum SamlVendors {\n Saml = 'saml',\n Okta = 'okta',\n Azure = 'azure',\n Google = 'google',\n Oidc = 'oidc',\n}\n\nexport type SaveSSOConfigurationPayload = WithCallback<Partial<ISamlConfiguration & { samlVendor: SamlVendors }>>;\nexport type SaveSSOConfigurationFilePayload = WithCallback<{ configFile: File }>;\nexport type UpdateSSOAuthorizationRolesPayload = WithCallback<{\n authorizationRoles: string[];\n groups?: ISamlRolesGroup[];\n}>;\nexport type DeleteSamlGroupPayload = WithCallback<{\n id: string;\n}>;\nexport type CreateSamlGroupPayload = WithCallback<ICreateSamlGroup>;\n","import { createAction } from '@reduxjs/toolkit';\n\nexport function omitProps<T>(props: any, keys: string[]): T {\n const newProps = { ...props };\n keys.forEach((key) => {\n delete newProps[key];\n });\n return newProps as T;\n}\n\nexport function generateActionCreator(storeName: string) {\n return <Payload>(key: string, withPayload?: boolean) =>\n withPayload\n ? createAction(`${storeName}/${key}`, (payload: Payload) => ({ payload }))\n : createAction(`${storeName}/${key}`);\n}\n\nexport const readFileAsText = (file: File): Promise<string> =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = reject;\n });\n","import {\n ISamlConfiguration,\n ISecurityPolicy,\n ISecurityPolicyLockout,\n ISecurityPolicyMfa,\n IRole,\n IRolePermission,\n ITeamUser,\n ITeamUserPermission,\n ITeamUserRole,\n IUserProfile,\n ISamlMetadata,\n ITenantsResponse,\n ISecurityPolicyPasswordHistory,\n} from '@frontegg/rest-api';\nimport { IApiTokensData, ITenantApiTokensData } from './ApiTokensState/interfaces';\nimport { User } from './interfaces';\nimport { ProfileState } from './ProfileState/interfaces';\nimport { SSOState } from './SSOState/interfaces';\n\nexport const apiTokensDataDemo: IApiTokensData = {\n clientId: 'CLIENT_ID_16806d3d-8fc3-4450-be97-abdaf66b723e',\n secret: 'SECRET_16806d3d-8fc3-4450-be97-abdaf66b723e',\n createdAt: 'createdAt',\n description: 'This is dummy api token for preview only',\n};\n\nexport const apiTokensDataTenantDemo: ITenantApiTokensData = {\n ...apiTokensDataDemo,\n roleIds: [],\n tenantId: 'my-tenant-id',\n createdByUserId: 'createdByUserId',\n};\nexport const roleDemo: IRole[] = [\n {\n id: 'roleId',\n key: 'admin',\n isDefault: false,\n name: 'Admin',\n description: null,\n permissions: ['adminPermissionId'],\n tenantId: 'tenantId',\n vendorId: 'vendorId',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n];\nexport const rolePermissionDemo: IRolePermission[] = [\n {\n id: 'adminPermissionId',\n key: 'fe.*',\n name: 'General Admin',\n description: undefined,\n categoryId: 'category',\n fePermission: true,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n];\n\nexport const userProfileDemo: IUserProfile = {\n id: 'testId',\n name: 'Dummy User',\n email: 'dummy@frontegg.com',\n mfaEnrolled: true,\n profileImage: undefined,\n profilePictureUrl:\n 'https://www.gravatar.com/avatar/42b2ad2bad6fc9b9db5086dfcf8072ac?d=https://ui-avatars.com/api/fe/128/random?t=1617261890875?t=1617261917434',\n roles: roleDemo,\n permissions: rolePermissionDemo,\n tenantId: 'my-tenant-id',\n tenantIds: ['my-tenant-id'],\n activatedForTenant: true,\n metadata: {},\n roleIds: undefined,\n verified: undefined,\n};\n\nexport const userDemo: User = {\n ...userProfileDemo,\n accessToken:\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MTY5YmY0Zi02YmI5LTQ5NGMtOGNkZS05MDc4NDQ0NWY4MDciLCJuYW1lIjoiRHVtbXkgVXNlciIsImVtYWlsIjoiZHVtbXlAZnJvbnRlZ2cuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm1ldGFkYXRhIjp7fSwicm9sZXMiOlsiYWRtaW4iXSwicGVybWlzc2lvbnMiOlsiZmUuKiJdLCJ0ZW5hbnRJZCI6Im15LXRlbmFudC1pZCIsInRlbmFudElkcyI6WyJteS10ZW5hbnQtaWQiXSwicHJvZmlsZVBpY3R1cmVVcmwiOiJodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLzQyYjJhZDJiYWQ2ZmM5YjlkYjUwODZkZmNmODA3MmFjP2Q9aHR0cHM6Ly91aS1hdmF0YXJzLmNvbS9hcGkvZmUvMTI4L3JhbmRvbT90PTE2MTcyNjE4OTA4NzU_dD0xNjE3MjYxOTE3NDM0IiwidHlwZSI6InVzZXJUb2tlbiIsImlhdCI6MTYxNzkwNjMyNCwiZXhwIjoxNjE3OTkyNzI0LCJpc3MiOiJmcm9udGVnZyJ9.paaXLkpWEWbQmUtoK2P8IwXCxK4WJp7XhXonvzF8g1I',\n expiresIn: 86400,\n mfaRequired: false,\n refreshToken: 'refresh-token-dummy-de39dc9c-9d22-4852-b7f5-c3c0aa613b58',\n type: 'userToken',\n iat: 1617906324,\n exp: 1617992724,\n iss: 'frontegg',\n email_verified: true,\n} as any;\n\nexport const profileStateDemo: ProfileState = {\n loading: false,\n error: undefined,\n saving: true,\n profile: userProfileDemo,\n};\n\nexport const policyDemo: ISecurityPolicy = {\n id: 'id',\n enforceMFAType: 'DontForce',\n createdAt: new Date(),\n updatedAt: new Date(),\n allowOverrideEnforcePasswordHistory: true,\n allowOverridePasswordComplexity: false,\n allowOverridePasswordExpiration: false,\n allowSignups: true,\n apiTokensEnabled: true,\n cookieSameSite: 'cookieSameSite',\n defaultRefreshTokenExpiration: 0,\n defaultTokenExpiration: 1,\n publicKey: 'publicKey',\n};\n\nexport const policyMfaDemo: ISecurityPolicyMfa = {\n id: 'id',\n enforceMFAType: 'DontForce',\n createdAt: new Date(),\n updatedAt: new Date(),\n};\n\nexport const policyLockoutDemo: ISecurityPolicyLockout = {\n id: 'id',\n enabled: true,\n maxAttempts: 1,\n createdAt: new Date(),\n updatedAt: new Date(),\n};\n\nexport const policyPasswordHistoryDemo: ISecurityPolicyPasswordHistory = {\n id: 'id',\n enabled: true,\n historySize: 1,\n createdAt: new Date(),\n updatedAt: new Date(),\n};\n\nexport const samlConfigurationDemo: ISamlConfiguration = {\n enabled: true,\n domain: 'domain',\n validated: true,\n generatedVerification: 'generatedVerification',\n ssoEndpoint: 'ssoEndpoint',\n publicCertificate: 'publicCertificate',\n signRequest: true,\n createdAt: new Date(),\n updatedAt: new Date(),\n acsUrl: undefined,\n spEntityId: undefined,\n oidcClientId: undefined,\n oidcSecret: undefined,\n type: undefined,\n};\n\nexport const samlMetadataDemo: ISamlMetadata = {\n id: 'id',\n createdAt: 'createdAt',\n updatedAt: 'updatedAt',\n properties: [],\n vendorId: 'vendorId',\n entityName: 'saml',\n configuration: {\n acsUrl: 'acsUrl',\n spEntityId: 'spEntityId',\n isActive: true,\n },\n};\n\nexport const rolesDemo: ITeamUserRole[] = [\n {\n id: 'id',\n description: 'description',\n key: 'key',\n name: 'name',\n permissions: [],\n permissionLevel: 1,\n },\n];\n\nexport const ssoStateDemo: SSOState = {\n firstLoad: false,\n loading: false,\n error: undefined,\n saving: false,\n samlConfiguration: samlConfigurationDemo,\n roles: rolesDemo,\n authorizationRoles: [],\n};\n\nexport const permissionsDemo: ITeamUserPermission[] = [\n {\n description: 'string',\n fePermission: true,\n id: 'id',\n key: 'key',\n name: 'name',\n roleIds: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n categoryId: 'categoryId',\n },\n];\n\nexport const userTeamDemo: ITeamUser = {\n id: 'id',\n email: 'email',\n name: 'name',\n phone: undefined,\n profileImage: undefined,\n profileImageUrl: undefined,\n tenantId: 'tenantId',\n vendorId: 'vendorId',\n roleIds: [],\n activatedForTenant: true,\n createdAt: new Date().toISOString(),\n customData: undefined,\n lastLogin: undefined,\n mfaEnabled: undefined,\n roles: [],\n};\n\nexport const usersDemo: ITeamUser[] = [userTeamDemo];\n\nexport const tenantsDemo: ITenantsResponse[] = [\n {\n id: 'my-tenant-id',\n name: 'My Tenant Name',\n deletedAt: null,\n metadata: undefined,\n tenantId: 'my-tenant-id',\n vendorId: 'vendorId',\n createdAt: new Date(),\n updatedAt: new Date(),\n address: undefined,\n timezone: undefined,\n dateFormat: undefined,\n timeFormat: undefined,\n currency: undefined,\n logo: undefined,\n },\n];\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { put, call, takeLeading, select } from 'redux-saga/effects';\nimport { api, ContextHolder, ISignUpUser, IVendorConfig } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { SignUpStage } from './interfaces';\nimport { MFAStep } from '../MfaState/interfaces';\nimport { LoginStep } from '../LoginState/interfaces';\n\nexport function* loadAllowSignUps() {\n yield put(actions.setSignUpState({ loading: true }));\n try {\n const { allowSignups: allowSignUps, allowNotVerifiedUsersLogin }: IVendorConfig = yield call(\n api.auth.getVendorConfig\n );\n yield put(actions.setSignUpState({ loading: false, allowSignUps, allowNotVerifiedUsersLogin, firstLoad: false }));\n } catch (e) {\n yield put(actions.setSignUpState({ loading: false, error: e.message, firstLoad: false }));\n }\n}\n\nexport function* signUpUser({ payload }: PayloadAction<ISignUpUser>) {\n yield put(actions.setSignUpState({ loading: true }));\n\n try {\n const { routes, onRedirectTo } = yield select((state) => state.auth);\n const { shouldActivate, user } = yield call(api.auth.signUpUser, payload);\n\n ContextHolder.setAccessToken(user?.accessToken);\n ContextHolder.setUser(user);\n\n if (!shouldActivate && user?.mfaRequired && user?.mfaToken) {\n let step = LoginStep.loginWithTwoFactor;\n if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {\n yield put(\n actions.setMfaState({\n step: MFAStep.verify,\n qrCode: user.qrCode,\n recoveryCode: user.recoveryCode,\n mfaToken: user.mfaToken,\n loading: false,\n })\n );\n step = LoginStep.forceTwoFactor;\n }\n yield put(actions.setLoginState({ step }));\n onRedirectTo(routes.loginUrl);\n } else {\n yield put(actions.setSignUpState({ loading: false, shouldActivate, stage: SignUpStage.SignUpSuccess }));\n yield put(\n actions.setState({\n user,\n isAuthenticated: !!user?.accessToken,\n })\n );\n if (!shouldActivate) {\n yield put(actions.loadTenants());\n }\n }\n } catch (e) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n yield put(actions.setSignUpState({ loading: false, error: e.message }));\n }\n yield put(actions.setSignUpState({ loading: false }));\n}\n\nexport function* resetSignUpStateSoft() {\n const { allowSignUps, allowNotVerifiedUsersLogin } = yield select((state) => state.auth.signUpState);\n yield put(actions.resetSignUpState());\n yield put(actions.setSignUpState({ allowSignUps, allowNotVerifiedUsersLogin }));\n}\n\nexport function* signUpSaga() {\n yield takeLeading(actions.signUpUser, signUpUser);\n yield takeLeading(actions.resetSignUpStateSoft, resetSignUpStateSoft);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeEvery, takeLeading } from 'redux-saga/effects';\nimport {\n api, ISecurityPolicy, ISecurityPolicyLockout, ISecurityPolicyMfa, ISecurityPolicyPasswordHistory,\n ISecurityPolicyCaptcha, ISecurityPolicyPasswordConfig,\n IVendorConfig,\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport {\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n SaveSecurityPolicyPasswordHistoryPayload,\n} from './interfaces';\nimport { delay } from '../utils';\nimport { policyDemo, policyMfaDemo, policyLockoutDemo, policyPasswordHistoryDemo } from '../dummy';\n\nfunction* loadSecurityPolicy() {\n yield put(actions.setSecurityPolicyGlobalState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicy = yield call(api.auth.getGlobalSecurityPolicy);\n yield put(actions.setSecurityPolicyGlobalState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyGlobalState({ error: e.message, loading: false }));\n }\n yield put(actions.loadSecurityPolicyMfa());\n yield put(actions.loadSecurityPolicyLockout());\n yield put(actions.loadSecurityPolicyCaptcha());\n}\n\nexport function* loadPublicSecurityPolicy() {\n yield put(actions.setSecurityPolicyPublicState({ loading: true, error: null }));\n try {\n const policy: IVendorConfig = yield call(api.auth.getVendorConfig);\n yield put(actions.setSecurityPolicyPublicState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyPublicState({ error: e.message, loading: false }));\n }\n}\n\nfunction* loadSecurityPolicyMfa() {\n yield put(actions.setSecurityPolicyMfaState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyMfa = yield call(api.auth.getMfaPolicy);\n yield put(actions.setSecurityPolicyMfaState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyMfaState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSecurityPolicyMfa({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyMfaPayload>) {\n yield put(actions.setSecurityPolicyMfaState({ saving: true, error: null }));\n try {\n const policy: ISecurityPolicyMfa = yield call(api.auth.saveMfaPolicy, newSecurityPolicy);\n yield put(actions.setSecurityPolicyMfaState({ policy, saving: false }));\n callback?.(policy);\n } catch (e) {\n yield put(actions.setSecurityPolicyMfaState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* loadSecurityPolicyLockout() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyLockout = yield call(api.auth.getLockoutPolicy);\n yield put(actions.setSecurityPolicyLockoutState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyLockoutState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSecurityPolicyLockout({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyLockoutPayload>) {\n yield put(actions.setSecurityPolicyLockoutState({ saving: true, error: null }));\n try {\n const policy: ISecurityPolicyLockout = yield call(api.auth.saveLockoutPolicy, newSecurityPolicy);\n yield put(actions.setSecurityPolicyLockoutState({ policy, saving: false }));\n callback?.(policy);\n } catch (e) {\n yield put(actions.setSecurityPolicyLockoutState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* loadSecurityPolicyCaptcha() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyCaptcha = yield call(api.auth.getCaptchaPolicy);\n yield put(actions.setSecurityPolicyCaptchaState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyCaptchaState({ error: e.message, loading: false }));\n }\n}\n\nfunction* loadSecurityPolicyPasswordHistory() {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyPasswordHistory = yield call(api.auth.getPasswordHistoryPolicy);\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSecurityPolicyPasswordHistory({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyPasswordHistoryPayload>) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ saving: true, error: null }));\n try {\n const policy: ISecurityPolicyPasswordHistory = yield call(api.auth.savePasswordHistoryPolicy, newSecurityPolicy);\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy, saving: false }));\n callback?.(policy);\n } catch (e) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* loadVendorPasswordConfig() {\n yield put(actions.setSecurityPolicyPasswordState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyPasswordConfig = yield call(api.auth.getPasswordConfigPolicy);\n yield put(actions.setSecurityPolicyPasswordState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyPasswordState({ error: e.message, loading: false }));\n }\n}\n\nexport function* securityPolicySagas() {\n yield takeLeading(actions.loadSecurityPolicy, loadSecurityPolicy);\n yield takeEvery(actions.saveSecurityPolicyMfa, saveSecurityPolicyMfa);\n yield takeEvery(actions.loadSecurityPolicyMfa, loadSecurityPolicyMfa);\n yield takeEvery(actions.saveSecurityPolicyLockout, saveSecurityPolicyLockout);\n yield takeEvery(actions.loadSecurityPolicyLockout, loadSecurityPolicyLockout);\n yield takeEvery(actions.loadSecurityPolicyCaptcha, loadSecurityPolicyCaptcha);\n yield takeEvery(actions.saveSecurityPolicyPasswordHistory, saveSecurityPolicyPasswordHistory);\n yield takeEvery(actions.loadSecurityPolicyPasswordHistory, loadSecurityPolicyPasswordHistory);\n yield takeEvery(actions.loadVendorPasswordConfig, loadVendorPasswordConfig);\n yield takeEvery(actions.loadPublicSecurityPolicy, loadPublicSecurityPolicy);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadSecurityPolicyMock() {\n yield put(actions.setSecurityPolicyGlobalState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyGlobalState({ policy: policyDemo, loading: false }));\n yield put(actions.loadSecurityPolicyMfa());\n yield put(actions.loadSecurityPolicyLockout());\n yield put(actions.loadSecurityPolicyCaptcha());\n}\n\nfunction* loadSecurityPolicyMfaMock() {\n yield put(actions.setSecurityPolicyMfaState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyMfaState({ policy: policyMfaDemo, loading: false }));\n}\n\nfunction* saveSecurityPolicyMfaMock({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyMfaPayload>) {\n yield put(actions.setSecurityPolicyMfaState({ saving: true, error: null }));\n const policy: ISecurityPolicyMfa = {\n ...policyLockoutDemo,\n id: newSecurityPolicy.id ?? policyLockoutDemo.id,\n enforceMFAType: newSecurityPolicy.enforceMFAType,\n };\n yield delay();\n yield put(actions.setSecurityPolicyMfaState({ policy, saving: false }));\n callback?.(policy);\n}\n\nfunction* loadSecurityPolicyLockoutMock() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyLockoutState({ policy: policyLockoutDemo, loading: false }));\n}\n\nfunction* saveSecurityPolicyLockoutMock({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyLockoutPayload>) {\n yield put(actions.setSecurityPolicyLockoutState({ saving: true, error: null }));\n yield delay();\n const policy: ISecurityPolicyLockout = {\n ...newSecurityPolicy,\n ...policyLockoutDemo,\n id: newSecurityPolicy.id ? newSecurityPolicy.id : policyLockoutDemo.id,\n };\n callback?.(policy);\n yield put(actions.setSecurityPolicyLockoutState({ policy, saving: false }));\n}\n\nfunction* loadSecurityPolicyCaptchaMock() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyLockoutState({ policy: policyLockoutDemo, loading: false }));\n}\n\nfunction* loadSecurityPolicyPasswordHistoryMock() {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy: policyPasswordHistoryDemo, loading: false }));\n}\n\nfunction* saveSecurityPolicyPasswordHistoryMock({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyPasswordHistoryPayload>) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ saving: true, error: null }));\n yield delay();\n const policy: ISecurityPolicyPasswordHistory = {\n ...newSecurityPolicy,\n ...policyPasswordHistoryDemo,\n id: newSecurityPolicy.id ? newSecurityPolicy.id : policyPasswordHistoryDemo.id,\n };\n callback?.(policy);\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy, saving: false }));\n}\n\nexport function* securityPolicySagasMock() {\n yield takeLeading(actions.loadSecurityPolicy, loadSecurityPolicyMock);\n yield takeEvery(actions.saveSecurityPolicyMfa, saveSecurityPolicyMfaMock);\n yield takeEvery(actions.loadSecurityPolicyMfa, loadSecurityPolicyMfaMock);\n yield takeEvery(actions.saveSecurityPolicyLockout, saveSecurityPolicyLockoutMock);\n yield takeEvery(actions.loadSecurityPolicyLockout, loadSecurityPolicyLockoutMock);\n yield takeEvery(actions.loadSecurityPolicyCaptcha, loadSecurityPolicyCaptchaMock);\n yield takeEvery(actions.saveSecurityPolicyPasswordHistory, saveSecurityPolicyPasswordHistoryMock);\n yield takeEvery(actions.loadSecurityPolicyPasswordHistory, loadSecurityPolicyPasswordHistoryMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { all, call, delay, put, select, takeLeading } from 'redux-saga/effects';\nimport {\n api,\n ContextHolder,\n ILogin,\n ILoginResponse,\n ILoginWithMfa,\n IPostLogin,\n IPreLogin,\n IRecoverMFAToken,\n ISamlMetadata,\n IAllowedToRememberMfaDevice,\n IPasswordlessPreLogin,\n AuthStrategyEnum,\n IPasswordlessPostLogin,\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { FRONTEGG_AFTER_AUTH_REDIRECT_URL } from '../../constants';\nimport { WithCallback } from '../../interfaces';\nimport { AuthPageRoutes, AuthState } from '../interfaces';\nimport { LoginStep } from './interfaces';\nimport { loadAllowSignUps } from '../SignUp/saga';\nimport { MFAStep } from '../MfaState/interfaces';\nimport { userDemo } from '../dummy';\nimport { SamlVendors } from '../SSOState/interfaces';\nimport { loadVendorPublicInfo } from '../../vendor/saga';\nimport { loadPublicSecurityPolicy } from '../SecurityPolicyState/saga';\n\nexport function* afterAuthNavigation() {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes, includeQueryParam } = yield select((state) => state.auth);\n const { loginUrl, logoutUrl, socialLoginCallbackUrl, activateUrl } = routes as AuthPageRoutes;\n let { authenticatedUrl } = routes as AuthPageRoutes;\n const afterAuthRedirect = window.localStorage.getItem(FRONTEGG_AFTER_AUTH_REDIRECT_URL);\n if (afterAuthRedirect && ![loginUrl, logoutUrl, socialLoginCallbackUrl, activateUrl].includes(afterAuthRedirect)) {\n authenticatedUrl = afterAuthRedirect;\n }\n window.localStorage.removeItem(FRONTEGG_AFTER_AUTH_REDIRECT_URL);\n yield delay(200);\n put(actions.resetLoginState());\n const url = new URL(window?.location.href);\n let redirectUrl = authenticatedUrl;\n if (url.searchParams.get('redirectUrl')) {\n redirectUrl = url.searchParams.get('redirectUrl') ?? authenticatedUrl;\n } else if (includeQueryParam) {\n redirectUrl += window.location.search;\n }\n onRedirectTo(redirectUrl, { refresh: redirectUrl.startsWith('http') });\n}\n\nexport function* refreshMetadata() {\n let ssoACS;\n try {\n const metadata: ISamlMetadata & { isActive: boolean } = yield call(api.metadata.getSamlMetadata);\n ssoACS = metadata?.configuration?.acsUrl;\n } catch (e) {\n console.error(e);\n }\n yield put(actions.setState({ ssoACS }));\n}\n\nexport function* loadSSOPublicConfigurationFunction() {\n try {\n const { isActive } = yield call(api.auth.getSSOPublicConfiguration);\n yield put(actions.setState({ isSSOAuth: isActive }));\n } catch (e) {\n console.error(e);\n }\n}\n\nexport const isMfaRequired = (user: ILoginResponse) => {\n if (user.mfaRequired && user.mfaToken) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n return true;\n } else {\n ContextHolder.setAccessToken(user.accessToken);\n ContextHolder.setUser(user);\n return false;\n }\n};\n\nexport function* getMfaRequiredState(user: any) {\n let setMfaState = {};\n let step = LoginStep.loginWithTwoFactor;\n\n const { isAllowedToRemember, mfaDeviceExpiration } = yield call(\n api.auth.checkIfAllowToRememberMfaDevice,\n user.mfaToken,\n );\n if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {\n setMfaState = {\n mfaState: {\n step: MFAStep.verify,\n qrCode: user.qrCode,\n recoveryCode: user.recoveryCode,\n loading: false,\n mfaToken: user.mfaToken,\n },\n };\n step = LoginStep.forceTwoFactor;\n }\n return {\n user: undefined,\n isAuthenticated: false,\n ...setMfaState,\n loginState: {\n mfaToken: user.mfaToken,\n mfaRequired: user.mfaRequired,\n loading: false,\n error: undefined,\n step,\n tenantsLoading: true,\n tenants: [],\n allowRememberMfaDevice: isAllowedToRemember,\n mfaDeviceExpiration,\n },\n };\n}\n\nexport function* refreshToken() {\n try {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes } = yield select((state) => state.auth);\n const user: ILoginResponse = yield call(api.auth.refreshToken);\n\n if (isMfaRequired(user)) {\n const mfaRequiredState: Partial<AuthState> = yield getMfaRequiredState(user);\n yield put(actions.setState(mfaRequiredState));\n onRedirectTo(routes.loginUrl, { preserveQueryParams: true });\n } else {\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true }));\n\n if (\n [routes.loginUrl, routes.socialLoginCallbackUrl, routes.signupUrl, routes.oidcRedirectUrl].includes(window.location.pathname) ||\n (window.location.pathname.endsWith(routes.activateUrl) && user.verified)\n ) {\n yield afterAuthNavigation();\n }\n }\n } catch (e) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n yield put(actions.setState({ user: undefined, isAuthenticated: false }));\n }\n}\n\nfunction* requestAuthorize({ payload: firstTime }: PayloadAction<boolean>) {\n const calls = [];\n if (firstTime) {\n yield put(actions.setState({ isLoading: true }));\n calls.push(call(refreshMetadata));\n yield put(actions.loadSocialLoginsConfiguration());\n calls.push(call(loadAllowSignUps));\n calls.push(call(loadSSOPublicConfigurationFunction));\n calls.push(call(loadVendorPublicInfo));\n calls.push(call(loadPublicSecurityPolicy));\n }\n calls.push(call(refreshToken));\n yield all(calls);\n yield put(actions.setState({ isLoading: false }));\n}\n\nfunction* passwordlessPreLogin({ payload: { callback, ...payload } }: PayloadAction<WithCallback<IPasswordlessPreLogin, void>>) {\n try {\n yield put(actions.setLoginState({ loading: true }));\n yield call(api.auth.passwordlessPreLogin, payload);\n const step = payload.type === AuthStrategyEnum.MagicLink ? LoginStep.magicLinkPreLoginSuccess : LoginStep.loginWithOtc\n yield put(actions.setLoginState({ step, loading: false, email: payload.email }));\n callback?.();\n } catch (e) {\n yield put(actions.setLoginState({ error: e.message, loading: false }));\n callback?.();\n }\n}\n\nfunction* passwordlessPostLogin({ payload }: PayloadAction<IPasswordlessPostLogin>) {\n try {\n yield put(actions.setLoginState({ loading: true }));\n const data: ILoginResponse = yield call(api.auth.passwordlessPostLogin, payload);\n if (isMfaRequired(data)) {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes } = yield select((state) => state.auth);\n\n const mfaRequiredState: Partial<AuthState> = yield getMfaRequiredState(data);\n yield put(actions.setState(mfaRequiredState));\n onRedirectTo(routes.loginUrl, { preserveQueryParams: true });\n } else {\n const user: ILoginResponse = yield call(api.auth.generateLoginResponse, data);\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true }));\n yield afterAuthNavigation();\n }\n } catch (e) {\n yield put(\n actions.setLoginState({ error: e.message ?? 'Failed to authenticate' }),\n );\n } finally {\n yield put(\n actions.setLoginState({ loading: false }),\n );\n }\n}\n\nfunction* preLogin({ payload: { email, recaptchaToken, callback } }: PayloadAction<WithCallback<IPreLogin & { recaptchaToken?: string }, void>>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n const onRedirectTo: AuthState['onRedirectTo'] = yield select(({ auth: { onRedirectTo } }) => onRedirectTo);\n\n let { address, idpType } = yield call(api.auth.preLoginWithIdpType, { email });\n if (address) {\n if (idpType === SamlVendors.Oidc && !address.includes('redirect_uri')) {\n const { routes: { oidcRedirectUrl } } = yield select(({ auth: { routes } }) => ({ routes }));\n address += `&redirect_uri=${window.location.origin}${oidcRedirectUrl}`;\n }\n yield put(actions.setLoginState({ step: LoginStep.redirectToSSO, loading: false, ssoRedirectUrl: address }));\n setTimeout(() => {\n onRedirectTo(address, { refresh: true });\n }, 2000);\n } else {\n yield ssoPreloginFailed({ email, recaptchaToken, callback });\n }\n } catch (e) {\n yield ssoPreloginFailed({ email, recaptchaToken, callback });\n }\n}\n\nfunction* ssoPreloginFailed({ callback, ...body }: Omit<WithCallback<IPasswordlessPreLogin, void>, 'type'>) {\n const publicPolicy = yield select(({ auth: { securityPolicyState: { publicPolicy: { policy: publicPolicy } } } }) => publicPolicy);\n\n if (!publicPolicy?.authStrategy) {\n yield put(actions.setLoginState({ step: LoginStep.loginWithPassword, loading: false }));\n callback?.();\n return;\n }\n if (publicPolicy?.authStrategy === AuthStrategyEnum.EmailAndPassword) {\n yield put(actions.setLoginState({ step: LoginStep.loginWithPassword, loading: false }));\n callback?.();\n } else if ([AuthStrategyEnum.MagicLink, AuthStrategyEnum.Code].includes(publicPolicy?.authStrategy)) {\n yield put(actions.passwordlessPreLogin({ ...body, type: publicPolicy?.authStrategy, callback }));\n } else {\n yield put(actions.setLoginState({ step: LoginStep.loginWithPassword, loading: false }));\n callback?.();\n }\n}\n\n\nfunction* postLogin({ payload }: PayloadAction<IPostLogin>) {\n const { onRedirectTo, routes } = yield select(({ auth: { onRedirectTo, routes } }) => ({ onRedirectTo, routes }));\n yield put(actions.setLoginState({ loading: true }));\n try {\n const user: ILoginResponse = yield call(api.auth.postLogin, payload);\n\n ContextHolder.setAccessToken(user.accessToken);\n ContextHolder.setUser(user);\n yield put(\n actions.setState({\n user: !!user.accessToken ? user : undefined,\n isAuthenticated: !!user.accessToken,\n }),\n );\n\n yield afterAuthNavigation();\n } catch (e) {\n setTimeout(() => {\n onRedirectTo(routes.authenticatedUrl);\n }, 1000);\n yield put(actions.setLoginState({ step: LoginStep.loginWithSSOFailed, loading: false }));\n }\n}\n\nfunction* login({ payload: { email, password, recaptchaToken, invitationToken } }: PayloadAction<ILogin>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n const user: ILoginResponse & { qrCode?: string, recoveryCode?: string } = yield call(api.auth.login, { email, password, recaptchaToken, invitationToken });\n ContextHolder.setAccessToken(user.accessToken);\n ContextHolder.setUser(user);\n\n let setMfaState = {};\n let step = LoginStep.success;\n if (user.mfaRequired && user.mfaToken) {\n step = LoginStep.loginWithTwoFactor;\n if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {\n setMfaState = {\n mfaState: {\n step: MFAStep.verify,\n qrCode: user.qrCode,\n recoveryCode: user.recoveryCode,\n mfaToken: user.mfaToken,\n loading: false,\n },\n };\n step = LoginStep.forceTwoFactor;\n }\n }\n const isAuthenticated = step === LoginStep.success && !!user.accessToken;\n const loggedInUser = step === LoginStep.success && step === LoginStep.success ? user : undefined;\n let allowRememberDevice: IAllowedToRememberMfaDevice = { isAllowedToRemember: false, mfaDeviceExpiration: 0 };\n if (user.mfaRequired && user.mfaToken) {\n allowRememberDevice = yield call(api.auth.checkIfAllowToRememberMfaDevice, user.mfaToken);\n }\n const { isAllowedToRemember, mfaDeviceExpiration } = allowRememberDevice;\n\n yield put(\n actions.setState({\n user: loggedInUser,\n isAuthenticated,\n ...setMfaState,\n loginState: {\n email,\n loading: false,\n error: undefined,\n mfaToken: user.mfaToken,\n step,\n tenants: [],\n tenantsLoading: true,\n allowRememberMfaDevice: isAllowedToRemember,\n mfaDeviceExpiration,\n },\n }),\n );\n if (step === LoginStep.success) {\n yield put(actions.loadTenants());\n yield afterAuthNavigation();\n }\n } catch (e) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n yield put(\n actions.setLoginState({\n email,\n error: e.message,\n loading: false,\n }),\n );\n }\n}\n\nfunction* loginWithMfa({\n payload: { mfaToken, value, rememberDevice, callback },\n}: PayloadAction<WithCallback<ILoginWithMfa>>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n const user: ILoginResponse = yield call(api.auth.loginWithMfa, { mfaToken, value, rememberDevice });\n\n const step = LoginStep.success;\n yield put(\n actions.setState({\n loginState: { loading: false, error: undefined, step, tenantsLoading: true, tenants: [] },\n user,\n isAuthenticated: true,\n }),\n );\n yield put(actions.loadTenants());\n callback?.(true);\n if (step === LoginStep.success) {\n yield afterAuthNavigation();\n }\n } catch (e) {\n yield put(actions.setLoginState({ error: e.message, loading: false }));\n callback?.(false, e);\n }\n}\n\nfunction* recoverMfa({ payload }: PayloadAction<IRecoverMFAToken>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n yield call(api.auth.recoverMfaToken, payload);\n yield put(actions.setLoginState({ loading: false, error: undefined, step: LoginStep.preLogin }));\n yield put(actions.setState({ user: undefined, isAuthenticated: false }));\n } catch (e) {\n yield put(actions.setLoginState({ error: e.message, loading: false }));\n }\n}\n\nfunction* logout({ payload }: PayloadAction<() => void>) {\n yield put(actions.setState({ isLoading: true }));\n try {\n yield call(api.auth.logout);\n } catch {\n }\n yield put(actions.resetState());\n yield put(actions.requestAuthorize(true));\n payload?.();\n}\n\nfunction* silentLogout({ payload }: PayloadAction<() => void>) {\n try {\n yield call(api.auth.logout);\n } catch {\n }\n payload?.();\n}\n\nexport function* loginSagas() {\n yield takeLeading(actions.requestAuthorize, requestAuthorize);\n yield takeLeading(actions.preLogin, preLogin);\n yield takeLeading(actions.postLogin, postLogin);\n yield takeLeading(actions.login, login);\n yield takeLeading(actions.logout, logout);\n yield takeLeading(actions.silentLogout, silentLogout);\n yield takeLeading(actions.loginWithMfa, loginWithMfa);\n yield takeLeading(actions.recoverMfa, recoverMfa);\n yield takeLeading(actions.passwordlessPreLogin, passwordlessPreLogin);\n yield takeLeading(actions.passwordlessPostLogin, passwordlessPostLogin);\n\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* requestAuthorizeMock({ payload: firstTime }: PayloadAction<boolean>) {\n if (firstTime) {\n yield put(actions.setState({ isLoading: true }));\n }\n\n const user = userDemo;\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true, isLoading: false }));\n}\n\nexport function* loginSagasMock() {\n yield takeLeading(actions.requestAuthorize, requestAuthorizeMock);\n yield takeLeading(actions.afterAuthNavigation, afterAuthNavigation);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { all, call, put, select, takeEvery } from 'redux-saga/effects';\nimport { api, ISamlConfiguration, ISamlRolesGroup, IUpdateSamlConfiguration, ISamlMetadata, IOidcConfiguration, IOidcPostLogin } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport {\n CreateSamlGroupPayload,\n DeleteSamlGroupPayload,\n SamlVendors,\n SaveSSOConfigurationFilePayload,\n SaveSSOConfigurationPayload,\n SSOState,\n} from './interfaces';\nimport { WithCallback } from '../../interfaces';\nimport { omitProps, readFileAsText } from '../../helpers';\nimport { delay } from '../utils';\nimport { samlConfigurationDemo, samlMetadataDemo, ssoStateDemo } from '../dummy';\nimport { refreshToken } from '../LoginState/saga';\n\nfunction* loadSSOConfigurations() {\n try {\n yield put(actions.setSSOState({ loading: true }));\n const samlConfiguration: ISamlConfiguration = yield call(api.auth.getSamlConfiguration);\n const oidcConfiguration: IOidcConfiguration = yield call(api.auth.getOidcConfiguration);\n const samlMetadata: ISamlMetadata = yield call(api.metadata.getSamlMetadata);\n samlConfiguration.acsUrl = samlMetadata?.configuration?.acsUrl;\n samlConfiguration.spEntityId = samlMetadata?.configuration?.spEntityId;\n yield put(actions.setSSOState({ samlConfiguration, oidcConfiguration, loading: false, firstLoad: false }));\n } catch (e) {\n yield put(actions.setSSOState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSSOConfigurationsFile({ payload: configFile }: PayloadAction<File[]>) {\n const oldSamlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n const loaderKey: keyof SSOState = 'saving';\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n\n try {\n const metadata: string = yield readFileAsText(configFile[0]);\n const newSamlConfiguration: ISamlConfiguration = yield call(api.auth.updateSamlVendorMetadata, { metadata });\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n } catch (e) {\n yield put(actions.setSSOState({ samlConfiguration: oldSamlConfiguration, error: e.message, [loaderKey]: false }));\n }\n}\n\nfunction* saveSSOConfigurationsFileWithCallback({ payload }: PayloadAction<SaveSSOConfigurationFilePayload>) {\n const { configFile, callback } = payload;\n const oldSamlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n const loaderKey: keyof SSOState = 'saving';\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n\n try {\n const metadata: string = yield readFileAsText(configFile);\n const newSamlConfiguration: ISamlConfiguration = yield call(api.auth.updateSamlVendorMetadata, { metadata });\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n callback?.(true);\n } catch (e) {\n yield put(actions.setSSOState({ samlConfiguration: oldSamlConfiguration, error: e.message, [loaderKey]: false }));\n callback?.(null, e);\n }\n}\n\nfunction* saveSSOConfigurations({ payload }: PayloadAction<SaveSSOConfigurationPayload>) {\n const { callback, samlVendor, ...newSamlConfiguration } = payload;\n const oldSamlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n\n const samlConfiguration = { ...oldSamlConfiguration, ...newSamlConfiguration };\n\n let loaderKey: keyof SSOState = 'saving';\n if (samlConfiguration?.enabled !== oldSamlConfiguration.enabled) {\n loaderKey = 'loading';\n }\n try {\n const firstTimeConfigure = !samlConfiguration?.domain;\n if (firstTimeConfigure) {\n yield put(actions.setSSOState({ samlConfiguration: { ...oldSamlConfiguration, ...samlConfiguration } }));\n return;\n } else {\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n }\n\n if(payload.type === SamlVendors.Saml) {\n const samlMetadata: ISamlMetadata = yield call(api.metadata.getSamlMetadata);\n samlConfiguration.acsUrl = samlMetadata?.configuration?.acsUrl;\n samlConfiguration.spEntityId = samlMetadata?.configuration?.spEntityId;\n }\n\n const updateSamlConfiguration: IUpdateSamlConfiguration = omitProps(samlConfiguration, [\n 'validated',\n 'generatedVerification',\n 'createdAt',\n 'updatedAt',\n ]);\n if (oldSamlConfiguration?.domain !== updateSamlConfiguration?.domain) {\n updateSamlConfiguration.ssoEndpoint = '';\n updateSamlConfiguration.publicCertificate = '';\n updateSamlConfiguration.signRequest = false;\n }\n\n updateSamlConfiguration.type = samlVendor?.toLowerCase();\n\n const newSamlConfiguration: ISamlConfiguration = yield call(api.auth.updateSamlConfiguration, updateSamlConfiguration);\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n callback?.(true);\n } catch (e) {\n yield put(actions.setSSOState({ samlConfiguration: oldSamlConfiguration, error: e.message, [loaderKey]: false }));\n callback?.(null, e);\n }\n}\n\nfunction* validateSSODomain({ payload: { callback } = {} }: PayloadAction<WithCallback>) {\n const samlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.validateSamlDomain);\n yield put(\n actions.setSSOState({\n samlConfiguration: { ...samlConfiguration, validated: true },\n error: undefined,\n saving: false,\n }),\n );\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n samlConfiguration: { ...samlConfiguration, validated: false },\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* getAuthorizationRoles() {\n try {\n const data: { roleIds: string[] } = yield call(api.auth.getSamlRoles);\n const groupsData: ISamlRolesGroup[] = yield call(api.auth.getSamlRolesGroups);\n yield put(\n actions.setSSOState({\n authorizationRoles: data.roleIds,\n rolesGroups: groupsData,\n error: undefined,\n }),\n );\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n }),\n );\n }\n}\n\nfunction* updateRolesGroups(groups: ISamlRolesGroup[]) {\n try {\n yield all(\n groups.map((group: ISamlRolesGroup) =>\n call(api.auth.updateSamlGroup, { id: group.id, roleIds: group.roleIds, group: group.group }),\n ),\n );\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n }),\n );\n }\n}\n\nfunction* updateAuthorizationRoles({\n payload: { callback, authorizationRoles, groups },\n}: PayloadAction<WithCallback<{ authorizationRoles: string[]; groups?: ISamlRolesGroup[] }>>) {\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.updateSamlRoles, { roleIds: authorizationRoles });\n if (groups) {\n yield updateRolesGroups(groups);\n }\n yield getAuthorizationRoles();\n yield put(actions.setSSOState({ error: undefined, saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* deleteSamlGroupFunction({ payload: { callback, id } }: PayloadAction<DeleteSamlGroupPayload>) {\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.deleteSamlGroup, { id });\n yield getAuthorizationRoles();\n yield put(actions.setSSOState({ error: undefined, saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* createSamlGroupFunction({ payload: { group, roleIds, callback } }: PayloadAction<CreateSamlGroupPayload>) {\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.createSamlGroup, { group, roleIds });\n yield getAuthorizationRoles();\n yield put(actions.setSSOState({ error: undefined, saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* oidcPostloginFunction({ payload }: PayloadAction<IOidcPostLogin>) {\n try {\n yield put(actions.setSSOState({ loading: true }));\n yield call(api.auth.oidcPostLogin, payload);\n yield refreshToken();\n yield put(actions.setSSOState({ loading: false }));\n } catch (e) {\n yield put(\n actions.setSSOState({ loading: false, error: e.message ?? 'Failed to authenticate', firstLoad: false }),\n );\n }\n}\n\nexport function* ssoSagas() {\n yield takeEvery(actions.loadSSOConfigurations, loadSSOConfigurations);\n yield takeEvery(actions.saveSSOConfigurations, saveSSOConfigurations);\n yield takeEvery(actions.saveSSOConfigurationsFile, saveSSOConfigurationsFile);\n yield takeEvery(actions.saveSSOConfigurationsFileWithCallback, saveSSOConfigurationsFileWithCallback);\n yield takeEvery(actions.validateSSODomain, validateSSODomain);\n yield takeEvery(actions.loadSSOAuthorizationRoles, getAuthorizationRoles);\n yield takeEvery(actions.updateSSOAuthorizationRoles, updateAuthorizationRoles);\n yield takeEvery(actions.deleteSamlGroup, deleteSamlGroupFunction);\n yield takeEvery(actions.createSamlGroup, createSamlGroupFunction);\n yield takeEvery(actions.oidcPostlogin, oidcPostloginFunction)\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadSSOConfigurationsMock() {\n yield put(actions.setSSOState({ loading: true }));\n yield delay();\n yield put(actions.setSSOState({ samlConfiguration: samlConfigurationDemo, loading: false, firstLoad: false }));\n}\n\nfunction* saveSSOConfigurationsFileMock({ payload: configFile }: PayloadAction<File[]>) {\n const loaderKey: keyof SSOState = 'saving';\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n const newSamlConfiguration: ISamlConfiguration = { enabled: true, ...configFile[0] };\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n}\n\nfunction* saveSSOConfigurationsMock({ payload }: PayloadAction<SaveSSOConfigurationPayload>) {\n const { callback, samlVendor, ...newSamlConfiguration } = payload;\n const oldSamlConfiguration = ssoStateDemo.samlConfiguration!;\n const samlConfiguration = { ...oldSamlConfiguration, ...newSamlConfiguration };\n\n let loaderKey: keyof SSOState = 'saving';\n if (samlConfiguration?.enabled !== oldSamlConfiguration.enabled) {\n loaderKey = 'loading';\n }\n const firstTimeConfigure = !samlConfiguration?.domain;\n if (firstTimeConfigure) {\n yield put(actions.setSSOState({ samlConfiguration: { ...oldSamlConfiguration, ...samlConfiguration } }));\n return;\n } else {\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n }\n yield delay();\n samlConfiguration.acsUrl = samlMetadataDemo?.configuration?.acsUrl;\n samlConfiguration.spEntityId = samlMetadataDemo?.configuration?.spEntityId;\n\n const updateSamlConfiguration: IUpdateSamlConfiguration = omitProps(samlConfiguration, [\n 'validated',\n 'generatedVerification',\n 'createdAt',\n 'updatedAt',\n ]);\n if (oldSamlConfiguration?.domain !== updateSamlConfiguration?.domain) {\n updateSamlConfiguration.ssoEndpoint = '';\n updateSamlConfiguration.publicCertificate = '';\n updateSamlConfiguration.signRequest = false;\n }\n\n updateSamlConfiguration.type = samlVendor?.toLowerCase();\n yield delay();\n yield put(actions.setSSOState({ samlConfiguration: updateSamlConfiguration, error: undefined, [loaderKey]: false }));\n callback?.(true);\n}\n\nfunction* validateSSODomainMock({ payload: { callback } = {} }: PayloadAction<WithCallback>) {\n const samlConfiguration = ssoStateDemo.samlConfiguration!;\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield delay();\n yield put(\n actions.setSSOState({\n samlConfiguration: { ...samlConfiguration, validated: true },\n error: undefined,\n saving: false,\n }),\n );\n callback?.(true);\n}\n\nfunction* getAuthorizationRolesMock() {\n yield delay();\n const data = { roleIds: ['1', '2', '3'] };\n yield put(\n actions.setSSOState({\n authorizationRoles: data.roleIds,\n error: undefined,\n }),\n );\n}\n\nfunction* updateAuthorizationRolesMock({\n payload: { callback, authorizationRoles },\n}: PayloadAction<WithCallback<{ authorizationRoles: string[] }>>) {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield delay();\n yield put(actions.setSSOState({ authorizationRoles, error: undefined, saving: false }));\n callback?.(true);\n}\n\nexport function* ssoSagasMock() {\n yield takeEvery(actions.loadSSOConfigurations, loadSSOConfigurationsMock);\n yield takeEvery(actions.saveSSOConfigurations, saveSSOConfigurationsMock);\n yield takeEvery(actions.saveSSOConfigurationsFile, saveSSOConfigurationsFileMock);\n yield takeEvery(actions.validateSSODomain, validateSSODomainMock);\n yield takeEvery(actions.loadSSOAuthorizationRoles, getAuthorizationRolesMock);\n yield takeEvery(actions.updateSSOAuthorizationRoles, updateAuthorizationRolesMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, retry, select, takeEvery, takeLeading } from 'redux-saga/effects';\nimport { api, IChangePassword, IUserProfile } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback } from '../../interfaces';\nimport { profileStateDemo, userDemo, userProfileDemo } from '../dummy';\nimport { delay } from '../utils';\nimport { User } from '../interfaces';\n\nfunction* loadProfile() {\n yield put(actions.setProfileState({ loading: true }));\n try {\n const profile: IUserProfile = yield retry(3, 2000, api.teams.getProfile);\n const currentUser: User = yield select((state) => state.auth.user);\n actions.setUser({ ...currentUser, ...profile });\n yield put(actions.setProfileState({ profile, loading: false }));\n } catch (e) {\n yield put(actions.setProfileState({ loading: false, error: e.message }));\n }\n}\n\nfunction b64toBlob(base64: string, contentType: string): Blob {\n const sliceSize = 512;\n const byteCharacters = atob(base64);\n const byteArrays = [];\n\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n const slice = byteCharacters.slice(offset, offset + sliceSize);\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n byteArrays.push(new Uint8Array(byteNumbers));\n }\n return new Blob(byteArrays, { type: contentType });\n}\n\nfunction base64ToFormData(base64: string, key: string = 'file'): FormData | null {\n const matchResult = base64.match(/^data:image\\/([A-Za-z-+\\/]+);base64,(.+)$/);\n if (matchResult == null) {\n return null;\n }\n\n // Get the content type of the image\n const contentType = `image/${matchResult[1]}`;\n // get the real base64 content of the file\n const data = matchResult[2];\n\n // Convert it to a blob to upload\n const blob = b64toBlob(data, contentType);\n\n // Create a FormData and append the file with \"image\" as parameter name\n const formDataToUpload = new FormData();\n formDataToUpload.append(key, new File([blob], key, { type: contentType }));\n return formDataToUpload;\n}\n\nfunction* saveProfile({\n payload: { callback, profilePictureUrl, ...payload },\n}: PayloadAction<Partial<WithCallback<IUserProfile, IUserProfile>>>) {\n yield put(actions.setProfileState({ saving: true, error: null }));\n try {\n const oldProfileData: IUserProfile = yield select((state) => state.auth.profileState.profile);\n\n let newProfilePictureUrl = oldProfileData.profilePictureUrl;\n if (profilePictureUrl !== oldProfileData.profilePictureUrl && profilePictureUrl) {\n const matchResult = (profilePictureUrl || '').match(/^data:image\\/([A-Za-z-+\\/]+);base64,(.+)$/);\n if (matchResult) {\n const profileImage = base64ToFormData(profilePictureUrl, 'image');\n if (profileImage) {\n newProfilePictureUrl = yield call(api.teams.updateProfileImage, profileImage);\n const imageTimeStamp = Date.now().toString();\n const urlTemplate = new URL(newProfilePictureUrl);\n urlTemplate.searchParams.set('t', imageTimeStamp);\n newProfilePictureUrl = urlTemplate.href;\n }\n }\n }\n\n const newProfileData = {\n ...oldProfileData,\n ...payload,\n profilePictureUrl: newProfilePictureUrl,\n };\n\n const profile: IUserProfile = yield call(api.teams.updateProfile, newProfileData);\n\n const currentUser: User = yield select((state) => state.auth.user);\n yield put(actions.setUser({ ...currentUser, ...profile }));\n yield put(actions.setProfileState({ profile, saving: false }));\n callback?.(newProfileData);\n } catch (e) {\n yield put(actions.setProfileState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* changePassword({ payload }: PayloadAction<WithCallback<IChangePassword>>) {\n yield put(actions.setProfileState({ loading: true }));\n try {\n yield call(api.teams.changePassword, payload);\n yield put(actions.setProfileState({ loading: false, error: undefined }));\n payload.callback?.(true);\n } catch (e) {\n yield put(actions.setProfileState({ loading: false, error: e.message }));\n payload.callback?.(null, e);\n }\n}\n\nexport function* profileSagas() {\n yield takeLeading(actions.loadProfile, loadProfile);\n yield takeEvery(actions.saveProfile, saveProfile);\n yield takeEvery(actions.changePassword, changePassword);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadProfileMock() {\n yield put(actions.setProfileState({ loading: true }));\n yield delay();\n actions.setUser({ ...(userDemo), ...userProfileDemo });\n yield put(actions.setProfileState({ loading: false }));\n}\n\nfunction* saveProfileMock({\n payload: { callback, profilePictureUrl, ...payload },\n}: PayloadAction<Partial<WithCallback<IUserProfile, IUserProfile>>>) {\n yield put(actions.setProfileState({ saving: true, error: null }));\n const oldProfileData = profileStateDemo;\n\n let newProfilePictureUrl = oldProfileData.profile!.profilePictureUrl;\n if (profilePictureUrl !== oldProfileData.profile!.profilePictureUrl && profilePictureUrl) {\n const matchResult = (profilePictureUrl || '').match(/^data:image\\/([A-Za-z-+\\/]+);base64,(.+)$/);\n if (matchResult) {\n newProfilePictureUrl = profilePictureUrl;\n }\n }\n const newProfileData = {\n ...oldProfileData.profile!,\n ...payload,\n profilePictureUrl: newProfilePictureUrl,\n };\n\n const currentUser = userDemo;\n yield delay();\n yield put(actions.setUser({ ...currentUser, ...newProfileData }));\n yield put(actions.setProfileState({ loading: false, error: null, saving: false, profile: newProfileData }));\n callback?.(newProfileData);\n}\n\nfunction* changePasswordMock({ payload }: PayloadAction<WithCallback<IChangePassword>>) {\n yield put(actions.setProfileState({ loading: true }));\n yield delay();\n yield put(actions.setProfileState({ loading: false, error: undefined }));\n payload.callback?.(true);\n}\n\nexport function* profileSagasMock() {\n yield takeLeading(actions.loadProfile, loadProfileMock);\n yield takeEvery(actions.saveProfile, saveProfileMock);\n yield takeEvery(actions.changePassword, changePasswordMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, select, takeEvery } from 'redux-saga/effects';\nimport { api, IDisableMfa, ILoginWithMfa, IVerifyMfa, ILoginResponse, IVerifyMfaResponse } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { MFAState, MFAStep } from './interfaces';\nimport { WithCallback } from '../../interfaces';\nimport { delay } from '../utils';\nimport { userDemo } from '../dummy';\nimport { User } from '../interfaces';\n\nfunction* enrollMfa() {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const { qrCode } = yield call(api.auth.enrollMfa);\n yield put(actions.setMfaState({ loading: false, error: undefined, qrCode }));\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n }\n}\n\nfunction* verifyMfa({\n payload: { callback, ...payload },\n}: PayloadAction<WithCallback<IVerifyMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const user: User = yield select((state) => state.auth.user);\n const data: IVerifyMfaResponse = yield call(api.auth.verifyMfa, payload);\n\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (data?.recoveryCode) {\n mfaState.recoveryCode = data.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield put(actions.setUser({ ...user, mfaEnrolled: true }));\n callback?.(mfaState.recoveryCode);\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* verifyMfaAfterForce({\n payload: { callback, ...payload },\n}: PayloadAction<WithCallback<ILoginWithMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const user: ILoginResponse & { recoveryCode: string } = yield call(api.auth.loginWithMfa, payload);\n\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (user?.recoveryCode) {\n mfaState.recoveryCode = user.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield put(actions.setState({ user }));\n yield put(actions.loadTenants());\n callback?.(mfaState.recoveryCode);\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* disableMfa({ payload }: PayloadAction<WithCallback<IDisableMfa>>) {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const user: User = yield select((state) => state.auth.user);\n yield api.auth.disableMfa(payload);\n yield put(actions.setMfaState({ loading: false, error: undefined }));\n yield put(actions.setUser({ ...user, mfaEnrolled: false }));\n payload.callback?.(true);\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n payload.callback?.(false, e);\n }\n}\n\nexport function* mfaSagas() {\n yield takeEvery(actions.enrollMfa, enrollMfa);\n yield takeEvery(actions.verifyMfa, verifyMfa);\n yield takeEvery(actions.disableMfa, disableMfa);\n yield takeEvery(actions.verifyMfaAfterForce, verifyMfaAfterForce);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* enrollMfaMock() {\n yield put(actions.setMfaState({ loading: true }));\n const qrCode = 'test';\n yield put(actions.setMfaState({ loading: false, error: undefined, qrCode }));\n}\n\nfunction* verifyMfaMock({\n payload: { callback },\n}: PayloadAction<WithCallback<IVerifyMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n yield delay();\n const data = { token: 'token', recoveryCode: 'recoveryCode' };\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (data?.recoveryCode) {\n mfaState.recoveryCode = data.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield put(actions.setUser({ ...userDemo, mfaEnrolled: true }));\n callback?.(mfaState.recoveryCode);\n}\n\nfunction* verifyMfaAfterForceMock({\n payload: { callback, ...payload },\n}: PayloadAction<WithCallback<ILoginWithMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n yield delay();\n const data = { ...payload, recoveryCode: 'recoveryCode' };\n\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (data?.recoveryCode) {\n mfaState.recoveryCode = data.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield delay();\n yield put(actions.setUser({ ...userDemo, mfaEnrolled: true }));\n callback?.(mfaState.recoveryCode);\n}\n\nfunction* disableMfaMock({ payload }: PayloadAction<WithCallback<IDisableMfa>>) {\n yield put(actions.setMfaState({ loading: true }));\n yield delay();\n yield put(actions.setMfaState({ loading: false, error: undefined }));\n yield put(actions.setUser({ ...userDemo, mfaEnrolled: false }));\n payload.callback?.(true);\n}\n\nexport function* mfaSagasMock() {\n yield takeEvery(actions.enrollMfa, enrollMfaMock);\n yield takeEvery(actions.verifyMfa, verifyMfaMock);\n yield takeEvery(actions.disableMfa, disableMfaMock);\n yield takeEvery(actions.verifyMfaAfterForce, verifyMfaAfterForceMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeLeading } from 'redux-saga/effects';\nimport { api, IForgotPassword, IResetPassword, IGetUserPasswordConfig } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { ForgotPasswordStep, TestConfig } from './interfaces';\n\nfunction* forgotPassword({ payload }: PayloadAction<IForgotPassword>) {\n yield put(actions.setForgotPasswordState({ loading: true }));\n try {\n yield call(api.auth.forgotPassword, payload);\n yield put(actions.setForgotPasswordState({ loading: false, error: undefined, step: ForgotPasswordStep.success }));\n } catch (e) {\n yield put(actions.setForgotPasswordState({ loading: false, error: e.message || 'Unknown error occurred' }));\n }\n}\n\nfunction* resetPassword({ payload }: PayloadAction<IResetPassword>) {\n yield put(actions.setForgotPasswordState({ loading: true }));\n try {\n yield call(api.auth.resetPassword, payload);\n yield put(actions.setForgotPasswordState({ loading: false, error: undefined, step: ForgotPasswordStep.success }));\n } catch (e) {\n yield put(actions.setForgotPasswordState({ loading: false, error: e.message }));\n }\n}\n\nexport function* loadPasswordConfig({ payload }: PayloadAction<IGetUserPasswordConfig>) {\n yield put(actions.setForgotPasswordState({ loading: true }));\n try {\n const passwordConfig: Partial<TestConfig> | null = yield call(api.auth.loadPasswordConfig, payload);\n yield put(actions.setForgotPasswordState({ loading: false, passwordConfig }));\n } catch (e) {\n yield put(actions.setForgotPasswordState({ loading: false, error: e.message }));\n }\n}\n\nexport function* forgotPasswordSagas() {\n yield takeLeading(actions.forgotPassword, forgotPassword);\n yield takeLeading(actions.resetPassword, resetPassword);\n yield takeLeading(actions.loadPasswordConfig, loadPasswordConfig);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, select, takeLeading } from 'redux-saga/effects';\nimport {\n api,\n ContextHolder,\n IActivateAccount,\n IResendActivationEmail,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n ILoginResponse\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { afterAuthNavigation, getMfaRequiredState, isMfaRequired } from '../LoginState/saga';\nimport { WithCallback } from '../../interfaces';\nimport { AuthState } from '../interfaces';\n\nfunction* activateAccount({ payload }: PayloadAction<IActivateAccount>) {\n yield put(actions.setActivateState({ loading: true }));\n try {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes } = yield select((state) => state.auth);\n const data: ILoginResponse = yield call(api.auth.activateAccount, payload);\n\n if (isMfaRequired(data)) {\n const mfaRequiredState: Partial<AuthState> = yield getMfaRequiredState(data);\n yield put(actions.setState(mfaRequiredState));\n onRedirectTo(routes.loginUrl, { preserveQueryParams: true });\n } else {\n const user: ILoginResponse = yield call(api.auth.generateLoginResponse, data);\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true }));\n yield afterAuthNavigation();\n }\n } catch (e) {\n yield put(actions.setActivateState({ loading: false, error: e.message }));\n }\n}\n\nfunction* getActivateAccountStrategy({\n payload,\n}: PayloadAction<WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>>) {\n const { callback, ...params } = payload;\n yield put(actions.setActivateStrategyState({ loading: true }));\n try {\n const strategy: IGetActivateAccountStrategyResponse = yield call(api.auth.getActivateAccountStrategy, params);\n yield put(actions.setActivateStrategyState({ strategy, loading: false, error: undefined }));\n callback?.(strategy);\n } catch (e) {\n yield put(actions.setActivateStrategyState({ loading: false, error: e.message }));\n }\n}\n\nfunction* resendActivationEmailFunction({ payload }: PayloadAction<IResendActivationEmail>) {\n yield put(actions.setActivateState({ loading: true }));\n try {\n yield call(api.auth.resendActivationEmail, { email: payload.email });\n yield put(actions.setActivateState({ loading: false, error: undefined, resentEmail: true }));\n } catch (e) {\n yield put(actions.setActivateState({ loading: false, error: e.message }));\n }\n}\n\nexport function* activateSagas() {\n yield takeLeading(actions.activateAccount, activateAccount);\n yield takeLeading(actions.getActivateAccountStrategy, getActivateAccountStrategy);\n yield takeLeading(actions.resendActivationEmail, resendActivationEmailFunction);\n}\n","import { call, put, takeLeading } from 'redux-saga/effects';\nimport { actions } from '../reducer';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport { api, IAcceptInvitation } from '@frontegg/rest-api';\nimport { AcceptInvitationStep } from './interfaces';\n\nfunction* acceptInvitation({ payload }: PayloadAction<IAcceptInvitation>) {\n if (!payload.token || !payload.userId) {\n yield put(actions.setAcceptInvitationState({ error: undefined, step: AcceptInvitationStep.invalid }));\n return;\n }\n\n try {\n yield put(actions.setAcceptInvitationState({ error: undefined, step: AcceptInvitationStep.pending }));\n yield call(api.auth.acceptInvitation, payload);\n\n yield put(\n actions.setState({\n isAuthenticated: false,\n user: null,\n acceptInvitationState: { error: undefined, step: AcceptInvitationStep.success },\n }),\n );\n } catch (e) {\n yield put(actions.setAcceptInvitationState({ step: AcceptInvitationStep.failed, error: e.message }));\n }\n}\n\nexport function* acceptInvitationSagas() {\n yield takeLeading(actions.acceptInvitation, acceptInvitation);\n}\n","import { ITeamUserRole, ITeamUser, QuerySort, QueryFilter, ITeamUserPermission } from '@frontegg/rest-api';\nimport { LoaderIndicatorState, WithCallback } from '../../interfaces';\n\nexport enum TeamStateKeys {\n USERS = 'USERS',\n STATS = 'STATS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER = 'DELETE_USER',\n RESEND_ACTIVATE_LINK = 'RESEND_ACTIVATE_LINK',\n RESEND_INVITATION_LINK = 'RESEND_INVITATION_LINK',\n ROLES_AND_PERMISSIONS = 'ROLES_AND_PERMISSIONS',\n}\n\nexport type TeamStateIndicator = {\n key: TeamStateKeys;\n value: string | boolean;\n};\n\ntype BaseDialogState = {\n open: boolean;\n onClose?: (data?: any) => void;\n};\nexport type AddUserDialogState = BaseDialogState & {\n loading?: boolean;\n error?: boolean;\n};\nexport type ISetAddUserDialog = Omit<AddUserDialogState, 'loading' | 'error' | 'open'>;\n\nexport type DeleteUserDialogState = BaseDialogState & {\n loading?: boolean;\n error?: boolean;\n userId?: string;\n email?: string;\n};\nexport type ISetDeleteUserDialog = Omit<DeleteUserDialogState, 'loading' | 'error' | 'open'>;\n\nexport type LoadRolesAndPermissionsPayload = WithCallback<\n {},\n { roles: ITeamUserRole[]; permissions: ITeamUserPermission[] }\n>;\n\nexport interface TeamState {\n loaders: LoaderIndicatorState<TeamStateKeys>;\n errors: LoaderIndicatorState<TeamStateKeys>;\n\n users: ITeamUser[];\n pageOffset: number;\n pageSize: number;\n totalPages: number;\n roles: ITeamUserRole[];\n permissions: ITeamUserPermission[];\n\n filter: QueryFilter[];\n sort: QuerySort[];\n\n // users stats\n totalItems?: number;\n addedThisWeek?: number;\n\n // dialogs\n addUserDialogState: AddUserDialogState;\n deleteUserDialogState: DeleteUserDialogState;\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { takeLatest, put, call, all, takeEvery, select as sagaSelect } from 'redux-saga/effects';\nimport {\n api,\n IAddUser,\n IDeleteUser,\n ILoadUsers,\n IResendActivationLink,\n IResendInvitationLink,\n IRole,\n ITeamUser,\n IUpdateUser,\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\nimport {\n ISetAddUserDialog,\n ISetDeleteUserDialog,\n LoadRolesAndPermissionsPayload,\n TeamState,\n TeamStateKeys,\n} from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { delay } from '../utils';\nimport { permissionsDemo, rolesDemo, usersDemo, userTeamDemo } from '../dummy';\nimport { v4 as uuid } from 'uuid';\n\nconst selectTeamState = () => sagaSelect((_) => _[authStoreName].teamState);\n\nfunction* loadUsers({ payload }: PayloadAction<WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>>): any {\n const { silentLoading, callback } = payload;\n const teamState: TeamState = yield selectTeamState();\n\n const pageSize = payload.pageSize ?? teamState.pageSize;\n const pageOffset = payload.pageOffset ?? teamState.pageOffset;\n const filter = payload.filter ?? teamState.filter;\n const sort = payload.sort ?? teamState.sort;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: !silentLoading }));\n yield put(\n actions.setTeamState({\n pageSize,\n pageOffset,\n filter,\n sort,\n }),\n );\n try {\n const [{ items: users, totalPages, totalItems }, { items: roles }, { items: permissions }] = yield all([\n call(api.teams.loadUsers, {\n pageSize,\n pageOffset,\n filter,\n sort,\n }),\n call(api.teams.loadAvailableRoles),\n call(api.teams.loadAvailablePermissions),\n ]);\n yield put(actions.setTeamState({ users, totalPages, totalItems, roles, permissions }));\n callback?.(users);\n } catch (e) {\n yield put(actions.setTeamError({ key: TeamStateKeys.USERS, value: e.message }));\n yield put(actions.setTeamState({ totalPages: 0, users: [] }));\n callback?.(null, e);\n }\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: false }));\n}\n\nfunction* loadRoles({ payload }: PayloadAction<LoadRolesAndPermissionsPayload>) {\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n try {\n const [{ items: roles }, { items: permissions }] = yield all([\n call(api.teams.loadAvailableRoles),\n call(api.teams.loadAvailablePermissions),\n ]);\n\n yield put(actions.setTeamState({ roles, permissions }));\n payload?.callback?.({ roles, permissions });\n } catch (e) {\n payload?.callback?.(null, e);\n yield put(actions.setTeamError({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: e.message }));\n }\n\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n}\n\nfunction* addUser({ payload }: PayloadAction<WithCallback<IAddUser, ITeamUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n try {\n const res: ITeamUser & { roles: IRole[] } = yield call(api.teams.addUser, body);\n const { roles, ...userWithoutRoleIds } = res;\n const roleIds = roles.map((role: IRole) => role.id);\n const newUser: any = { ...userWithoutRoleIds, roleIds };\n\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: [newUser, ...teamState.users],\n addUserDialogState: { open: false, loading: false },\n }),\n );\n } catch (e) {\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: false, error: e.message },\n }),\n );\n callback?.(null, e.message);\n }\n}\n\nfunction* updateUser({ payload }: PayloadAction<WithCallback<IUpdateUser, ITeamUser>>) {\n const { callback, profileImage, ...body } = payload;\n const { id: userId } = body;\n const teamState: TeamState = yield selectTeamState();\n const oldUserData: ITeamUser = teamState.users.find((user: ITeamUser) => user.id === body.id)!;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: userId || '' }));\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: true },\n users: teamState.users.map((user: ITeamUser) => {\n if (user.id === body.id) {\n return { ...user, ...body };\n }\n return user;\n }),\n }),\n );\n try {\n if (oldUserData.roleIds.length > 0 && body.roleIds?.length === 0) {\n body.roleIds = [''];\n }\n const { item: newUser } = yield call(api.teams.updateUser, body);\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: teamState.users.map((user: ITeamUser) =>\n user.id === newUser.id\n ? {\n ...user,\n ...newUser,\n createdAt: user.createdAt,\n customData: user.customData,\n lastLogin: user.lastLogin,\n }\n : user,\n ),\n }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: false }));\n } catch (e) {\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: false, error: e.message },\n users: teamState.users.map((user: ITeamUser) => (user.id === body.id ? { ...user, ...oldUserData } : user)),\n }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: false }));\n callback?.(null, e.message);\n }\n}\n\nfunction* deleteUser({ payload }: PayloadAction<WithCallback<IDeleteUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ deleteUserDialogState: { ...teamState.deleteUserDialogState, loading: true } }));\n try {\n yield call(api.teams.deleteUser, body);\n callback?.(true);\n yield put(\n actions.setTeamState({\n users: teamState.users.filter((user: ITeamUser) => user.id !== body.userId),\n deleteUserDialogState: { open: false, loading: false },\n }),\n );\n } catch (e) {\n yield put(\n actions.setTeamState({\n deleteUserDialogState: { ...teamState.deleteUserDialogState, loading: false, error: e.message },\n }),\n );\n callback?.(null, e.message);\n }\n}\n\nfunction* resendActivationLink({ payload }: PayloadAction<WithCallback<IResendActivationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: body.userId }));\n try {\n yield call(api.teams.resendActivationLink, body);\n callback?.(true);\n } catch (e) {\n yield put(actions.setTeamError({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: e.message }));\n callback?.(null, e.message);\n }\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: false }));\n}\n\nfunction* resendInvitationLink({ payload }: PayloadAction<WithCallback<IResendInvitationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: body.email }));\n try {\n yield call(api.teams.resendInvitationLink, body);\n callback?.(true);\n } catch (e) {\n yield put(actions.setTeamError({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: e.message }));\n callback?.(null, e.message);\n }\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: false }));\n}\n\nfunction* openAddUserDialog({ payload }: PayloadAction<ISetAddUserDialog | undefined>) {\n yield put(\n actions.setTeamState({\n addUserDialogState: {\n open: true,\n loading: false,\n error: false,\n ...payload,\n },\n }),\n );\n}\n\nfunction* closeAddUserDialog({ payload }: PayloadAction<any>) {\n const teamState: TeamState = yield selectTeamState();\n const { addUserDialogState: { onClose } } = teamState;\n onClose?.(payload);\n yield put(\n actions.setTeamState({\n addUserDialogState: {\n loading: false,\n error: false,\n open: false,\n },\n }),\n );\n}\n\nfunction* openDeleteUserDialog({ payload }: PayloadAction<ISetDeleteUserDialog | undefined>) {\n yield put(\n actions.setTeamState({\n deleteUserDialogState: {\n open: true,\n loading: false,\n error: false,\n ...payload,\n },\n }),\n );\n}\n\nfunction* closeDeleteUserDialog({ payload }: PayloadAction<any>) {\n const teamState: TeamState = yield selectTeamState();\n const { deleteUserDialogState: { onClose } } = teamState;\n onClose?.(payload);\n yield put(\n actions.setTeamState({\n deleteUserDialogState: {\n loading: false,\n error: false,\n open: false,\n },\n }),\n );\n}\n\nexport function* teamSagas() {\n yield takeLatest(actions.loadUsers, loadUsers);\n yield takeLatest(actions.loadRoles, loadRoles);\n yield takeEvery(actions.addUser, addUser);\n yield takeEvery(actions.updateUser, updateUser);\n yield takeEvery(actions.deleteUser, deleteUser);\n yield takeEvery(actions.resendActivationLink, resendActivationLink);\n yield takeEvery(actions.resendInvitationLink, resendInvitationLink);\n yield takeEvery(actions.openAddUserDialog, openAddUserDialog);\n yield takeEvery(actions.closeAddUserDialog, closeAddUserDialog);\n yield takeEvery(actions.openDeleteUserDialog, openDeleteUserDialog);\n yield takeEvery(actions.closeDeleteUserDialog, closeDeleteUserDialog);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadUsersMock({ payload }: PayloadAction<WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>>): any {\n const { silentLoading, callback } = payload;\n const teamState: TeamState = yield selectTeamState();\n\n const pageSize = payload.pageSize ?? teamState.pageSize;\n const pageOffset = payload.pageOffset ?? teamState.pageOffset;\n const filter = payload.filter ?? teamState.filter;\n const sort = payload.sort ?? teamState.sort;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: !silentLoading }));\n yield put(\n actions.setTeamState({\n pageSize,\n pageOffset,\n filter,\n sort,\n }),\n );\n const totalPages = 2;\n const totalItems = 10;\n yield delay();\n yield put(\n actions.setTeamState({ users: usersDemo, totalPages, totalItems, roles: rolesDemo, permissions: permissionsDemo }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: false }));\n callback?.(usersDemo);\n}\n\nfunction* loadRolesMock({ payload }: PayloadAction<LoadRolesAndPermissionsPayload>) {\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n yield delay();\n yield put(actions.setTeamState({ roles: rolesDemo, permissions: permissionsDemo }));\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n payload?.callback?.({ roles: rolesDemo, permissions: permissionsDemo });\n}\n\nfunction* addUserMock({ payload }: PayloadAction<WithCallback<IAddUser, ITeamUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n yield delay();\n const newUser: ITeamUser = { ...userTeamDemo, ...body, id: `${uuid()}` };\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: [newUser, ...teamState.users],\n addUserDialogState: { open: false, loading: false },\n }),\n );\n}\n\nfunction* updateUserMock({ payload }: PayloadAction<WithCallback<IUpdateUser, ITeamUser>>) {\n const { callback, profileImage, ...body } = payload;\n const { id: userId } = body;\n const teamState: TeamState = yield selectTeamState();\n const oldUserData = teamState.users.find((user: ITeamUser) => user.id === body.id);\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: userId || '' }));\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: true },\n users: teamState.users.map((user: ITeamUser) => {\n if (user.id === body.id) {\n return { ...user, ...body };\n }\n return user;\n }),\n }),\n );\n if (oldUserData!.roleIds.length > 0 && body.roleIds?.length === 0) {\n body.roleIds = [''];\n }\n yield delay();\n const newUser: ITeamUser = { ...oldUserData!, ...body };\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: teamState.users.map((user: ITeamUser) =>\n user.id === newUser.id\n ? {\n ...user,\n ...newUser,\n createdAt: user.createdAt,\n customData: user.customData,\n lastLogin: user.lastLogin,\n }\n : user,\n ),\n }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: false }));\n}\n\nfunction* deleteUserMock({ payload }: PayloadAction<WithCallback<IDeleteUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ deleteUserDialogState: { ...teamState.deleteUserDialogState, loading: true } }));\n yield delay();\n callback?.(true);\n yield put(\n actions.setTeamState({\n users: teamState.users.filter((user: ITeamUser) => user.id !== body.userId),\n deleteUserDialogState: { open: false, loading: false },\n }),\n );\n}\n\nfunction* resendActivationLinkMock({ payload }: PayloadAction<WithCallback<IResendActivationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: body.userId }));\n yield delay();\n callback?.(true);\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: false }));\n}\n\nfunction* resendInvitationLinkMock({ payload }: PayloadAction<WithCallback<IResendInvitationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: body.email }));\n yield delay();\n callback?.(true);\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: false }));\n}\n\nexport function* teamSagasMock() {\n yield takeLatest(actions.loadUsers, loadUsersMock);\n yield takeLatest(actions.loadRoles, loadRolesMock);\n yield takeEvery(actions.addUser, addUserMock);\n yield takeEvery(actions.updateUser, updateUserMock);\n yield takeEvery(actions.deleteUser, deleteUserMock);\n yield takeEvery(actions.resendActivationLink, resendActivationLinkMock);\n yield takeEvery(actions.resendInvitationLink, resendInvitationLinkMock);\n yield takeEvery(actions.openAddUserDialog, openAddUserDialog);\n yield takeEvery(actions.closeAddUserDialog, closeAddUserDialog);\n yield takeEvery(actions.openDeleteUserDialog, openDeleteUserDialog);\n yield takeEvery(actions.closeDeleteUserDialog, closeDeleteUserDialog);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeLeading, takeLatest } from 'redux-saga/effects';\nimport { api, ILoginViaSocialLogin, ISetSocialLoginError, ISocialLoginProviderConfiguration } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { refreshToken } from '../LoginState/saga';\n\nexport function* loadSocialLoginsConfigurations() {\n try {\n yield put(actions.setSocialLoginsState({ loading: true }));\n const socialLoginsConfig: ISocialLoginProviderConfiguration[] = yield call(api.auth.getSocialLoginProviders);\n yield put(actions.setSocialLoginsState({ socialLoginsConfig, loading: false, firstLoad: false }));\n } catch (e) {\n yield put(actions.setSocialLoginsState({ error: e.message, loading: false, firstLoad: false }));\n }\n}\n\nfunction* loginViaSocialLogin({ payload }: PayloadAction<ILoginViaSocialLogin>) {\n try {\n yield put(actions.setSocialLoginsState({ loading: true }));\n const res: { email: string } = yield call(api.auth.loginViaSocialLogin, payload);\n yield refreshToken();\n yield put(actions.setLoginState({ email: res.email }));\n } catch (e) {\n yield put(\n actions.setSocialLoginsState({ loading: false, error: e.message ?? 'Failed to authenticate', firstLoad: false }),\n );\n }\n}\n\nfunction* setSocialLoginError({ payload }: PayloadAction<ISetSocialLoginError>) {\n yield put(actions.setSocialLoginsState({ error: payload.error, loading: false, firstLoad: false }));\n}\n\nexport function* socialLoginsSaga() {\n yield takeLeading(actions.loadSocialLoginsConfiguration, loadSocialLoginsConfigurations);\n yield takeLeading(actions.loginViaSocialLogin, loginViaSocialLogin);\n yield takeLatest(actions.setSocialLoginError, setSocialLoginError);\n}\n","import { ITeamUserPermission, ITeamUserRole } from '@frontegg/rest-api';\nimport { LoaderIndicatorState, WithCallback } from '../../interfaces';\n\nexport interface ApiTokensState {\n loaders: LoaderIndicatorState<ApiStateKeys>;\n searchValue: string;\n apiTokensDataTenant: ITenantApiTokensData[];\n apiTokensDataUser: IApiTokensData[];\n showAddTokenDialog: boolean;\n createdByUserIdColumn?: createdByUserIdColumn;\n deleteTokenDialog: {\n open: boolean;\n clientId: string;\n };\n successDialog: {\n open: boolean;\n secret?: string;\n clientId?: string;\n };\n apiTokenType: ApiTokenType;\n roles: ITeamUserRole[];\n permissions: ITeamUserPermission[];\n errors?: any;\n}\n\nexport type ApiTokenType = 'user' | 'tenant' | null;\nexport type createdByUserIdColumn = 'show' | 'hide' | undefined;\n\nexport interface IApiTokensData {\n clientId: string;\n createdAt: string;\n secret: string;\n description: string;\n}\n\nexport type IUserApiTokensData = IApiTokensData;\n\nexport interface ITenantApiTokensData extends IApiTokensData {\n roleIds: string[];\n tenantId: string;\n createdByUserId: string;\n}\n\nexport type ApiStateIndicator = {\n key: ApiStateKeys;\n value: string | boolean;\n};\n\nexport enum ApiStateKeys {\n LOAD_API_TOKENS = 'LOAD_API_TOKENS',\n ADD_API_TOKEN = 'ADD_API_TOKEN',\n DELETE_API_TOKEN = 'DELETE_API_TOKEN',\n}\n\nexport type AddTenantApiTokenPayload = WithCallback<Pick<ITenantApiTokensData, 'description' | 'roleIds'>>;\nexport type AddUserApiTokenPayload = WithCallback<Pick<IApiTokensData, 'description'>>;\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeLeading, select, takeEvery, takeLatest, delay, all } from 'redux-saga/effects';\nimport { api } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\nimport { ApiStateKeys, ApiTokenType, ITenantApiTokensData, IUserApiTokensData, IApiTokensData } from './interfaces';\nimport { apiTokensDataDemo, apiTokensDataTenantDemo, rolesDemo, permissionsDemo } from '../dummy';\nimport { v4 as uuid } from 'uuid';\n\nfunction* loadApiTokensData({ payload: apiTokenType }: PayloadAction<ApiTokenType>) {\n yield put(actions.setApiTokensState({ apiTokenType }));\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n\n if (apiTokenType === 'user') {\n const apiTokensData: IUserApiTokensData[] = yield call(api.auth.getUserApiTokensData);\n yield put(actions.setApiTokensState({ apiTokensDataUser: apiTokensData ?? [] }));\n } else {\n const apiTenantTokensData: ITenantApiTokensData[] = yield call(api.auth.getTenantApiTokensData);\n const { items: roles } = yield call(api.teams.loadAvailableRoles);\n const { items: permissions } = yield call(api.teams.loadAvailablePermissions);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: apiTenantTokensData ?? [],\n roles: roles ?? [],\n permissions: permissions ?? [],\n }),\n );\n }\n\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.LOAD_API_TOKENS, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n }\n}\n\nfunction* addUserApiToken({ payload }: PayloadAction<WithCallback<IUserApiTokensData>>) {\n const { description, callback } = payload;\n const { apiTokensDataUser } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: true }));\n const data: IUserApiTokensData = yield call(api.auth.updateUserApiTokensData, { description });\n yield put(actions.setApiTokensState({ showAddTokenDialog: false }));\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser: [data, ...apiTokensDataUser],\n successDialog: { open: true, secret: data.secret, clientId: data.clientId },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null);\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.ADD_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null, e.message);\n }\n}\n\nfunction* addTenantApiToken({ payload }: PayloadAction<WithCallback<ITenantApiTokensData>>) {\n const { description, roleIds, callback } = payload;\n const { apiTokensDataTenant } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: true }));\n const data: ITenantApiTokensData = yield call(api.auth.updateTenantApiTokensData, { description, roleIds });\n yield put(actions.setApiTokensState({ showAddTokenDialog: false }));\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: [data, ...apiTokensDataTenant],\n successDialog: { open: true, secret: data.secret, clientId: data.clientId },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null);\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.ADD_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null, e.message);\n }\n}\n\nfunction* deleteUserApiToken({ payload }: PayloadAction<string>) {\n const { apiTokensDataUser } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: true }));\n yield call(api.auth.deleteUserApiToken, { tokenId: payload });\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser: apiTokensDataUser.filter((i: IApiTokensData) => i.clientId !== payload),\n deleteTokenDialog: { open: false, clientId: payload },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.DELETE_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n }\n}\n\nfunction* deleteTenantApiToken({ payload }: PayloadAction<string>) {\n const { apiTokensDataTenant } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: true }));\n yield call(api.auth.deleteTenantApiToken, { tokenId: payload });\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: apiTokensDataTenant.filter((i: IApiTokensData) => i.clientId !== payload),\n deleteTokenDialog: { open: false, clientId: payload },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.DELETE_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n }\n}\n\nfunction* loadApiTokens({ payload }: PayloadAction<WithSilentLoad<WithCallback>>) {\n if (!payload?.silentLoading) {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n }\n try {\n const [apiTokensDataUser = [], apiTokensDataTenant = []] = yield all([\n call(api.auth.getUserApiTokensData),\n call(api.auth.getTenantApiTokensData),\n ]);\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser,\n apiTokensDataTenant,\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n payload?.callback?.(true);\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.LOAD_API_TOKENS, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n payload?.callback?.(null, e);\n }\n}\n\nexport function* apiTokensSaga() {\n yield takeLeading(actions.loadApiTokens, loadApiTokens);\n yield takeLeading(actions.initApiTokensData, loadApiTokensData);\n yield takeEvery(actions.addUserApiToken, addUserApiToken);\n yield takeEvery(actions.addTenantApiToken, addTenantApiToken);\n yield takeLatest(actions.deleteTenantApiToken, deleteTenantApiToken);\n yield takeLatest(actions.deleteUserApiToken, deleteUserApiToken);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadApiTokensDataMock({ payload: apiTokenType }: PayloadAction<ApiTokenType>) {\n yield put(actions.setApiTokensState({ apiTokenType }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n if (apiTokenType === 'user') {\n yield delay(200);\n const apiTokensData = [apiTokensDataDemo];\n yield put(actions.setApiTokensState({ apiTokensDataUser: apiTokensData ?? [] }));\n } else {\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: [apiTokensDataTenantDemo] ?? [],\n roles: rolesDemo ?? [],\n permissions: permissionsDemo ?? [],\n }),\n );\n }\n\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n}\n\nfunction* addTenantApiTokenMock({ payload }: PayloadAction<WithCallback<ITenantApiTokensData>>) {\n const { description, roleIds, callback } = payload;\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: true }));\n\n const { apiTokensDataTenant } = yield select((state) => state.auth.apiTokensState);\n const newToken: ITenantApiTokensData = {\n ...apiTokensDataTenantDemo,\n description,\n roleIds,\n clientId: `CLIENT_ID_${uuid()}`,\n };\n yield put(actions.setApiTokensState({ showAddTokenDialog: false }));\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: [...apiTokensDataTenant, newToken],\n successDialog: { open: true, secret: newToken.secret, clientId: newToken.clientId },\n }),\n );\n yield delay(200);\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null);\n}\n\nfunction* deleteTenantApiTokenMock({ payload }: PayloadAction<string>) {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: true }));\n yield delay(200);\n const apiTokensDataTenant: ITenantApiTokensData[] = [apiTokensDataTenantDemo];\n\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: apiTokensDataTenant.filter((i: IApiTokensData) => i.clientId !== payload),\n deleteTokenDialog: { open: false, clientId: payload },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n}\n\nfunction* loadApiTokensMock({ payload }: PayloadAction<WithSilentLoad<WithCallback>>) {\n if (!payload?.silentLoading) {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n }\n const apiTokensDataUser: IApiTokensData[] = [apiTokensDataDemo];\n const apiTokensDataTenant: ITenantApiTokensData[] = [apiTokensDataTenantDemo];\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser,\n apiTokensDataTenant,\n }),\n );\n yield delay(200);\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n payload?.callback?.(true);\n}\n\nexport function* apiTokensSagaMock() {\n yield takeLeading(actions.loadApiTokens, loadApiTokensMock);\n yield takeLeading(actions.initApiTokensData, loadApiTokensDataMock);\n yield takeEvery(actions.addTenantApiToken, addTenantApiTokenMock);\n yield takeLatest(actions.deleteTenantApiToken, deleteTenantApiTokenMock);\n}\n","import { call, put, select, takeLeading } from 'redux-saga/effects';\nimport { actions } from '../reducer';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport { api, ISettingsResponse, IUpdateSettings } from '@frontegg/rest-api';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\nimport { delay } from '../utils';\n\nfunction* saveAccountSettings({ payload }: PayloadAction<WithCallback<IUpdateSettings, ISettingsResponse>>) {\n try {\n yield put(actions.setAccountSettingsState({ loading: true }));\n const { accountSettingsState } = yield select((state) => state.auth);\n const { address, timezone, dateFormat, timeFormat, currency, logo } = accountSettingsState;\n const body: ISettingsResponse = yield call(api.accountSettings.updateSettings, {\n address,\n timezone,\n dateFormat,\n timeFormat,\n currency,\n logo,\n ...payload,\n });\n yield put(actions.setAccountSettingsState({ ...body, loading: false }));\n payload.callback?.(body);\n } catch (e) {\n yield put(actions.setAccountSettingsState({ loading: false, error: e.message }));\n payload.callback?.(null, e);\n }\n}\n\nfunction* loadAccountSettings({ payload }: PayloadAction<WithCallback<WithSilentLoad<{}>>>) {\n yield put(actions.setAccountSettingsState({ loading: !payload?.silentLoading, error: null }));\n try {\n const body: ISettingsResponse = yield call(api.accountSettings.getSettings);\n yield put(actions.setAccountSettingsState({ ...body, loading: false }));\n } catch (e) {\n yield put(actions.setAccountSettingsState({ loading: false, error: e.message }));\n }\n}\n\nexport function* accountSettingsSaga() {\n yield takeLeading(actions.saveAccountSettings, saveAccountSettings);\n yield takeLeading(actions.loadAccountSettings, loadAccountSettings);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* saveAccountSettingsMock({ payload }: PayloadAction<WithCallback<IUpdateSettings, ISettingsResponse>>) {\n yield put(actions.setAccountSettingsState({ loading: true }));\n\n yield delay();\n\n const { accountSettingsState } = yield select((state) => state.auth);\n const { address, timezone, dateFormat, timeFormat, currency, logo } = accountSettingsState;\n const body = {\n address,\n timezone,\n dateFormat,\n timeFormat,\n currency,\n logo,\n ...payload,\n };\n yield put(actions.setAccountSettingsState({ ...body, loading: false }));\n payload.callback?.(body);\n}\n\nfunction* loadAccountSettingsMock({ payload }: PayloadAction<WithCallback<WithSilentLoad<{}>>>) {\n yield put(actions.setAccountSettingsState({ loading: !payload?.silentLoading, error: null }));\n\n yield delay();\n yield put(\n actions.setAccountSettingsState({\n address: 'Tel-aviv',\n timezone: 'Asia/Jerusalem',\n dateFormat: 'DD/MM/YYYY',\n timeFormat: 'HH:mm',\n currency: 'USD',\n loading: false,\n }),\n );\n}\n\nexport function* accountSettingsSagaMock() {\n yield takeLeading(actions.saveAccountSettings, saveAccountSettingsMock);\n yield takeLeading(actions.loadAccountSettings, loadAccountSettingsMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeEvery } from 'redux-saga/effects';\nimport { api, ISwitchTenant, ITenantsResponse } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback } from '../../interfaces';\nimport { delay } from '../utils';\nimport { tenantsDemo } from '../dummy';\nimport { refreshToken } from '../LoginState/saga';\n\nfunction* switchTenant({ payload: { tenantId, callback } }: PayloadAction<WithCallback<ISwitchTenant>>) {\n yield put(actions.setState({ isLoading: true }));\n try {\n yield call(api.tenants.switchTenant, { tenantId });\n yield call(refreshToken);\n const callbackConsumed = callback?.(true);\n if (!callbackConsumed) {\n yield put(actions.setState({ isLoading: false }));\n }\n } catch (e) {\n yield put(actions.setState({ isLoading: false }));\n callback?.(false, e);\n }\n}\n\nfunction* loadTenants({ payload }: PayloadAction<WithCallback<{}, ITenantsResponse[]>>) {\n yield put(actions.setTenantsState({ loading: true }));\n try {\n const tenants: ITenantsResponse[] = yield call(api.tenants.getTenants);\n yield put(actions.setTenantsState({ tenants, loading: false }));\n payload?.callback?.([]);\n } catch (e) {\n payload?.callback?.([], e);\n yield put(actions.setTenantsState({ loading: false }));\n }\n}\n\nexport function* tenantsSagas() {\n yield takeEvery(actions.loadTenants, loadTenants);\n yield takeEvery(actions.switchTenant, switchTenant);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadTenantsMock({}: PayloadAction<WithCallback<{}, ITenantsResponse[]>>) {\n yield put(actions.setTenantsState({ loading: true }));\n yield delay();\n yield put(actions.setTenantsState({ tenants: tenantsDemo, loading: false }));\n}\n\nexport function* tenantsSagasMock() {\n yield takeEvery(actions.loadTenants, loadTenantsMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { all, call, put, takeEvery, takeLeading } from 'redux-saga/effects';\nimport {\n api,\n IAddRole,\n IAttachPermissionsToRole,\n IAttachPermissionToRoles,\n IDeleteRole,\n IRole,\n IRolePermission,\n IUpdateRole,\n IRolePermissionCategory\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\n\nfunction* loadRolesAndPermissions({ payload }: PayloadAction<WithSilentLoad<{}>>) {\n yield put(actions.setRolesState({ loading: !(payload?.silentLoading ?? false), error: null }));\n try {\n const result: [IRole[], IRolePermission[], IRolePermissionCategory[]] = yield all([\n call(api.roles.getRoles),\n call(api.roles.getPermissions),\n call(api.roles.getPermissionCategories),\n ]);\n const [roles, permissions, permissionCategories] = result;\n yield put(actions.setRolesState({ roles, permissions, permissionCategories, loading: false }));\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, loading: false }));\n }\n}\n\nfunction* addRole({ payload: { callback, ...body } }: PayloadAction<WithCallback<IAddRole, IRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const role: IRole = yield call(api.roles.addRole, body);\n const roles: IRole[] = yield call(api.roles.getRoles);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ roles, saving: false }));\n callback?.(role);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nfunction* deleteRole({ payload: { callback, ...body } }: PayloadAction<WithCallback<IDeleteRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n yield call(api.roles.deleteRole, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(false, e);\n }\n}\n\nfunction* updateRole({ payload: { callback, ...body } }: PayloadAction<WithCallback<IUpdateRole, IRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const role: IRole = yield call(api.roles.updateRole, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(role);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nfunction* attachPermissionsToRole({\n payload: { callback, ...body },\n}: PayloadAction<WithCallback<IAttachPermissionsToRole, IRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const role: IRole = yield call(api.roles.attachPermissionsToRole, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(role);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nfunction* attachPermissionToRoles({\n payload: { callback, ...body },\n}: PayloadAction<WithCallback<IAttachPermissionToRoles, IRolePermission>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const permission: IRolePermission = yield call(api.roles.attachPermissionToRoles, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(permission);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nexport function* rolesSagas() {\n yield takeLeading(actions.loadRolesAndPermissions, loadRolesAndPermissions);\n yield takeEvery(actions.addRole, addRole);\n yield takeEvery(actions.deleteRole, deleteRole);\n yield takeEvery(actions.updateRole, updateRole);\n yield takeEvery(actions.attachPermissionsToRole, attachPermissionsToRole);\n yield takeEvery(actions.attachPermissionToRoles, attachPermissionToRoles);\n}\n","import { ssoSagas, ssoSagasMock } from './SSOState/saga';\nimport { profileSagas, profileSagasMock } from './ProfileState/saga';\nimport { mfaSagas, mfaSagasMock } from './MfaState/saga';\nimport { forgotPasswordSagas } from './ForgotPasswordState/saga';\nimport { activateSagas } from './ActivateState/saga';\nimport { acceptInvitationSagas } from './AcceptInvitationState/saga';\nimport { loginSagas, loginSagasMock } from './LoginState/saga';\nimport { teamSagas, teamSagasMock } from './TeamState/saga';\nimport { socialLoginsSaga } from './SocialLogins/saga';\nimport { signUpSaga } from './SignUp/saga';\nimport { all, call } from 'redux-saga/effects';\nimport { apiTokensSaga, apiTokensSagaMock } from './ApiTokensState/saga';\nimport { securityPolicySagas, securityPolicySagasMock } from './SecurityPolicyState/saga';\nimport { accountSettingsSaga, accountSettingsSagaMock } from './AccountSettingsState/saga';\nimport { tenantsSagas, tenantsSagasMock } from './TenantsState/saga';\nimport { rolesSagas } from './RolesState/saga';\n\nexport function* sagas() {\n yield all([\n call(loginSagas),\n call(activateSagas),\n call(acceptInvitationSagas),\n call(forgotPasswordSagas),\n call(ssoSagas),\n call(profileSagas),\n call(mfaSagas),\n call(teamSagas),\n call(socialLoginsSaga),\n call(signUpSaga),\n call(apiTokensSaga),\n call(securityPolicySagas),\n call(accountSettingsSaga),\n call(tenantsSagas),\n call(rolesSagas),\n ]);\n}\n\nexport function* mockSagas() {\n yield all([\n call(loginSagasMock),\n // call(activateSagas),\n // call(acceptInvitationSagas),\n // call(forgotPasswordSagas),\n // call(socialLoginsSaga),\n // call(signUpSaga),\n call(ssoSagasMock),\n call(profileSagasMock),\n call(mfaSagasMock),\n call(teamSagasMock),\n call(apiTokensSagaMock),\n call(securityPolicySagasMock),\n call(accountSettingsSagaMock),\n call(tenantsSagasMock),\n // call(rolesSagas),\n ]);\n}\n","import { reducer, actions } from './reducer';\nimport { mockSagas, sagas } from './saga';\nimport { authStoreName as storeName } from '../constants';\nimport { initialState } from './initialState';\n\n// export types\nexport * from './interfaces';\n\nexport * from './LoginState/interfaces';\nexport * from './LoginState';\n\nexport * from './ActivateState/interfaces';\nexport * from './ActivateState';\n\nexport * from './AcceptInvitationState/interfaces';\nexport * from './AcceptInvitationState';\n\nexport * from './ForgotPasswordState/interfaces';\nexport * from './ForgotPasswordState';\n\nexport * from './SSOState/interfaces';\nexport * from './SSOState';\n\nexport * from './MfaState/interfaces';\nexport * from './MfaState';\n\nexport * from './ProfileState/interfaces';\nexport * from './ProfileState';\n\nexport * from './TeamState/interfaces';\nexport * from './TeamState';\n\nexport * from './SocialLogins/interfaces';\nexport * from './SocialLogins';\n\nexport * from './SignUp/interfaces';\nexport * from './SignUp';\n\nexport * from './ApiTokensState/interfaces';\nexport * from './ApiTokensState';\n\nexport * from './SecurityPolicyState/interfaces';\nexport * from './SecurityPolicyState';\n\nexport * from './AccountSettingsState/interfaces';\nexport * from './AccountSettingsState';\n\nexport * from './TenantsState/interfaces';\nexport * from './TenantsState';\n\nexport * from './RolesState/interfaces';\nexport * from './RolesState';\n\nexport type { AuthActions } from './reducer';\n\nexport {\n sagas as authSagas,\n mockSagas as authMockSagas,\n reducer as authReducers,\n actions as authActions,\n initialState as authInitialState,\n storeName as authStoreName,\n};\n// export store\nexport default {\n sagas,\n mockSagas,\n storeName,\n initialState,\n reducer,\n actions,\n};\n"],"names":["LoginStep","reducers","actions","createAction","authStoreName","ActivateAccountStep","AcceptInvitationStep","ForgotPasswordStep","MFAStep","SignUpStage","createSlice","loginReducers","socialLoginsReducer","activateAccountReducers","acceptInvitationReducers","forgotPasswordReducers","signUpReducers","profileReducers","ssoReducers","mfaReducers","teamReducers","apiTokensReducers","securityPolicyReducers","accountSettingsReducers","tenantsReducers","rolesReducers","loginActions","socialLoginsActions","activateAccountActions","acceptInvitationActions","forgotPasswordActions","signUpActions","profileActions","ssoActions","mfaActions","teamActions","apiTokensActions","securityPolicyActions","accountSettingsActions","tenantsActions","rolesActions","SamlVendors","__assign","put","call","api","select","ContextHolder","takeLeading","takeEvery","FRONTEGG_AFTER_AUTH_REDIRECT_URL","delay","loadVendorPublicInfo","all","AuthStrategyEnum","retry","TeamStateKeys","sagaSelect","takeLatest","uuid","ApiStateKeys"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/auth/utils.ts","../../src/auth/LoginState/interfaces.ts","../../src/auth/LoginState/index.ts","../../src/auth/ActivateState/interfaces.ts","../../src/auth/ActivateState/index.ts","../../src/auth/AcceptInvitationState/interfaces.ts","../../src/auth/AcceptInvitationState/index.ts","../../src/auth/ForgotPasswordState/interfaces.ts","../../src/auth/ForgotPasswordState/index.ts","../../src/auth/SSOState/index.ts","../../src/auth/ProfileState/index.ts","../../src/auth/MfaState/interfaces.ts","../../src/auth/MfaState/index.ts","../../src/auth/TeamState/index.ts","../../src/auth/SocialLogins/index.ts","../../src/auth/SignUp/interfaces.ts","../../src/auth/SignUp/index.ts","../../src/auth/ApiTokensState/index.ts","../../src/auth/SecurityPolicyState/index.ts","../../src/auth/AccountSettingsState/index.ts","../../src/auth/TenantsState/index.ts","../../src/auth/RolesState/index.ts","../../src/auth/initialState.ts","../../src/auth/reducer.ts","../../src/auth/SSOState/interfaces.ts","../../src/helpers.ts","../../src/auth/dummy.ts","../../src/auth/SignUp/saga.ts","../../src/auth/SecurityPolicyState/saga.ts","../../src/auth/LoginState/saga.ts","../../src/auth/SSOState/saga.ts","../../src/auth/ProfileState/saga.ts","../../src/auth/MfaState/saga.ts","../../src/auth/ForgotPasswordState/saga.ts","../../src/auth/ActivateState/saga.ts","../../src/auth/AcceptInvitationState/saga.ts","../../src/auth/TeamState/interfaces.ts","../../src/auth/TeamState/saga.ts","../../src/auth/SocialLogins/saga.ts","../../src/auth/ApiTokensState/interfaces.ts","../../src/auth/ApiTokensState/saga.ts","../../src/auth/AccountSettingsState/saga.ts","../../src/auth/TenantsState/saga.ts","../../src/auth/RolesState/saga.ts","../../src/auth/saga.ts","../../src/auth/index.ts"],"sourcesContent":["import { PayloadAction } from '@reduxjs/toolkit';\nimport { AuthState } from './interfaces';\n\nexport const resetStateByKey = <T>(key: keyof AuthState, initialState: Partial<AuthState>) => (state: AuthState) => ({\n ...state,\n [key]: initialState[key],\n});\nexport const typeReducer = <T>(key: keyof AuthState) => (state: AuthState, { payload }: PayloadAction<T>) => ({\n ...state,\n [key]: payload,\n});\nexport const typeReducerForKey = <T>(key: keyof AuthState) => ({\n prepare: (payload: Partial<T>) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<Partial<T>>) => {\n return {\n ...state,\n [key]: {\n ...state[key],\n ...payload,\n },\n };\n },\n});\n\nexport const typeReducerNestedKey = <T, K>(key: keyof AuthState, nestedKey: keyof T) => ({\n prepare: (payload: Partial<K>) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<Partial<K>>) => {\n return {\n ...state,\n [key]: {\n ...state[key],\n [nestedKey]: {\n ...state?.[key]?.[nestedKey],\n ...payload,\n },\n },\n };\n },\n});\n\nexport const loadersReducerForKey = <T extends { key: string; value: string | boolean }>(key: keyof AuthState) => ({\n prepare: (payload: T) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<T>): AuthState => ({\n ...state,\n [key]: {\n ...state[key],\n loaders: {\n ...state[key].loaders,\n [payload.key]: payload.value ?? true,\n },\n },\n }),\n});\nexport const errorsReducerForKey = <T extends { key: string; value: string | boolean }>(key: keyof AuthState) => ({\n prepare: (payload: T) => ({ payload }),\n reducer: (state: AuthState, { payload }: PayloadAction<T>): AuthState => ({\n ...state,\n [key]: {\n ...state[key],\n errors: {\n ...state[key].errors,\n [payload.key]: payload.value ?? true,\n },\n },\n }),\n});\n\nexport const delay = (delayTime: number = 500) => new Promise((resolve) => setTimeout(resolve, delayTime));\n","import { ITenantsResponse, AuthStrategyEnum } from '@frontegg/rest-api';\n\nexport { AuthStrategyEnum }\n\nexport enum LoginStep {\n 'preLogin' = 'preLogin',\n 'magicLinkPreLoginSuccess' = \"magicLinkPreLoginSuccess\",\n 'loginWithOtc' = \"loginWithOtc\",\n 'loginWithPassword' = 'loginWithPassword',\n 'loginWithTwoFactor' = 'loginWithTwoFactor',\n 'redirectToSSO' = 'redirectToSSO',\n 'loginWithSSOFailed' = 'loginWithSSOFailed',\n 'success' = 'success',\n 'forceTwoFactor' = 'forceTwoFactor',\n 'recoverTwoFactor' = 'recoverTwoFactor',\n}\n\nexport interface LoginState {\n loading: boolean;\n error?: any;\n step: LoginStep;\n ssoRedirectUrl?: string;\n mfaRequired?: boolean;\n mfaToken?: string;\n email?: string;\n tenants: ITenantsResponse[];\n tenantsLoading?: boolean;\n allowRememberMfaDevice?: boolean;\n mfaDeviceExpiration?: number;\n inviteTokenTenantName?: string;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { ILogin, ILoginWithMfa, IPasswordlessPostLogin, IPasswordlessPreLogin, IPostLogin, IPreLogin, IRecoverMFAToken } from '@frontegg/rest-api';\nimport { LoginState, LoginStep } from './interfaces';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { IVerifyInviteToken } from '@frontegg/rest-api';\n\nconst loginState: LoginState = {\n step: LoginStep.preLogin,\n loading: false,\n email: '',\n tenants: [],\n};\n\nconst reducers = {\n setLoginState: typeReducerForKey<LoginState>('loginState'),\n resetLoginState: resetStateByKey<LoginState>('loginState', { loginState }),\n};\n\nconst actions = {\n requestAuthorize: createAction(`${authStoreName}/requestAuthorize`, (payload: boolean = false) => ({ payload })),\n afterAuthNavigation: createAction(`${authStoreName}/afterAuthNavigation`),\n preLogin: createAction(`${authStoreName}/preLogin`, (payload: WithCallback<IPreLogin & { recaptchaToken?: string }, void>) => ({ payload })),\n postLogin: createAction(`${authStoreName}/postLogin`, (payload: IPostLogin) => ({ payload })),\n login: createAction(`${authStoreName}/login`, (payload: ILogin) => ({ payload })),\n loginWithMfa: createAction(`${authStoreName}/loginWithMfa`, (payload: WithCallback<ILoginWithMfa>) => ({ payload })),\n recoverMfa: createAction(`${authStoreName}/recoverMfa`, (payload: IRecoverMFAToken) => ({ payload })),\n logout: createAction(`${authStoreName}/logout`, (payload?: () => void) => ({ payload })),\n silentLogout: createAction(`${authStoreName}/silentLogout`, (payload?: () => void) => ({ payload })),\n checkIfAllowToRememberMfaDevice: createAction(\n `${authStoreName}/checkIfAllowToRememberMfaDevice`,\n (payload: { mfaToken: string }) => ({ payload }),\n ),\n passwordlessPreLogin: createAction(`${authStoreName}/passwordlessPreLogin`, (payload: WithCallback<IPasswordlessPreLogin, void>) => ({ payload })),\n passwordlessPostLogin: createAction(`${authStoreName}/passwordlessPostLogin`, (payload: IPasswordlessPostLogin) => ({ payload })),\n verifyInviteToken: createAction(`${authStoreName}/verifyInviteToken`, (payload: IVerifyInviteToken) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setLoginState: (state: Partial<LoginState>) => void;\n resetLoginState: () => void;\n requestAuthorize: (payload?: boolean) => void;\n afterAuthNavigation: () => void;\n preLogin: (payload: WithCallback<IPreLogin & { recaptchaToken?: string }, void>) => void;\n postLogin: (payload: IPostLogin) => void;\n login: (payload: ILogin) => void;\n loginWithMfa: (payload: WithCallback<ILoginWithMfa>) => void;\n recoverMfa: (payload: IRecoverMFAToken) => void;\n logout: (payload?: () => void) => void;\n silentLogout: (payload?: () => void) => void;\n checkIfAllowToRememberMfaDevice: (payload: { mfaToken: string }) => void;\n passwordlessPreLogin: (payload: IPasswordlessPreLogin) => void;\n passwordlessPostLogin: (payload: IPasswordlessPostLogin) => void;\n verifyInviteToken: (payload: IVerifyInviteToken) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type LoginActions = DispatchedActions;\nexport { loginState, reducers as loginReducers, actions as loginActions };\n","import { IGetActivateAccountStrategyResponse } from '@frontegg/rest-api';\nimport { WithStatus } from '../../interfaces';\n\nexport enum ActivateAccountStep {\n 'activating' = 'activating',\n 'success' = 'success',\n 'resend' = 'resend',\n}\n\nexport interface ActivateAccountState {\n loading: boolean;\n error?: any;\n step: ActivateAccountStep;\n resentEmail: boolean;\n activationStrategy: ActivateAccountStrategyState;\n}\n\nexport type ActivateAccountStrategyState = WithStatus & { strategy?: IGetActivateAccountStrategyResponse };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n IActivateAccount,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n IResendActivationEmail,\n} from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey, typeReducerNestedKey } from '../utils';\nimport { ActivateAccountState, ActivateAccountStep, ActivateAccountStrategyState } from './interfaces';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst activateState: ActivateAccountState = {\n step: ActivateAccountStep.activating,\n loading: false,\n resentEmail: false,\n activationStrategy: {\n loading: false,\n },\n};\n\nconst reducers = {\n setActivateState: typeReducerForKey<ActivateAccountState>('activateState'),\n resetActivateState: resetStateByKey<ActivateAccountState>('activateState', { activateState }),\n setActivateStrategyState: typeReducerNestedKey<ActivateAccountState, ActivateAccountStrategyState>(\n 'activateState',\n 'activationStrategy'\n ),\n};\n\nconst actions = {\n activateAccount: createAction(`${authStoreName}/activateAccount`, (payload: IActivateAccount) => ({ payload })),\n getActivateAccountStrategy: createAction(\n `${authStoreName}/getActivateAccountStrategy`,\n (payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>) => ({ payload })\n ),\n resendActivationEmail: createAction(`${authStoreName}/resendActivationEmail`, (payload: IResendActivationEmail) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setActivateState: (state: Partial<ActivateAccountState>) => void;\n resetActivateState: () => void;\n setActivateStrategyState: (state: Partial<ActivateAccountStrategyState>) => void;\n activateAccount: (payload: IActivateAccount) => void;\n resendActivationEmail: (payload: IResendActivationEmail) => void;\n getActivateAccountStrategy: (\n payload: WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>\n ) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ActivateAccountActions = DispatchedActions;\nexport { activateState, reducers as activateAccountReducers, actions as activateAccountActions };\n","export enum AcceptInvitationStep {\n 'validate' = 'validate',\n 'invalid' = 'invalid',\n 'pending' = 'pending',\n 'success' = 'success',\n 'failed' = 'failed',\n}\n\nexport interface AcceptInvitationState {\n error?: string;\n step: AcceptInvitationStep;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { IAcceptInvitation } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { AcceptInvitationState, AcceptInvitationStep } from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\n\nconst acceptInvitationState: AcceptInvitationState = {\n step: AcceptInvitationStep.validate,\n};\n\nconst reducers = {\n setAcceptInvitationState: typeReducerForKey<AcceptInvitationState>('acceptInvitationState'),\n resetAcceptInvitationState: resetStateByKey<AcceptInvitationState>('acceptInvitationState', {\n acceptInvitationState,\n }),\n};\n\nconst actions = {\n acceptInvitation: createAction(`${authStoreName}/acceptInvitation`, (payload: IAcceptInvitation) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setAcceptInvitationState: (state: Partial<AcceptInvitationState>) => void;\n resetAcceptInvitationState: () => void;\n acceptInvitation: (payload: IAcceptInvitation) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type AcceptInvitationActions = DispatchedActions;\nexport { acceptInvitationState, reducers as acceptInvitationReducers, actions as acceptInvitationActions };\n","export enum ForgotPasswordStep {\n 'forgotPassword' = 'forgotPassword',\n 'success' = 'success',\n}\n\nexport interface TestConfig {\n allowPassphrases: boolean;\n maxLength: number;\n minLength: number;\n minPhraseLength: number;\n minOptionalTestsToPass: number;\n}\n\nexport interface ForgotPasswordState {\n step: ForgotPasswordStep;\n passwordConfig: Partial<TestConfig> | null;\n email: string;\n loading: boolean;\n error?: any;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { IForgotPassword, IGetUserPasswordConfig, IResetPassword } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ForgotPasswordState, ForgotPasswordStep } from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\n\nconst forgotPasswordState: ForgotPasswordState = {\n step: ForgotPasswordStep.forgotPassword,\n loading: false,\n email: '',\n passwordConfig: null,\n};\n\nconst reducers = {\n setForgotPasswordState: typeReducerForKey<ForgotPasswordState>('forgotPasswordState'),\n resetForgotPasswordState: resetStateByKey<ForgotPasswordState>('forgotPasswordState', { forgotPasswordState }),\n};\n\nconst actions = {\n forgotPassword: createAction(`${authStoreName}/forgotPassword`, (payload: IForgotPassword) => ({ payload })),\n resetPassword: createAction(`${authStoreName}/resetPassword`, (payload: IResetPassword) => ({ payload })),\n loadPasswordConfig: createAction(`${authStoreName}/loadPasswordConfig`, (payload?: IGetUserPasswordConfig) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setForgotPasswordState: (state: Partial<ForgotPasswordState>) => void;\n resetForgotPasswordState: () => void;\n forgotPassword: (payload: IForgotPassword) => void;\n resetPassword: (payload: IResetPassword) => void;\n loadPasswordConfig: (payload?: IGetUserPasswordConfig) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ForgotPasswordActions = DispatchedActions;\nexport { forgotPasswordState, reducers as forgotPasswordReducers, actions as forgotPasswordActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n CreateSamlGroupPayload,\n DeleteSamlGroupPayload,\n SaveSSOConfigurationFilePayload,\n SaveSSOConfigurationPayload,\n SSOState,\n UpdateSSOAuthorizationRolesPayload,\n} from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\nimport { IOidcPostLogin } from '@frontegg/rest-api';\n\nconst ssoState: SSOState = {\n firstLoad: true,\n loading: true,\n saving: false,\n};\n\nconst reducers = {\n setSSOState: typeReducerForKey<SSOState>('ssoState'),\n resetSSOState: resetStateByKey<SSOState>('ssoState', { ssoState }),\n};\n\nconst actions = {\n loadSSOConfigurations: createAction(`${authStoreName}/loadSSOConfigurations`),\n loadSSOAuthorizationRoles: createAction(`${authStoreName}/loadSSOAuthorizationRoles`),\n saveSSOConfigurations: createAction(\n `${authStoreName}/saveSSOConfigurations`,\n (payload: SaveSSOConfigurationPayload) => ({ payload })\n ),\n // NOTE: use withCallback in case of promise response\n saveSSOConfigurationsFile: createAction(`${authStoreName}/saveSSOConfigurationsFile`, (payload: File[]) => ({\n payload,\n })),\n saveSSOConfigurationsFileWithCallback: createAction(\n `${authStoreName}/saveSSOConfigurationsFileWithCallback`,\n (payload: SaveSSOConfigurationFilePayload) => ({ payload })\n ),\n validateSSODomain: createAction(`${authStoreName}/validateSSODomain`, (payload?: WithCallback) => ({ payload })),\n updateSSOAuthorizationRoles: createAction(\n `${authStoreName}/updateSSOAuthorizationRoles`,\n (payload: UpdateSSOAuthorizationRolesPayload) => ({ payload })\n ),\n deleteSamlGroup: createAction(`${authStoreName}/deleteSamlGroup`, (payload: DeleteSamlGroupPayload) => ({ payload })),\n createSamlGroup: createAction(`${authStoreName}/createSamlGroup`, (payload: CreateSamlGroupPayload) => ({ payload })),\n oidcPostlogin: createAction(`${authStoreName}/oidcPostlogin`, (payload: IOidcPostLogin) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSSOState: (state: Partial<SSOState>) => void;\n resetSSOState: () => void;\n loadSSOConfigurations: () => void;\n loadSSOAuthorizationRoles: () => void;\n saveSSOConfigurations: (payload: SaveSSOConfigurationPayload) => void;\n saveSSOConfigurationsFile: (payload: File[]) => void;\n saveSSOConfigurationsFileWithCallback: (payload: SaveSSOConfigurationFilePayload) => void;\n validateSSODomain: (payload?: WithCallback) => void;\n updateSSOAuthorizationRoles: (payload: UpdateSSOAuthorizationRolesPayload) => void;\n deleteSamlGroup: (payload: DeleteSamlGroupPayload) => void;\n createSamlGroup: (payload: CreateSamlGroupPayload) => void;\n oidcPostlogin: (payload: IOidcPostLogin) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SSOActions = DispatchedActions;\nexport { ssoState, reducers as ssoReducers, actions as ssoActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { IChangePassword } from '@frontegg/rest-api';\nimport { ProfileState, SaveProfilePayload } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\n\nconst profileState: ProfileState = {\n loading: false,\n error: null,\n};\n\nconst reducers = {\n setProfileState: typeReducerForKey<ProfileState>('profileState'),\n resetProfileState: resetStateByKey<ProfileState>('profileState', { profileState }),\n};\n\nconst actions = {\n loadProfile: createAction(`${authStoreName}/loadProfile`),\n saveProfile: createAction(`${authStoreName}/saveProfile`, (payload: SaveProfilePayload) => ({ payload })),\n changePassword: createAction(`${authStoreName}/changePassword`, (payload: WithCallback<IChangePassword>) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setProfileState: (state: Partial<ProfileState>) => void;\n resetProfileState: () => void;\n loadProfile: () => void;\n saveProfile: (payload: SaveProfilePayload) => void;\n changePassword: (payload: WithCallback<IChangePassword>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ProfileActions = DispatchedActions;\nexport { profileState, reducers as profileReducers, actions as profileActions };\n","export enum MFAStep {\n 'verify' = 'verify',\n 'recoveryCode' = 'recoveryCode',\n}\n\nexport interface MFAState {\n step: MFAStep;\n loading: boolean;\n error?: any;\n recoveryCode?: string;\n qrCode?: string | null; // qr code image base64\n mfaToken?: string;\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { IDisableMfa, ILoginWithMfa, IVerifyMfa } from '@frontegg/rest-api';\nimport { MFAState, MFAStep } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst mfaState: MFAState = {\n step: MFAStep.verify,\n loading: false,\n};\n\nconst reducers = {\n setMfaState: typeReducerForKey<MFAState>('mfaState'),\n resetMfaState: resetStateByKey<MFAState>('mfaState', { mfaState }),\n};\n\nconst actions = {\n enrollMfa: createAction(`${authStoreName}/enrollMfa`),\n verifyMfa: createAction(`${authStoreName}/verifyMfa`, (payload: WithCallback<IVerifyMfa, string | undefined>) => ({\n payload,\n })),\n verifyMfaAfterForce: createAction(\n `${authStoreName}/verifyMfaAfterForce`,\n (payload: WithCallback<ILoginWithMfa, string | undefined>) => ({\n payload,\n })\n ),\n disableMfa: createAction(`${authStoreName}/disableMfa`, (payload: WithCallback<IDisableMfa>) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setMfaState: (state: Partial<MFAState>) => void;\n resetMfaState: () => void;\n enrollMfa: () => void;\n verifyMfa: (payload: WithCallback<IVerifyMfa, string | undefined>) => void;\n verifyMfaAfterForce: (payload: WithCallback<ILoginWithMfa, string | undefined>) => void;\n disableMfa: (payload: WithCallback<IDisableMfa>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type MfaActions = DispatchedActions;\nexport { mfaState, reducers as mfaReducers, actions as mfaActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n IAddUser,\n IDeleteUser,\n ILoadUsers,\n IResendActivationLink,\n IResendInvitationLink,\n ITeamUser,\n IUpdateUser,\n} from '@frontegg/rest-api';\nimport {\n ISetAddUserDialog,\n ISetDeleteUserDialog,\n TeamState,\n TeamStateIndicator,\n LoadRolesAndPermissionsPayload,\n} from './interfaces';\nimport { errorsReducerForKey, loadersReducerForKey, resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst teamState: TeamState = {\n loaders: {},\n pageOffset: 0,\n pageSize: 20,\n errors: {},\n users: [],\n roles: [],\n permissions: [],\n totalPages: 0,\n filter: [],\n sort: [],\n\n addUserDialogState: {\n loading: false,\n open: false,\n },\n deleteUserDialogState: {\n loading: false,\n open: false,\n },\n};\n\nconst reducers = {\n setTeamLoader: loadersReducerForKey<TeamStateIndicator>('teamState'),\n setTeamError: errorsReducerForKey<TeamStateIndicator>('teamState'),\n setTeamState: typeReducerForKey<TeamState>('teamState'),\n resetTeamState: resetStateByKey<TeamState>('teamState', { teamState }),\n};\n\nconst actions = {\n loadUsers: createAction(\n `${authStoreName}/loadUsers`,\n (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) => ({ payload })\n ),\n loadRoles: createAction(`${authStoreName}/loadRoles`, (payload?: LoadRolesAndPermissionsPayload) => ({ payload })),\n addUser: createAction(`${authStoreName}/addUser`, (payload: WithCallback<IAddUser, ITeamUser>) => ({ payload })),\n updateUser: createAction(`${authStoreName}/updateUser`, (payload: WithCallback<IUpdateUser, ITeamUser>) => ({\n payload,\n })),\n deleteUser: createAction(`${authStoreName}/deleteUser`, (payload: WithCallback<IDeleteUser>) => ({ payload })),\n resendActivationLink: createAction(\n `${authStoreName}/resendActivationLink`,\n (payload: WithCallback<IResendActivationLink>) => ({ payload })\n ),\n resendInvitationLink: createAction(\n `${authStoreName}/resendInvitationLink`,\n (payload: WithCallback<IResendInvitationLink>) => ({ payload })\n ),\n openAddUserDialog: createAction(`${authStoreName}/openAddUserDialog`, (payload?: ISetAddUserDialog) => ({ payload })),\n closeAddUserDialog: createAction(`${authStoreName}/closeAddUserDialog`, (payload?: any) => ({ payload })),\n openDeleteUserDialog: createAction(`${authStoreName}/openDeleteUserDialog`, (payload?: ISetDeleteUserDialog) => ({\n payload,\n })),\n closeDeleteUserDialog: createAction(`${authStoreName}/closeDeleteUserDialog`, (payload?: any) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setTeamLoader: (payload: TeamStateIndicator) => void;\n setTeamError: (payload: TeamStateIndicator) => void;\n setTeamState: (payload: Partial<TeamState>) => void;\n resetTeamState: () => void;\n loadUsers: (payload: WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>) => void;\n loadRoles: (payload?: LoadRolesAndPermissionsPayload) => void;\n addUser: (payload: WithCallback<IAddUser, ITeamUser>) => void;\n updateUser: (payload: WithCallback<IUpdateUser, ITeamUser>) => void;\n deleteUser: (payload: WithCallback<IDeleteUser>) => void;\n resendActivationLink: (payload: WithCallback<IResendActivationLink>) => void;\n resendInvitationLink: (payload: WithCallback<IResendInvitationLink>) => void;\n openAddUserDialog: (payload?: ISetAddUserDialog) => void;\n closeAddUserDialog: (payload?: any) => void;\n openDeleteUserDialog: (payload?: ISetDeleteUserDialog) => void;\n closeDeleteUserDialog: (payload?: any) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type TeamActions = DispatchedActions;\nexport { teamState, reducers as teamReducers, actions as teamActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { ILoginViaSocialLogin, ISetSocialLoginError } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { SocialLoginState } from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\n\nconst socialLoginState: SocialLoginState = {\n firstLoad: true,\n loading: false,\n error: '',\n};\n\nconst reducers = {\n setSocialLoginsState: typeReducerForKey<SocialLoginState>('socialLoginState'),\n resetSocialLoginsState: resetStateByKey<SocialLoginState>('socialLoginState', { socialLoginState }),\n};\n\nconst actions = {\n loadSocialLoginsConfiguration: createAction(`${authStoreName}/loadSocialLoginsConfiguration`),\n loginViaSocialLogin: createAction(`${authStoreName}/loginViaSocialLogin`, (payload: ILoginViaSocialLogin) => ({\n payload,\n })),\n setSocialLoginError: createAction(`${authStoreName}/setSocialLoginError`, (payload: ISetSocialLoginError) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSocialLoginsState: (state: Partial<SocialLoginState>) => void;\n resetSocialLoginsState: () => void;\n loadSocialLoginsConfiguration: () => void;\n loginViaSocialLogin: (payload: ILoginViaSocialLogin) => void;\n setSocialLoginError: (payload: ISetSocialLoginError) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SocialLoginActions = DispatchedActions;\nexport { socialLoginState, reducers as socialLoginsReducer, actions as socialLoginsActions };\n","export interface SignUpState {\n loading: boolean;\n allowSignUps: boolean;\n allowNotVerifiedUsersLogin: boolean;\n error?: string;\n firstLoad: boolean;\n shouldActivate?: boolean;\n stage: SignUpStage;\n}\n\nexport enum SignUpStage {\n SignUp = 'SignUp',\n SignUpSuccess = 'SignUpSuccess',\n}\n","import { createAction } from '@reduxjs/toolkit';\nimport { ISignUpUser } from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { SignUpStage, SignUpState } from './interfaces';\nimport { ActionDispatchMatcher } from '../../interfaces';\nimport { authStoreName } from '../../constants';\n\nconst signUpState: SignUpState = {\n loading: false,\n allowSignUps: false,\n allowNotVerifiedUsersLogin: false,\n firstLoad: true,\n stage: SignUpStage.SignUp,\n};\n\nconst reducers = {\n setSignUpState: typeReducerForKey<SignUpState>('signUpState'),\n resetSignUpState: resetStateByKey<SignUpState>('signUpState', { signUpState }),\n};\n\nconst actions = {\n signUpUser: createAction(`${authStoreName}/signUpUser`, (payload: ISignUpUser) => ({ payload })),\n resetSignUpStateSoft: createAction(`${authStoreName}/resetSignUpStateSoft`),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSignUpState: (state: Partial<SignUpState>) => void;\n resetSignUpState: () => void;\n signUpUser: (payload: ISignUpUser) => void;\n resetSignUpStateSoft: () => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SignUpActions = DispatchedActions;\nexport { signUpState, reducers as signUpReducers, actions as signUpActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n ApiTokensState,\n ApiStateIndicator,\n ApiTokenType,\n AddTenantApiTokenPayload,\n AddUserApiTokenPayload,\n} from './interfaces';\nimport { resetStateByKey, typeReducerForKey, loadersReducerForKey, errorsReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\n\nconst apiTokensState: ApiTokensState = {\n apiTokenType: null,\n searchValue: '',\n showAddTokenDialog: false,\n createdByUserIdColumn: 'show',\n deleteTokenDialog: {\n open: false,\n clientId: '',\n },\n successDialog: {\n open: false,\n secret: '',\n clientId: '',\n },\n loaders: {},\n apiTokensDataTenant: [],\n apiTokensDataUser: [],\n roles: [],\n permissions: [],\n errors: {},\n};\n\nconst reducers = {\n setApiTokensLoader: loadersReducerForKey<ApiStateIndicator>('apiTokensState'),\n setApiTokensError: errorsReducerForKey<ApiStateIndicator>('apiTokensState'),\n setApiTokensState: typeReducerForKey<ApiTokensState>('apiTokensState'),\n resetApiTokensState: resetStateByKey<ApiTokensState>('apiTokensState', { apiTokensState }),\n};\n\nconst actions = {\n loadApiTokens: createAction(`${authStoreName}/loadApiTokens`, (payload?: WithSilentLoad<WithCallback>) => ({\n payload,\n })),\n initApiTokensData: createAction(`${authStoreName}/initApiTokensData`, (payload: ApiTokenType) => ({ payload })),\n addTenantApiToken: createAction(`${authStoreName}/addTenantApiToken`, (payload: AddTenantApiTokenPayload) => ({\n payload,\n })),\n addUserApiToken: createAction(`${authStoreName}/addUserApiToken`, (payload: AddUserApiTokenPayload) => ({ payload })),\n deleteUserApiToken: createAction(`${authStoreName}/deleteUserApiToken`, (payload: string) => ({ payload })),\n deleteTenantApiToken: createAction(`${authStoreName}/deleteTenantApiToken`, (payload: string) => ({ payload })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setApiTokensLoader: (payload: ApiStateIndicator) => void;\n setApiTokensError: (payload: ApiStateIndicator) => void;\n setApiTokensState: (state: Partial<ApiTokensState>) => void;\n resetApiTokensState: () => void;\n\n loadApiTokens: (payload?: WithSilentLoad<WithCallback>) => void;\n initApiTokensData: (payload: ApiTokenType) => void;\n addTenantApiToken: (payload: AddTenantApiTokenPayload) => void;\n addUserApiToken: (payload: AddUserApiTokenPayload) => void;\n deleteUserApiToken: (payload: string) => void;\n deleteTenantApiToken: (payload: string) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type ApiTokensActions = DispatchedActions;\nexport { apiTokensState, reducers as apiTokensReducers, actions as apiTokensActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { resetStateByKey, typeReducerForKey, typeReducerNestedKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher } from '../../interfaces';\nimport {\n CaptchaPolicyState,\n GlobalPolicyState,\n PublicPolicyState,\n LockoutPolicyState,\n MfaPolicyState,\n PasswordPolicyState,\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n SecurityPolicyState,\n PasswordHistoryPolicyState,\n SaveSecurityPolicyPasswordHistoryPayload,\n} from './interfaces';\n\nconst securityPolicyState: SecurityPolicyState = {\n globalPolicy: {\n loading: true,\n },\n publicPolicy: {\n loading: false,\n },\n mfaPolicy: {\n loading: true,\n },\n lockoutPolicy: {\n loading: true,\n },\n captchaPolicy: {\n loading: true,\n },\n passwordHistoryPolicy: {\n loading: true,\n },\n passwordPolicy: {\n loading: true,\n },\n};\n\nconst reducers = {\n setSecurityPolicyState: typeReducerForKey<SecurityPolicyState>('securityPolicyState'),\n setSecurityPolicyGlobalState: typeReducerNestedKey<SecurityPolicyState, GlobalPolicyState>(\n 'securityPolicyState',\n 'globalPolicy'\n ),\n setSecurityPolicyPublicState: typeReducerNestedKey<SecurityPolicyState, PublicPolicyState>(\n 'securityPolicyState',\n 'publicPolicy'\n ),\n setSecurityPolicyMfaState: typeReducerNestedKey<SecurityPolicyState, MfaPolicyState>(\n 'securityPolicyState',\n 'mfaPolicy'\n ),\n setSecurityPolicyLockoutState: typeReducerNestedKey<SecurityPolicyState, LockoutPolicyState>(\n 'securityPolicyState',\n 'lockoutPolicy'\n ),\n setSecurityPolicyCaptchaState: typeReducerNestedKey<SecurityPolicyState, CaptchaPolicyState>(\n 'securityPolicyState',\n 'captchaPolicy'\n ),\n setSecurityPolicyPasswordHistoryState: typeReducerNestedKey<SecurityPolicyState, PasswordHistoryPolicyState>(\n 'securityPolicyState',\n 'passwordHistoryPolicy'\n ),\n setSecurityPolicyPasswordState: typeReducerNestedKey<SecurityPolicyState, PasswordPolicyState>(\n 'securityPolicyState',\n 'passwordPolicy'\n ),\n resetSecurityPolicyState: resetStateByKey<SecurityPolicyState>('securityPolicyState', { securityPolicyState }),\n};\n\nconst actions = {\n loadSecurityPolicy: createAction(`${authStoreName}/loadSecurityPolicy`),\n loadPublicSecurityPolicy: createAction(`${authStoreName}/loadPublicSecurityPolicy`),\n loadSecurityPolicyMfa: createAction(`${authStoreName}/loadSecurityPolicyMfa`),\n saveSecurityPolicyMfa: createAction(\n `${authStoreName}/saveSecurityPolicyMfa`,\n (payload: SaveSecurityPolicyMfaPayload) => ({ payload })\n ),\n loadSecurityPolicyLockout: createAction(`${authStoreName}/loadSecurityPolicyLockout`),\n saveSecurityPolicyLockout: createAction(\n `${authStoreName}/saveSecurityPolicyLockout`,\n (payload: SaveSecurityPolicyLockoutPayload) => ({ payload })\n ),\n loadSecurityPolicyCaptcha: createAction(`${authStoreName}/loadSecurityPolicyCaptcha`),\n loadSecurityPolicyPasswordHistory: createAction(`${authStoreName}/loadSecurityPolicyPasswordHistory`),\n saveSecurityPolicyPasswordHistory: createAction(\n `${authStoreName}/saveSecurityPolicyPasswordHistory`,\n (payload: SaveSecurityPolicyPasswordHistoryPayload) => ({ payload })\n ),\n loadVendorPasswordConfig: createAction(`${authStoreName}/loadVendorPasswordConfig`),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setSecurityPolicyState: (state: Partial<SecurityPolicyState>) => void;\n setSecurityPolicyGlobalState: (state: Partial<GlobalPolicyState>) => void;\n setSecurityPolicyPublicState: (state: Partial<PublicPolicyState>) => void;\n setSecurityPolicyMfaState: (state: Partial<MfaPolicyState>) => void;\n setSecurityPolicyLockoutState: (state: Partial<LockoutPolicyState>) => void;\n setSecurityPolicyCaptchaState: (state: Partial<CaptchaPolicyState>) => void;\n setSecurityPolicyPasswordHistoryState: (state: Partial<PasswordHistoryPolicyState>) => void;\n resetSecurityPolicyState: () => void;\n setSecurityPolicyPasswordState: (state: Partial<PasswordPolicyState>) => void;\n\n loadSecurityPolicy: () => void;\n loadPublicSecurityPolicy: () => void;\n loadVendorPasswordConfig: () => void;\n loadSecurityPolicyMfa: () => void;\n saveSecurityPolicyMfa: (payload: SaveSecurityPolicyMfaPayload) => void;\n loadSecurityPolicyLockout: () => void;\n saveSecurityPolicyLockout: (payload: SaveSecurityPolicyLockoutPayload) => void;\n loadSecurityPolicyCaptcha: () => void;\n loadSecurityPolicyPasswordHistory: () => void;\n saveSecurityPolicyPasswordHistory: (payload: SaveSecurityPolicyPasswordHistoryPayload) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type SecurityPolicyActions = DispatchedActions;\nexport { securityPolicyState, reducers as securityPolicyReducers, actions as securityPolicyActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { ISettingsResponse } from '@frontegg/rest-api';\nimport { AccountSettingsState } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { authStoreName } from '../../constants';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\n\nconst accountSettingsState: AccountSettingsState = {\n loading: false,\n};\n\nconst reducers = {\n setAccountSettingsState: typeReducerForKey<AccountSettingsState>('accountSettingsState'),\n resetAccountSettingsState: resetStateByKey<AccountSettingsState>('accountSettingsState', { accountSettingsState }),\n};\n\nconst actions = {\n loadAccountSettings: createAction(\n `${authStoreName}/loadAccountSettings`,\n (payload?: WithCallback<WithSilentLoad<{}>>) => ({ payload })\n ),\n saveAccountSettings: createAction(\n `${authStoreName}/saveAccountSettings`,\n (payload: WithCallback<ISettingsResponse, ISettingsResponse>) => ({ payload })\n ),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setAccountSettingsState: (state: Partial<AccountSettingsState>) => void;\n resetAccountSettingsState: () => void;\n loadAccountSettings: (payload?: WithCallback<WithSilentLoad<{}>>) => void;\n saveAccountSettings: (payload: WithCallback<ISettingsResponse, ISettingsResponse>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type AccountSettingsActions = DispatchedActions;\nexport { accountSettingsState, reducers as accountSettingsReducers, actions as accountSettingsActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport { TenantsState } from './interfaces';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback } from '../../interfaces';\nimport { authStoreName } from '../../constants';\nimport { ISwitchTenant, ITenantsResponse } from '@frontegg/rest-api';\n\nconst tenantsState: TenantsState = {\n tenants: [],\n loading: true,\n};\n\nconst reducers = {\n setTenantsState: typeReducerForKey<TenantsState>('tenantsState'),\n resetTenantsState: resetStateByKey<TenantsState>('tenantsState', { tenantsState }),\n};\n\nconst actions = {\n switchTenant: createAction(`${authStoreName}/switchTenant`, (payload: WithCallback<ISwitchTenant>) => ({ payload })),\n loadTenants: createAction(`${authStoreName}/loadTenants`, (payload?: WithCallback<{}, ITenantsResponse[]>) => ({\n payload,\n })),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setTenantsState: (state: Partial<TenantsState>) => void;\n resetTenantsState: () => void;\n switchTenant: (payload: WithCallback<ISwitchTenant>) => void;\n loadTenants: (payload?: WithCallback<{}, ITenantsResponse[]>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type TenantsActions = DispatchedActions;\nexport { tenantsState, reducers as tenantsReducers, actions as tenantsActions };\n","import { createAction } from '@reduxjs/toolkit';\nimport {\n IAddRole,\n IAttachPermissionsToRole,\n IAttachPermissionToRoles,\n IDeleteRole,\n IRole,\n IRolePermission,\n IUpdateRole,\n} from '@frontegg/rest-api';\nimport { resetStateByKey, typeReducerForKey } from '../utils';\nimport { ActionDispatchMatcher, WithCallback, WithSilentLoad } from '../../interfaces';\nimport { authStoreName } from '../../constants';\nimport { RolesState } from './interfaces';\n\nconst rolesState: RolesState = {\n loading: false,\n roles: [],\n permissions: [],\n permissionCategories: [],\n};\n\nconst reducers = {\n setRolesState: typeReducerForKey<RolesState>('rolesState'),\n resetRolesState: resetStateByKey<RolesState>('rolesState', { rolesState }),\n};\n\nconst actions = {\n loadRolesAndPermissions: createAction(`${authStoreName}/loadRoles`, (payload?: WithSilentLoad<{}>) => ({ payload })),\n addRole: createAction(`${authStoreName}/addRole`, (payload: WithCallback<IAddRole, IRole>) => ({ payload })),\n updateRole: createAction(`${authStoreName}/updateRole`, (payload: WithCallback<IUpdateRole, IRole>) => ({ payload })),\n deleteRole: createAction(`${authStoreName}/deleteRole`, (payload: WithCallback<IDeleteRole>) => ({ payload })),\n attachPermissionsToRole: createAction(\n `${authStoreName}/attachPermissionsToRole`,\n (payload: WithCallback<IAttachPermissionsToRole, IRole>) => ({ payload })\n ),\n attachPermissionToRoles: createAction(\n `${authStoreName}/attachPermissionToRoles`,\n (payload: WithCallback<IAttachPermissionToRoles, IRolePermission>) => ({ payload })\n ),\n};\n\n/**\n * To be used for actions types after dispatch, and should contains\n * the reducers and actions as standalone function\n */\ntype DispatchedActions = {\n setRolesState: (state: RolesState) => void;\n resetRolesState: () => void;\n loadRolesAndPermissions: (payload?: WithSilentLoad<{}>) => void;\n addRole: (payload: WithCallback<IAddRole, IRole>) => void;\n updateRole: (payload: WithCallback<IUpdateRole, IRole>) => void;\n deleteRole: (payload: WithCallback<IDeleteRole>) => void;\n attachPermissionsToRole: (payload: WithCallback<IAttachPermissionsToRole, IRole>) => void;\n attachPermissionToRoles: (payload: WithCallback<IAttachPermissionToRoles, IRolePermission>) => void;\n};\n\n// noinspection JSUnusedLocalSymbols\n/**\n * if you see error in matcher that's mean the DispatchAction does not\n * contains the same functions in reducers and actions\n */\nconst Matcher: ActionDispatchMatcher<typeof reducers, typeof actions, DispatchedActions> = {};\n\nexport type RolesActions = DispatchedActions;\nexport { rolesState, reducers as rolesReducers, actions as rolesActions };\n","import { loginState } from './LoginState';\nimport { AuthState } from './interfaces';\nimport { activateState } from './ActivateState';\nimport { acceptInvitationState } from './AcceptInvitationState';\nimport { forgotPasswordState } from './ForgotPasswordState';\nimport { ssoState } from './SSOState';\nimport { profileState } from './ProfileState';\nimport { mfaState } from './MfaState';\nimport { teamState } from './TeamState';\nimport { socialLoginState } from './SocialLogins';\nimport { signUpState } from './SignUp';\nimport { apiTokensState } from './ApiTokensState';\nimport { securityPolicyState } from './SecurityPolicyState';\nimport { accountSettingsState } from './AccountSettingsState';\nimport { tenantsState } from './TenantsState';\nimport { rolesState } from './RolesState';\n\nexport const reinitializeState: Omit<AuthState, 'routes' | 'onRedirectTo'> = {\n isAuthenticated: false,\n isLoading: true,\n isSSOAuth: false,\n user: null,\n\n signUpState,\n loginState,\n activateState,\n acceptInvitationState,\n forgotPasswordState,\n ssoState,\n profileState,\n mfaState,\n teamState,\n socialLoginState,\n apiTokensState,\n securityPolicyState,\n accountSettingsState,\n tenantsState,\n rolesState,\n};\nexport const initialState: AuthState = {\n routes: {\n authenticatedUrl: '/',\n loginUrl: '/account/login',\n logoutUrl: '/account/logout',\n activateUrl: '/account/activate',\n acceptInvitationUrl: '/account/invitation/accept',\n forgetPasswordUrl: '/account/forget-password',\n resetPasswordUrl: '/account/reset-password',\n socialLoginCallbackUrl: '/account/social/success',\n signUpUrl: '/account/sign-up',\n oidcRedirectUrl: '/account/oidc/callback',\n magicLinkCallbackUrl: '/account/login/magic-link'\n },\n onRedirectTo: () => {},\n\n ...reinitializeState,\n};\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { AuthState, User } from './interfaces';\nimport { typeReducer } from './utils';\nimport { initialState, reinitializeState } from './initialState';\nimport { authStoreName } from '../constants';\nimport { LoginActions, loginActions, loginReducers } from './LoginState';\nimport { ActivateAccountActions, activateAccountActions, activateAccountReducers } from './ActivateState';\nimport { AcceptInvitationActions, acceptInvitationActions, acceptInvitationReducers } from './AcceptInvitationState';\nimport { ForgotPasswordActions, forgotPasswordActions, forgotPasswordReducers } from './ForgotPasswordState';\nimport { SSOActions, ssoActions, ssoReducers } from './SSOState';\nimport { MfaActions, mfaActions, mfaReducers } from './MfaState';\nimport { ProfileActions, profileActions, profileReducers } from './ProfileState';\nimport { TeamActions, teamActions, teamReducers } from './TeamState';\nimport { SocialLoginActions, socialLoginsActions, socialLoginsReducer } from './SocialLogins';\nimport { SignUpActions, signUpActions, signUpReducers } from './SignUp';\nimport { ApiTokensActions, apiTokensActions, apiTokensReducers } from './ApiTokensState';\nimport { SecurityPolicyActions, securityPolicyActions, securityPolicyReducers } from './SecurityPolicyState';\nimport { AccountSettingsActions, accountSettingsActions, accountSettingsReducers } from './AccountSettingsState';\nimport { TenantsActions, tenantsActions, tenantsReducers } from './TenantsState';\nimport { RolesActions, rolesActions, rolesReducers } from './RolesState';\n\nconst { reducer, actions: sliceActions } = createSlice({\n name: authStoreName,\n initialState,\n reducers: {\n resetState: (state: AuthState) => ({ ...state, ...reinitializeState }),\n setState: (state: AuthState, { payload }: PayloadAction<Partial<AuthState>>) => ({ ...state, ...payload }),\n setUser: typeReducer<User>('user'),\n ...loginReducers,\n ...socialLoginsReducer,\n ...activateAccountReducers,\n ...acceptInvitationReducers,\n ...forgotPasswordReducers,\n ...signUpReducers,\n ...profileReducers,\n ...ssoReducers,\n ...mfaReducers,\n ...teamReducers,\n ...apiTokensReducers,\n ...securityPolicyReducers,\n ...accountSettingsReducers,\n ...tenantsReducers,\n ...rolesReducers,\n },\n});\n\nconst actions = {\n ...sliceActions,\n ...loginActions,\n ...socialLoginsActions,\n ...activateAccountActions,\n ...acceptInvitationActions,\n ...forgotPasswordActions,\n ...signUpActions,\n ...profileActions,\n ...ssoActions,\n ...mfaActions,\n ...teamActions,\n ...apiTokensActions,\n ...securityPolicyActions,\n ...accountSettingsActions,\n ...tenantsActions,\n ...rolesActions,\n};\n\nexport type RootActions = {\n setState: (state: Partial<AuthState>) => void;\n resetState: () => void;\n setUser: (user: User) => void;\n};\n\nexport type AuthActions = RootActions &\n LoginActions &\n SocialLoginActions &\n ActivateAccountActions &\n AcceptInvitationActions &\n ForgotPasswordActions &\n SignUpActions &\n ProfileActions &\n SSOActions &\n MfaActions &\n TeamActions &\n ApiTokensActions &\n SecurityPolicyActions &\n AccountSettingsActions &\n TenantsActions &\n RolesActions;\n\nexport { reducer, actions };\n","import { ICreateSamlGroup, ISamlConfiguration, ISamlRolesGroup, IOidcConfiguration, ITeamUserRole } from '@frontegg/rest-api';\nimport { WithCallback } from '../../interfaces';\n\nexport interface SSOState {\n firstLoad: boolean;\n loading: boolean;\n error?: any;\n saving?: boolean;\n samlConfiguration?: ISamlConfiguration;\n oidcConfiguration?: IOidcConfiguration;\n roles?: ITeamUserRole[];\n rolesGroups?: ISamlRolesGroup[];\n authorizationRoles?: string[];\n}\n\nexport enum SamlVendors {\n Saml = 'saml',\n Okta = 'okta',\n Azure = 'azure',\n Google = 'google',\n Oidc = 'oidc',\n}\n\nexport type SaveSSOConfigurationPayload = WithCallback<Partial<ISamlConfiguration & { samlVendor: SamlVendors }>>;\nexport type SaveSSOConfigurationFilePayload = WithCallback<{ configFile: File }>;\nexport type UpdateSSOAuthorizationRolesPayload = WithCallback<{\n authorizationRoles: string[];\n groups?: ISamlRolesGroup[];\n}>;\nexport type DeleteSamlGroupPayload = WithCallback<{\n id: string;\n}>;\nexport type CreateSamlGroupPayload = WithCallback<ICreateSamlGroup>;\n","import { createAction } from '@reduxjs/toolkit';\n\nexport function omitProps<T>(props: any, keys: string[]): T {\n const newProps = { ...props };\n keys.forEach((key) => {\n delete newProps[key];\n });\n return newProps as T;\n}\n\nexport function generateActionCreator(storeName: string) {\n return <Payload>(key: string, withPayload?: boolean) =>\n withPayload\n ? createAction(`${storeName}/${key}`, (payload: Payload) => ({ payload }))\n : createAction(`${storeName}/${key}`);\n}\n\nexport const readFileAsText = (file: File): Promise<string> =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file);\n reader.onload = () => resolve(reader.result as string);\n reader.onerror = reject;\n });\n","import {\n ISamlConfiguration,\n ISecurityPolicy,\n ISecurityPolicyLockout,\n ISecurityPolicyMfa,\n IRole,\n IRolePermission,\n ITeamUser,\n ITeamUserPermission,\n ITeamUserRole,\n IUserProfile,\n ISamlMetadata,\n ITenantsResponse,\n ISecurityPolicyPasswordHistory,\n} from '@frontegg/rest-api';\nimport { IApiTokensData, ITenantApiTokensData } from './ApiTokensState/interfaces';\nimport { User } from './interfaces';\nimport { ProfileState } from './ProfileState/interfaces';\nimport { SSOState } from './SSOState/interfaces';\n\nexport const apiTokensDataDemo: IApiTokensData = {\n clientId: 'CLIENT_ID_16806d3d-8fc3-4450-be97-abdaf66b723e',\n secret: 'SECRET_16806d3d-8fc3-4450-be97-abdaf66b723e',\n createdAt: 'createdAt',\n description: 'This is dummy api token for preview only',\n};\n\nexport const apiTokensDataTenantDemo: ITenantApiTokensData = {\n ...apiTokensDataDemo,\n roleIds: [],\n tenantId: 'my-tenant-id',\n createdByUserId: 'createdByUserId',\n};\nexport const roleDemo: IRole[] = [\n {\n id: 'roleId',\n key: 'admin',\n isDefault: false,\n name: 'Admin',\n description: null,\n permissions: ['adminPermissionId'],\n tenantId: 'tenantId',\n vendorId: 'vendorId',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n];\nexport const rolePermissionDemo: IRolePermission[] = [\n {\n id: 'adminPermissionId',\n key: 'fe.*',\n name: 'General Admin',\n description: undefined,\n categoryId: 'category',\n fePermission: true,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n];\n\nexport const userProfileDemo: IUserProfile = {\n id: 'testId',\n name: 'Dummy User',\n email: 'dummy@frontegg.com',\n mfaEnrolled: true,\n profileImage: undefined,\n profilePictureUrl:\n 'https://www.gravatar.com/avatar/42b2ad2bad6fc9b9db5086dfcf8072ac?d=https://ui-avatars.com/api/fe/128/random?t=1617261890875?t=1617261917434',\n roles: roleDemo,\n permissions: rolePermissionDemo,\n tenantId: 'my-tenant-id',\n tenantIds: ['my-tenant-id'],\n activatedForTenant: true,\n metadata: {},\n roleIds: undefined,\n verified: undefined,\n};\n\nexport const userDemo: User = {\n ...userProfileDemo,\n accessToken:\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1MTY5YmY0Zi02YmI5LTQ5NGMtOGNkZS05MDc4NDQ0NWY4MDciLCJuYW1lIjoiRHVtbXkgVXNlciIsImVtYWlsIjoiZHVtbXlAZnJvbnRlZ2cuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsIm1ldGFkYXRhIjp7fSwicm9sZXMiOlsiYWRtaW4iXSwicGVybWlzc2lvbnMiOlsiZmUuKiJdLCJ0ZW5hbnRJZCI6Im15LXRlbmFudC1pZCIsInRlbmFudElkcyI6WyJteS10ZW5hbnQtaWQiXSwicHJvZmlsZVBpY3R1cmVVcmwiOiJodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLzQyYjJhZDJiYWQ2ZmM5YjlkYjUwODZkZmNmODA3MmFjP2Q9aHR0cHM6Ly91aS1hdmF0YXJzLmNvbS9hcGkvZmUvMTI4L3JhbmRvbT90PTE2MTcyNjE4OTA4NzU_dD0xNjE3MjYxOTE3NDM0IiwidHlwZSI6InVzZXJUb2tlbiIsImlhdCI6MTYxNzkwNjMyNCwiZXhwIjoxNjE3OTkyNzI0LCJpc3MiOiJmcm9udGVnZyJ9.paaXLkpWEWbQmUtoK2P8IwXCxK4WJp7XhXonvzF8g1I',\n expiresIn: 86400,\n mfaRequired: false,\n refreshToken: 'refresh-token-dummy-de39dc9c-9d22-4852-b7f5-c3c0aa613b58',\n type: 'userToken',\n iat: 1617906324,\n exp: 1617992724,\n iss: 'frontegg',\n email_verified: true,\n} as any;\n\nexport const profileStateDemo: ProfileState = {\n loading: false,\n error: undefined,\n saving: true,\n profile: userProfileDemo,\n};\n\nexport const policyDemo: ISecurityPolicy = {\n id: 'id',\n enforceMFAType: 'DontForce',\n createdAt: new Date(),\n updatedAt: new Date(),\n allowOverrideEnforcePasswordHistory: true,\n allowOverridePasswordComplexity: false,\n allowOverridePasswordExpiration: false,\n allowSignups: true,\n apiTokensEnabled: true,\n cookieSameSite: 'cookieSameSite',\n defaultRefreshTokenExpiration: 0,\n defaultTokenExpiration: 1,\n publicKey: 'publicKey',\n};\n\nexport const policyMfaDemo: ISecurityPolicyMfa = {\n id: 'id',\n enforceMFAType: 'DontForce',\n createdAt: new Date(),\n updatedAt: new Date(),\n};\n\nexport const policyLockoutDemo: ISecurityPolicyLockout = {\n id: 'id',\n enabled: true,\n maxAttempts: 1,\n createdAt: new Date(),\n updatedAt: new Date(),\n};\n\nexport const policyPasswordHistoryDemo: ISecurityPolicyPasswordHistory = {\n id: 'id',\n enabled: true,\n historySize: 1,\n createdAt: new Date(),\n updatedAt: new Date(),\n};\n\nexport const samlConfigurationDemo: ISamlConfiguration = {\n enabled: true,\n domain: 'domain',\n validated: true,\n generatedVerification: 'generatedVerification',\n ssoEndpoint: 'ssoEndpoint',\n publicCertificate: 'publicCertificate',\n signRequest: true,\n createdAt: new Date(),\n updatedAt: new Date(),\n acsUrl: undefined,\n spEntityId: undefined,\n oidcClientId: undefined,\n oidcSecret: undefined,\n type: undefined,\n};\n\nexport const samlMetadataDemo: ISamlMetadata = {\n id: 'id',\n createdAt: 'createdAt',\n updatedAt: 'updatedAt',\n properties: [],\n vendorId: 'vendorId',\n entityName: 'saml',\n configuration: {\n acsUrl: 'acsUrl',\n spEntityId: 'spEntityId',\n isActive: true,\n },\n};\n\nexport const rolesDemo: ITeamUserRole[] = [\n {\n id: 'id',\n description: 'description',\n key: 'key',\n name: 'name',\n permissions: [],\n permissionLevel: 1,\n },\n];\n\nexport const ssoStateDemo: SSOState = {\n firstLoad: false,\n loading: false,\n error: undefined,\n saving: false,\n samlConfiguration: samlConfigurationDemo,\n roles: rolesDemo,\n authorizationRoles: [],\n};\n\nexport const permissionsDemo: ITeamUserPermission[] = [\n {\n description: 'string',\n fePermission: true,\n id: 'id',\n key: 'key',\n name: 'name',\n roleIds: [],\n createdAt: new Date(),\n updatedAt: new Date(),\n categoryId: 'categoryId',\n },\n];\n\nexport const userTeamDemo: ITeamUser = {\n id: 'id',\n email: 'email',\n name: 'name',\n phone: undefined,\n profileImage: undefined,\n profileImageUrl: undefined,\n tenantId: 'tenantId',\n vendorId: 'vendorId',\n roleIds: [],\n activatedForTenant: true,\n createdAt: new Date().toISOString(),\n customData: undefined,\n lastLogin: undefined,\n mfaEnabled: undefined,\n roles: [],\n};\n\nexport const usersDemo: ITeamUser[] = [userTeamDemo];\n\nexport const tenantsDemo: ITenantsResponse[] = [\n {\n id: 'my-tenant-id',\n name: 'My Tenant Name',\n deletedAt: null,\n metadata: undefined,\n tenantId: 'my-tenant-id',\n vendorId: 'vendorId',\n createdAt: new Date(),\n updatedAt: new Date(),\n address: undefined,\n timezone: undefined,\n dateFormat: undefined,\n timeFormat: undefined,\n currency: undefined,\n logo: undefined,\n },\n];\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { put, call, takeLeading, select } from 'redux-saga/effects';\nimport { api, ContextHolder, ISignUpUser, IVendorConfig } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { SignUpStage } from './interfaces';\nimport { MFAStep } from '../MfaState/interfaces';\nimport { LoginStep } from '../LoginState/interfaces';\n\nexport function* loadAllowSignUps() {\n yield put(actions.setSignUpState({ loading: true }));\n try {\n const { allowSignups: allowSignUps, allowNotVerifiedUsersLogin }: IVendorConfig = yield call(\n api.auth.getVendorConfig\n );\n yield put(actions.setSignUpState({ loading: false, allowSignUps, allowNotVerifiedUsersLogin, firstLoad: false }));\n } catch (e) {\n yield put(actions.setSignUpState({ loading: false, error: e.message, firstLoad: false }));\n }\n}\n\nexport function* signUpUser({ payload }: PayloadAction<ISignUpUser>) {\n yield put(actions.setSignUpState({ loading: true }));\n\n try {\n const { routes, onRedirectTo } = yield select((state) => state.auth);\n const { shouldActivate, user } = yield call(api.auth.signUpUser, payload);\n\n ContextHolder.setAccessToken(user?.accessToken);\n ContextHolder.setUser(user);\n\n if (!shouldActivate && user?.mfaRequired && user?.mfaToken) {\n let step = LoginStep.loginWithTwoFactor;\n if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {\n yield put(\n actions.setMfaState({\n step: MFAStep.verify,\n qrCode: user.qrCode,\n recoveryCode: user.recoveryCode,\n mfaToken: user.mfaToken,\n loading: false,\n })\n );\n step = LoginStep.forceTwoFactor;\n }\n yield put(actions.setLoginState({ step }));\n onRedirectTo(routes.loginUrl);\n } else {\n yield put(actions.setSignUpState({ loading: false, shouldActivate, stage: SignUpStage.SignUpSuccess }));\n yield put(\n actions.setState({\n user,\n isAuthenticated: !!user?.accessToken,\n })\n );\n if (!shouldActivate) {\n yield put(actions.loadTenants());\n }\n }\n } catch (e) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n yield put(actions.setSignUpState({ loading: false, error: e.message }));\n }\n yield put(actions.setSignUpState({ loading: false }));\n}\n\nexport function* resetSignUpStateSoft() {\n const { allowSignUps, allowNotVerifiedUsersLogin } = yield select((state) => state.auth.signUpState);\n yield put(actions.resetSignUpState());\n yield put(actions.setSignUpState({ allowSignUps, allowNotVerifiedUsersLogin }));\n}\n\nexport function* signUpSaga() {\n yield takeLeading(actions.signUpUser, signUpUser);\n yield takeLeading(actions.resetSignUpStateSoft, resetSignUpStateSoft);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeEvery, takeLeading } from 'redux-saga/effects';\nimport {\n api, ISecurityPolicy, ISecurityPolicyLockout, ISecurityPolicyMfa, ISecurityPolicyPasswordHistory,\n ISecurityPolicyCaptcha, ISecurityPolicyPasswordConfig,\n IVendorConfig,\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport {\n SaveSecurityPolicyLockoutPayload,\n SaveSecurityPolicyMfaPayload,\n SaveSecurityPolicyPasswordHistoryPayload,\n} from './interfaces';\nimport { delay } from '../utils';\nimport { policyDemo, policyMfaDemo, policyLockoutDemo, policyPasswordHistoryDemo } from '../dummy';\n\nfunction* loadSecurityPolicy() {\n yield put(actions.setSecurityPolicyGlobalState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicy = yield call(api.auth.getGlobalSecurityPolicy);\n yield put(actions.setSecurityPolicyGlobalState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyGlobalState({ error: e.message, loading: false }));\n }\n yield put(actions.loadSecurityPolicyMfa());\n yield put(actions.loadSecurityPolicyLockout());\n yield put(actions.loadSecurityPolicyCaptcha());\n}\n\nexport function* loadPublicSecurityPolicy() {\n yield put(actions.setSecurityPolicyPublicState({ loading: true, error: null }));\n try {\n const policy: IVendorConfig = yield call(api.auth.getVendorConfig);\n yield put(actions.setSecurityPolicyPublicState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyPublicState({ error: e.message, loading: false }));\n }\n}\n\nfunction* loadSecurityPolicyMfa() {\n yield put(actions.setSecurityPolicyMfaState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyMfa = yield call(api.auth.getMfaPolicy);\n yield put(actions.setSecurityPolicyMfaState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyMfaState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSecurityPolicyMfa({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyMfaPayload>) {\n yield put(actions.setSecurityPolicyMfaState({ saving: true, error: null }));\n try {\n const policy: ISecurityPolicyMfa = yield call(api.auth.saveMfaPolicy, newSecurityPolicy);\n yield put(actions.setSecurityPolicyMfaState({ policy, saving: false }));\n callback?.(policy);\n } catch (e) {\n yield put(actions.setSecurityPolicyMfaState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* loadSecurityPolicyLockout() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyLockout = yield call(api.auth.getLockoutPolicy);\n yield put(actions.setSecurityPolicyLockoutState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyLockoutState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSecurityPolicyLockout({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyLockoutPayload>) {\n yield put(actions.setSecurityPolicyLockoutState({ saving: true, error: null }));\n try {\n const policy: ISecurityPolicyLockout = yield call(api.auth.saveLockoutPolicy, newSecurityPolicy);\n yield put(actions.setSecurityPolicyLockoutState({ policy, saving: false }));\n callback?.(policy);\n } catch (e) {\n yield put(actions.setSecurityPolicyLockoutState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* loadSecurityPolicyCaptcha() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyCaptcha = yield call(api.auth.getCaptchaPolicy);\n yield put(actions.setSecurityPolicyCaptchaState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyCaptchaState({ error: e.message, loading: false }));\n }\n}\n\nfunction* loadSecurityPolicyPasswordHistory() {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyPasswordHistory = yield call(api.auth.getPasswordHistoryPolicy);\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSecurityPolicyPasswordHistory({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyPasswordHistoryPayload>) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ saving: true, error: null }));\n try {\n const policy: ISecurityPolicyPasswordHistory = yield call(api.auth.savePasswordHistoryPolicy, newSecurityPolicy);\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy, saving: false }));\n callback?.(policy);\n } catch (e) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* loadVendorPasswordConfig() {\n yield put(actions.setSecurityPolicyPasswordState({ loading: true, error: null }));\n try {\n const policy: ISecurityPolicyPasswordConfig = yield call(api.auth.getPasswordConfigPolicy);\n yield put(actions.setSecurityPolicyPasswordState({ policy, loading: false }));\n } catch (e) {\n yield put(actions.setSecurityPolicyPasswordState({ error: e.message, loading: false }));\n }\n}\n\nexport function* securityPolicySagas() {\n yield takeLeading(actions.loadSecurityPolicy, loadSecurityPolicy);\n yield takeEvery(actions.saveSecurityPolicyMfa, saveSecurityPolicyMfa);\n yield takeEvery(actions.loadSecurityPolicyMfa, loadSecurityPolicyMfa);\n yield takeEvery(actions.saveSecurityPolicyLockout, saveSecurityPolicyLockout);\n yield takeEvery(actions.loadSecurityPolicyLockout, loadSecurityPolicyLockout);\n yield takeEvery(actions.loadSecurityPolicyCaptcha, loadSecurityPolicyCaptcha);\n yield takeEvery(actions.saveSecurityPolicyPasswordHistory, saveSecurityPolicyPasswordHistory);\n yield takeEvery(actions.loadSecurityPolicyPasswordHistory, loadSecurityPolicyPasswordHistory);\n yield takeEvery(actions.loadVendorPasswordConfig, loadVendorPasswordConfig);\n yield takeEvery(actions.loadPublicSecurityPolicy, loadPublicSecurityPolicy);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadSecurityPolicyMock() {\n yield put(actions.setSecurityPolicyGlobalState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyGlobalState({ policy: policyDemo, loading: false }));\n yield put(actions.loadSecurityPolicyMfa());\n yield put(actions.loadSecurityPolicyLockout());\n yield put(actions.loadSecurityPolicyCaptcha());\n}\n\nfunction* loadSecurityPolicyMfaMock() {\n yield put(actions.setSecurityPolicyMfaState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyMfaState({ policy: policyMfaDemo, loading: false }));\n}\n\nfunction* saveSecurityPolicyMfaMock({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyMfaPayload>) {\n yield put(actions.setSecurityPolicyMfaState({ saving: true, error: null }));\n const policy: ISecurityPolicyMfa = {\n ...policyLockoutDemo,\n id: newSecurityPolicy.id ?? policyLockoutDemo.id,\n enforceMFAType: newSecurityPolicy.enforceMFAType,\n };\n yield delay();\n yield put(actions.setSecurityPolicyMfaState({ policy, saving: false }));\n callback?.(policy);\n}\n\nfunction* loadSecurityPolicyLockoutMock() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyLockoutState({ policy: policyLockoutDemo, loading: false }));\n}\n\nfunction* saveSecurityPolicyLockoutMock({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyLockoutPayload>) {\n yield put(actions.setSecurityPolicyLockoutState({ saving: true, error: null }));\n yield delay();\n const policy: ISecurityPolicyLockout = {\n ...newSecurityPolicy,\n ...policyLockoutDemo,\n id: newSecurityPolicy.id ? newSecurityPolicy.id : policyLockoutDemo.id,\n };\n callback?.(policy);\n yield put(actions.setSecurityPolicyLockoutState({ policy, saving: false }));\n}\n\nfunction* loadSecurityPolicyCaptchaMock() {\n yield put(actions.setSecurityPolicyLockoutState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyLockoutState({ policy: policyLockoutDemo, loading: false }));\n}\n\nfunction* loadSecurityPolicyPasswordHistoryMock() {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ loading: true, error: null }));\n yield delay();\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy: policyPasswordHistoryDemo, loading: false }));\n}\n\nfunction* saveSecurityPolicyPasswordHistoryMock({\n payload: { callback, ...newSecurityPolicy },\n}: PayloadAction<SaveSecurityPolicyPasswordHistoryPayload>) {\n yield put(actions.setSecurityPolicyPasswordHistoryState({ saving: true, error: null }));\n yield delay();\n const policy: ISecurityPolicyPasswordHistory = {\n ...newSecurityPolicy,\n ...policyPasswordHistoryDemo,\n id: newSecurityPolicy.id ? newSecurityPolicy.id : policyPasswordHistoryDemo.id,\n };\n callback?.(policy);\n yield put(actions.setSecurityPolicyPasswordHistoryState({ policy, saving: false }));\n}\n\nexport function* securityPolicySagasMock() {\n yield takeLeading(actions.loadSecurityPolicy, loadSecurityPolicyMock);\n yield takeEvery(actions.saveSecurityPolicyMfa, saveSecurityPolicyMfaMock);\n yield takeEvery(actions.loadSecurityPolicyMfa, loadSecurityPolicyMfaMock);\n yield takeEvery(actions.saveSecurityPolicyLockout, saveSecurityPolicyLockoutMock);\n yield takeEvery(actions.loadSecurityPolicyLockout, loadSecurityPolicyLockoutMock);\n yield takeEvery(actions.loadSecurityPolicyCaptcha, loadSecurityPolicyCaptchaMock);\n yield takeEvery(actions.saveSecurityPolicyPasswordHistory, saveSecurityPolicyPasswordHistoryMock);\n yield takeEvery(actions.loadSecurityPolicyPasswordHistory, loadSecurityPolicyPasswordHistoryMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { all, call, delay, put, select, takeLeading } from 'redux-saga/effects';\nimport {\n api,\n ContextHolder,\n ILogin,\n ILoginResponse,\n ILoginWithMfa,\n IPostLogin,\n IPreLogin,\n IRecoverMFAToken,\n ISamlMetadata,\n IAllowedToRememberMfaDevice,\n IPasswordlessPreLogin,\n AuthStrategyEnum,\n IPasswordlessPostLogin,\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { FRONTEGG_AFTER_AUTH_REDIRECT_URL } from '../../constants';\nimport { WithCallback } from '../../interfaces';\nimport { AuthPageRoutes, AuthState } from '../interfaces';\nimport { LoginStep } from './interfaces';\nimport { loadAllowSignUps } from '../SignUp/saga';\nimport { MFAStep } from '../MfaState/interfaces';\nimport { userDemo } from '../dummy';\nimport { SamlVendors } from '../SSOState/interfaces';\nimport { loadVendorPublicInfo } from '../../vendor/saga';\nimport { loadPublicSecurityPolicy } from '../SecurityPolicyState/saga';\nimport { IVerifyInviteToken } from '@frontegg/rest-api';\n\nexport function* afterAuthNavigation() {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes, includeQueryParam } = yield select((state) => state.auth);\n const { loginUrl, logoutUrl, socialLoginCallbackUrl, activateUrl } = routes as AuthPageRoutes;\n let { authenticatedUrl } = routes as AuthPageRoutes;\n const afterAuthRedirect = window.localStorage.getItem(FRONTEGG_AFTER_AUTH_REDIRECT_URL);\n if (afterAuthRedirect && ![loginUrl, logoutUrl, socialLoginCallbackUrl, activateUrl].includes(afterAuthRedirect)) {\n authenticatedUrl = afterAuthRedirect;\n }\n window.localStorage.removeItem(FRONTEGG_AFTER_AUTH_REDIRECT_URL);\n yield delay(200);\n put(actions.resetLoginState());\n const url = new URL(window?.location.href);\n let redirectUrl = authenticatedUrl;\n if (url.searchParams.get('redirectUrl')) {\n redirectUrl = url.searchParams.get('redirectUrl') ?? authenticatedUrl;\n } else if (includeQueryParam) {\n redirectUrl += window.location.search;\n }\n onRedirectTo(redirectUrl, { refresh: redirectUrl.startsWith('http') });\n}\n\nexport function* refreshMetadata() {\n let ssoACS;\n try {\n const metadata: ISamlMetadata & { isActive: boolean } = yield call(api.metadata.getSamlMetadata);\n ssoACS = metadata?.configuration?.acsUrl;\n } catch (e) {\n console.error(e);\n }\n yield put(actions.setState({ ssoACS }));\n}\n\nexport function* loadSSOPublicConfigurationFunction() {\n try {\n const { isActive } = yield call(api.auth.getSSOPublicConfiguration);\n yield put(actions.setState({ isSSOAuth: isActive }));\n } catch (e) {\n console.error(e);\n }\n}\n\nexport const isMfaRequired = (user: ILoginResponse) => {\n if (user.mfaRequired && user.mfaToken) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n return true;\n } else {\n ContextHolder.setAccessToken(user.accessToken);\n ContextHolder.setUser(user);\n return false;\n }\n};\n\nexport function* getMfaRequiredState(user: any) {\n let setMfaState = {};\n let step = LoginStep.loginWithTwoFactor;\n\n const { isAllowedToRemember, mfaDeviceExpiration } = yield call(\n api.auth.checkIfAllowToRememberMfaDevice,\n user.mfaToken,\n );\n if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {\n setMfaState = {\n mfaState: {\n step: MFAStep.verify,\n qrCode: user.qrCode,\n recoveryCode: user.recoveryCode,\n loading: false,\n mfaToken: user.mfaToken,\n },\n };\n step = LoginStep.forceTwoFactor;\n }\n return {\n user: undefined,\n isAuthenticated: false,\n ...setMfaState,\n loginState: {\n mfaToken: user.mfaToken,\n mfaRequired: user.mfaRequired,\n loading: false,\n error: undefined,\n step,\n tenantsLoading: true,\n tenants: [],\n allowRememberMfaDevice: isAllowedToRemember,\n mfaDeviceExpiration,\n },\n };\n}\n\nexport function* refreshToken() {\n try {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes } = yield select((state) => state.auth);\n const user: ILoginResponse = yield call(api.auth.refreshToken);\n\n if (isMfaRequired(user)) {\n const mfaRequiredState: Partial<AuthState> = yield getMfaRequiredState(user);\n yield put(actions.setState(mfaRequiredState));\n onRedirectTo(routes.loginUrl, { preserveQueryParams: true });\n } else {\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true }));\n\n if (\n [routes.loginUrl, routes.socialLoginCallbackUrl, routes.signupUrl, routes.oidcRedirectUrl].includes(window.location.pathname) ||\n (window.location.pathname.endsWith(routes.activateUrl) && user.verified)\n ) {\n yield afterAuthNavigation();\n }\n }\n } catch (e) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n yield put(actions.setState({ user: undefined, isAuthenticated: false }));\n }\n}\n\nfunction* requestAuthorize({ payload: firstTime }: PayloadAction<boolean>) {\n const calls = [];\n if (firstTime) {\n yield put(actions.setState({ isLoading: true }));\n calls.push(call(refreshMetadata));\n yield put(actions.loadSocialLoginsConfiguration());\n calls.push(call(loadAllowSignUps));\n calls.push(call(loadSSOPublicConfigurationFunction));\n calls.push(call(loadVendorPublicInfo));\n calls.push(call(loadPublicSecurityPolicy));\n }\n calls.push(call(refreshToken));\n yield all(calls);\n yield put(actions.setState({ isLoading: false }));\n}\n\nfunction* passwordlessPreLogin({ payload: { callback, ...payload } }: PayloadAction<WithCallback<IPasswordlessPreLogin, void>>) {\n try {\n yield put(actions.setLoginState({ loading: true }));\n yield call(api.auth.passwordlessPreLogin, payload);\n const step = payload.type === AuthStrategyEnum.MagicLink ? LoginStep.magicLinkPreLoginSuccess : LoginStep.loginWithOtc\n yield put(actions.setLoginState({ step, loading: false, email: payload.email }));\n callback?.();\n } catch (e) {\n yield put(actions.setLoginState({ error: e.message, loading: false }));\n callback?.();\n }\n}\n\nfunction* passwordlessPostLogin({ payload }: PayloadAction<IPasswordlessPostLogin>) {\n try {\n yield put(actions.setLoginState({ loading: true }));\n const data: ILoginResponse = yield call(api.auth.passwordlessPostLogin, payload);\n if (isMfaRequired(data)) {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes } = yield select((state) => state.auth);\n\n const mfaRequiredState: Partial<AuthState> = yield getMfaRequiredState(data);\n yield put(actions.setState(mfaRequiredState));\n onRedirectTo(routes.loginUrl, { preserveQueryParams: true });\n } else {\n const user: ILoginResponse = yield call(api.auth.generateLoginResponse, data);\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true }));\n yield afterAuthNavigation();\n }\n } catch (e) {\n yield put(\n actions.setLoginState({ error: e.message ?? 'Failed to authenticate' }),\n );\n } finally {\n yield put(\n actions.setLoginState({ loading: false }),\n );\n }\n}\n\nfunction* verifyInviteToken({ payload }: PayloadAction<IVerifyInviteToken>) {\n try {\n yield put(actions.setLoginState({ loading: true }));\n const {name: inviteTokenTenantName} = yield call(api.auth.verifyInviteToken, payload);\n yield put(actions.setLoginState({ inviteTokenTenantName }));\n } catch (e) {\n yield put(\n actions.setLoginState({ error: `We couldn't verify your invitation` }),\n );\n } finally {\n yield put(\n actions.setLoginState({ loading: false }),\n );\n }\n}\n\nfunction* preLogin({ payload: { email, recaptchaToken, callback } }: PayloadAction<WithCallback<IPreLogin & { recaptchaToken?: string }, void>>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n const onRedirectTo: AuthState['onRedirectTo'] = yield select(({ auth: { onRedirectTo } }) => onRedirectTo);\n\n let { address, idpType } = yield call(api.auth.preLoginWithIdpType, { email });\n if (address) {\n if (idpType === SamlVendors.Oidc && !address.includes('redirect_uri')) {\n const { routes: { oidcRedirectUrl } } = yield select(({ auth: { routes } }) => ({ routes }));\n address += `&redirect_uri=${window.location.origin}${oidcRedirectUrl}`;\n }\n yield put(actions.setLoginState({ step: LoginStep.redirectToSSO, loading: false, ssoRedirectUrl: address }));\n setTimeout(() => {\n onRedirectTo(address, { refresh: true });\n }, 2000);\n } else {\n yield ssoPreloginFailed({ email, recaptchaToken, callback });\n }\n } catch (e) {\n yield ssoPreloginFailed({ email, recaptchaToken, callback });\n }\n}\n\nfunction* ssoPreloginFailed({ callback, ...body }: Omit<WithCallback<IPasswordlessPreLogin, void>, 'type'>) {\n const publicPolicy = yield select(({ auth: { securityPolicyState: { publicPolicy: { policy: publicPolicy } } } }) => publicPolicy);\n\n if (!publicPolicy?.authStrategy) {\n yield put(actions.setLoginState({ step: LoginStep.loginWithPassword, loading: false }));\n callback?.();\n return;\n }\n if (publicPolicy?.authStrategy === AuthStrategyEnum.EmailAndPassword) {\n yield put(actions.setLoginState({ step: LoginStep.loginWithPassword, loading: false }));\n callback?.();\n } else if ([AuthStrategyEnum.MagicLink, AuthStrategyEnum.Code].includes(publicPolicy?.authStrategy)) {\n yield put(actions.passwordlessPreLogin({ ...body, type: publicPolicy?.authStrategy, callback }));\n } else {\n yield put(actions.setLoginState({ step: LoginStep.loginWithPassword, loading: false }));\n callback?.();\n }\n}\n\n\nfunction* postLogin({ payload }: PayloadAction<IPostLogin>) {\n const { onRedirectTo, routes } = yield select(({ auth: { onRedirectTo, routes } }) => ({ onRedirectTo, routes }));\n yield put(actions.setLoginState({ loading: true }));\n try {\n const user: ILoginResponse = yield call(api.auth.postLogin, payload);\n\n ContextHolder.setAccessToken(user.accessToken);\n ContextHolder.setUser(user);\n yield put(\n actions.setState({\n user: !!user.accessToken ? user : undefined,\n isAuthenticated: !!user.accessToken,\n }),\n );\n\n yield afterAuthNavigation();\n } catch (e) {\n setTimeout(() => {\n onRedirectTo(routes.authenticatedUrl);\n }, 1000);\n yield put(actions.setLoginState({ step: LoginStep.loginWithSSOFailed, loading: false }));\n }\n}\n\nfunction* login({ payload: { email, password, recaptchaToken, invitationToken } }: PayloadAction<ILogin>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n const user: ILoginResponse & { qrCode?: string, recoveryCode?: string } = yield call(api.auth.login, { email, password, recaptchaToken, invitationToken });\n ContextHolder.setAccessToken(user.accessToken);\n ContextHolder.setUser(user);\n\n let setMfaState = {};\n let step = LoginStep.success;\n if (user.mfaRequired && user.mfaToken) {\n step = LoginStep.loginWithTwoFactor;\n if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {\n setMfaState = {\n mfaState: {\n step: MFAStep.verify,\n qrCode: user.qrCode,\n recoveryCode: user.recoveryCode,\n mfaToken: user.mfaToken,\n loading: false,\n },\n };\n step = LoginStep.forceTwoFactor;\n }\n }\n const isAuthenticated = step === LoginStep.success && !!user.accessToken;\n const loggedInUser = step === LoginStep.success && step === LoginStep.success ? user : undefined;\n let allowRememberDevice: IAllowedToRememberMfaDevice = { isAllowedToRemember: false, mfaDeviceExpiration: 0 };\n if (user.mfaRequired && user.mfaToken) {\n allowRememberDevice = yield call(api.auth.checkIfAllowToRememberMfaDevice, user.mfaToken);\n }\n const { isAllowedToRemember, mfaDeviceExpiration } = allowRememberDevice;\n\n yield put(\n actions.setState({\n user: loggedInUser,\n isAuthenticated,\n ...setMfaState,\n loginState: {\n email,\n loading: false,\n error: undefined,\n mfaToken: user.mfaToken,\n step,\n tenants: [],\n tenantsLoading: true,\n allowRememberMfaDevice: isAllowedToRemember,\n mfaDeviceExpiration,\n },\n }),\n );\n if (step === LoginStep.success) {\n yield put(actions.loadTenants());\n yield afterAuthNavigation();\n }\n } catch (e) {\n ContextHolder.setAccessToken(null);\n ContextHolder.setUser(null);\n yield put(\n actions.setLoginState({\n email,\n error: e.message,\n loading: false,\n }),\n );\n }\n}\n\nfunction* loginWithMfa({\n payload: { mfaToken, value, rememberDevice, callback },\n}: PayloadAction<WithCallback<ILoginWithMfa>>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n const user: ILoginResponse = yield call(api.auth.loginWithMfa, { mfaToken, value, rememberDevice });\n\n const step = LoginStep.success;\n yield put(\n actions.setState({\n loginState: { loading: false, error: undefined, step, tenantsLoading: true, tenants: [] },\n user,\n isAuthenticated: true,\n }),\n );\n yield put(actions.loadTenants());\n callback?.(true);\n if (step === LoginStep.success) {\n yield afterAuthNavigation();\n }\n } catch (e) {\n yield put(actions.setLoginState({ error: e.message, loading: false }));\n callback?.(false, e);\n }\n}\n\nfunction* recoverMfa({ payload }: PayloadAction<IRecoverMFAToken>) {\n yield put(actions.setLoginState({ loading: true }));\n try {\n yield call(api.auth.recoverMfaToken, payload);\n yield put(actions.setLoginState({ loading: false, error: undefined, step: LoginStep.preLogin }));\n yield put(actions.setState({ user: undefined, isAuthenticated: false }));\n } catch (e) {\n yield put(actions.setLoginState({ error: e.message, loading: false }));\n }\n}\n\nfunction* logout({ payload }: PayloadAction<() => void>) {\n yield put(actions.setState({ isLoading: true }));\n try {\n yield call(api.auth.logout);\n } catch {\n }\n yield put(actions.resetState());\n yield put(actions.requestAuthorize(true));\n payload?.();\n}\n\nfunction* silentLogout({ payload }: PayloadAction<() => void>) {\n try {\n yield call(api.auth.logout);\n } catch {\n }\n payload?.();\n}\n\nexport function* loginSagas() {\n yield takeLeading(actions.requestAuthorize, requestAuthorize);\n yield takeLeading(actions.preLogin, preLogin);\n yield takeLeading(actions.postLogin, postLogin);\n yield takeLeading(actions.login, login);\n yield takeLeading(actions.logout, logout);\n yield takeLeading(actions.silentLogout, silentLogout);\n yield takeLeading(actions.loginWithMfa, loginWithMfa);\n yield takeLeading(actions.recoverMfa, recoverMfa);\n yield takeLeading(actions.passwordlessPreLogin, passwordlessPreLogin);\n yield takeLeading(actions.passwordlessPostLogin, passwordlessPostLogin);\n yield takeLeading(actions.verifyInviteToken, verifyInviteToken);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* requestAuthorizeMock({ payload: firstTime }: PayloadAction<boolean>) {\n if (firstTime) {\n yield put(actions.setState({ isLoading: true }));\n }\n\n const user = userDemo;\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true, isLoading: false }));\n}\n\nexport function* loginSagasMock() {\n yield takeLeading(actions.requestAuthorize, requestAuthorizeMock);\n yield takeLeading(actions.afterAuthNavigation, afterAuthNavigation);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { all, call, put, select, takeEvery } from 'redux-saga/effects';\nimport { api, ISamlConfiguration, ISamlRolesGroup, IUpdateSamlConfiguration, ISamlMetadata, IOidcConfiguration, IOidcPostLogin } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport {\n CreateSamlGroupPayload,\n DeleteSamlGroupPayload,\n SamlVendors,\n SaveSSOConfigurationFilePayload,\n SaveSSOConfigurationPayload,\n SSOState,\n} from './interfaces';\nimport { WithCallback } from '../../interfaces';\nimport { omitProps, readFileAsText } from '../../helpers';\nimport { delay } from '../utils';\nimport { samlConfigurationDemo, samlMetadataDemo, ssoStateDemo } from '../dummy';\nimport { refreshToken } from '../LoginState/saga';\n\nfunction* loadSSOConfigurations() {\n try {\n yield put(actions.setSSOState({ loading: true }));\n const samlConfiguration: ISamlConfiguration = yield call(api.auth.getSamlConfiguration);\n const oidcConfiguration: IOidcConfiguration = yield call(api.auth.getOidcConfiguration);\n const samlMetadata: ISamlMetadata = yield call(api.metadata.getSamlMetadata);\n samlConfiguration.acsUrl = samlMetadata?.configuration?.acsUrl;\n samlConfiguration.spEntityId = samlMetadata?.configuration?.spEntityId;\n yield put(actions.setSSOState({ samlConfiguration, oidcConfiguration, loading: false, firstLoad: false }));\n } catch (e) {\n yield put(actions.setSSOState({ error: e.message, loading: false }));\n }\n}\n\nfunction* saveSSOConfigurationsFile({ payload: configFile }: PayloadAction<File[]>) {\n const oldSamlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n const loaderKey: keyof SSOState = 'saving';\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n\n try {\n const metadata: string = yield readFileAsText(configFile[0]);\n const newSamlConfiguration: ISamlConfiguration = yield call(api.auth.updateSamlVendorMetadata, { metadata });\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n } catch (e) {\n yield put(actions.setSSOState({ samlConfiguration: oldSamlConfiguration, error: e.message, [loaderKey]: false }));\n }\n}\n\nfunction* saveSSOConfigurationsFileWithCallback({ payload }: PayloadAction<SaveSSOConfigurationFilePayload>) {\n const { configFile, callback } = payload;\n const oldSamlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n const loaderKey: keyof SSOState = 'saving';\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n\n try {\n const metadata: string = yield readFileAsText(configFile);\n const newSamlConfiguration: ISamlConfiguration = yield call(api.auth.updateSamlVendorMetadata, { metadata });\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n callback?.(true);\n } catch (e) {\n yield put(actions.setSSOState({ samlConfiguration: oldSamlConfiguration, error: e.message, [loaderKey]: false }));\n callback?.(null, e);\n }\n}\n\nfunction* saveSSOConfigurations({ payload }: PayloadAction<SaveSSOConfigurationPayload>) {\n const { callback, samlVendor, ...newSamlConfiguration } = payload;\n const oldSamlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n\n const samlConfiguration = { ...oldSamlConfiguration, ...newSamlConfiguration };\n\n let loaderKey: keyof SSOState = 'saving';\n if (samlConfiguration?.enabled !== oldSamlConfiguration.enabled) {\n loaderKey = 'loading';\n }\n try {\n const firstTimeConfigure = !samlConfiguration?.domain;\n if (firstTimeConfigure) {\n yield put(actions.setSSOState({ samlConfiguration: { ...oldSamlConfiguration, ...samlConfiguration } }));\n return;\n } else {\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n }\n\n if(payload.type === SamlVendors.Saml) {\n const samlMetadata: ISamlMetadata = yield call(api.metadata.getSamlMetadata);\n samlConfiguration.acsUrl = samlMetadata?.configuration?.acsUrl;\n samlConfiguration.spEntityId = samlMetadata?.configuration?.spEntityId;\n }\n\n const updateSamlConfiguration: IUpdateSamlConfiguration = omitProps(samlConfiguration, [\n 'validated',\n 'generatedVerification',\n 'createdAt',\n 'updatedAt',\n ]);\n if (oldSamlConfiguration?.domain !== updateSamlConfiguration?.domain) {\n updateSamlConfiguration.ssoEndpoint = '';\n updateSamlConfiguration.publicCertificate = '';\n updateSamlConfiguration.signRequest = false;\n }\n\n updateSamlConfiguration.type = samlVendor?.toLowerCase();\n\n const newSamlConfiguration: ISamlConfiguration = yield call(api.auth.updateSamlConfiguration, updateSamlConfiguration);\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n callback?.(true);\n } catch (e) {\n yield put(actions.setSSOState({ samlConfiguration: oldSamlConfiguration, error: e.message, [loaderKey]: false }));\n callback?.(null, e);\n }\n}\n\nfunction* validateSSODomain({ payload: { callback } = {} }: PayloadAction<WithCallback>) {\n const samlConfiguration: ISamlConfiguration = yield select((state) => state.auth.ssoState.samlConfiguration);\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.validateSamlDomain);\n yield put(\n actions.setSSOState({\n samlConfiguration: { ...samlConfiguration, validated: true },\n error: undefined,\n saving: false,\n }),\n );\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n samlConfiguration: { ...samlConfiguration, validated: false },\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* getAuthorizationRoles() {\n try {\n const data: { roleIds: string[] } = yield call(api.auth.getSamlRoles);\n const groupsData: ISamlRolesGroup[] = yield call(api.auth.getSamlRolesGroups);\n yield put(\n actions.setSSOState({\n authorizationRoles: data.roleIds,\n rolesGroups: groupsData,\n error: undefined,\n }),\n );\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n }),\n );\n }\n}\n\nfunction* updateRolesGroups(groups: ISamlRolesGroup[]) {\n try {\n yield all(\n groups.map((group: ISamlRolesGroup) =>\n call(api.auth.updateSamlGroup, { id: group.id, roleIds: group.roleIds, group: group.group }),\n ),\n );\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n }),\n );\n }\n}\n\nfunction* updateAuthorizationRoles({\n payload: { callback, authorizationRoles, groups },\n}: PayloadAction<WithCallback<{ authorizationRoles: string[]; groups?: ISamlRolesGroup[] }>>) {\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.updateSamlRoles, { roleIds: authorizationRoles });\n if (groups) {\n yield updateRolesGroups(groups);\n }\n yield getAuthorizationRoles();\n yield put(actions.setSSOState({ error: undefined, saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* deleteSamlGroupFunction({ payload: { callback, id } }: PayloadAction<DeleteSamlGroupPayload>) {\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.deleteSamlGroup, { id });\n yield getAuthorizationRoles();\n yield put(actions.setSSOState({ error: undefined, saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* createSamlGroupFunction({ payload: { group, roleIds, callback } }: PayloadAction<CreateSamlGroupPayload>) {\n try {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield call(api.auth.createSamlGroup, { group, roleIds });\n yield getAuthorizationRoles();\n yield put(actions.setSSOState({ error: undefined, saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(\n actions.setSSOState({\n error: e.message,\n saving: false,\n }),\n );\n callback?.(null, e);\n }\n}\n\nfunction* oidcPostloginFunction({ payload }: PayloadAction<IOidcPostLogin>) {\n try {\n yield put(actions.setSSOState({ loading: true }));\n yield call(api.auth.oidcPostLogin, payload);\n yield refreshToken();\n yield put(actions.setSSOState({ loading: false }));\n } catch (e) {\n yield put(\n actions.setSSOState({ loading: false, error: e.message ?? 'Failed to authenticate', firstLoad: false }),\n );\n }\n}\n\nexport function* ssoSagas() {\n yield takeEvery(actions.loadSSOConfigurations, loadSSOConfigurations);\n yield takeEvery(actions.saveSSOConfigurations, saveSSOConfigurations);\n yield takeEvery(actions.saveSSOConfigurationsFile, saveSSOConfigurationsFile);\n yield takeEvery(actions.saveSSOConfigurationsFileWithCallback, saveSSOConfigurationsFileWithCallback);\n yield takeEvery(actions.validateSSODomain, validateSSODomain);\n yield takeEvery(actions.loadSSOAuthorizationRoles, getAuthorizationRoles);\n yield takeEvery(actions.updateSSOAuthorizationRoles, updateAuthorizationRoles);\n yield takeEvery(actions.deleteSamlGroup, deleteSamlGroupFunction);\n yield takeEvery(actions.createSamlGroup, createSamlGroupFunction);\n yield takeEvery(actions.oidcPostlogin, oidcPostloginFunction)\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadSSOConfigurationsMock() {\n yield put(actions.setSSOState({ loading: true }));\n yield delay();\n yield put(actions.setSSOState({ samlConfiguration: samlConfigurationDemo, loading: false, firstLoad: false }));\n}\n\nfunction* saveSSOConfigurationsFileMock({ payload: configFile }: PayloadAction<File[]>) {\n const loaderKey: keyof SSOState = 'saving';\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n const newSamlConfiguration: ISamlConfiguration = { enabled: true, ...configFile[0] };\n yield put(actions.setSSOState({ samlConfiguration: newSamlConfiguration, error: undefined, [loaderKey]: false }));\n}\n\nfunction* saveSSOConfigurationsMock({ payload }: PayloadAction<SaveSSOConfigurationPayload>) {\n const { callback, samlVendor, ...newSamlConfiguration } = payload;\n const oldSamlConfiguration = ssoStateDemo.samlConfiguration!;\n const samlConfiguration = { ...oldSamlConfiguration, ...newSamlConfiguration };\n\n let loaderKey: keyof SSOState = 'saving';\n if (samlConfiguration?.enabled !== oldSamlConfiguration.enabled) {\n loaderKey = 'loading';\n }\n const firstTimeConfigure = !samlConfiguration?.domain;\n if (firstTimeConfigure) {\n yield put(actions.setSSOState({ samlConfiguration: { ...oldSamlConfiguration, ...samlConfiguration } }));\n return;\n } else {\n yield put(actions.setSSOState({ error: undefined, [loaderKey]: true }));\n }\n yield delay();\n samlConfiguration.acsUrl = samlMetadataDemo?.configuration?.acsUrl;\n samlConfiguration.spEntityId = samlMetadataDemo?.configuration?.spEntityId;\n\n const updateSamlConfiguration: IUpdateSamlConfiguration = omitProps(samlConfiguration, [\n 'validated',\n 'generatedVerification',\n 'createdAt',\n 'updatedAt',\n ]);\n if (oldSamlConfiguration?.domain !== updateSamlConfiguration?.domain) {\n updateSamlConfiguration.ssoEndpoint = '';\n updateSamlConfiguration.publicCertificate = '';\n updateSamlConfiguration.signRequest = false;\n }\n\n updateSamlConfiguration.type = samlVendor?.toLowerCase();\n yield delay();\n yield put(actions.setSSOState({ samlConfiguration: updateSamlConfiguration, error: undefined, [loaderKey]: false }));\n callback?.(true);\n}\n\nfunction* validateSSODomainMock({ payload: { callback } = {} }: PayloadAction<WithCallback>) {\n const samlConfiguration = ssoStateDemo.samlConfiguration!;\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield delay();\n yield put(\n actions.setSSOState({\n samlConfiguration: { ...samlConfiguration, validated: true },\n error: undefined,\n saving: false,\n }),\n );\n callback?.(true);\n}\n\nfunction* getAuthorizationRolesMock() {\n yield delay();\n const data = { roleIds: ['1', '2', '3'] };\n yield put(\n actions.setSSOState({\n authorizationRoles: data.roleIds,\n error: undefined,\n }),\n );\n}\n\nfunction* updateAuthorizationRolesMock({\n payload: { callback, authorizationRoles },\n}: PayloadAction<WithCallback<{ authorizationRoles: string[] }>>) {\n yield put(actions.setSSOState({ error: undefined, saving: true }));\n yield delay();\n yield put(actions.setSSOState({ authorizationRoles, error: undefined, saving: false }));\n callback?.(true);\n}\n\nexport function* ssoSagasMock() {\n yield takeEvery(actions.loadSSOConfigurations, loadSSOConfigurationsMock);\n yield takeEvery(actions.saveSSOConfigurations, saveSSOConfigurationsMock);\n yield takeEvery(actions.saveSSOConfigurationsFile, saveSSOConfigurationsFileMock);\n yield takeEvery(actions.validateSSODomain, validateSSODomainMock);\n yield takeEvery(actions.loadSSOAuthorizationRoles, getAuthorizationRolesMock);\n yield takeEvery(actions.updateSSOAuthorizationRoles, updateAuthorizationRolesMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, retry, select, takeEvery, takeLeading } from 'redux-saga/effects';\nimport { api, IChangePassword, IUserProfile } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback } from '../../interfaces';\nimport { profileStateDemo, userDemo, userProfileDemo } from '../dummy';\nimport { delay } from '../utils';\nimport { User } from '../interfaces';\n\nfunction* loadProfile() {\n yield put(actions.setProfileState({ loading: true }));\n try {\n const profile: IUserProfile = yield retry(3, 2000, api.teams.getProfile);\n const currentUser: User = yield select((state) => state.auth.user);\n actions.setUser({ ...currentUser, ...profile });\n yield put(actions.setProfileState({ profile, loading: false }));\n } catch (e) {\n yield put(actions.setProfileState({ loading: false, error: e.message }));\n }\n}\n\nfunction b64toBlob(base64: string, contentType: string): Blob {\n const sliceSize = 512;\n const byteCharacters = atob(base64);\n const byteArrays = [];\n\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n const slice = byteCharacters.slice(offset, offset + sliceSize);\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n byteArrays.push(new Uint8Array(byteNumbers));\n }\n return new Blob(byteArrays, { type: contentType });\n}\n\nfunction base64ToFormData(base64: string, key: string = 'file'): FormData | null {\n const matchResult = base64.match(/^data:image\\/([A-Za-z-+\\/]+);base64,(.+)$/);\n if (matchResult == null) {\n return null;\n }\n\n // Get the content type of the image\n const contentType = `image/${matchResult[1]}`;\n // get the real base64 content of the file\n const data = matchResult[2];\n\n // Convert it to a blob to upload\n const blob = b64toBlob(data, contentType);\n\n // Create a FormData and append the file with \"image\" as parameter name\n const formDataToUpload = new FormData();\n formDataToUpload.append(key, new File([blob], key, { type: contentType }));\n return formDataToUpload;\n}\n\nfunction* saveProfile({\n payload: { callback, profilePictureUrl, ...payload },\n}: PayloadAction<Partial<WithCallback<IUserProfile, IUserProfile>>>) {\n yield put(actions.setProfileState({ saving: true, error: null }));\n try {\n const oldProfileData: IUserProfile = yield select((state) => state.auth.profileState.profile);\n\n let newProfilePictureUrl = oldProfileData.profilePictureUrl;\n if (profilePictureUrl !== oldProfileData.profilePictureUrl && profilePictureUrl) {\n const matchResult = (profilePictureUrl || '').match(/^data:image\\/([A-Za-z-+\\/]+);base64,(.+)$/);\n if (matchResult) {\n const profileImage = base64ToFormData(profilePictureUrl, 'image');\n if (profileImage) {\n newProfilePictureUrl = yield call(api.teams.updateProfileImage, profileImage);\n const imageTimeStamp = Date.now().toString();\n const urlTemplate = new URL(newProfilePictureUrl);\n urlTemplate.searchParams.set('t', imageTimeStamp);\n newProfilePictureUrl = urlTemplate.href;\n }\n }\n }\n\n const newProfileData = {\n ...oldProfileData,\n ...payload,\n profilePictureUrl: newProfilePictureUrl,\n };\n\n const profile: IUserProfile = yield call(api.teams.updateProfile, newProfileData);\n\n const currentUser: User = yield select((state) => state.auth.user);\n yield put(actions.setUser({ ...currentUser, ...profile }));\n yield put(actions.setProfileState({ profile, saving: false }));\n callback?.(newProfileData);\n } catch (e) {\n yield put(actions.setProfileState({ saving: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* changePassword({ payload }: PayloadAction<WithCallback<IChangePassword>>) {\n yield put(actions.setProfileState({ loading: true }));\n try {\n yield call(api.teams.changePassword, payload);\n yield put(actions.setProfileState({ loading: false, error: undefined }));\n payload.callback?.(true);\n } catch (e) {\n yield put(actions.setProfileState({ loading: false, error: e.message }));\n payload.callback?.(null, e);\n }\n}\n\nexport function* profileSagas() {\n yield takeLeading(actions.loadProfile, loadProfile);\n yield takeEvery(actions.saveProfile, saveProfile);\n yield takeEvery(actions.changePassword, changePassword);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadProfileMock() {\n yield put(actions.setProfileState({ loading: true }));\n yield delay();\n actions.setUser({ ...(userDemo), ...userProfileDemo });\n yield put(actions.setProfileState({ loading: false }));\n}\n\nfunction* saveProfileMock({\n payload: { callback, profilePictureUrl, ...payload },\n}: PayloadAction<Partial<WithCallback<IUserProfile, IUserProfile>>>) {\n yield put(actions.setProfileState({ saving: true, error: null }));\n const oldProfileData = profileStateDemo;\n\n let newProfilePictureUrl = oldProfileData.profile!.profilePictureUrl;\n if (profilePictureUrl !== oldProfileData.profile!.profilePictureUrl && profilePictureUrl) {\n const matchResult = (profilePictureUrl || '').match(/^data:image\\/([A-Za-z-+\\/]+);base64,(.+)$/);\n if (matchResult) {\n newProfilePictureUrl = profilePictureUrl;\n }\n }\n const newProfileData = {\n ...oldProfileData.profile!,\n ...payload,\n profilePictureUrl: newProfilePictureUrl,\n };\n\n const currentUser = userDemo;\n yield delay();\n yield put(actions.setUser({ ...currentUser, ...newProfileData }));\n yield put(actions.setProfileState({ loading: false, error: null, saving: false, profile: newProfileData }));\n callback?.(newProfileData);\n}\n\nfunction* changePasswordMock({ payload }: PayloadAction<WithCallback<IChangePassword>>) {\n yield put(actions.setProfileState({ loading: true }));\n yield delay();\n yield put(actions.setProfileState({ loading: false, error: undefined }));\n payload.callback?.(true);\n}\n\nexport function* profileSagasMock() {\n yield takeLeading(actions.loadProfile, loadProfileMock);\n yield takeEvery(actions.saveProfile, saveProfileMock);\n yield takeEvery(actions.changePassword, changePasswordMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, select, takeEvery } from 'redux-saga/effects';\nimport { api, IDisableMfa, ILoginWithMfa, IVerifyMfa, ILoginResponse, IVerifyMfaResponse } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { MFAState, MFAStep } from './interfaces';\nimport { WithCallback } from '../../interfaces';\nimport { delay } from '../utils';\nimport { userDemo } from '../dummy';\nimport { User } from '../interfaces';\n\nfunction* enrollMfa() {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const { qrCode } = yield call(api.auth.enrollMfa);\n yield put(actions.setMfaState({ loading: false, error: undefined, qrCode }));\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n }\n}\n\nfunction* verifyMfa({\n payload: { callback, ...payload },\n}: PayloadAction<WithCallback<IVerifyMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const user: User = yield select((state) => state.auth.user);\n const data: IVerifyMfaResponse = yield call(api.auth.verifyMfa, payload);\n\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (data?.recoveryCode) {\n mfaState.recoveryCode = data.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield put(actions.setUser({ ...user, mfaEnrolled: true }));\n callback?.(mfaState.recoveryCode);\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* verifyMfaAfterForce({\n payload: { callback, ...payload },\n}: PayloadAction<WithCallback<ILoginWithMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const user: ILoginResponse & { recoveryCode: string } = yield call(api.auth.loginWithMfa, payload);\n\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (user?.recoveryCode) {\n mfaState.recoveryCode = user.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield put(actions.setState({ user }));\n yield put(actions.loadTenants());\n callback?.(mfaState.recoveryCode);\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n callback?.(null, e);\n }\n}\n\nfunction* disableMfa({ payload }: PayloadAction<WithCallback<IDisableMfa>>) {\n yield put(actions.setMfaState({ loading: true }));\n try {\n const user: User = yield select((state) => state.auth.user);\n yield api.auth.disableMfa(payload);\n yield put(actions.setMfaState({ loading: false, error: undefined }));\n yield put(actions.setUser({ ...user, mfaEnrolled: false }));\n payload.callback?.(true);\n } catch (e) {\n yield put(actions.setMfaState({ loading: false, error: e.message }));\n payload.callback?.(false, e);\n }\n}\n\nexport function* mfaSagas() {\n yield takeEvery(actions.enrollMfa, enrollMfa);\n yield takeEvery(actions.verifyMfa, verifyMfa);\n yield takeEvery(actions.disableMfa, disableMfa);\n yield takeEvery(actions.verifyMfaAfterForce, verifyMfaAfterForce);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* enrollMfaMock() {\n yield put(actions.setMfaState({ loading: true }));\n const qrCode = 'test';\n yield put(actions.setMfaState({ loading: false, error: undefined, qrCode }));\n}\n\nfunction* verifyMfaMock({\n payload: { callback },\n}: PayloadAction<WithCallback<IVerifyMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n yield delay();\n const data = { token: 'token', recoveryCode: 'recoveryCode' };\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (data?.recoveryCode) {\n mfaState.recoveryCode = data.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield put(actions.setUser({ ...userDemo, mfaEnrolled: true }));\n callback?.(mfaState.recoveryCode);\n}\n\nfunction* verifyMfaAfterForceMock({\n payload: { callback, ...payload },\n}: PayloadAction<WithCallback<ILoginWithMfa, string | undefined>>) {\n yield put(actions.setMfaState({ loading: true }));\n yield delay();\n const data = { ...payload, recoveryCode: 'recoveryCode' };\n\n const mfaState: MFAState = {\n step: MFAStep.recoveryCode,\n loading: false,\n error: undefined,\n };\n if (data?.recoveryCode) {\n mfaState.recoveryCode = data.recoveryCode;\n }\n yield put(actions.setMfaState(mfaState));\n yield delay();\n yield put(actions.setUser({ ...userDemo, mfaEnrolled: true }));\n callback?.(mfaState.recoveryCode);\n}\n\nfunction* disableMfaMock({ payload }: PayloadAction<WithCallback<IDisableMfa>>) {\n yield put(actions.setMfaState({ loading: true }));\n yield delay();\n yield put(actions.setMfaState({ loading: false, error: undefined }));\n yield put(actions.setUser({ ...userDemo, mfaEnrolled: false }));\n payload.callback?.(true);\n}\n\nexport function* mfaSagasMock() {\n yield takeEvery(actions.enrollMfa, enrollMfaMock);\n yield takeEvery(actions.verifyMfa, verifyMfaMock);\n yield takeEvery(actions.disableMfa, disableMfaMock);\n yield takeEvery(actions.verifyMfaAfterForce, verifyMfaAfterForceMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeLeading } from 'redux-saga/effects';\nimport { api, IForgotPassword, IResetPassword, IGetUserPasswordConfig } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { ForgotPasswordStep, TestConfig } from './interfaces';\n\nfunction* forgotPassword({ payload }: PayloadAction<IForgotPassword>) {\n yield put(actions.setForgotPasswordState({ loading: true }));\n try {\n yield call(api.auth.forgotPassword, payload);\n yield put(actions.setForgotPasswordState({ loading: false, error: undefined, step: ForgotPasswordStep.success }));\n } catch (e) {\n yield put(actions.setForgotPasswordState({ loading: false, error: e.message || 'Unknown error occurred' }));\n }\n}\n\nfunction* resetPassword({ payload }: PayloadAction<IResetPassword>) {\n yield put(actions.setForgotPasswordState({ loading: true }));\n try {\n yield call(api.auth.resetPassword, payload);\n yield put(actions.setForgotPasswordState({ loading: false, error: undefined, step: ForgotPasswordStep.success }));\n } catch (e) {\n yield put(actions.setForgotPasswordState({ loading: false, error: e.message }));\n }\n}\n\nexport function* loadPasswordConfig({ payload }: PayloadAction<IGetUserPasswordConfig>) {\n yield put(actions.setForgotPasswordState({ loading: true }));\n try {\n const passwordConfig: Partial<TestConfig> | null = yield call(api.auth.loadPasswordConfig, payload);\n yield put(actions.setForgotPasswordState({ loading: false, passwordConfig }));\n } catch (e) {\n yield put(actions.setForgotPasswordState({ loading: false, error: e.message }));\n }\n}\n\nexport function* forgotPasswordSagas() {\n yield takeLeading(actions.forgotPassword, forgotPassword);\n yield takeLeading(actions.resetPassword, resetPassword);\n yield takeLeading(actions.loadPasswordConfig, loadPasswordConfig);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, select, takeLeading } from 'redux-saga/effects';\nimport {\n api,\n ContextHolder,\n IActivateAccount,\n IResendActivationEmail,\n IGetActivateAccountStrategy,\n IGetActivateAccountStrategyResponse,\n ILoginResponse\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { afterAuthNavigation, getMfaRequiredState, isMfaRequired } from '../LoginState/saga';\nimport { WithCallback } from '../../interfaces';\nimport { AuthState } from '../interfaces';\n\nfunction* activateAccount({ payload }: PayloadAction<IActivateAccount>) {\n yield put(actions.setActivateState({ loading: true }));\n try {\n const onRedirectTo = ContextHolder.onRedirectTo;\n const { routes } = yield select((state) => state.auth);\n const data: ILoginResponse = yield call(api.auth.activateAccount, payload);\n if(data.redirectLocation) {\n window.location.href = data.redirectLocation;\n return;\n }\n if (isMfaRequired(data)) {\n const mfaRequiredState: Partial<AuthState> = yield getMfaRequiredState(data);\n yield put(actions.setState(mfaRequiredState));\n onRedirectTo(routes.loginUrl, { preserveQueryParams: true });\n } else {\n const user: ILoginResponse = yield call(api.auth.generateLoginResponse, data);\n yield put(actions.loadTenants());\n yield put(actions.setState({ user, isAuthenticated: true }));\n yield afterAuthNavigation();\n }\n } catch (e) {\n yield put(actions.setActivateState({ loading: false, error: e.message }));\n }\n}\n\nfunction* getActivateAccountStrategy({\n payload,\n}: PayloadAction<WithCallback<IGetActivateAccountStrategy, IGetActivateAccountStrategyResponse>>) {\n const { callback, ...params } = payload;\n yield put(actions.setActivateStrategyState({ loading: true }));\n try {\n const strategy: IGetActivateAccountStrategyResponse = yield call(api.auth.getActivateAccountStrategy, params);\n yield put(actions.setActivateStrategyState({ strategy, loading: false, error: undefined }));\n callback?.(strategy);\n } catch (e) {\n yield put(actions.setActivateStrategyState({ loading: false, error: e.message }));\n }\n}\n\nfunction* resendActivationEmailFunction({ payload }: PayloadAction<IResendActivationEmail>) {\n yield put(actions.setActivateState({ loading: true }));\n try {\n yield call(api.auth.resendActivationEmail, { email: payload.email });\n yield put(actions.setActivateState({ loading: false, error: undefined, resentEmail: true }));\n } catch (e) {\n yield put(actions.setActivateState({ loading: false, error: e.message }));\n }\n}\n\nexport function* activateSagas() {\n yield takeLeading(actions.activateAccount, activateAccount);\n yield takeLeading(actions.getActivateAccountStrategy, getActivateAccountStrategy);\n yield takeLeading(actions.resendActivationEmail, resendActivationEmailFunction);\n}\n","import { call, put, takeLeading } from 'redux-saga/effects';\nimport { actions } from '../reducer';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport { api, IAcceptInvitation } from '@frontegg/rest-api';\nimport { AcceptInvitationStep } from './interfaces';\n\nfunction* acceptInvitation({ payload }: PayloadAction<IAcceptInvitation>) {\n if (!payload.token || !payload.userId) {\n yield put(actions.setAcceptInvitationState({ error: undefined, step: AcceptInvitationStep.invalid }));\n return;\n }\n\n try {\n yield put(actions.setAcceptInvitationState({ error: undefined, step: AcceptInvitationStep.pending }));\n yield call(api.auth.acceptInvitation, payload);\n\n yield put(\n actions.setState({\n isAuthenticated: false,\n user: null,\n acceptInvitationState: { error: undefined, step: AcceptInvitationStep.success },\n }),\n );\n } catch (e) {\n yield put(actions.setAcceptInvitationState({ step: AcceptInvitationStep.failed, error: e.message }));\n }\n}\n\nexport function* acceptInvitationSagas() {\n yield takeLeading(actions.acceptInvitation, acceptInvitation);\n}\n","import { ITeamUserRole, ITeamUser, QuerySort, QueryFilter, ITeamUserPermission } from '@frontegg/rest-api';\nimport { LoaderIndicatorState, WithCallback } from '../../interfaces';\n\nexport enum TeamStateKeys {\n USERS = 'USERS',\n STATS = 'STATS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER = 'DELETE_USER',\n RESEND_ACTIVATE_LINK = 'RESEND_ACTIVATE_LINK',\n RESEND_INVITATION_LINK = 'RESEND_INVITATION_LINK',\n ROLES_AND_PERMISSIONS = 'ROLES_AND_PERMISSIONS',\n}\n\nexport type TeamStateIndicator = {\n key: TeamStateKeys;\n value: string | boolean;\n};\n\ntype BaseDialogState = {\n open: boolean;\n onClose?: (data?: any) => void;\n};\nexport type AddUserDialogState = BaseDialogState & {\n loading?: boolean;\n error?: boolean;\n};\nexport type ISetAddUserDialog = Omit<AddUserDialogState, 'loading' | 'error' | 'open'>;\n\nexport type DeleteUserDialogState = BaseDialogState & {\n loading?: boolean;\n error?: boolean;\n userId?: string;\n email?: string;\n};\nexport type ISetDeleteUserDialog = Omit<DeleteUserDialogState, 'loading' | 'error' | 'open'>;\n\nexport type LoadRolesAndPermissionsPayload = WithCallback<\n {},\n { roles: ITeamUserRole[]; permissions: ITeamUserPermission[] }\n>;\n\nexport interface TeamState {\n loaders: LoaderIndicatorState<TeamStateKeys>;\n errors: LoaderIndicatorState<TeamStateKeys>;\n\n users: ITeamUser[];\n pageOffset: number;\n pageSize: number;\n totalPages: number;\n roles: ITeamUserRole[];\n permissions: ITeamUserPermission[];\n\n filter: QueryFilter[];\n sort: QuerySort[];\n\n // users stats\n totalItems?: number;\n addedThisWeek?: number;\n\n // dialogs\n addUserDialogState: AddUserDialogState;\n deleteUserDialogState: DeleteUserDialogState;\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { takeLatest, put, call, all, takeEvery, select as sagaSelect } from 'redux-saga/effects';\nimport {\n api,\n IAddUser,\n IDeleteUser,\n ILoadUsers,\n IResendActivationLink,\n IResendInvitationLink,\n IRole,\n ITeamUser,\n IUpdateUser,\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\nimport {\n ISetAddUserDialog,\n ISetDeleteUserDialog,\n LoadRolesAndPermissionsPayload,\n TeamState,\n TeamStateKeys,\n} from './interfaces';\nimport { authStoreName } from '../../constants';\nimport { delay } from '../utils';\nimport { permissionsDemo, rolesDemo, usersDemo, userTeamDemo } from '../dummy';\nimport { v4 as uuid } from 'uuid';\n\nconst selectTeamState = () => sagaSelect((_) => _[authStoreName].teamState);\n\nfunction* loadUsers({ payload }: PayloadAction<WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>>): any {\n const { silentLoading, callback } = payload;\n const teamState: TeamState = yield selectTeamState();\n\n const pageSize = payload.pageSize ?? teamState.pageSize;\n const pageOffset = payload.pageOffset ?? teamState.pageOffset;\n const filter = payload.filter ?? teamState.filter;\n const sort = payload.sort ?? teamState.sort;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: !silentLoading }));\n yield put(\n actions.setTeamState({\n pageSize,\n pageOffset,\n filter,\n sort,\n }),\n );\n try {\n const [{ items: users, totalPages, totalItems }, { items: roles }, { items: permissions }] = yield all([\n call(api.teams.loadUsers, {\n pageSize,\n pageOffset,\n filter,\n sort,\n }),\n call(api.teams.loadAvailableRoles),\n call(api.teams.loadAvailablePermissions),\n ]);\n yield put(actions.setTeamState({ users, totalPages, totalItems, roles, permissions }));\n callback?.(users);\n } catch (e) {\n yield put(actions.setTeamError({ key: TeamStateKeys.USERS, value: e.message }));\n yield put(actions.setTeamState({ totalPages: 0, users: [] }));\n callback?.(null, e);\n }\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: false }));\n}\n\nfunction* loadRoles({ payload }: PayloadAction<LoadRolesAndPermissionsPayload>) {\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n try {\n const [{ items: roles }, { items: permissions }] = yield all([\n call(api.teams.loadAvailableRoles),\n call(api.teams.loadAvailablePermissions),\n ]);\n\n yield put(actions.setTeamState({ roles, permissions }));\n payload?.callback?.({ roles, permissions });\n } catch (e) {\n payload?.callback?.(null, e);\n yield put(actions.setTeamError({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: e.message }));\n }\n\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n}\n\nfunction* addUser({ payload }: PayloadAction<WithCallback<IAddUser, ITeamUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n try {\n const res: ITeamUser & { roles: IRole[] } = yield call(api.teams.addUser, body);\n const { roles, ...userWithoutRoleIds } = res;\n const roleIds = roles.map((role: IRole) => role.id);\n const newUser: any = { ...userWithoutRoleIds, roleIds };\n\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: [newUser, ...teamState.users],\n addUserDialogState: { open: false, loading: false },\n }),\n );\n } catch (e) {\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: false, error: e.message },\n }),\n );\n callback?.(null, e.message);\n }\n}\n\nfunction* updateUser({ payload }: PayloadAction<WithCallback<IUpdateUser, ITeamUser>>) {\n const { callback, profileImage, ...body } = payload;\n const { id: userId } = body;\n const teamState: TeamState = yield selectTeamState();\n const oldUserData: ITeamUser = teamState.users.find((user: ITeamUser) => user.id === body.id)!;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: userId || '' }));\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: true },\n users: teamState.users.map((user: ITeamUser) => {\n if (user.id === body.id) {\n return { ...user, ...body };\n }\n return user;\n }),\n }),\n );\n try {\n if (oldUserData.roleIds.length > 0 && body.roleIds?.length === 0) {\n body.roleIds = [''];\n }\n const { item: newUser } = yield call(api.teams.updateUser, body);\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: teamState.users.map((user: ITeamUser) =>\n user.id === newUser.id\n ? {\n ...user,\n ...newUser,\n createdAt: user.createdAt,\n customData: user.customData,\n lastLogin: user.lastLogin,\n }\n : user,\n ),\n }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: false }));\n } catch (e) {\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: false, error: e.message },\n users: teamState.users.map((user: ITeamUser) => (user.id === body.id ? { ...user, ...oldUserData } : user)),\n }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: false }));\n callback?.(null, e.message);\n }\n}\n\nfunction* deleteUser({ payload }: PayloadAction<WithCallback<IDeleteUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ deleteUserDialogState: { ...teamState.deleteUserDialogState, loading: true } }));\n try {\n yield call(api.teams.deleteUser, body);\n callback?.(true);\n yield put(\n actions.setTeamState({\n users: teamState.users.filter((user: ITeamUser) => user.id !== body.userId),\n deleteUserDialogState: { open: false, loading: false },\n }),\n );\n } catch (e) {\n yield put(\n actions.setTeamState({\n deleteUserDialogState: { ...teamState.deleteUserDialogState, loading: false, error: e.message },\n }),\n );\n callback?.(null, e.message);\n }\n}\n\nfunction* resendActivationLink({ payload }: PayloadAction<WithCallback<IResendActivationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: body.userId }));\n try {\n yield call(api.teams.resendActivationLink, body);\n callback?.(true);\n } catch (e) {\n yield put(actions.setTeamError({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: e.message }));\n callback?.(null, e.message);\n }\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: false }));\n}\n\nfunction* resendInvitationLink({ payload }: PayloadAction<WithCallback<IResendInvitationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: body.email }));\n try {\n yield call(api.teams.resendInvitationLink, body);\n callback?.(true);\n } catch (e) {\n yield put(actions.setTeamError({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: e.message }));\n callback?.(null, e.message);\n }\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: false }));\n}\n\nfunction* openAddUserDialog({ payload }: PayloadAction<ISetAddUserDialog | undefined>) {\n yield put(\n actions.setTeamState({\n addUserDialogState: {\n open: true,\n loading: false,\n error: false,\n ...payload,\n },\n }),\n );\n}\n\nfunction* closeAddUserDialog({ payload }: PayloadAction<any>) {\n const teamState: TeamState = yield selectTeamState();\n const { addUserDialogState: { onClose } } = teamState;\n onClose?.(payload);\n yield put(\n actions.setTeamState({\n addUserDialogState: {\n loading: false,\n error: false,\n open: false,\n },\n }),\n );\n}\n\nfunction* openDeleteUserDialog({ payload }: PayloadAction<ISetDeleteUserDialog | undefined>) {\n yield put(\n actions.setTeamState({\n deleteUserDialogState: {\n open: true,\n loading: false,\n error: false,\n ...payload,\n },\n }),\n );\n}\n\nfunction* closeDeleteUserDialog({ payload }: PayloadAction<any>) {\n const teamState: TeamState = yield selectTeamState();\n const { deleteUserDialogState: { onClose } } = teamState;\n onClose?.(payload);\n yield put(\n actions.setTeamState({\n deleteUserDialogState: {\n loading: false,\n error: false,\n open: false,\n },\n }),\n );\n}\n\nexport function* teamSagas() {\n yield takeLatest(actions.loadUsers, loadUsers);\n yield takeLatest(actions.loadRoles, loadRoles);\n yield takeEvery(actions.addUser, addUser);\n yield takeEvery(actions.updateUser, updateUser);\n yield takeEvery(actions.deleteUser, deleteUser);\n yield takeEvery(actions.resendActivationLink, resendActivationLink);\n yield takeEvery(actions.resendInvitationLink, resendInvitationLink);\n yield takeEvery(actions.openAddUserDialog, openAddUserDialog);\n yield takeEvery(actions.closeAddUserDialog, closeAddUserDialog);\n yield takeEvery(actions.openDeleteUserDialog, openDeleteUserDialog);\n yield takeEvery(actions.closeDeleteUserDialog, closeDeleteUserDialog);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadUsersMock({ payload }: PayloadAction<WithCallback<WithSilentLoad<ILoadUsers>, ITeamUser[]>>): any {\n const { silentLoading, callback } = payload;\n const teamState: TeamState = yield selectTeamState();\n\n const pageSize = payload.pageSize ?? teamState.pageSize;\n const pageOffset = payload.pageOffset ?? teamState.pageOffset;\n const filter = payload.filter ?? teamState.filter;\n const sort = payload.sort ?? teamState.sort;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: !silentLoading }));\n yield put(\n actions.setTeamState({\n pageSize,\n pageOffset,\n filter,\n sort,\n }),\n );\n const totalPages = 2;\n const totalItems = 10;\n yield delay();\n yield put(\n actions.setTeamState({ users: usersDemo, totalPages, totalItems, roles: rolesDemo, permissions: permissionsDemo }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.USERS, value: false }));\n callback?.(usersDemo);\n}\n\nfunction* loadRolesMock({ payload }: PayloadAction<LoadRolesAndPermissionsPayload>) {\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n yield delay();\n yield put(actions.setTeamState({ roles: rolesDemo, permissions: permissionsDemo }));\n yield put(actions.setTeamLoader({ key: TeamStateKeys.ROLES_AND_PERMISSIONS, value: true }));\n payload?.callback?.({ roles: rolesDemo, permissions: permissionsDemo });\n}\n\nfunction* addUserMock({ payload }: PayloadAction<WithCallback<IAddUser, ITeamUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n yield delay();\n const newUser: ITeamUser = { ...userTeamDemo, ...body, id: `${uuid()}` };\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: [newUser, ...teamState.users],\n addUserDialogState: { open: false, loading: false },\n }),\n );\n}\n\nfunction* updateUserMock({ payload }: PayloadAction<WithCallback<IUpdateUser, ITeamUser>>) {\n const { callback, profileImage, ...body } = payload;\n const { id: userId } = body;\n const teamState: TeamState = yield selectTeamState();\n const oldUserData = teamState.users.find((user: ITeamUser) => user.id === body.id);\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: userId || '' }));\n yield put(actions.setTeamState({ addUserDialogState: { ...teamState.addUserDialogState, loading: true } }));\n yield put(\n actions.setTeamState({\n addUserDialogState: { ...teamState.addUserDialogState, loading: true },\n users: teamState.users.map((user: ITeamUser) => {\n if (user.id === body.id) {\n return { ...user, ...body };\n }\n return user;\n }),\n }),\n );\n if (oldUserData!.roleIds.length > 0 && body.roleIds?.length === 0) {\n body.roleIds = [''];\n }\n yield delay();\n const newUser: ITeamUser = { ...oldUserData!, ...body };\n callback?.(newUser);\n yield put(\n actions.setTeamState({\n users: teamState.users.map((user: ITeamUser) =>\n user.id === newUser.id\n ? {\n ...user,\n ...newUser,\n createdAt: user.createdAt,\n customData: user.customData,\n lastLogin: user.lastLogin,\n }\n : user,\n ),\n }),\n );\n yield put(actions.setTeamLoader({ key: TeamStateKeys.UPDATE_USER, value: false }));\n}\n\nfunction* deleteUserMock({ payload }: PayloadAction<WithCallback<IDeleteUser>>) {\n const { callback, ...body } = payload;\n const teamState: TeamState = yield selectTeamState();\n yield put(actions.setTeamState({ deleteUserDialogState: { ...teamState.deleteUserDialogState, loading: true } }));\n yield delay();\n callback?.(true);\n yield put(\n actions.setTeamState({\n users: teamState.users.filter((user: ITeamUser) => user.id !== body.userId),\n deleteUserDialogState: { open: false, loading: false },\n }),\n );\n}\n\nfunction* resendActivationLinkMock({ payload }: PayloadAction<WithCallback<IResendActivationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: body.userId }));\n yield delay();\n callback?.(true);\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_ACTIVATE_LINK, value: false }));\n}\n\nfunction* resendInvitationLinkMock({ payload }: PayloadAction<WithCallback<IResendInvitationLink, boolean>>) {\n const { callback, ...body } = payload;\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: body.email }));\n yield delay();\n callback?.(true);\n yield put(actions.setTeamLoader({ key: TeamStateKeys.RESEND_INVITATION_LINK, value: false }));\n}\n\nexport function* teamSagasMock() {\n yield takeLatest(actions.loadUsers, loadUsersMock);\n yield takeLatest(actions.loadRoles, loadRolesMock);\n yield takeEvery(actions.addUser, addUserMock);\n yield takeEvery(actions.updateUser, updateUserMock);\n yield takeEvery(actions.deleteUser, deleteUserMock);\n yield takeEvery(actions.resendActivationLink, resendActivationLinkMock);\n yield takeEvery(actions.resendInvitationLink, resendInvitationLinkMock);\n yield takeEvery(actions.openAddUserDialog, openAddUserDialog);\n yield takeEvery(actions.closeAddUserDialog, closeAddUserDialog);\n yield takeEvery(actions.openDeleteUserDialog, openDeleteUserDialog);\n yield takeEvery(actions.closeDeleteUserDialog, closeDeleteUserDialog);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeLeading, takeLatest } from 'redux-saga/effects';\nimport { api, ILoginViaSocialLogin, ISetSocialLoginError, ISocialLoginProviderConfiguration } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { refreshToken } from '../LoginState/saga';\n\nexport function* loadSocialLoginsConfigurations() {\n try {\n yield put(actions.setSocialLoginsState({ loading: true }));\n const socialLoginsConfig: ISocialLoginProviderConfiguration[] = yield call(api.auth.getSocialLoginProviders);\n yield put(actions.setSocialLoginsState({ socialLoginsConfig, loading: false, firstLoad: false }));\n } catch (e) {\n yield put(actions.setSocialLoginsState({ error: e.message, loading: false, firstLoad: false }));\n }\n}\n\nfunction* loginViaSocialLogin({ payload }: PayloadAction<ILoginViaSocialLogin>) {\n try {\n yield put(actions.setSocialLoginsState({ loading: true }));\n const res: { email: string } = yield call(api.auth.loginViaSocialLogin, payload);\n yield refreshToken();\n yield put(actions.setLoginState({ email: res.email }));\n } catch (e) {\n yield put(\n actions.setSocialLoginsState({ loading: false, error: e.message ?? 'Failed to authenticate', firstLoad: false }),\n );\n }\n}\n\nfunction* setSocialLoginError({ payload }: PayloadAction<ISetSocialLoginError>) {\n yield put(actions.setSocialLoginsState({ error: payload.error, loading: false, firstLoad: false }));\n}\n\nexport function* socialLoginsSaga() {\n yield takeLeading(actions.loadSocialLoginsConfiguration, loadSocialLoginsConfigurations);\n yield takeLeading(actions.loginViaSocialLogin, loginViaSocialLogin);\n yield takeLatest(actions.setSocialLoginError, setSocialLoginError);\n}\n","import { ITeamUserPermission, ITeamUserRole } from '@frontegg/rest-api';\nimport { LoaderIndicatorState, WithCallback } from '../../interfaces';\n\nexport interface ApiTokensState {\n loaders: LoaderIndicatorState<ApiStateKeys>;\n searchValue: string;\n apiTokensDataTenant: ITenantApiTokensData[];\n apiTokensDataUser: IApiTokensData[];\n showAddTokenDialog: boolean;\n createdByUserIdColumn?: createdByUserIdColumn;\n deleteTokenDialog: {\n open: boolean;\n clientId: string;\n };\n successDialog: {\n open: boolean;\n secret?: string;\n clientId?: string;\n };\n apiTokenType: ApiTokenType;\n roles: ITeamUserRole[];\n permissions: ITeamUserPermission[];\n errors?: any;\n}\n\nexport type ApiTokenType = 'user' | 'tenant' | null;\nexport type createdByUserIdColumn = 'show' | 'hide' | undefined;\n\nexport interface IApiTokensData {\n clientId: string;\n createdAt: string;\n secret: string;\n description: string;\n}\n\nexport type IUserApiTokensData = IApiTokensData;\n\nexport interface ITenantApiTokensData extends IApiTokensData {\n roleIds: string[];\n tenantId: string;\n createdByUserId: string;\n}\n\nexport type ApiStateIndicator = {\n key: ApiStateKeys;\n value: string | boolean;\n};\n\nexport enum ApiStateKeys {\n LOAD_API_TOKENS = 'LOAD_API_TOKENS',\n ADD_API_TOKEN = 'ADD_API_TOKEN',\n DELETE_API_TOKEN = 'DELETE_API_TOKEN',\n}\n\nexport type AddTenantApiTokenPayload = WithCallback<Pick<ITenantApiTokensData, 'description' | 'roleIds'>>;\nexport type AddUserApiTokenPayload = WithCallback<Pick<IApiTokensData, 'description'>>;\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeLeading, select, takeEvery, takeLatest, delay, all } from 'redux-saga/effects';\nimport { api } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\nimport { ApiStateKeys, ApiTokenType, ITenantApiTokensData, IUserApiTokensData, IApiTokensData } from './interfaces';\nimport { apiTokensDataDemo, apiTokensDataTenantDemo, rolesDemo, permissionsDemo } from '../dummy';\nimport { v4 as uuid } from 'uuid';\n\nfunction* loadApiTokensData({ payload: apiTokenType }: PayloadAction<ApiTokenType>) {\n yield put(actions.setApiTokensState({ apiTokenType }));\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n\n if (apiTokenType === 'user') {\n const apiTokensData: IUserApiTokensData[] = yield call(api.auth.getUserApiTokensData);\n yield put(actions.setApiTokensState({ apiTokensDataUser: apiTokensData ?? [] }));\n } else {\n const apiTenantTokensData: ITenantApiTokensData[] = yield call(api.auth.getTenantApiTokensData);\n const { items: roles } = yield call(api.teams.loadAvailableRoles);\n const { items: permissions } = yield call(api.teams.loadAvailablePermissions);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: apiTenantTokensData ?? [],\n roles: roles ?? [],\n permissions: permissions ?? [],\n }),\n );\n }\n\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.LOAD_API_TOKENS, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n }\n}\n\nfunction* addUserApiToken({ payload }: PayloadAction<WithCallback<IUserApiTokensData>>) {\n const { description, callback } = payload;\n const { apiTokensDataUser } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: true }));\n const data: IUserApiTokensData = yield call(api.auth.updateUserApiTokensData, { description });\n yield put(actions.setApiTokensState({ showAddTokenDialog: false }));\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser: [data, ...apiTokensDataUser],\n successDialog: { open: true, secret: data.secret, clientId: data.clientId },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null);\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.ADD_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null, e.message);\n }\n}\n\nfunction* addTenantApiToken({ payload }: PayloadAction<WithCallback<ITenantApiTokensData>>) {\n const { description, roleIds, callback } = payload;\n const { apiTokensDataTenant } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: true }));\n const data: ITenantApiTokensData = yield call(api.auth.updateTenantApiTokensData, { description, roleIds });\n yield put(actions.setApiTokensState({ showAddTokenDialog: false }));\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: [data, ...apiTokensDataTenant],\n successDialog: { open: true, secret: data.secret, clientId: data.clientId },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null);\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.ADD_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null, e.message);\n }\n}\n\nfunction* deleteUserApiToken({ payload }: PayloadAction<string>) {\n const { apiTokensDataUser } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: true }));\n yield call(api.auth.deleteUserApiToken, { tokenId: payload });\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser: apiTokensDataUser.filter((i: IApiTokensData) => i.clientId !== payload),\n deleteTokenDialog: { open: false, clientId: payload },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.DELETE_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n }\n}\n\nfunction* deleteTenantApiToken({ payload }: PayloadAction<string>) {\n const { apiTokensDataTenant } = yield select((state) => state.auth.apiTokensState);\n\n try {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: true }));\n yield call(api.auth.deleteTenantApiToken, { tokenId: payload });\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: apiTokensDataTenant.filter((i: IApiTokensData) => i.clientId !== payload),\n deleteTokenDialog: { open: false, clientId: payload },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.DELETE_API_TOKEN, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n }\n}\n\nfunction* loadApiTokens({ payload }: PayloadAction<WithSilentLoad<WithCallback>>) {\n if (!payload?.silentLoading) {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n }\n try {\n const [apiTokensDataUser = [], apiTokensDataTenant = []] = yield all([\n call(api.auth.getUserApiTokensData),\n call(api.auth.getTenantApiTokensData),\n ]);\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser,\n apiTokensDataTenant,\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n payload?.callback?.(true);\n } catch (e) {\n yield put(actions.setApiTokensError({ key: ApiStateKeys.LOAD_API_TOKENS, value: e.message }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n payload?.callback?.(null, e);\n }\n}\n\nexport function* apiTokensSaga() {\n yield takeLeading(actions.loadApiTokens, loadApiTokens);\n yield takeLeading(actions.initApiTokensData, loadApiTokensData);\n yield takeEvery(actions.addUserApiToken, addUserApiToken);\n yield takeEvery(actions.addTenantApiToken, addTenantApiToken);\n yield takeLatest(actions.deleteTenantApiToken, deleteTenantApiToken);\n yield takeLatest(actions.deleteUserApiToken, deleteUserApiToken);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadApiTokensDataMock({ payload: apiTokenType }: PayloadAction<ApiTokenType>) {\n yield put(actions.setApiTokensState({ apiTokenType }));\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n if (apiTokenType === 'user') {\n yield delay(200);\n const apiTokensData = [apiTokensDataDemo];\n yield put(actions.setApiTokensState({ apiTokensDataUser: apiTokensData ?? [] }));\n } else {\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: [apiTokensDataTenantDemo] ?? [],\n roles: rolesDemo ?? [],\n permissions: permissionsDemo ?? [],\n }),\n );\n }\n\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n}\n\nfunction* addTenantApiTokenMock({ payload }: PayloadAction<WithCallback<ITenantApiTokensData>>) {\n const { description, roleIds, callback } = payload;\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: true }));\n\n const { apiTokensDataTenant } = yield select((state) => state.auth.apiTokensState);\n const newToken: ITenantApiTokensData = {\n ...apiTokensDataTenantDemo,\n description,\n roleIds,\n clientId: `CLIENT_ID_${uuid()}`,\n };\n yield put(actions.setApiTokensState({ showAddTokenDialog: false }));\n yield delay(200);\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: [...apiTokensDataTenant, newToken],\n successDialog: { open: true, secret: newToken.secret, clientId: newToken.clientId },\n }),\n );\n yield delay(200);\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.ADD_API_TOKEN, value: false }));\n callback?.(null);\n}\n\nfunction* deleteTenantApiTokenMock({ payload }: PayloadAction<string>) {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: true }));\n yield delay(200);\n const apiTokensDataTenant: ITenantApiTokensData[] = [apiTokensDataTenantDemo];\n\n yield put(\n actions.setApiTokensState({\n apiTokensDataTenant: apiTokensDataTenant.filter((i: IApiTokensData) => i.clientId !== payload),\n deleteTokenDialog: { open: false, clientId: payload },\n }),\n );\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.DELETE_API_TOKEN, value: false }));\n}\n\nfunction* loadApiTokensMock({ payload }: PayloadAction<WithSilentLoad<WithCallback>>) {\n if (!payload?.silentLoading) {\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: true }));\n }\n const apiTokensDataUser: IApiTokensData[] = [apiTokensDataDemo];\n const apiTokensDataTenant: ITenantApiTokensData[] = [apiTokensDataTenantDemo];\n yield put(\n actions.setApiTokensState({\n apiTokensDataUser,\n apiTokensDataTenant,\n }),\n );\n yield delay(200);\n yield put(actions.setApiTokensLoader({ key: ApiStateKeys.LOAD_API_TOKENS, value: false }));\n payload?.callback?.(true);\n}\n\nexport function* apiTokensSagaMock() {\n yield takeLeading(actions.loadApiTokens, loadApiTokensMock);\n yield takeLeading(actions.initApiTokensData, loadApiTokensDataMock);\n yield takeEvery(actions.addTenantApiToken, addTenantApiTokenMock);\n yield takeLatest(actions.deleteTenantApiToken, deleteTenantApiTokenMock);\n}\n","import { call, put, select, takeLeading } from 'redux-saga/effects';\nimport { actions } from '../reducer';\nimport { PayloadAction } from '@reduxjs/toolkit';\nimport { api, ISettingsResponse, IUpdateSettings } from '@frontegg/rest-api';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\nimport { delay } from '../utils';\n\nfunction* saveAccountSettings({ payload }: PayloadAction<WithCallback<IUpdateSettings, ISettingsResponse>>) {\n try {\n yield put(actions.setAccountSettingsState({ loading: true }));\n const { accountSettingsState } = yield select((state) => state.auth);\n const { address, timezone, dateFormat, timeFormat, currency, logo } = accountSettingsState;\n const body: ISettingsResponse = yield call(api.accountSettings.updateSettings, {\n address,\n timezone,\n dateFormat,\n timeFormat,\n currency,\n logo,\n ...payload,\n });\n yield put(actions.setAccountSettingsState({ ...body, loading: false }));\n payload.callback?.(body);\n } catch (e) {\n yield put(actions.setAccountSettingsState({ loading: false, error: e.message }));\n payload.callback?.(null, e);\n }\n}\n\nfunction* loadAccountSettings({ payload }: PayloadAction<WithCallback<WithSilentLoad<{}>>>) {\n yield put(actions.setAccountSettingsState({ loading: !payload?.silentLoading, error: null }));\n try {\n const body: ISettingsResponse = yield call(api.accountSettings.getSettings);\n yield put(actions.setAccountSettingsState({ ...body, loading: false }));\n } catch (e) {\n yield put(actions.setAccountSettingsState({ loading: false, error: e.message }));\n }\n}\n\nexport function* accountSettingsSaga() {\n yield takeLeading(actions.saveAccountSettings, saveAccountSettings);\n yield takeLeading(actions.loadAccountSettings, loadAccountSettings);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* saveAccountSettingsMock({ payload }: PayloadAction<WithCallback<IUpdateSettings, ISettingsResponse>>) {\n yield put(actions.setAccountSettingsState({ loading: true }));\n\n yield delay();\n\n const { accountSettingsState } = yield select((state) => state.auth);\n const { address, timezone, dateFormat, timeFormat, currency, logo } = accountSettingsState;\n const body = {\n address,\n timezone,\n dateFormat,\n timeFormat,\n currency,\n logo,\n ...payload,\n };\n yield put(actions.setAccountSettingsState({ ...body, loading: false }));\n payload.callback?.(body);\n}\n\nfunction* loadAccountSettingsMock({ payload }: PayloadAction<WithCallback<WithSilentLoad<{}>>>) {\n yield put(actions.setAccountSettingsState({ loading: !payload?.silentLoading, error: null }));\n\n yield delay();\n yield put(\n actions.setAccountSettingsState({\n address: 'Tel-aviv',\n timezone: 'Asia/Jerusalem',\n dateFormat: 'DD/MM/YYYY',\n timeFormat: 'HH:mm',\n currency: 'USD',\n loading: false,\n }),\n );\n}\n\nexport function* accountSettingsSagaMock() {\n yield takeLeading(actions.saveAccountSettings, saveAccountSettingsMock);\n yield takeLeading(actions.loadAccountSettings, loadAccountSettingsMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { call, put, takeEvery } from 'redux-saga/effects';\nimport { api, ISwitchTenant, ITenantsResponse } from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback } from '../../interfaces';\nimport { delay } from '../utils';\nimport { tenantsDemo } from '../dummy';\nimport { refreshToken } from '../LoginState/saga';\n\nfunction* switchTenant({ payload: { tenantId, callback } }: PayloadAction<WithCallback<ISwitchTenant>>) {\n yield put(actions.setState({ isLoading: true }));\n try {\n yield call(api.tenants.switchTenant, { tenantId });\n yield call(refreshToken);\n const callbackConsumed = callback?.(true);\n if (!callbackConsumed) {\n yield put(actions.setState({ isLoading: false }));\n }\n } catch (e) {\n yield put(actions.setState({ isLoading: false }));\n callback?.(false, e);\n }\n}\n\nfunction* loadTenants({ payload }: PayloadAction<WithCallback<{}, ITenantsResponse[]>>) {\n yield put(actions.setTenantsState({ loading: true }));\n try {\n const tenants: ITenantsResponse[] = yield call(api.tenants.getTenants);\n yield put(actions.setTenantsState({ tenants, loading: false }));\n payload?.callback?.([]);\n } catch (e) {\n payload?.callback?.([], e);\n yield put(actions.setTenantsState({ loading: false }));\n }\n}\n\nexport function* tenantsSagas() {\n yield takeEvery(actions.loadTenants, loadTenants);\n yield takeEvery(actions.switchTenant, switchTenant);\n}\n\n/*********************************\n * Preview Sagas\n *********************************/\n\nfunction* loadTenantsMock({}: PayloadAction<WithCallback<{}, ITenantsResponse[]>>) {\n yield put(actions.setTenantsState({ loading: true }));\n yield delay();\n yield put(actions.setTenantsState({ tenants: tenantsDemo, loading: false }));\n}\n\nexport function* tenantsSagasMock() {\n yield takeEvery(actions.loadTenants, loadTenantsMock);\n}\n","import { PayloadAction } from '@reduxjs/toolkit';\nimport { all, call, put, takeEvery, takeLeading } from 'redux-saga/effects';\nimport {\n api,\n IAddRole,\n IAttachPermissionsToRole,\n IAttachPermissionToRoles,\n IDeleteRole,\n IRole,\n IRolePermission,\n IUpdateRole,\n IRolePermissionCategory\n} from '@frontegg/rest-api';\nimport { actions } from '../reducer';\nimport { WithCallback, WithSilentLoad } from '../../interfaces';\n\nfunction* loadRolesAndPermissions({ payload }: PayloadAction<WithSilentLoad<{}>>) {\n yield put(actions.setRolesState({ loading: !(payload?.silentLoading ?? false), error: null }));\n try {\n const result: [IRole[], IRolePermission[], IRolePermissionCategory[]] = yield all([\n call(api.roles.getRoles),\n call(api.roles.getPermissions),\n call(api.roles.getPermissionCategories),\n ]);\n const [roles, permissions, permissionCategories] = result;\n yield put(actions.setRolesState({ roles, permissions, permissionCategories, loading: false }));\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, loading: false }));\n }\n}\n\nfunction* addRole({ payload: { callback, ...body } }: PayloadAction<WithCallback<IAddRole, IRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const role: IRole = yield call(api.roles.addRole, body);\n const roles: IRole[] = yield call(api.roles.getRoles);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ roles, saving: false }));\n callback?.(role);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nfunction* deleteRole({ payload: { callback, ...body } }: PayloadAction<WithCallback<IDeleteRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n yield call(api.roles.deleteRole, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(true);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(false, e);\n }\n}\n\nfunction* updateRole({ payload: { callback, ...body } }: PayloadAction<WithCallback<IUpdateRole, IRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const role: IRole = yield call(api.roles.updateRole, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(role);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nfunction* attachPermissionsToRole({\n payload: { callback, ...body },\n}: PayloadAction<WithCallback<IAttachPermissionsToRole, IRole>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const role: IRole = yield call(api.roles.attachPermissionsToRole, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(role);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nfunction* attachPermissionToRoles({\n payload: { callback, ...body },\n}: PayloadAction<WithCallback<IAttachPermissionToRoles, IRolePermission>>) {\n yield put(actions.setRolesState({ saving: true }));\n try {\n const permission: IRolePermission = yield call(api.roles.attachPermissionToRoles, body);\n yield put(actions.loadRolesAndPermissions({ silentLoading: true }));\n yield put(actions.setRolesState({ saving: false }));\n callback?.(permission);\n } catch (e) {\n yield put(actions.setRolesState({ error: e.message, saving: false }));\n callback?.(null, e);\n }\n}\n\nexport function* rolesSagas() {\n yield takeLeading(actions.loadRolesAndPermissions, loadRolesAndPermissions);\n yield takeEvery(actions.addRole, addRole);\n yield takeEvery(actions.deleteRole, deleteRole);\n yield takeEvery(actions.updateRole, updateRole);\n yield takeEvery(actions.attachPermissionsToRole, attachPermissionsToRole);\n yield takeEvery(actions.attachPermissionToRoles, attachPermissionToRoles);\n}\n","import { ssoSagas, ssoSagasMock } from './SSOState/saga';\nimport { profileSagas, profileSagasMock } from './ProfileState/saga';\nimport { mfaSagas, mfaSagasMock } from './MfaState/saga';\nimport { forgotPasswordSagas } from './ForgotPasswordState/saga';\nimport { activateSagas } from './ActivateState/saga';\nimport { acceptInvitationSagas } from './AcceptInvitationState/saga';\nimport { loginSagas, loginSagasMock } from './LoginState/saga';\nimport { teamSagas, teamSagasMock } from './TeamState/saga';\nimport { socialLoginsSaga } from './SocialLogins/saga';\nimport { signUpSaga } from './SignUp/saga';\nimport { all, call } from 'redux-saga/effects';\nimport { apiTokensSaga, apiTokensSagaMock } from './ApiTokensState/saga';\nimport { securityPolicySagas, securityPolicySagasMock } from './SecurityPolicyState/saga';\nimport { accountSettingsSaga, accountSettingsSagaMock } from './AccountSettingsState/saga';\nimport { tenantsSagas, tenantsSagasMock } from './TenantsState/saga';\nimport { rolesSagas } from './RolesState/saga';\n\nexport function* sagas() {\n yield all([\n call(loginSagas),\n call(activateSagas),\n call(acceptInvitationSagas),\n call(forgotPasswordSagas),\n call(ssoSagas),\n call(profileSagas),\n call(mfaSagas),\n call(teamSagas),\n call(socialLoginsSaga),\n call(signUpSaga),\n call(apiTokensSaga),\n call(securityPolicySagas),\n call(accountSettingsSaga),\n call(tenantsSagas),\n call(rolesSagas),\n ]);\n}\n\nexport function* mockSagas() {\n yield all([\n call(loginSagasMock),\n // call(activateSagas),\n // call(acceptInvitationSagas),\n // call(forgotPasswordSagas),\n // call(socialLoginsSaga),\n // call(signUpSaga),\n call(ssoSagasMock),\n call(profileSagasMock),\n call(mfaSagasMock),\n call(teamSagasMock),\n call(apiTokensSagaMock),\n call(securityPolicySagasMock),\n call(accountSettingsSagaMock),\n call(tenantsSagasMock),\n // call(rolesSagas),\n ]);\n}\n","import { reducer, actions } from './reducer';\nimport { mockSagas, sagas } from './saga';\nimport { authStoreName as storeName } from '../constants';\nimport { initialState } from './initialState';\n\n// export types\nexport * from './interfaces';\n\nexport * from './LoginState/interfaces';\nexport * from './LoginState';\n\nexport * from './ActivateState/interfaces';\nexport * from './ActivateState';\n\nexport * from './AcceptInvitationState/interfaces';\nexport * from './AcceptInvitationState';\n\nexport * from './ForgotPasswordState/interfaces';\nexport * from './ForgotPasswordState';\n\nexport * from './SSOState/interfaces';\nexport * from './SSOState';\n\nexport * from './MfaState/interfaces';\nexport * from './MfaState';\n\nexport * from './ProfileState/interfaces';\nexport * from './ProfileState';\n\nexport * from './TeamState/interfaces';\nexport * from './TeamState';\n\nexport * from './SocialLogins/interfaces';\nexport * from './SocialLogins';\n\nexport * from './SignUp/interfaces';\nexport * from './SignUp';\n\nexport * from './ApiTokensState/interfaces';\nexport * from './ApiTokensState';\n\nexport * from './SecurityPolicyState/interfaces';\nexport * from './SecurityPolicyState';\n\nexport * from './AccountSettingsState/interfaces';\nexport * from './AccountSettingsState';\n\nexport * from './TenantsState/interfaces';\nexport * from './TenantsState';\n\nexport * from './RolesState/interfaces';\nexport * from './RolesState';\n\nexport type { AuthActions } from './reducer';\n\nexport {\n sagas as authSagas,\n mockSagas as authMockSagas,\n reducer as authReducers,\n actions as authActions,\n initialState as authInitialState,\n storeName as authStoreName,\n};\n// export store\nexport default {\n sagas,\n mockSagas,\n storeName,\n initialState,\n reducer,\n actions,\n};\n"],"names":["LoginStep","reducers","actions","createAction","authStoreName","ActivateAccountStep","AcceptInvitationStep","ForgotPasswordStep","MFAStep","SignUpStage","createSlice","loginReducers","socialLoginsReducer","activateAccountReducers","acceptInvitationReducers","forgotPasswordReducers","signUpReducers","profileReducers","ssoReducers","mfaReducers","teamReducers","apiTokensReducers","securityPolicyReducers","accountSettingsReducers","tenantsReducers","rolesReducers","loginActions","socialLoginsActions","activateAccountActions","acceptInvitationActions","forgotPasswordActions","signUpActions","profileActions","ssoActions","mfaActions","teamActions","apiTokensActions","securityPolicyActions","accountSettingsActions","tenantsActions","rolesActions","SamlVendors","__assign","put","call","api","select","ContextHolder","takeLeading","takeEvery","FRONTEGG_AFTER_AUTH_REDIRECT_URL","delay","loadVendorPublicInfo","all","AuthStrategyEnum","retry","TeamStateKeys","sagaSelect","takeLatest","uuid","ApiStateKeys"],"mappings":"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"}
|