dauth-context-react 0.2.1 → 0.2.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => any;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => void;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}\n /${routes.tenantUpdateUser}\n /${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/${routes.tenantResendEmailVerification}/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/${routes.tenantRefreshAccessToken}/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n return dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n sid,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token;\n }, []);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}\n /${routes.tenantUpdateUser}\n /${sid}\n /${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","_setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","checkTokenAction","_checkTokenAction","_callee6","_ref6","_callee6$","_context6","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","_refreshAccessTokenFe","_callee7$","_context7","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/routes.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => Promise<string>;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => Promise<boolean>;\n updateUserWithRedirect: () => void;\n // Send email verification\n sendEmailVerificationStatus: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => Promise<boolean>;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import { IDauthState } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const routes = {\n tenantSignin: 't-signin',\n tenantUpdateUser: 't-update-user',\n tenantGetUser: 't-get-user',\n tenantResendEmailVerification: 't-resend-email-verification',\n tenantRefreshAccessToken: 't-refresh-access-token',\n};\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/${\n routes.tenantGetUser\n }/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}\n /${routes.tenantUpdateUser}\n /${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/${routes.tenantResendEmailVerification}/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/${routes.tenantRefreshAccessToken}/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const TOKEN_LS = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { getClientBasePath } from '../api/utils/config';\nimport { TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../initialDauthState';\nimport { routes } from '../routes';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(TOKEN_LS, token);\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n dauth_state_ls: string;\n domainName: string;\n sid: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n sid,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n TOKEN_LS,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n console.log(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport function setLogoutAction({\n dispatch,\n}: {\n dispatch: React.Dispatch<any>;\n}) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.log('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.log('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false\n }\n}\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n sid,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n sid: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthUser } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS } from './constants';\nimport { routes } from './routes';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n\n // Check token periodically\n useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });\n }, 1000 * 60 * 2);\n return () => clearInterval(interval);\n }, []);\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n if (token_url && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, token: token_url, domainName });\n }\n }, []);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(TOKEN_LS);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });\n }\n }, []);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${routes.tenantSignin}/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, []);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/${\n routes.tenantUpdateUser\n }/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","payload","DauthTypes","login","_extends","setSendEmailVerificationStatus","setSendEmailVerificationIsLoading","routes","tenantSignin","tenantUpdateUser","tenantGetUser","tenantResendEmailVerification","tenantRefreshAccessToken","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","resetUser","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","sid","refreshAccessTokenFetch","accessToken","replace","setLogoutAction","removeItem","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_ref5","sendEmailFetch","checkTokenAction","_checkTokenAction","_callee5","_ref6","_callee5$","_context5","getAccessTokenAction","_getAccessTokenAction","_callee6","_ref7","token_ls","_refreshAccessTokenFe","_callee6$","_context6","getItem","DauthProvider","props","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","token_url","get","useCallback","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
@@ -31,14 +31,14 @@ export interface IDauthState {
31
31
  isAuthenticated: boolean;
32
32
  loginWithRedirect: () => void;
33
33
  logout: () => void;
34
- getAccessToken: () => any;
35
- updateUser: ({ name, lastname, nickname, tel_prefix, tel_suffix, language, avatar, }: Partial<IDauthUser>) => void;
34
+ getAccessToken: () => Promise<string>;
35
+ updateUser: ({ name, lastname, nickname, tel_prefix, tel_suffix, language, avatar, }: Partial<IDauthUser>) => Promise<boolean>;
36
36
  updateUserWithRedirect: () => void;
37
37
  sendEmailVerificationStatus: {
38
38
  status: IActionStatus;
39
39
  isLoading: boolean;
40
40
  };
41
- sendEmailVerification: () => void;
41
+ sendEmailVerification: () => Promise<boolean>;
42
42
  }
43
43
  export interface IActionStatus {
44
44
  type: TStatusTypes;
@@ -2,10 +2,10 @@
2
2
  import { IDauthUser } from '../initialDauthState';
3
3
  declare type TSetDauthStateAction = {
4
4
  dispatch: React.Dispatch<any>;
5
- dauth_state: string;
5
+ token: string;
6
6
  domainName: string;
7
7
  };
8
- export declare function setDauthStateAction({ dispatch, dauth_state, domainName, }: TSetDauthStateAction): Promise<void>;
8
+ export declare function setDauthStateAction({ dispatch, token, domainName, }: TSetDauthStateAction): Promise<void>;
9
9
  declare type TSetAutoLoginAction = {
10
10
  dispatch: React.Dispatch<any>;
11
11
  dauth_state_ls: string;
@@ -15,20 +15,20 @@ declare type TSetAutoLoginAction = {
15
15
  export declare function setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid, }: TSetAutoLoginAction): Promise<void>;
16
16
  export declare function setLogoutAction({ dispatch, }: {
17
17
  dispatch: React.Dispatch<any>;
18
- }): Promise<void>;
18
+ }): void;
19
19
  declare type TSetUpdateAction = {
20
20
  dispatch: React.Dispatch<any>;
21
21
  domainName: string;
22
22
  user: Partial<IDauthUser>;
23
23
  token: string | null;
24
24
  };
