dauth-context-react 0.1.987 → 0.1.989

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.
@@ -362,9 +362,7 @@ var initialDauthState = {
362
362
  isAuthenticated: false,
363
363
  loginWithRedirect: function loginWithRedirect() {},
364
364
  logout: function logout() {},
365
- getAccessToken: function getAccessToken() {
366
- return initialDauthState.getAccessToken() || '';
367
- },
365
+ getAccessToken: function getAccessToken() {},
368
366
  updateUser: function updateUser() {},
369
367
  updateUserWithRedirect: function updateUserWithRedirect() {},
370
368
  // Send email verification
@@ -972,8 +970,6 @@ function _sendEmailVerificationAction() {
972
970
  function checkTokenAction(_x6) {
973
971
  return _checkTokenAction.apply(this, arguments);
974
972
  }
975
- ///////////////////////////////////////////
976
- //////////////////////////////////////////
977
973
  function _checkTokenAction() {
978
974
  _checkTokenAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(_ref6) {
979
975
  var dispatch, domainName, token, refreshAccessTokenFetch;
@@ -1000,15 +996,6 @@ function _checkTokenAction() {
1000
996
  _context6.prev = 12;
1001
997
  _context6.t0 = _context6["catch"](1);
1002
998
  resetUser(dispatch);
1003
- // dispatch({
1004
- // type: DauthTypes.LOGIN,
1005
- // payload: {
1006
- // user: {} as IDauthUser,
1007
- // domain: {} as IDauthDomainState,
1008
- // isAuthenticated: false,
1009
- // },
1010
- // });
1011
- // localStorage.removeItem(DAUTH_STATE);
1012
999
  throw _context6.t0;
1013
1000
  case 16:
1014
1001
  case "end":
@@ -1018,6 +1005,54 @@ function _checkTokenAction() {
1018
1005
  }));
1019
1006
  return _checkTokenAction.apply(this, arguments);
1020
1007
  }
1008
+ function getAccessTokenAction(_x7) {
1009
+ return _getAccessTokenAction.apply(this, arguments);
1010
+ }
1011
+ ///////////////////////////////////////////
1012
+ //////////////////////////////////////////
1013
+ function _getAccessTokenAction() {
1014
+ _getAccessTokenAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref7) {
1015
+ var dispatch, domainName, token_ls, refreshAccessTokenFetch, _refreshAccessTokenFe;
1016
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
1017
+ while (1) switch (_context7.prev = _context7.next) {
1018
+ case 0:
1019
+ dispatch = _ref7.dispatch, domainName = _ref7.domainName;
1020
+ token_ls = localStorage.getItem(DAUTH_STATE);
1021
+ if (token_ls) {
1022
+ _context7.next = 4;
1023
+ break;
1024
+ }
1025
+ return _context7.abrupt("return");
1026
+ case 4:
1027
+ _context7.prev = 4;
1028
+ _context7.next = 7;
1029
+ return refreshAccessTokenAPI(domainName, token_ls);
1030
+ case 7:
1031
+ refreshAccessTokenFetch = _context7.sent;
1032
+ if (!(refreshAccessTokenFetch.response.status === 200)) {
1033
+ _context7.next = 12;
1034
+ break;
1035
+ }
1036
+ return _context7.abrupt("return", (_refreshAccessTokenFe = refreshAccessTokenFetch.data.accessToken) != null ? _refreshAccessTokenFe : token_ls);
1037
+ case 12:
1038
+ resetUser(dispatch);
1039
+ return _context7.abrupt("return", 'token-not-found');
1040
+ case 14:
1041
+ _context7.next = 20;
1042
+ break;
1043
+ case 16:
1044
+ _context7.prev = 16;
1045
+ _context7.t0 = _context7["catch"](4);
1046
+ resetUser(dispatch);
1047
+ throw _context7.t0;
1048
+ case 20:
1049
+ case "end":
1050
+ return _context7.stop();
1051
+ }
1052
+ }, _callee7, null, [[4, 16]]);
1053
+ }));
1054
+ return _getAccessTokenAction.apply(this, arguments);
1055
+ }
1021
1056
  var resetUser = function resetUser(dispatch) {
1022
1057
  localStorage.removeItem(DAUTH_STATE);
1023
1058
  return dispatch({
@@ -1038,27 +1073,21 @@ var DauthProvider = function DauthProvider(props) {
1038
1073
  ds = _useReducer[0],
1039
1074
  dispatch = _useReducer[1];
1040
1075
  var dauthState = ds;
1041
- // Refresh access token
1042
- // useEffect(() => {
1043
- // const token_ls = localStorage.getItem(DAUTH_STATE);
1044
- // if (!token_ls) return;
1045
- // action.refreshTokenAction({ dispatch, domainName, token: token_ls });
1046
- // }, [domainName]);
1047
1076
  React.useEffect(function () {
1048
- var token_ls = localStorage.getItem(DAUTH_STATE);
1077
+ if (!dauthState.isAuthenticated) return;
1049
1078
  var interval = setInterval(function () {
1079
+ var token_ls = localStorage.getItem(DAUTH_STATE);
1050
1080
  if (!token_ls) return;
1051
1081
  checkTokenAction({
1052
1082
  dispatch: dispatch,
1053
1083
  domainName: domainName,
1054
1084
  token: token_ls
1055
1085
  });
1056
- }, 6000);
1057
- // }, 1000 * 60 * 5);
1086
+ }, 1000 * 60);
1058
1087
  return function () {
1059
1088
  return clearInterval(interval);
1060
1089
  };
1061
- }, [domainName]);
1090
+ }, [dauthState.isAuthenticated, domainName]);
1062
1091
  // Catch login redirect
1063
1092
  React.useEffect(function () {
1064
1093
  var queryString = window.location.search;
@@ -1095,9 +1124,13 @@ var DauthProvider = function DauthProvider(props) {
1095
1124
  });
1096
1125
  }, []);
