dauth-context-react 0.1.79 → 0.1.80
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/dist/dauth-context-react.cjs.development.js +4 -1
- package/dist/dauth-context-react.cjs.development.js.map +1 -1
- package/dist/dauth-context-react.cjs.production.min.js +1 -1
- package/dist/dauth-context-react.cjs.production.min.js.map +1 -1
- package/dist/dauth-context-react.esm.js +4 -1
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/initialDauthState.ts +4 -1
|
@@ -368,7 +368,10 @@ var initialDauthState = {
|
|
|
368
368
|
updateUser: function updateUser() {},
|
|
369
369
|
// Send email verification
|
|
370
370
|
sev: {
|
|
371
|
-
status: {
|
|
371
|
+
status: {
|
|
372
|
+
type: 'info',
|
|
373
|
+
message: 'Sending email verification...'
|
|
374
|
+
},
|
|
372
375
|
isLoading: false
|
|
373
376
|
},
|
|
374
377
|
sendEmailVerification: function sendEmailVerification() {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.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: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface 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: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\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 // Send email verification\n sev: {\n status: {} 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 * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\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 { 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 })}/get-tenant-user/${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 })}/update-tenant-user/${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 })}/resend-tenant-email-verification/${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 sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n 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 localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\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(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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: 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: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\n IDauthState,\n IDauthUser,\n} 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';\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 [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\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 }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\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 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 sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\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","sev","status","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","type","payload","DauthTypes","_extends","message","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","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","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.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.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: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface 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: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\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 // Send email verification\n sev: {\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 * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\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 { 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 })}/get-tenant-user/${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 })}/update-tenant-user/${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 })}/resend-tenant-email-verification/${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 sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n 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 localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\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(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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: 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: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\n IDauthState,\n IDauthUser,\n} 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';\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 [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\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 }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\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 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 sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\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","sev","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","_extends","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","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","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,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,a=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var a=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new O(n||[]);return o(a,"_invoke",{value:A(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var h="suspendedStart",d="executing",y="completed",v={};function m(){}function g(){}function w(){}var _={};l(_,u,(function(){return this}));var E=Object.getPrototypeOf,I=E&&E(E(k([])));I&&I!==r&&a.call(I,u)&&(_=I);var S=w.prototype=m.prototype=Object.create(_);function L(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(n,o,i,u){var c=f(t[n],t,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&a.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,u)}))}u(c.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function A(e,r,n){var a=h;return function(o,i){if(a===d)throw new Error("Generator is already running");if(a===y){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var u=n.delegate;if(u){var c=x(u,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===h)throw a=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var s=f(e,r,n);if("normal"===s.type){if(a=n.done?y:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=y,n.method="throw",n.arg=s.arg)}}}function x(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,x(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=f(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function k(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(a.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,o(S,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(S),t},e.awrap=function(t){return{__await:t}},L(b.prototype),l(b.prototype,c,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new b(p(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},L(S),l(S,s,"Generator"),l(S,u,(function(){return this})),l(S,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=k,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(T),!e)for(var r in this)"t"===r.charAt(0)&&a.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,a){return u.type="throw",u.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;T(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:k(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function a(t,e,r,n,a,o,i){try{var u=t[o](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,c,"next",t)}function c(t){a(i,n,o,u,c,"throw",t)}u(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var u={user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return u.getAccessToken()||""},updateUser:function(){},sev:{status:{},isLoading:!1},sendEmailVerification:function(){}};function c(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});case"UPDATE_USER":return i({},t,{user:i({},t.user,r)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return i({},t,{sev:i({},t.sev,{status:{type:r.type,message:r.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return i({},t,{sev:i({},t.sev,{isLoading:r})});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var p=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/get-tenant-user/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f=function(){var t=o(n().mark((function t(e,r,a){var o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"PATCH",headers:{Authorization:""+a,"Content-Type":"application/json"},body:JSON.stringify(r)},t.next=3,fetch(l({domainName:e})+"/update-tenant-user/"+e,o);case 3:return i=t.sent,t.next=6,i.json();case 6:return t.abrupt("return",{response:i,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),h=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/resend-tenant-email-verification/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),d="dauth_state";function y(){return(y=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(d,a));case 12:return t.abrupt("return",localStorage.removeItem(d));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function v(){return(v=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state_ls,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(d,a)):localStorage.removeItem(d),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 13:return t.prev=13,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function m(){return(m=o(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(d),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function g(){return(g=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,i=e.token,(o=e.user).language&&window.document.documentElement.setAttribute("lang",o.language),i){t.next=4;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 4:return t.prev=4,t.next=7,f(a,o,i);case 7:if(200!==t.sent.response.status){t.next=12;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 12:return console.log("Update user error"),t.abrupt("return");case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(4),console.log("Update user error",t.t0);case 19:case"end":return t.stop()}}),t,null,[[4,16]])})))).apply(this,arguments)}function w(){return(w=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.domainName,o=e.token,(r=e.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),t.prev=3,t.next=6,h(a,o);case 6:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:i.data.message}}),t.abrupt("return",r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}));case 12:return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:i.data.message}}),t.abrupt("return",r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}));case 14:t.next=20;break;case 16:return t.prev=16,t.t0=t.catch(3),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),t.abrupt("return",r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}));case 20:case"end":return t.stop()}}),t,null,[[3,16]])})))).apply(this,arguments)}var _=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,l=e.useReducer(c,u),p=l[1],f=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(d);e&&!f.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:p,dauth_state:e,domainName:n})}}),[f.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(d);t&&!f.isAuthenticated&&function(t){v.apply(this,arguments)}({dispatch:p,dauth_state_ls:t,domainName:n})}),[f.isAuthenticated,n]);var h=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+a));var t}),[n,a]),E=e.useCallback((function(){return function(t){return m.apply(this,arguments)}({dispatch:p})}),[]),I=e.useCallback((function(){var t=localStorage.getItem(d);return null!=t?t:"token-not-found"}),[]),S=e.useCallback((function(t){var e=t.name,r=t.lastname,a=t.nickname,o=t.tel_prefix,i=t.tel_suffix,u=t.language,c=t.avatar,s=localStorage.getItem(d);return function(t){return g.apply(this,arguments)}({dispatch:p,domainName:n,user:{name:e,lastname:r,nickname:a,tel_prefix:o,tel_suffix:i,language:u,avatar:c},token:s})}),[n]),L=e.useCallback((function(){var t=localStorage.getItem(d);if(t)return function(t){return w.apply(this,arguments)}({dispatch:p,domainName:n,token:t})}),[n]),b=e.useMemo((function(){return i({},f,{loginWithRedirect:h,logout:E,getAccessToken:function(){return I()||""},updateUser:S,sendEmailVerification:L})}),[f,h,E,I,S,L]);return r.createElement(_.Provider,{value:b},o)},exports.useDauth=function(){var t=e.useContext(_);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,a=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var a=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new O(n||[]);return o(a,"_invoke",{value:A(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var h="suspendedStart",d="executing",y="completed",v={};function m(){}function g(){}function w(){}var _={};l(_,u,(function(){return this}));var E=Object.getPrototypeOf,I=E&&E(E(k([])));I&&I!==r&&a.call(I,u)&&(_=I);var S=w.prototype=m.prototype=Object.create(_);function L(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function r(n,o,i,u){var c=f(t[n],t,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&a.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,u)}))}u(c.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function A(e,r,n){var a=h;return function(o,i){if(a===d)throw new Error("Generator is already running");if(a===y){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var u=n.delegate;if(u){var c=x(u,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===h)throw a=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var s=f(e,r,n);if("normal"===s.type){if(a=n.done?y:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=y,n.method="throw",n.arg=s.arg)}}}function x(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,x(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=f(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function k(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(a.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,o(S,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(S),t},e.awrap=function(t){return{__await:t}},L(b.prototype),l(b.prototype,c,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new b(p(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},L(S),l(S,s,"Generator"),l(S,u,(function(){return this})),l(S,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=k,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(T),!e)for(var r in this)"t"===r.charAt(0)&&a.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,a){return u.type="throw",u.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;T(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:k(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function a(t,e,r,n,a,o,i){try{var u=t[o](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,c,"next",t)}function c(t){a(i,n,o,u,c,"throw",t)}u(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var u={user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return u.getAccessToken()||""},updateUser:function(){},sev:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){}};function c(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});case"UPDATE_USER":return i({},t,{user:i({},t.user,r)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return i({},t,{sev:i({},t.sev,{status:{type:r.type,message:r.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return i({},t,{sev:i({},t.sev,{isLoading:r})});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var p=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/get-tenant-user/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f=function(){var t=o(n().mark((function t(e,r,a){var o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"PATCH",headers:{Authorization:""+a,"Content-Type":"application/json"},body:JSON.stringify(r)},t.next=3,fetch(l({domainName:e})+"/update-tenant-user/"+e,o);case 3:return i=t.sent,t.next=6,i.json();case 6:return t.abrupt("return",{response:i,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),h=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/resend-tenant-email-verification/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),d="dauth_state";function y(){return(y=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(d,a));case 12:return t.abrupt("return",localStorage.removeItem(d));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function v(){return(v=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state_ls,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(d,a)):localStorage.removeItem(d),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 13:return t.prev=13,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function m(){return(m=o(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(d),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function g(){return(g=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,i=e.token,(o=e.user).language&&window.document.documentElement.setAttribute("lang",o.language),i){t.next=4;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 4:return t.prev=4,t.next=7,f(a,o,i);case 7:if(200!==t.sent.response.status){t.next=12;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 12:return console.log("Update user error"),t.abrupt("return");case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(4),console.log("Update user error",t.t0);case 19:case"end":return t.stop()}}),t,null,[[4,16]])})))).apply(this,arguments)}function w(){return(w=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.domainName,o=e.token,(r=e.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),t.prev=3,t.next=6,h(a,o);case 6:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:i.data.message}}),t.abrupt("return",r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}));case 12:return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:i.data.message}}),t.abrupt("return",r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}));case 14:t.next=20;break;case 16:return t.prev=16,t.t0=t.catch(3),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),t.abrupt("return",r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}));case 20:case"end":return t.stop()}}),t,null,[[3,16]])})))).apply(this,arguments)}var _=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,l=e.useReducer(c,u),p=l[1],f=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(d);e&&!f.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:p,dauth_state:e,domainName:n})}}),[f.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(d);t&&!f.isAuthenticated&&function(t){v.apply(this,arguments)}({dispatch:p,dauth_state_ls:t,domainName:n})}),[f.isAuthenticated,n]);var h=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+a));var t}),[n,a]),E=e.useCallback((function(){return function(t){return m.apply(this,arguments)}({dispatch:p})}),[]),I=e.useCallback((function(){var t=localStorage.getItem(d);return null!=t?t:"token-not-found"}),[]),S=e.useCallback((function(t){var e=t.name,r=t.lastname,a=t.nickname,o=t.tel_prefix,i=t.tel_suffix,u=t.language,c=t.avatar,s=localStorage.getItem(d);return function(t){return g.apply(this,arguments)}({dispatch:p,domainName:n,user:{name:e,lastname:r,nickname:a,tel_prefix:o,tel_suffix:i,language:u,avatar:c},token:s})}),[n]),L=e.useCallback((function(){var t=localStorage.getItem(d);if(t)return function(t){return w.apply(this,arguments)}({dispatch:p,domainName:n,token:t})}),[n]),b=e.useMemo((function(){return i({},f,{loginWithRedirect:h,logout:E,getAccessToken:function(){return I()||""},updateUser:S,sendEmailVerification:L})}),[f,h,E,I,S,L]);return r.createElement(_.Provider,{value:b},o)},exports.useDauth=function(){var t=e.useContext(_);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
2
2
|
//# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.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: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface 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: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\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 // Send email verification\n sev: {\n status: {} as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => {},\n};\n\nexport default initialDauthState;\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\n}\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","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 { 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 })}/get-tenant-user/${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 })}/update-tenant-user/${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 })}/resend-tenant-email-verification/${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 sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n 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 localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\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(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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: 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: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\n IDauthState,\n IDauthUser,\n} 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';\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 [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\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 }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\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 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 sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\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","sev","status","sendEmailVerification","userReducer","state","action","payload","type","_extends","message","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","_setLogoutAction","_setUpdateUserAction","_callee4","_ref4","_context4","setAttribute","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_context5","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","token_ls","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.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: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface 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: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\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 // Send email verification\n sev: {\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","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\n}\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","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 { 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 })}/get-tenant-user/${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 })}/update-tenant-user/${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 })}/resend-tenant-email-verification/${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 sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n 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 localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\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(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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: 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: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\n IDauthState,\n IDauthUser,\n} 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';\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 [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\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 }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\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 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 sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\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","sev","status","type","message","sendEmailVerification","userReducer","state","action","payload","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","_setLogoutAction","_setUpdateUserAction","_callee4","_ref4","_context4","setAttribute","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_context5","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","token_ls","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
@@ -361,7 +361,10 @@ var initialDauthState = {
|
|
|
361
361
|
updateUser: function updateUser() {},
|
|
362
362
|
// Send email verification
|
|
363
363
|
sev: {
|
|
364
|
-
status: {
|
|
364
|
+
status: {
|
|
365
|
+
type: 'info',
|
|
366
|
+
message: 'Sending email verification...'
|
|
367
|
+
},
|
|
365
368
|
isLoading: false
|
|
366
369
|
},
|
|
367
370
|
sendEmailVerification: function sendEmailVerification() {}
|
|
@@ -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/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: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface 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: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\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 // Send email verification\n sev: {\n status: {} 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 * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\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 { 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 })}/get-tenant-user/${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 })}/update-tenant-user/${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 })}/resend-tenant-email-verification/${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 sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n 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 localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\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(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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: 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: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\n IDauthState,\n IDauthUser,\n} 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';\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 [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\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 }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\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 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 sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\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","sev","status","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","type","payload","DauthTypes","_extends","message","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","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","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/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: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface 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: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\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 // Send email verification\n sev: {\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 * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\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 { 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 })}/get-tenant-user/${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 })}/update-tenant-user/${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 })}/resend-tenant-email-verification/${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 sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n 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 localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\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(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\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: 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: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\n IDauthState,\n IDauthUser,\n} 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';\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 [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\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 }, [dauthState.isAuthenticated, domainName]);\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 });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\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 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 sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\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","sev","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","_extends","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","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/initialDauthState.ts
CHANGED
|
@@ -67,7 +67,10 @@ const initialDauthState: IDauthState = {
|
|
|
67
67
|
updateUser: () => {},
|
|
68
68
|
// Send email verification
|
|
69
69
|
sev: {
|
|
70
|
-
status: {
|
|
70
|
+
status: {
|
|
71
|
+
type: 'info',
|
|
72
|
+
message: 'Sending email verification...',
|
|
73
|
+
} as IActionStatus,
|
|
71
74
|
isLoading: false,
|
|
72
75
|
},
|
|
73
76
|
sendEmailVerification: () => {},
|