25
- export declare function setUpdateUserAction({ dispatch, domainName, user, token, }: TSetUpdateAction): Promise<void>;
25
+ export declare function setUpdateUserAction({ dispatch, domainName, user, token, }: TSetUpdateAction): Promise<boolean>;
26
26
  declare type TSetSendEmailVerificationAction = {
27
27
  dispatch: React.Dispatch<any>;
28
28
  domainName: string;
29
29
  token: string;
30
30
  };
31
- export declare function sendEmailVerificationAction({ dispatch, domainName, token, }: TSetSendEmailVerificationAction): Promise<void>;
31
+ export declare function sendEmailVerificationAction({ dispatch, domainName, token, }: TSetSendEmailVerificationAction): Promise<boolean>;
32
32
  export declare function checkTokenAction({ dispatch, domainName, sid, token, }: {
33
33
  dispatch: React.Dispatch<any>;
34
34
  domainName: string;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.1",
2
+ "version": "0.2.101",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
package/src/constants.ts CHANGED
@@ -1 +1 @@
1
- export const DAUTH_STATE = 'dauth_state';
1
+ export const TOKEN_LS = 'dauth_state';
package/src/index.tsx CHANGED
@@ -10,7 +10,7 @@ import initialDauthState, { IDauthUser } from './initialDauthState';
10
10
  import userReducer from './reducer/dauth.reducer';
11
11
  import * as action from './reducer/dauth.actions';
12
12
  import { getClientBasePath } from './api/utils/config';
13
- import { DAUTH_STATE } from './constants';
13
+ import { TOKEN_LS } from './constants';
14
14
  import { routes } from './routes';
15
15
 
16
16
  interface DauthProviderProps {
@@ -29,7 +29,7 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
29
29
  useEffect(() => {
30
30
  if (!dauthState.isAuthenticated) return;
31
31
  let interval = setInterval(() => {
32
- const token_ls = localStorage.getItem(DAUTH_STATE);
32
+ const token_ls = localStorage.getItem(TOKEN_LS);
33
33
  if (!token_ls) return;
34
34
  action.checkTokenAction({ dispatch, domainName, sid, token: token_ls });
35
35
  }, 1000 * 60 * 2);
@@ -41,15 +41,15 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
41
41
  const queryString = window.location.search;
42
42
  if (!queryString) return;
43
43
  const urlParams = new URLSearchParams(queryString);
44
- const dauth_state = urlParams.get(DAUTH_STATE);
45
- if (dauth_state && !dauthState.isAuthenticated) {
46
- action.setDauthStateAction({ dispatch, dauth_state, domainName });
44
+ const token_url = urlParams.get(TOKEN_LS);
45
+ if (token_url && !dauthState.isAuthenticated) {
46
+ action.setDauthStateAction({ dispatch, token: token_url, domainName });
47
47
  }
48
48
  }, []);
49
49
 
50
50
  // Auto Login
51
51
  useEffect(() => {
52
- const dauth_state_ls = localStorage.getItem(DAUTH_STATE);
52
+ const dauth_state_ls = localStorage.getItem(TOKEN_LS);
53
53
  if (dauth_state_ls && !dauthState.isAuthenticated) {
54
54
  action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName, sid });
55
55
  }
@@ -67,11 +67,11 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
67
67
 
68
68
  const getAccessToken = useCallback(async () => {
69
69
  const token = await action.getAccessTokenAction({ dispatch, domainName });
70
- return token;
70
+ return token as string;
71
71
  }, []);
72
72
 
73
73
  const updateUser = useCallback(
74
- ({
74
+ async ({
75
75
  name,
76
76
  lastname,
77
77
  nickname,
@@ -80,7 +80,7 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
80
80
  language,
81
81
  avatar,
82
82
  }: Partial<IDauthUser>) => {
83
- const token_ls = localStorage.getItem(DAUTH_STATE);
83
+ const token_ls = localStorage.getItem(TOKEN_LS);
84
84
  const user = {
85
85
  name,
86
86
  lastname,
@@ -90,35 +90,34 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
90
90
  language,
91
91
  avatar,
92
92
  } as Partial<IDauthUser>;
93
- return action.setUpdateUserAction({
93
+ return (await action.setUpdateUserAction({
94
94
  dispatch,
95
95
  domainName,
96
96
  user,
97
97
  token: token_ls,
98
- });
98
+ })) as boolean;
99
99
  },
100
100
  [domainName]
101
101
  );
102
102
 
103
103
  const updateUserWithRedirect = useCallback(() => {
104
- const token_ls = localStorage.getItem(DAUTH_STATE);
104
+ const token_ls = localStorage.getItem(TOKEN_LS);
105
105
  if (!token_ls) return;
106
106
  return window.location.replace(
107
- `${getClientBasePath({ domainName })}
108
- /${routes.tenantUpdateUser}
109
- /${sid}
110
- /${token_ls}`
107
+ `${getClientBasePath({ domainName })}/${
108
+ routes.tenantUpdateUser
109
+ }/${sid}/${token_ls}`
111
110
  );
112
111
  }, [domainName, sid]);
113
112
 
114
- const sendEmailVerification = useCallback(() => {
115
- const token_ls = localStorage.getItem(DAUTH_STATE);
116
- if (!token_ls) return;
117
- return action.sendEmailVerificationAction({
113
+ const sendEmailVerification = useCallback(async () => {
114
+ const token_ls = localStorage.getItem(TOKEN_LS);
115
+ if (!token_ls) return false;
116
+ return (await action.sendEmailVerificationAction({
118
117
  dispatch,
119
118
  domainName,
120
119
  token: token_ls,
121
- });
120
+ })) as boolean;
122
121
  }, [domainName]);
123
122
 
124
123
  const memoProvider = useMemo(
@@ -126,7 +125,7 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
126
125
  ...dauthState,
127
126
  loginWithRedirect,
128
127
  logout,
129
- getAccessToken: () => getAccessToken() || '',
128
+ getAccessToken,
130
129
  updateUser,
131
130
  updateUserWithRedirect,
132
131
  sendEmailVerification,
@@ -33,7 +33,7 @@ export interface IDauthState {
33
33
  isAuthenticated: boolean;
34
34
  loginWithRedirect: () => void;
35
35
  logout: () => void;
36
- getAccessToken: () => any;
36
+ getAccessToken: () => Promise<string>;
37
37
  updateUser: ({
38
38
  name,
39
39
  lastname,
@@ -42,14 +42,14 @@ export interface IDauthState {
42
42
  tel_suffix,
43
43
  language,
44
44
  avatar,
45
- }: Partial<IDauthUser>) => void;
45
+ }: Partial<IDauthUser>) => Promise<boolean>;
46
46
  updateUserWithRedirect: () => void;
47
47
  // Send email verification
48
48
  sendEmailVerificationStatus: {
49
49
  status: IActionStatus;
50
50
  isLoading: boolean;
51
51
  };
52
- sendEmailVerification: () => void;
52
+ sendEmailVerification: () => Promise<boolean>;
53
53
  }
54
54
 
55
55
  export interface IActionStatus {
@@ -67,8 +67,8 @@ const initialDauthState: IDauthState = {
67
67
  isAuthenticated: false,
68
68
  loginWithRedirect: () => {},
69
69
  logout: () => {},
70
- getAccessToken: () => initialDauthState.getAccessToken() || '',
71
- updateUser: () => {},
70
+ getAccessToken: () => Promise.resolve(''),
71
+ updateUser: () => Promise.resolve(false),
72
72
  updateUserWithRedirect: () => {},
73
73
  // Send email verification
74
74
  sendEmailVerificationStatus: {
@@ -78,7 +78,7 @@ const initialDauthState: IDauthState = {
78
78
  } as IActionStatus,
79
79
  isLoading: false,
80
80
  },
81
- sendEmailVerification: () => {},
81
+ sendEmailVerification: () => Promise.resolve(false),
82
82
  };
83
83
 
84
84
  export default initialDauthState;
@@ -5,24 +5,24 @@ import {
5
5
  updateUserAPI,
6
6
  } from '../api/dauth.api';
7
7
  import { getClientBasePath } from '../api/utils/config';
8
- import { DAUTH_STATE } from '../constants';
8
+ import { TOKEN_LS } from '../constants';
9
9
  import { IDauthDomainState, IDauthUser } from '../initialDauthState';
10
10
  import { routes } from '../routes';
11
11
  import * as DauthTypes from './dauth.types';
12
12
 
13
13
  type TSetDauthStateAction = {
14
14
  dispatch: React.Dispatch<any>;
15
- dauth_state: string;
15
+ token: string;
16
16
  domainName: string;
17
17
  };
18
18
  export async function setDauthStateAction({
19
19
  dispatch,
20
- dauth_state,
20
+ token,
21
21
  domainName,
22
22
  }: TSetDauthStateAction) {
23
23
  dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });
24
24
  try {
25
- const getUserFetch = await getUserAPI(domainName, dauth_state);
25
+ const getUserFetch = await getUserAPI(domainName, token);
26
26
  if (getUserFetch.response.status === 200) {
27
27
  dispatch({
28
28
  type: DauthTypes.LOGIN,
@@ -37,7 +37,7 @@ export async function setDauthStateAction({
37
37
  document.title,
38
38
  getUserFetch.data.domain.loginRedirect
39
39
  );
40
- return localStorage.setItem(DAUTH_STATE, dauth_state);
40
+ return localStorage.setItem(TOKEN_LS, token);
41
41
  } else {
42
42
  return resetUser(dispatch);
43
43
  }
@@ -82,7 +82,7 @@ export async function setAutoLoginAction({
82
82
  },
83
83
  });
84
84
  localStorage.setItem(
85
- DAUTH_STATE,
85
+ TOKEN_LS,
86
86
  refreshAccessTokenFetch.data.accessToken
87
87
  );
88
88
  return;
@@ -109,7 +109,7 @@ export async function setAutoLoginAction({
109
109
  }
110
110
  }
111
111
 
112
- export async function setLogoutAction({
112
+ export function setLogoutAction({
113
113
  dispatch,
114
114
  }: {
115
115
  dispatch: React.Dispatch<any>;
@@ -125,7 +125,7 @@ export async function setLogoutAction({
125
125
  isAuthenticated: false,
126
126
  },
127
127
  });
128
- localStorage.removeItem(DAUTH_STATE);
128
+ localStorage.removeItem(TOKEN_LS);
129
129
  return dispatch({
130
130
  type: DauthTypes.SET_IS_LOADING,
131
131
  payload: { isLoading: false },
@@ -148,24 +148,27 @@ export async function setUpdateUserAction({
148
148
  window.document.documentElement.setAttribute('lang', user.language);
149
149
  }
150
150
  if (!token) {
151
- return dispatch({
151
+ dispatch({
152
152
  type: DauthTypes.UPDATE_USER,
153
153
  payload: user,
154
154
  });
155
+ return false;
155
156
  }
156
157
  try {
157
158
  const getUserFetch = await updateUserAPI(domainName, user, token);
158
159
  if (getUserFetch.response.status === 200) {
159
- return dispatch({
160
+ dispatch({
160
161
  type: DauthTypes.UPDATE_USER,
161
162
  payload: getUserFetch.data.user,
162
163
  });
164
+ return true;
163
165
  } else {
164
166
  console.log('Update user error', getUserFetch.data.message);
165
- return;
167
+ return false;
166
168
  }
167
169
  } catch (error) {
168
170
  console.log('Update user error', error);
171
+ return false;
169
172
  }
170
173
  }
171
174
 
@@ -194,19 +197,21 @@ export async function sendEmailVerificationAction({
194
197
  type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,
195
198
  payload: { type: 'success', message: sendEmailFetch.data.message },
196
199
  });
197
- return dispatch({
200
+ dispatch({
198
201
  type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
199
202
  payload: false,
200
203
  });
204
+ return true
201
205
  } else {
202
206
  dispatch({
203
207
  type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,
204
208
  payload: { type: 'error', message: sendEmailFetch.data.message },
205
209
  });
206
- return dispatch({
210
+ dispatch({
207
211
  type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
208
212
  payload: false,
209
213
  });
214
+ return false
210
215
  }
211
216
  } catch (error) {
212
217
  dispatch({
@@ -216,10 +221,11 @@ export async function sendEmailVerificationAction({
216
221
  message: 'Send email verification fetch error',
217
222
  },
218
223
  });
219
- return dispatch({
224
+ dispatch({
220
225
  type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
221
226
  payload: false,
222
227
  });
228
+ return false
223
229
  }
224
230
  }
225
231
 
@@ -260,7 +266,7 @@ export async function getAccessTokenAction({
260
266
  dispatch: React.Dispatch<any>;
261
267
  domainName: string;
262
268
  }) {
263
- const token_ls = localStorage.getItem(DAUTH_STATE);
269
+ const token_ls = localStorage.getItem(TOKEN_LS);
264
270
  if (!token_ls) return;
265
271
  try {
266
272
  const refreshAccessTokenFetch = await refreshAccessTokenAPI(
@@ -282,7 +288,7 @@ export async function getAccessTokenAction({
282
288
  ///////////////////////////////////////////
283
289
  //////////////////////////////////////////
284
290
  export const resetUser = (dispatch: React.Dispatch<any>) => {
285
- localStorage.removeItem(DAUTH_STATE);
291
+ localStorage.removeItem(TOKEN_LS);
286
292
  return dispatch({
287
293
  type: DauthTypes.LOGIN,
288
294
  payload: {