1097
1126
  var _getAccessToken = React.useCallback(function () {
1098
- var token_ls = localStorage.getItem(DAUTH_STATE);
1099
- return token_ls != null ? token_ls : 'token-not-found';
1100
- }, []);
1127
+ return getAccessTokenAction({
1128
+ dispatch: dispatch,
1129
+ domainName: domainName
1130
+ });
1131
+ // const token_ls = localStorage.getItem(DAUTH_STATE);
1132
+ // return token_ls ?? 'token-not-found';
1133
+ }, [domainName]);
1101
1134
  var updateUser = React.useCallback(function (_ref) {
1102
1135
  var name = _ref.name,
1103
1136
  lastname = _ref.lastname,
@@ -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: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n 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 updateUserWithRedirect: () => {},\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 })}/t-get-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 })}/t-update-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 })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, 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 refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\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: getUserFetch.data.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\n// export async function refreshTokenAction({\n// dispatch,\n// domainName,\n// token,\n// }: {\n// dispatch: any;\n// domainName: string;\n// token: string;\n// }) {\n// try {\n// const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n// domainName,\n// token\n// );\n// if (refreshAccessTokenFetch.response.status === 200) {\n// console.log(refreshAccessTokenFetch.data.accessToken);\n// localStorage.removeItem(DAUTH_STATE);\n// localStorage.setItem(\n// DAUTH_STATE,\n// refreshAccessTokenFetch.data.accessToken\n// );\n// return;\n// } else {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// return;\n// }\n// } catch (error) {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// console.log(error);\n// }\n// }\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: any;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n return resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nconst resetUser = (dispatch: any) => {\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\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 // Refresh access token\n // useEffect(() => {\n // const token_ls = localStorage.getItem(DAUTH_STATE);\n // if (!token_ls) return;\n // action.refreshTokenAction({ dispatch, domainName, token: token_ls });\n // }, [domainName]);\n\n useEffect(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n let interval = setInterval(() => {\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 6000);\n // }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [domainName]);\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 updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","updateUserWithRedirect","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","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","resetUser","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","checkTokenAction","_checkTokenAction","_callee6","_ref6","_callee6$","_context6","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","token_ls","getItem","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","get","useCallback","replace","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: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => void;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n 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: () => {},\n updateUser: () => {},\n updateUserWithRedirect: () => {},\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 })}/t-get-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 })}/t-update-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 })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, 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 refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\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: getUserFetch.data.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\n// export async function refreshTokenAction({\n// dispatch,\n// domainName,\n// token,\n// }: {\n// dispatch: any;\n// domainName: string;\n// token: string;\n// }) {\n// try {\n// const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n// domainName,\n// token\n// );\n// if (refreshAccessTokenFetch.response.status === 200) {\n// console.log(refreshAccessTokenFetch.data.accessToken);\n// localStorage.removeItem(DAUTH_STATE);\n// localStorage.setItem(\n// DAUTH_STATE,\n// refreshAccessTokenFetch.data.accessToken\n// );\n// return;\n// } else {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// return;\n// }\n// } catch (error) {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// console.log(error);\n// }\n// }\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: any;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: any;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nconst resetUser = (dispatch: any) => {\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\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 useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, domainName]);\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 return action.getAccessTokenAction({ dispatch, domainName });\n // const token_ls = localStorage.getItem(DAUTH_STATE);\n // return token_ls ?? 'token-not-found';\n }, [domainName]);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","updateUserWithRedirect","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","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","resetUser","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","checkTokenAction","_checkTokenAction","_callee6","_ref6","_callee6$","_context6","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","_refreshAccessTokenFe","_callee7$","_context7","getItem","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","get","useCallback","replace","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 y?e:y).prototype),i=new k(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",m="completed",v={};function y(){}function g(){}function w(){}var _={};l(_,u,(function(){return this}));var E=Object.getPrototypeOf,I=E&&E(E(O([])));I&&I!==r&&a.call(I,u)&&(_=I);var S=w.prototype=y.prototype=Object.create(_);function b(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function x(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===m){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=L(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=m,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?m:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=m,n.method="throw",n.arg=s.arg)}}}function L(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,L(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 k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function O(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}},b(x.prototype),l(x.prototype,c,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new x(p(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},b(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=O,k.prototype={constructor:k,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:O(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(){},updateUserWithRedirect:function(){},sev:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){}},c="LOGIN";function s(t,e){var r=e.payload;switch(e.type){case c: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 l=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 p(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return l?e:"https://"+t.domainName+".dauth.ovh/api/v1"}function f(t){var e=window.location.protocol+"//"+window.location.hostname+":5185";return l?e:"https://"+t.domainName+".dauth.ovh"}var 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(p({domainName:e})+"/t-get-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)}}(),d=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(p({domainName:e})+"/t-update-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)}}(),m=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(p({domainName:e})+"/t-resend-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)}}(),v=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(p({domainName:e})+"/t-refresh-access-token/"+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)}}(),y="dauth_state";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:return a=e.dauth_state,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:c,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(y,a));case 12:return t.abrupt("return",localStorage.removeItem(y));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(y),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 w(){return(w=o(n().mark((function t(e){var r,a,o,i,u;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,v(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=19;break}return t.next=9,h(o,a);case 9:if(200!==(u=t.sent).response.status){t.next=16;break}return r({type:c,payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),localStorage.setItem(y,i.data.accessToken),t.abrupt("return");case 16:b(r);case 17:t.next=20;break;case 19:b(r);case 20:t.next=26;break;case 22:t.prev=22,t.t0=t.catch(2),b(r),console.log(t.t0);case 26:return t.prev=26,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(26);case 29:case"end":return t.stop()}}),t,null,[[2,22,26,29]])})))).apply(this,arguments)}function _(){return(_=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:c,payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(y),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function E(){return(E=o(n().mark((function t(e){var r,a,o,i,u;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,d(a,o,i);case 7:if(200!==(u=t.sent).response.status){t.next=12;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:u.data.user}));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 I(){return(I=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,m(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)}function S(){return(S=o(n().mark((function t(e){var r,a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.dispatch,a=e.domainName,o=e.token,t.prev=1,t.next=4,v(a,o);case 4:if(200!==t.sent.response.status){t.next=9;break}return t.abrupt("return");case 9:return t.abrupt("return",b(r));case 10:t.next=16;break;case 12:throw t.prev=12,t.t0=t.catch(1),b(r),t.t0;case 16:case"end":return t.stop()}}),t,null,[[1,12]])})))).apply(this,arguments)}var b=function(t){return localStorage.removeItem(y),t({type:c,payload:{user:{},domain:{},isAuthenticated:!1}})},x=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,c=e.useReducer(s,u),l=c[1],p=c[0];e.useEffect((function(){var t=localStorage.getItem(y),e=setInterval((function(){t&&function(t){S.apply(this,arguments)}({dispatch:l,domainName:n,token:t})}),6e3);return function(){return clearInterval(e)}}),[n]),e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(y);e&&!p.isAuthenticated&&function(t){g.apply(this,arguments)}({dispatch:l,dauth_state:e,domainName:n})}}),[p.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(y);t&&!p.isAuthenticated&&function(t){w.apply(this,arguments)}({dispatch:l,dauth_state_ls:t,domainName:n})}),[p.isAuthenticated,n]);var h=e.useCallback((function(){return window.location.replace(f({domainName:n})+"/t-sign/"+a)}),[n,a]),d=e.useCallback((function(){return function(t){return _.apply(this,arguments)}({dispatch:l})}),[]),m=e.useCallback((function(){var t=localStorage.getItem(y);return null!=t?t:"token-not-found"}),[]),v=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(y);return function(t){return E.apply(this,arguments)}({dispatch:l,domainName:n,user:{name:e,lastname:r,nickname:a,tel_prefix:o,tel_suffix:i,language:u,avatar:c},token:s})}),[n]),b=e.useCallback((function(){var t=localStorage.getItem(y);if(t)return window.location.replace(f({domainName:n})+"/t-update-user/"+a+"/"+t)}),[n,a]),A=e.useCallback((function(){var t=localStorage.getItem(y);if(t)return function(t){return I.apply(this,arguments)}({dispatch:l,domainName:n,token:t})}),[n]),L=e.useMemo((function(){return i({},p,{loginWithRedirect:h,logout:d,getAccessToken:function(){return m()||""},updateUser:v,updateUserWithRedirect:b,sendEmailVerification:A})}),[p,h,d,m,v,b,A]);return r.createElement(x.Provider,{value:L},o)},exports.useDauth=function(){var t=e.useContext(x);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 p(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{p({},"")}catch(t){p=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var a=Object.create((e&&e.prototype instanceof y?e:y).prototype),i=new k(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=l;var h="suspendedStart",d="executing",m="completed",v={};function y(){}function g(){}function w(){}var _={};p(_,u,(function(){return this}));var E=Object.getPrototypeOf,I=E&&E(E(O([])));I&&I!==r&&a.call(I,u)&&(_=I);var b=w.prototype=y.prototype=Object.create(_);function x(t){["next","throw","return"].forEach((function(e){p(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,o,i,u){var c=f(t[n],t,o);if("throw"!==c.type){var s=c.arg,p=s.value;return p&&"object"==typeof p&&a.call(p,"__await")?e.resolve(p.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(p).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===m){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=L(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=m,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?m:"suspendedYield",s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=m,n.method="throw",n.arg=s.arg)}}}function L(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,L(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 k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function O(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(b,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=p(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,p(t,s,"GeneratorFunction")),t.prototype=Object.create(b),t},e.awrap=function(t){return{__await:t}},x(S.prototype),p(S.prototype,c,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new S(l(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},x(b),p(b,s,"Generator"),p(b,u,(function(){return this})),p(b,"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=O,k.prototype={constructor:k,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:O(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(){},updateUser:function(){},updateUserWithRedirect:function(){},sev:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){}},c="LOGIN";function s(t,e){var r=e.payload;switch(e.type){case c: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 p=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 p?e:"https://"+t.domainName+".dauth.ovh/api/v1"}function f(t){var e=window.location.protocol+"//"+window.location.hostname+":5185";return p?e:"https://"+t.domainName+".dauth.ovh"}var 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})+"/t-get-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)}}(),d=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})+"/t-update-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)}}(),m=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})+"/t-resend-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)}}(),v=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})+"/t-refresh-access-token/"+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)}}(),y="dauth_state";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:return a=e.dauth_state,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:c,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(y,a));case 12:return t.abrupt("return",localStorage.removeItem(y));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(y),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 w(){return(w=o(n().mark((function t(e){var r,a,o,i,u;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,v(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=19;break}return t.next=9,h(o,a);case 9:if(200!==(u=t.sent).response.status){t.next=16;break}return r({type:c,payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),localStorage.setItem(y,i.data.accessToken),t.abrupt("return");case 16:S(r);case 17:t.next=20;break;case 19:S(r);case 20:t.next=26;break;case 22:t.prev=22,t.t0=t.catch(2),S(r),console.log(t.t0);case 26:return t.prev=26,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(26);case 29:case"end":return t.stop()}}),t,null,[[2,22,26,29]])})))).apply(this,arguments)}function _(){return(_=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:c,payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(y),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function E(){return(E=o(n().mark((function t(e){var r,a,o,i,u;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,d(a,o,i);case 7:if(200!==(u=t.sent).response.status){t.next=12;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:u.data.user}));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 I(){return(I=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,m(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)}function b(){return(b=o(n().mark((function t(e){var r,a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=e.dispatch,a=e.domainName,o=e.token,t.prev=1,t.next=4,v(a,o);case 4:if(200!==t.sent.response.status){t.next=9;break}return t.abrupt("return");case 9:return t.abrupt("return",S(r));case 10:t.next=16;break;case 12:throw t.prev=12,t.t0=t.catch(1),S(r),t.t0;case 16:case"end":return t.stop()}}),t,null,[[1,12]])})))).apply(this,arguments)}function x(){return(x=o(n().mark((function t(e){var r,a,o,i,u;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,o=localStorage.getItem(y)){t.next=4;break}return t.abrupt("return");case 4:return t.prev=4,t.next=7,v(a,o);case 7:if(200!==(i=t.sent).response.status){t.next=12;break}return t.abrupt("return",null!=(u=i.data.accessToken)?u:o);case 12:return S(r),t.abrupt("return","token-not-found");case 14:t.next=20;break;case 16:throw t.prev=16,t.t0=t.catch(4),S(r),t.t0;case 20:case"end":return t.stop()}}),t,null,[[4,16]])})))).apply(this,arguments)}var S=function(t){return localStorage.removeItem(y),t({type:c,payload:{user:{},domain:{},isAuthenticated:!1}})},A=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,c=e.useReducer(s,u),p=c[1],l=c[0];e.useEffect((function(){if(l.isAuthenticated){var t=setInterval((function(){var t=localStorage.getItem(y);t&&function(t){b.apply(this,arguments)}({dispatch:p,domainName:n,token:t})}),6e4);return function(){return clearInterval(t)}}}),[l.isAuthenticated,n]),e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(y);e&&!l.isAuthenticated&&function(t){g.apply(this,arguments)}({dispatch:p,dauth_state:e,domainName:n})}}),[l.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(y);t&&!l.isAuthenticated&&function(t){w.apply(this,arguments)}({dispatch:p,dauth_state_ls:t,domainName:n})}),[l.isAuthenticated,n]);var h=e.useCallback((function(){return window.location.replace(f({domainName:n})+"/t-sign/"+a)}),[n,a]),d=e.useCallback((function(){return function(t){return _.apply(this,arguments)}({dispatch:p})}),[]),m=e.useCallback((function(){return function(t){return x.apply(this,arguments)}({dispatch:p,domainName:n})}),[n]),v=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(y);return function(t){return E.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]),S=e.useCallback((function(){var t=localStorage.getItem(y);if(t)return window.location.replace(f({domainName:n})+"/t-update-user/"+a+"/"+t)}),[n,a]),L=e.useCallback((function(){var t=localStorage.getItem(y);if(t)return function(t){return I.apply(this,arguments)}({dispatch:p,domainName:n,token:t})}),[n]),N=e.useMemo((function(){return i({},l,{loginWithRedirect:h,logout:d,getAccessToken:function(){return m()||""},updateUser:v,updateUserWithRedirect:S,sendEmailVerification:L})}),[l,h,d,m,v,S,L]);return r.createElement(A.Provider,{value:N},o)},exports.useDauth=function(){var t=e.useContext(A);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.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: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n 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 updateUserWithRedirect: () => {},\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 })}/t-get-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 })}/t-update-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 })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, 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 refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\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: getUserFetch.data.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\n// export async function refreshTokenAction({\n// dispatch,\n// domainName,\n// token,\n// }: {\n// dispatch: any;\n// domainName: string;\n// token: string;\n// }) {\n// try {\n// const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n// domainName,\n// token\n// );\n// if (refreshAccessTokenFetch.response.status === 200) {\n// console.log(refreshAccessTokenFetch.data.accessToken);\n// localStorage.removeItem(DAUTH_STATE);\n// localStorage.setItem(\n// DAUTH_STATE,\n// refreshAccessTokenFetch.data.accessToken\n// );\n// return;\n// } else {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// return;\n// }\n// } catch (error) {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// console.log(error);\n// }\n// }\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: any;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n return resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nconst resetUser = (dispatch: any) => {\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\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 // Refresh access token\n // useEffect(() => {\n // const token_ls = localStorage.getItem(DAUTH_STATE);\n // if (!token_ls) return;\n // action.refreshTokenAction({ dispatch, domainName, token: token_ls });\n // }, [domainName]);\n\n useEffect(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n let interval = setInterval(() => {\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 6000);\n // }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [domainName]);\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 updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","updateUserWithRedirect","sev","status","type","message","sendEmailVerification","LOGIN","userReducer","state","action","payload","DauthTypes","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","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","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","resetUser","_setLogoutAction","_setUpdateUserAction","setAttribute","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_context5","_checkTokenAction","_callee6","_ref6","_context6","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","token_ls","getItem","interval","setInterval","clearInterval","queryString","search","URLSearchParams","get","useCallback","replace","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"+hOA4DA,IAAMA,EAAiC,CACrCC,KAAM,CACJC,SAAUC,OAAOC,SAASC,gBAAgBC,aAAa,SAAW,MAEpEC,OAAQ,GACRC,WAAW,EACXC,iBAAiB,EACjBC,kBAAmB,aACnBC,OAAQ,aACRC,eAAgB,WAAA,OAAMZ,EAAkBY,kBAAoB,IAC5DC,WAAY,aACZC,uBAAwB,aAExBC,IAAK,CACHC,OAAQ,CACNC,KAAM,OACNC,QAAS,iCAEXV,WAAW,GAEbW,sBAAuB,cChFZC,EAAQ,iBCEGC,EAAYC,EAAYC,GAC9C,IAAcC,EAAYD,EAAZC,QAEd,OAF0BD,EAAlBN,MAGN,KAAKQ,EACH,OAAAC,KACKJ,GACHrB,KAAMuB,EAAQvB,KACdM,OAAQiB,EAAQjB,OAChBE,gBAAiBe,EAAQf,kBAG7B,IDb0B,iBCcxB,OAAAiB,KACKJ,GACHd,UAAWgB,EAAQhB,YAGvB,IDlBuB,cCmBrB,OAAAkB,KACKJ,GACHrB,KAAIyB,KACCJ,EAAMrB,KACNuB,KAIT,IDvBF,qCCwBI,OAAAE,KACKJ,GACHP,IAAGW,KACEJ,EAAMP,KACTC,OAAQ,CACNC,KAAMO,EAAQP,KACdC,QAASM,EAAQN,aAKzB,IDrCF,yCCsCI,OAAAQ,KACKJ,GACHP,IAAGW,KACEJ,EAAMP,KACTP,UAAWgB,MAIjB,QACE,OAAOF,GCnDb,IAAMK,EAAcC,QACW,cAA7BzB,OAAO0B,SAASC,UACe,UAA7B3B,OAAO0B,SAASC,UAChB3B,OAAO0B,SAASC,SAASC,MACvB,2EAEF5B,OAAO0B,SAASC,SAASC,MACvB,oEAMUC,EAAiBC,OAEzBC,EAAoB/B,OAAO0B,SAASM,cAAahC,OAAO0B,SAASC,SAA7C3B,eAG1B,OADuBwB,EAAcO,aAJOD,EAAVG,wCAQpBC,EAAiBC,OAEzBC,EAAoBpC,OAAO0B,SAASM,cAAahC,OAAO0B,SAASC,SAA7C3B,QAG1B,OADuBwB,EAAcY,aAJOD,EAAVF,4BClBvBI,aAAU,IAAAP,EAAAQ,EAAAC,IAAAC,MAAG,SAAAC,EACxBR,EACAS,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAQZ,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,iBAAkBT,EAClBU,eAAgB,qBAEnBN,EAAAE,OACsBK,MAClBxB,EAAkB,CAAEI,WAAAA,mBAA4BA,EACnDU,GACD,OAHa,OAARC,EAAQE,EAAAQ,KAAAR,EAAAE,OAIKJ,EAASW,OAAM,OAAxB,OAAAT,EAAAU,gBACH,CAAEZ,SAAAA,EAAUa,KADTX,EAAAQ,OACe,OAAA,UAAA,OAAAR,EAAAY,UAAAjB,OAC1B,gBAjBsBkB,EAAAC,GAAA,OAAA9B,EAAA+B,WAAAC,eAmBVC,aAAa,IAAA5B,EAAAG,EAAAC,IAAAC,MAAG,SAAAwB,EAC3B/B,EACAnC,EACA4C,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAAoB,GAAA,cAAAA,EAAAlB,KAAAkB,EAAAjB,MAAA,OASZ,OAPKL,EAAS,CACbM,OAAQ,QACRC,QAAS,CACPC,iBAAkBT,EAClBU,eAAgB,oBAElBc,KAAMC,KAAKC,UAAUtE,IACtBmE,EAAAjB,OACsBK,MAClBxB,EAAkB,CAAEI,WAAAA,sBAA+BA,EACtDU,GACD,OAHa,OAARC,EAAQqB,EAAAX,KAAAW,EAAAjB,OAIKJ,EAASW,OAAM,OAAxB,OAAAU,EAAAT,gBACH,CAAEZ,SAAAA,EAAUa,KADTQ,EAAAX,OACe,OAAA,UAAA,OAAAW,EAAAP,UAAAM,OAC1B,gBAnByBK,EAAAC,EAAAC,GAAA,OAAApC,EAAA0B,WAAAC,eAqBbU,aAAwB,IAAAC,EAAAnC,EAAAC,IAAAC,MAAG,SAAAkC,EACtCzC,EACAS,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,OAQZ,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,cAAeT,EACfU,eAAgB,qBAEnBuB,EAAA3B,OACsBK,MAClBxB,EAAkB,CACnBI,WAAAA,oCACgCA,EAClCU,GACD,OALa,OAARC,EAAQ+B,EAAArB,KAAAqB,EAAA3B,OAMKJ,EAASW,OAAM,OAAxB,OAAAoB,EAAAnB,gBACH,CAAEZ,SAAAA,EAAUa,KADTkB,EAAArB,OACe,OAAA,UAAA,OAAAqB,EAAAjB,UAAAgB,OAC1B,gBAnBoCE,EAAAC,GAAA,OAAAJ,EAAAZ,WAAAC,eAqBxBgB,aAAqB,IAAAC,EAAAzC,EAAAC,IAAAC,MAAG,SAAAwC,EACnC/C,EACAS,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAAoC,GAAA,cAAAA,EAAAlC,KAAAkC,EAAAjC,MAAA,OAQZ,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,cAAeT,EACfU,eAAgB,qBAEnB6B,EAAAjC,OACsBK,MAClBxB,EAAkB,CACnBI,WAAAA,+BAC2BA,EAC7BU,GACD,OALa,OAARC,EAAQqC,EAAA3B,KAAA2B,EAAAjC,OAMKJ,EAASW,OAAM,OAAxB,OAAA0B,EAAAzB,gBACH,CAAEZ,SAAAA,EAAUa,KADTwB,EAAA3B,OACe,OAAA,UAAA,OAAA2B,EAAAvB,UAAAsB,OAC1B,gBAnBiCE,EAAAC,GAAA,OAAAJ,EAAAlB,WAAAC,eChErBsB,EAAc,cCkD1B,SAAAC,IAAA,OAAAA,EAAA/C,EAAAC,IAAAC,MAnCM,SAAAC,EAAAX,GAAA,IAAAwD,EAAAC,EAAAtD,EAAAuD,EAAA,OAAAjD,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKuE,OAH5EuC,EAAWzD,EAAXyD,YACAtD,EAAUH,EAAVG,YAFAqD,EAAQxD,EAARwD,UAIS,CAAExE,KLnBiB,iBKmBgBO,QAAS,CAAEhB,WAAW,KAAUyC,EAAAC,OAAAD,EAAAE,OAE/CX,EAAWJ,EAAYsD,GAAY,OAA5C,GACmB,OAD/BC,EAAY1C,EAAAQ,MACDV,SAAS/B,QAAciC,EAAAE,QAAA,MAapC,OAZFsC,EAAS,CACPxE,KAAMQ,EACND,QAAS,CACPvB,KAAM0F,EAAa/B,KAAK3D,KACxBM,OAAQoF,EAAa/B,KAAKrD,OAC1BE,iBAAiB,KAGrBN,OAAOyF,QAAQC,aACb,GACAzF,SAAS0F,MACTH,EAAa/B,KAAKrD,OAAOwF,eACzB9C,EAAAU,gBACKqC,aAAaC,QAAQV,EAAaG,IAAY,QAAA,OAAAzC,EAAAU,gBAE9CqC,aAAaE,WAAWX,IAAY,QAAAtC,EAAAE,QAAA,MAAA,QAAAF,EAAAC,QAAAD,EAAAkD,GAAAlD,WAG7C+C,aAAaE,WAAWX,GACxBa,QAAQC,IAAGpD,EAAAkD,IAAQ,QAKhB,OALgBlD,EAAAC,QAEnBuC,EAAS,CACPxE,KL7CwB,iBK8CxBO,QAAS,CAAEhB,WAAW,KACrByC,EAAAqD,WAAA,QAAA,UAAA,OAAArD,EAAAY,UAAAjB,4BAENoB,WAAAC,WAoEA,SAAAsC,IAAA,OAAAA,EAAA9D,EAAAC,IAAAC,MA7DM,SAAAwB,EAAA7B,GAAA,IAAAmD,EAAAe,EAAApE,EAAAqE,EAAAd,EAAA,OAAAjD,IAAAM,eAAAoB,GAAA,cAAAA,EAAAlB,KAAAkB,EAAAjB,MAAA,OAKuE,OAH5EqD,EAAclE,EAAdkE,eACApE,EAAUE,EAAVF,YAFAqD,EAAQnD,EAARmD,UAIS,CAAExE,KL7DiB,iBK6DgBO,QAAS,CAAEhB,WAAW,KAAU4D,EAAAlB,OAAAkB,EAAAjB,OAEpC8B,EACpC7C,EACAoE,GACD,OAH4B,GAImB,OAJ1CC,EAAuBrC,EAAAX,MAIDV,SAAS/B,QAAcoD,EAAAjB,QAAA,MAAA,OAAAiB,EAAAjB,OACtBX,EAAWJ,EAAYoE,GAAe,OAA/C,GACmB,OAD/Bb,EAAYvB,EAAAX,MACDV,SAAS/B,QAAcoD,EAAAjB,QAAA,MAYpC,OAXFsC,EAAS,CACPxE,KAAMQ,EACND,QAAS,CACPvB,KAAM0F,EAAa/B,KAAK3D,KACxBM,OAAQoF,EAAa/B,KAAKrD,OAC1BE,iBAAiB,KAGrBuF,aAAaC,QACXV,EACAkB,EAAwB7C,KAAK8C,aAC7BtC,EAAAT,iBAAA,QAGFgD,EAAUlB,GASV,QAAArB,EAAAjB,QAAA,MAAA,QAGFwD,EAAUlB,GASV,QAAArB,EAAAjB,QAAA,MAAA,QAAAiB,EAAAlB,QAAAkB,EAAA+B,GAAA/B,WAGFuC,EAAUlB,GAEVW,QAAQC,IAAGjC,EAAA+B,IAAQ,QAKhB,OALgB/B,EAAAlB,QAEnBuC,EAAS,CACPxE,KLjHwB,iBKkHxBO,QAAS,CAAEhB,WAAW,KACrB4D,EAAAkC,WAAA,QAAA,UAAA,OAAAlC,EAAAP,UAAAM,4BAENH,WAAAC,WAmBA,SAAA2C,IAAA,OAAAA,EAAAnE,EAAAC,IAAAC,MAjBM,SAAAkC,EAAAD,GAAA,IAAAa,EAAA,OAAA/C,IAAAM,eAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,OAYgC,OAZCsC,EAAQb,EAARa,UAC7B,CAAExE,KLxHiB,iBKwHgBO,QAAS,CAAEhB,WAAW,KAClEiF,EAAS,CACPxE,KAAMQ,EACND,QAAS,CACPvB,KAAM,CACJC,SAAUC,OAAOC,SAASC,gBAAgBC,aAAa,SAAW,MAEpEC,OAAQ,GACRE,iBAAiB,KAGrBuF,aAAaE,WAAWX,GAAaT,EAAAnB,gBAC9B8B,EAAS,CACdxE,KLrI0B,iBKsI1BO,QAAS,CAAEhB,WAAW,MACtB,OAAA,UAAA,OAAAsE,EAAAjB,UAAAgB,QACHb,WAAAC,WAqCA,SAAA4C,IAAA,OAAAA,EAAApE,EAAAC,IAAAC,MA7BM,SAAAwC,EAAAD,GAAA,IAAAO,EAAArD,EAAAnC,EAAA4C,EAAA8C,EAAA,OAAAjD,IAAAM,eAAAoC,GAAA,cAAAA,EAAAlC,KAAAkC,EAAAjC,MAAA,OAQJ,GAPDsC,EAAQP,EAARO,SACArD,EAAU8C,EAAV9C,WAEAS,EAAKqC,EAALrC,OADA5C,EAAIiF,EAAJjF,MAGSC,UACPC,OAAOC,SAASC,gBAAgByG,aAAa,OAAQ7G,EAAKC,UAEvD2C,GAAKuC,EAAAjC,OAAA,MAAA,OAAAiC,EAAAzB,gBACD8B,EAAS,CACdxE,KL1JqB,cK2JrBO,QAASvB,KACT,OAAA,OAAAmF,EAAAlC,OAAAkC,EAAAjC,OAGyBe,EAAc9B,EAAYnC,EAAM4C,GAAM,OAA/C,GACmB,OAD/B8C,EAAYP,EAAA3B,MACDV,SAAS/B,QAAcoE,EAAAjC,QAAA,MAAA,OAAAiC,EAAAzB,gBAC/B8B,EAAS,CACdxE,KLlKmB,cKmKnBO,QAASmE,EAAa/B,KAAK3D,QAC3B,QAE+B,OAAjCmG,QAAQC,IAAI,qBAAqBjB,EAAAzB,iBAAA,QAAAyB,EAAAjC,QAAA,MAAA,QAAAiC,EAAAlC,QAAAkC,EAAAe,GAAAf,WAInCgB,QAAQC,IAAI,oBAAmBjB,EAAAe,IAAS,QAAA,UAAA,OAAAf,EAAAvB,UAAAsB,sBAE3CnB,WAAAC,WAsGD,SAAA8C,IAhDC,OAgDDA,EAAAtE,EAAAC,IAAAC,MA/FO,SAAAqE,EAAAC,GAAA,IAAAxB,EAAArD,EAAAS,EAAAqE,EAAA,OAAAxE,IAAAM,eAAAmE,GAAA,cAAAA,EAAAjE,KAAAiE,EAAAhE,MAAA,OAYF,OAVHf,EAAU6E,EAAV7E,WACAS,EAAKoE,EAALpE,OAFA4C,EAAQwB,EAARxB,UAIS,CACPxE,KLvLF,yCKwLEO,SAAS,IAEXiE,EAAS,CACPxE,KLzLF,qCK0LEO,QAAS,CAAEP,KAAM,OAAQC,QAAS,mCACjCiG,EAAAjE,OAAAiE,EAAAhE,OAE4BwB,EAAyBvC,EAAYS,GAAM,OAApD,GACmB,OADjCqE,EAAcC,EAAA1D,MACDV,SAAS/B,QAAcmG,EAAAhE,QAAA,MAIrC,OAHHsC,EAAS,CACPxE,KLhMN,qCKiMMO,QAAS,CAAEP,KAAM,UAAWC,QAASgG,EAAetD,KAAK1C,WACxDiG,EAAAxD,gBACI8B,EAAS,CACdxE,KLtMN,yCKuMMO,SAAS,KACT,QAKC,OAHHiE,EAAS,CACPxE,KLzMN,qCK0MMO,QAAS,CAAEP,KAAM,QAASC,QAASgG,EAAetD,KAAK1C,WACtDiG,EAAAxD,gBACI8B,EAAS,CACdxE,KL/MN,yCKgNMO,SAAS,KACT,QAAA2F,EAAAhE,QAAA,MAAA,QASD,OATCgE,EAAAjE,QAAAiE,EAAAhB,GAAAgB,WAGJ1B,EAAS,CACPxE,KLnNJ,qCKoNIO,QAAS,CACPP,KAAM,QACNC,QAAS,yCAEViG,EAAAxD,gBACI8B,EAAS,CACdxE,KL5NJ,yCK6NIO,SAAS,KACT,QAAA,UAAA,OAAA2F,EAAAtD,UAAAmD,sBAELhD,WAAAC,WA8FD,SAAAmD,IAHC,OAGDA,EAAA3E,EAAAC,IAAAC,MA5CO,SAAA0E,EAAAC,GAAA,IAAA7B,EAAArD,EAAAS,EAAA,OAAAH,IAAAM,eAAAuE,GAAA,cAAAA,EAAArE,KAAAqE,EAAApE,MAAA,OAGA,OAFLsC,EAAQ6B,EAAR7B,SACArD,EAAUkF,EAAVlF,WACAS,EAAKyE,EAALzE,MAAK0E,EAAArE,OAAAqE,EAAApE,OAOmC8B,EACpC7C,EACAS,GACD,OAH4B,GAImB,MAJnB0E,EAAA9D,KAIDV,SAAS/B,QAAcuG,EAAApE,OAAA,MAAA,OAAAoE,EAAA5D,iBAAA,OAAA,OAAA4D,EAAA5D,gBAG1CgD,EAAUlB,IAAS,QAAA8B,EAAApE,QAAA,MAAA,QAqB5B,MArB4BoE,EAAArE,QAAAqE,EAAApB,GAAAoB,WAY5BZ,EAAUlB,GASV8B,EAAApB,GAAA,QAAA,UAAA,OAAAoB,EAAA1D,UAAAwD,sBAGHrD,WAAAC,WAID,IAAM0C,EAAY,SAAClB,GAEjB,OADAO,aAAaE,WAAWX,GACjBE,EAAS,CACdxE,KAAMQ,EACND,QAAS,CACPvB,KAAM,GACNM,OAAQ,GACRE,iBAAiB,MC7KjB+G,EAAeC,gBAAczH,yBAtIwB,SACzD0H,GAEA,IAAQtF,EAA8BsF,EAA9BtF,WAAYuF,EAAkBD,EAAlBC,IAAKC,EAAaF,EAAbE,SACzBC,EAAuBC,aAAWzG,EAAarB,GAApCyF,EAAQoC,KACbE,EADGF,KAUTG,aAAU,WACR,IAAMC,EAAWjC,aAAakC,QAAQ3C,GAClC4C,EAAWC,aAAY,WACpBH,YD8O2BlD,GAAAqC,EAAApD,WAAAC,WC7OhC1C,CAAwB,CAAEkE,SAAAA,EAAUrD,WAAAA,EAAYS,MAAOoF,MACtD,KAEH,OAAO,WAAA,OAAMI,cAAcF,MAC1B,CAAC/F,IAGJ4F,aAAU,WACR,IAAMM,EAAcnI,OAAO0B,SAAS0G,OACpC,GAAKD,EAAL,CACA,IACM5C,EADY,IAAI8C,gBAAgBF,GACRG,IAAIlD,GAC9BG,IAAgBqC,EAAWtH,0BDtCMqD,GAAA0B,EAAAxB,WAAAC,WCuCnC1C,CAA2B,CAAEkE,SAAAA,EAAUC,YAAAA,EAAatD,WAAAA,OAErD,CAAC2F,EAAWtH,gBAAiB2B,IAGhC4F,aAAU,WACR,IAAMxB,EAAiBR,aAAakC,QAAQ3C,GACxCiB,IAAmBuB,EAAWtH,0BDJEsD,GAAAwC,EAAAvC,WAAAC,WCKlC1C,CAA0B,CAAEkE,SAAAA,EAAUe,eAAAA,EAAgBpE,WAAAA,MAEvD,CAAC2F,EAAWtH,gBAAiB2B,IAEhC,IAAM1B,EAAoBgI,eAAY,WACpC,OAAOvI,OAAO0B,SAAS8G,QAClBtG,EAAkB,CAAED,WAAAA,eAAwBuF,KAEhD,CAACvF,EAAYuF,IAEVhH,EAAS+H,eAAY,WACzB,gBD+CiClE,GAAA,OAAAoC,EAAA5C,WAAAC,WC/C1B1C,CAAuB,CAAEkE,SAAAA,MAC/B,IAEG7E,EAAiB8H,eAAY,WACjC,IAAMT,EAAWjC,aAAakC,QAAQ3C,GACtC,aAAO0C,EAAAA,EAAY,oBAClB,IAEGpH,EAAa6H,eACjB,SAAAzG,OACE2G,EAAI3G,EAAJ2G,KACAC,EAAQ5G,EAAR4G,SACAC,EAAQ7G,EAAR6G,SACAC,EAAU9G,EAAV8G,WACAC,EAAU/G,EAAV+G,WACA9I,EAAQ+B,EAAR/B,SACA+I,EAAMhH,EAANgH,OAEMhB,EAAWjC,aAAakC,QAAQ3C,GAUtC,gBD4CmCd,GAAA,OAAAoC,EAAA7C,WAAAC,WC5C5B1C,CAA2B,CAChCkE,SAAAA,EACArD,WAAAA,EACAnC,KAZW,CACX2I,KAAAA,EACAC,SAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,WAAAA,EACA9I,SAAAA,EACA+I,OAAAA,GAMApG,MAAOoF,MAGX,CAAC7F,IAGGtB,EAAyB4H,eAAY,WACzC,IAAMT,EAAWjC,aAAakC,QAAQ3C,GACtC,GAAK0C,EACL,OAAO9H,OAAO0B,SAAS8G,QAClBtG,EAAkB,CAAED,WAAAA,sBAA+BuF,MAAOM,KAE9D,CAAC7F,EAAYuF,IAEVxG,EAAwBuH,eAAY,WACxC,IAAMT,EAAWjC,aAAakC,QAAQ3C,GACtC,GAAK0C,EACL,gBD2D6CvD,GAAA,OAAAqC,EAAA/C,WAAAC,WC3DtC1C,CAAmC,CACxCkE,SAAAA,EACArD,WAAAA,EACAS,MAAOoF,MAER,CAAC7F,IAEE8G,EAAeC,WACnB,WAAA,OAAAzH,KACKqG,GACHrH,kBAAAA,EACAC,OAAAA,EACAC,eAAgB,WAAA,OAAMA,KAAoB,IAC1CC,WAAAA,EACAC,uBAAAA,EACAK,sBAAAA,MAEF,CACE4G,EACArH,EACAC,EACAC,EACAC,EACAC,EACAK,IAIJ,OACEiI,gBAAC5B,EAAa6B,UAASC,MAAOJ,GAC3BtB,qBAOiB,WACtB,IAAM2B,EAAUC,aAAWhC,GAC3B,IAAK+B,EACH,MAAM,IAAIE,MAAM,8CAElB,OAAOF"}
1
+ {"version":3,"file":"dauth-context-react.cjs.production.min.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: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => void;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n 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: () => {},\n updateUser: () => {},\n updateUserWithRedirect: () => {},\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 })}/t-get-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 })}/t-update-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 })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, 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 refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\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: getUserFetch.data.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\n// export async function refreshTokenAction({\n// dispatch,\n// domainName,\n// token,\n// }: {\n// dispatch: any;\n// domainName: string;\n// token: string;\n// }) {\n// try {\n// const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n// domainName,\n// token\n// );\n// if (refreshAccessTokenFetch.response.status === 200) {\n// console.log(refreshAccessTokenFetch.data.accessToken);\n// localStorage.removeItem(DAUTH_STATE);\n// localStorage.setItem(\n// DAUTH_STATE,\n// refreshAccessTokenFetch.data.accessToken\n// );\n// return;\n// } else {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// return;\n// }\n// } catch (error) {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// console.log(error);\n// }\n// }\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: any;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: any;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nconst resetUser = (dispatch: any) => {\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\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 useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, domainName]);\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 return action.getAccessTokenAction({ dispatch, domainName });\n // const token_ls = localStorage.getItem(DAUTH_STATE);\n // return token_ls ?? 'token-not-found';\n }, [domainName]);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","updateUserWithRedirect","sev","status","type","message","sendEmailVerification","LOGIN","userReducer","state","action","payload","DauthTypes","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getClientBasePath","_ref2","clientLocalUrl","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","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshAccessTokenAPI","_ref4","_callee4","_context4","_x8","_x9","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","resetUser","_setLogoutAction","_setUpdateUserAction","setAttribute","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_context5","_checkTokenAction","_callee6","_ref6","_context6","_getAccessTokenAction","_callee7","_ref7","token_ls","_refreshAccessTokenFe","_context7","getItem","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","URLSearchParams","get","useCallback","replace","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
@@ -355,9 +355,7 @@ var initialDauthState = {
355
355
  isAuthenticated: false,
356
356
  loginWithRedirect: function loginWithRedirect() {},
357
357
  logout: function logout() {},
358
- getAccessToken: function getAccessToken() {
359
- return initialDauthState.getAccessToken() || '';
360
- },
358
+ getAccessToken: function getAccessToken() {},
361
359
  updateUser: function updateUser() {},
362
360
  updateUserWithRedirect: function updateUserWithRedirect() {},
363
361
  // Send email verification
@@ -965,8 +963,6 @@ function _sendEmailVerificationAction() {
965
963
  function checkTokenAction(_x6) {
966
964
  return _checkTokenAction.apply(this, arguments);
967
965
  }
968
- ///////////////////////////////////////////
969
- //////////////////////////////////////////
970
966
  function _checkTokenAction() {
971
967
  _checkTokenAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(_ref6) {
972
968
  var dispatch, domainName, token, refreshAccessTokenFetch;
@@ -993,15 +989,6 @@ function _checkTokenAction() {
993
989
  _context6.prev = 12;
994
990
  _context6.t0 = _context6["catch"](1);
995
991
  resetUser(dispatch);
996
- // dispatch({
997
- // type: DauthTypes.LOGIN,
998
- // payload: {
999
- // user: {} as IDauthUser,
1000
- // domain: {} as IDauthDomainState,
1001
- // isAuthenticated: false,
1002
- // },
1003
- // });
1004
- // localStorage.removeItem(DAUTH_STATE);
1005
992
  throw _context6.t0;
1006
993
  case 16:
1007
994
  case "end":
@@ -1011,6 +998,54 @@ function _checkTokenAction() {
1011
998
  }));
1012
999
  return _checkTokenAction.apply(this, arguments);
1013
1000
  }
1001
+ function getAccessTokenAction(_x7) {
1002
+ return _getAccessTokenAction.apply(this, arguments);
1003
+ }
1004
+ ///////////////////////////////////////////
1005
+ //////////////////////////////////////////
1006
+ function _getAccessTokenAction() {
1007
+ _getAccessTokenAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref7) {
1008
+ var dispatch, domainName, token_ls, refreshAccessTokenFetch, _refreshAccessTokenFe;
1009
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
1010
+ while (1) switch (_context7.prev = _context7.next) {
1011
+ case 0:
1012
+ dispatch = _ref7.dispatch, domainName = _ref7.domainName;
1013
+ token_ls = localStorage.getItem(DAUTH_STATE);
1014
+ if (token_ls) {
1015
+ _context7.next = 4;
1016
+ break;
1017
+ }
1018
+ return _context7.abrupt("return");
1019
+ case 4:
1020
+ _context7.prev = 4;
1021
+ _context7.next = 7;
1022
+ return refreshAccessTokenAPI(domainName, token_ls);
1023
+ case 7:
1024
+ refreshAccessTokenFetch = _context7.sent;
1025
+ if (!(refreshAccessTokenFetch.response.status === 200)) {
1026
+ _context7.next = 12;
1027
+ break;
1028
+ }
1029
+ return _context7.abrupt("return", (_refreshAccessTokenFe = refreshAccessTokenFetch.data.accessToken) != null ? _refreshAccessTokenFe : token_ls);
1030
+ case 12:
1031
+ resetUser(dispatch);
1032
+ return _context7.abrupt("return", 'token-not-found');
1033
+ case 14:
1034
+ _context7.next = 20;
1035
+ break;
1036
+ case 16:
1037
+ _context7.prev = 16;
1038
+ _context7.t0 = _context7["catch"](4);
1039
+ resetUser(dispatch);
1040
+ throw _context7.t0;
1041
+ case 20:
1042
+ case "end":
1043
+ return _context7.stop();
1044
+ }
1045
+ }, _callee7, null, [[4, 16]]);
1046
+ }));
1047
+ return _getAccessTokenAction.apply(this, arguments);
1048
+ }
1014
1049
  var resetUser = function resetUser(dispatch) {
1015
1050
  localStorage.removeItem(DAUTH_STATE);
1016
1051
  return dispatch({
@@ -1031,27 +1066,21 @@ var DauthProvider = function DauthProvider(props) {
1031
1066
  ds = _useReducer[0],
1032
1067
  dispatch = _useReducer[1];
1033
1068
  var dauthState = ds;
1034
- // Refresh access token
1035
- // useEffect(() => {
1036
- // const token_ls = localStorage.getItem(DAUTH_STATE);
1037
- // if (!token_ls) return;
1038
- // action.refreshTokenAction({ dispatch, domainName, token: token_ls });
1039
- // }, [domainName]);
1040
1069
  useEffect(function () {
1041
- var token_ls = localStorage.getItem(DAUTH_STATE);
1070
+ if (!dauthState.isAuthenticated) return;
1042
1071
  var interval = setInterval(function () {
1072
+ var token_ls = localStorage.getItem(DAUTH_STATE);
1043
1073
  if (!token_ls) return;
1044
1074
  checkTokenAction({
1045
1075
  dispatch: dispatch,
1046
1076
  domainName: domainName,
1047
1077
  token: token_ls
1048
1078
  });
1049
- }, 6000);
1050
- // }, 1000 * 60 * 5);
1079
+ }, 1000 * 60);
1051
1080
  return function () {
1052
1081
  return clearInterval(interval);
1053
1082
  };
1054
- }, [domainName]);
1083
+ }, [dauthState.isAuthenticated, domainName]);
1055
1084
  // Catch login redirect
1056
1085
  useEffect(function () {
1057
1086
  var queryString = window.location.search;
@@ -1088,9 +1117,13 @@ var DauthProvider = function DauthProvider(props) {
1088
1117
  });
1089
1118
  }, []);
1090
1119
  var _getAccessToken = useCallback(function () {
1091
- var token_ls = localStorage.getItem(DAUTH_STATE);
1092
- return token_ls != null ? token_ls : 'token-not-found';
1093
- }, []);
1120
+ return getAccessTokenAction({
1121
+ dispatch: dispatch,
1122
+ domainName: domainName
1123
+ });
1124
+ // const token_ls = localStorage.getItem(DAUTH_STATE);
1125
+ // return token_ls ?? 'token-not-found';
1126
+ }, [domainName]);
1094
1127
  var updateUser = useCallback(function (_ref) {
1095
1128
  var name = _ref.name,
1096
1129
  lastname = _ref.lastname,
@@ -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: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n 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 updateUserWithRedirect: () => {},\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 })}/t-get-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 })}/t-update-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 })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, 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 refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\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: getUserFetch.data.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\n// export async function refreshTokenAction({\n// dispatch,\n// domainName,\n// token,\n// }: {\n// dispatch: any;\n// domainName: string;\n// token: string;\n// }) {\n// try {\n// const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n// domainName,\n// token\n// );\n// if (refreshAccessTokenFetch.response.status === 200) {\n// console.log(refreshAccessTokenFetch.data.accessToken);\n// localStorage.removeItem(DAUTH_STATE);\n// localStorage.setItem(\n// DAUTH_STATE,\n// refreshAccessTokenFetch.data.accessToken\n// );\n// return;\n// } else {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// return;\n// }\n// } catch (error) {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// console.log(error);\n// }\n// }\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: any;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n return resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nconst resetUser = (dispatch: any) => {\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\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 // Refresh access token\n // useEffect(() => {\n // const token_ls = localStorage.getItem(DAUTH_STATE);\n // if (!token_ls) return;\n // action.refreshTokenAction({ dispatch, domainName, token: token_ls });\n // }, [domainName]);\n\n useEffect(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n let interval = setInterval(() => {\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 6000);\n // }, 1000 * 60 * 5);\n return () => clearInterval(interval);\n }, [domainName]);\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 updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","updateUserWithRedirect","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","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","resetUser","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","checkTokenAction","_checkTokenAction","_callee6","_ref6","_callee6$","_context6","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","token_ls","getItem","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","get","useCallback","replace","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: {\n id: string;\n url: string;\n };\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\nexport interface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => void;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n updateUserWithRedirect: () => void;\n // Send email verification\n 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: () => {},\n updateUser: () => {},\n updateUserWithRedirect: () => {},\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 })}/t-get-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 })}/t-update-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 })}/t-resend-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/t-refresh-access-token/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n refreshAccessTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport { IDauthDomainState, 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 refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n dauth_state_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(\n DAUTH_STATE,\n refreshAccessTokenFetch.data.accessToken\n );\n return;\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } else {\n resetUser(dispatch);\n // dispatch({\n // type: DauthTypes.LOGIN,\n // payload: {\n // user: {} as IDauthUser,\n // domain: {} as IDauthDomainState,\n // isAuthenticated: false,\n // },\n // });\n // localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n resetUser(dispatch);\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: getUserFetch.data.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\n// export async function refreshTokenAction({\n// dispatch,\n// domainName,\n// token,\n// }: {\n// dispatch: any;\n// domainName: string;\n// token: string;\n// }) {\n// try {\n// const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n// domainName,\n// token\n// );\n// if (refreshAccessTokenFetch.response.status === 200) {\n// console.log(refreshAccessTokenFetch.data.accessToken);\n// localStorage.removeItem(DAUTH_STATE);\n// localStorage.setItem(\n// DAUTH_STATE,\n// refreshAccessTokenFetch.data.accessToken\n// );\n// return;\n// } else {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// return;\n// }\n// } catch (error) {\n// dispatch({\n// type: DauthTypes.LOGIN,\n// payload: {\n// user: {} as IDauthUser,\n// domain: {} as IDauthDomainState,\n// isAuthenticated: false,\n// },\n// });\n// localStorage.removeItem(DAUTH_STATE);\n// console.log(error);\n// }\n// }\n\nexport async function checkTokenAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: any;\n domainName: string;\n token: string;\n}) {\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: any;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n try {\n const refreshAccessTokenFetch = await refreshAccessTokenAPI(\n domainName,\n token_ls\n );\n if (refreshAccessTokenFetch.response.status === 200) {\n return refreshAccessTokenFetch.data.accessToken ?? token_ls;\n } else {\n resetUser(dispatch);\n return 'token-not-found';\n }\n } catch (error) {\n resetUser(dispatch);\n throw error;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nconst resetUser = (dispatch: any) => {\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, {\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 useEffect(() => {\n if (!dauthState.isAuthenticated) return;\n let interval = setInterval(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n action.checkTokenAction({ dispatch, domainName, token: token_ls });\n }, 1000 * 60);\n return () => clearInterval(interval);\n }, [dauthState.isAuthenticated, domainName]);\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 return action.getAccessTokenAction({ dispatch, domainName });\n // const token_ls = localStorage.getItem(DAUTH_STATE);\n // return token_ls ?? 'token-not-found';\n }, [domainName]);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-update-user/${sid}/${token_ls}`\n );\n }, [domainName, sid]);\n\n const sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","updateUserWithRedirect","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","refreshAccessTokenAPI","_ref4","_callee4","_callee4$","_context4","_x8","_x9","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","refreshAccessTokenFetch","accessToken","resetUser","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","checkTokenAction","_checkTokenAction","_callee6","_ref6","_callee6$","_context6","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","_refreshAccessTokenFe","_callee7$","_context7","getItem","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","interval","setInterval","clearInterval","queryString","search","urlParams","URLSearchParams","get","useCallback","replace","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface IDauthState {
31
31
  isAuthenticated: boolean;
32
32
  loginWithRedirect: () => void;
33
33
  logout: () => void;
34
- getAccessToken: () => string;
34
+ getAccessToken: () => void;
35
35
  updateUser: ({ name, lastname, nickname, tel_prefix, tel_suffix, language, avatar, }: Partial<IDauthUser>) => void;
36
36
  updateUserWithRedirect: () => void;
37
37
  sev: {
@@ -32,4 +32,8 @@ export declare function checkTokenAction({ dispatch, domainName, token, }: {
32
32
  domainName: string;
33
33
  token: string;
34
34
  }): Promise<any>;
35
+ export declare function getAccessTokenAction({ dispatch, domainName, }: {
36
+ dispatch: any;
37
+ domainName: string;
38
+ }): Promise<any>;
35
39
  export {};
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.987",
2
+ "version": "0.1.989",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
package/src/index.tsx CHANGED
@@ -28,22 +28,15 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
28
28
  const [ds, dispatch] = useReducer(userReducer, initialDauthState);
29
29
  const dauthState = ds as IDauthState;
30
30
 
31
- // Refresh access token
32
- // useEffect(() => {
33
- // const token_ls = localStorage.getItem(DAUTH_STATE);
34
- // if (!token_ls) return;
35
- // action.refreshTokenAction({ dispatch, domainName, token: token_ls });
36
- // }, [domainName]);
37
-
38
31
  useEffect(() => {
39
- const token_ls = localStorage.getItem(DAUTH_STATE);
32
+ if (!dauthState.isAuthenticated) return;
40
33
  let interval = setInterval(() => {
34
+ const token_ls = localStorage.getItem(DAUTH_STATE);
41
35
  if (!token_ls) return;
42
36
  action.checkTokenAction({ dispatch, domainName, token: token_ls });
43
- }, 6000);
44
- // }, 1000 * 60 * 5);
37
+ }, 1000 * 60);
45
38
  return () => clearInterval(interval);
46
- }, [domainName]);
39
+ }, [dauthState.isAuthenticated, domainName]);
47
40
 
48
41
  // Catch login redirect
49
42
  useEffect(() => {
@@ -75,9 +68,10 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
75
68
  }, []);
76
69
 
77
70
  const getAccessToken = useCallback(() => {
78
- const token_ls = localStorage.getItem(DAUTH_STATE);
79
- return token_ls ?? 'token-not-found';
80
- }, []);
71
+ return action.getAccessTokenAction({ dispatch, domainName });
72
+ // const token_ls = localStorage.getItem(DAUTH_STATE);
73
+ // return token_ls ?? 'token-not-found';
74
+ }, [domainName]);
81
75
 
82
76
  const updateUser = useCallback(
83
77
  ({
@@ -33,7 +33,7 @@ export interface IDauthState {
33
33
  isAuthenticated: boolean;
34
34
  loginWithRedirect: () => void;
35
35
  logout: () => void;
36
- getAccessToken: () => string;
36
+ getAccessToken: () => void;
37
37
  updateUser: ({
38
38
  name,
39
39
  lastname,
@@ -67,7 +67,7 @@ const initialDauthState: IDauthState = {
67
67
  isAuthenticated: false,
68
68
  loginWithRedirect: () => {},
69
69
  logout: () => {},
70
- getAccessToken: () => initialDauthState.getAccessToken() || '',
70
+ getAccessToken: () => {},
71
71
  updateUser: () => {},
72
72
  updateUserWithRedirect: () => {},
73
73
  // Send email verification
@@ -294,27 +294,35 @@ export async function checkTokenAction({
294
294
  return;
295
295
  } else {
296
296
  return resetUser(dispatch);
297
- // dispatch({
298
- // type: DauthTypes.LOGIN,
299
- // payload: {
300
- // user: {} as IDauthUser,
301
- // domain: {} as IDauthDomainState,
302
- // isAuthenticated: false,
303
- // },
304
- // });
305
- // localStorage.removeItem(DAUTH_STATE);
306
297
  }
307
298
  } catch (error) {
308
299
  resetUser(dispatch);
309
- // dispatch({
310
- // type: DauthTypes.LOGIN,
311
- // payload: {
312
- // user: {} as IDauthUser,
313
- // domain: {} as IDauthDomainState,
314
- // isAuthenticated: false,
315
- // },
316
- // });
317
- // localStorage.removeItem(DAUTH_STATE);
300
+ throw error;
301
+ }
302
+ }
303
+
304
+ export async function getAccessTokenAction({
305
+ dispatch,
306
+ domainName,
307
+ }: {
308
+ dispatch: any;
309
+ domainName: string;
310
+ }) {
311
+ const token_ls = localStorage.getItem(DAUTH_STATE);
312
+ if (!token_ls) return;
313
+ try {
314
+ const refreshAccessTokenFetch = await refreshAccessTokenAPI(
315
+ domainName,
316
+ token_ls
317
+ );
318
+ if (refreshAccessTokenFetch.response.status === 200) {
319
+ return refreshAccessTokenFetch.data.accessToken ?? token_ls;
320
+ } else {
321
+ resetUser(dispatch);
322
+ return 'token-not-found';
323
+ }
324
+ } catch (error) {
325
+ resetUser(dispatch);
318
326
  throw error;
319
327
  }
320
328
  }