dauth-context-react 0.1.62 → 0.1.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,3 @@
1
+ import { IDauthUser } from '../initialDauthState';
1
2
  export declare const getTenantUserAPI: (domainName: string, token: string) => Promise<any>;
3
+ export declare const updateTenantUserAPI: (domainName: string, user: Partial<IDauthUser>, token: string) => Promise<any>;
@@ -362,11 +362,13 @@ var initialDauthState = {
362
362
  logout: function logout() {},
363
363
  getAccessToken: function getAccessToken() {
364
364
  return initialDauthState.getAccessToken() || '';
365
- }
365
+ },
366
+ updateLanguage: function updateLanguage() {}
366
367
  };
367
368
 
368
369
  var LOGIN = 'LOGIN';
369
370
  var SET_IS_LOADING = 'SET_IS_LOADING';
371
+ var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
370
372
 
371
373
  function userReducer(state, action) {
372
374
  var type = action.type,
@@ -382,6 +384,12 @@ function userReducer(state, action) {
382
384
  return _extends({}, state, {
383
385
  isLoading: payload.isLoading
384
386
  });
387
+ case UPDATE_LANGUAGE:
388
+ return _extends({}, state, {
389
+ user: _extends({}, state.user, {
390
+ language: payload.language
391
+ })
392
+ });
385
393
  default:
386
394
  return state;
387
395
  }
@@ -444,6 +452,44 @@ var getTenantUserAPI = /*#__PURE__*/function () {
444
452
  return _ref.apply(this, arguments);
445
453
  };
446
454
  }();
455
+ var updateTenantUserAPI = /*#__PURE__*/function () {
456
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(domainName, user, token) {
457
+ var params, response, data;
458
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
459
+ while (1) switch (_context2.prev = _context2.next) {
460
+ case 0:
461
+ params = {
462
+ method: 'PATCH',
463
+ headers: {
464
+ Authorization: "" + token,
465
+ 'Content-Type': 'application/json'
466
+ },
467
+ body: JSON.stringify(user)
468
+ };
469
+ _context2.next = 3;
470
+ return fetch(getServerBasePath({
471
+ domainName: domainName
472
+ }) + "/update-tenant-user/" + domainName, params);
473
+ case 3:
474
+ response = _context2.sent;
475
+ _context2.next = 6;
476
+ return response.json();
477
+ case 6:
478
+ data = _context2.sent;
479
+ return _context2.abrupt("return", {
480
+ response: response,
481
+ data: data
482
+ });
483
+ case 8:
484
+ case "end":
485
+ return _context2.stop();
486
+ }
487
+ }, _callee2);
488
+ }));
489
+ return function updateTenantUserAPI(_x3, _x4, _x5) {
490
+ return _ref2.apply(this, arguments);
491
+ };
492
+ }();
447
493
 
448
494
  var DAUTH_STATE = 'dauth_state';
449
495
 
@@ -606,6 +652,66 @@ function _setLogoutAction() {
606
652
  }));
607
653
  return _setLogoutAction.apply(this, arguments);
608
654
  }
655
+ function setUpdateLanguageAction(_x4) {
656
+ return _setUpdateLanguageAction.apply(this, arguments);
657
+ }
658
+ function _setUpdateLanguageAction() {
659
+ _setUpdateLanguageAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4) {
660
+ var dispatch, domainName, language, token, getUserFetch;
661
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
662
+ while (1) switch (_context4.prev = _context4.next) {
663
+ case 0:
664
+ dispatch = _ref4.dispatch, domainName = _ref4.domainName, language = _ref4.language, token = _ref4.token;
665
+ dispatch({
666
+ type: SET_IS_LOADING,
667
+ payload: {
668
+ isLoading: true
669
+ }
670
+ });
671
+ _context4.prev = 2;
672
+ _context4.next = 5;
673
+ return updateTenantUserAPI(domainName, {
674
+ language: language
675
+ }, token);
676
+ case 5:
677
+ getUserFetch = _context4.sent;
678
+ if (!(getUserFetch.response.status === 200)) {
679
+ _context4.next = 10;
680
+ break;
681
+ }
682
+ return _context4.abrupt("return", dispatch({
683
+ type: UPDATE_LANGUAGE,
684
+ payload: {
685
+ language: language
686
+ }
687
+ }));
688
+ case 10:
689
+ console.log('Change language error');
690
+ return _context4.abrupt("return");
691
+ case 12:
692
+ _context4.next = 17;
693
+ break;
694
+ case 14:
695
+ _context4.prev = 14;
696
+ _context4.t0 = _context4["catch"](2);
697
+ console.log('Change language error', _context4.t0);
698
+ case 17:
699
+ _context4.prev = 17;
700
+ dispatch({
701
+ type: SET_IS_LOADING,
702
+ payload: {
703
+ isLoading: false
704
+ }
705
+ });
706
+ return _context4.finish(17);
707
+ case 20:
708
+ case "end":
709
+ return _context4.stop();
710
+ }
711
+ }, _callee4, null, [[2, 14, 17, 20]]);
712
+ }));
713
+ return _setUpdateLanguageAction.apply(this, arguments);
714
+ }
609
715
 
610
716
  var DauthProvider = function DauthProvider(props) {
611
717
  var domainName = props.domainName,
@@ -651,8 +757,19 @@ var DauthProvider = function DauthProvider(props) {
651
757
  });
652
758
  }, []);
653
759
  var _getAccessToken = React.useCallback(function () {
654
- var dauth_state_ls = localStorage.getItem(DAUTH_STATE);
655
- return dauth_state_ls;
760
+ var token_ls = localStorage.getItem(DAUTH_STATE);
761
+ return token_ls != null ? token_ls : 'token-not-found';
762
+ }, []);
763
+ var updateLanguage = React.useCallback(function (_ref) {
764
+ var language = _ref.language;
765
+ var token_ls = localStorage.getItem(DAUTH_STATE);
766
+ if (!token_ls || !language) return;
767
+ return setUpdateLanguageAction({
768
+ dispatch: dispatch,
769
+ domainName: domainName,
770
+ language: language,
771
+ token: token_ls
772
+ });
656
773
  }, []);
657
774
  var memoProvider = React.useMemo(function () {
658
775
  return _extends({}, dauthState, {
@@ -660,9 +777,10 @@ var DauthProvider = function DauthProvider(props) {
660
777
  logout: logout,
661
778
  getAccessToken: function getAccessToken() {
662
779
  return _getAccessToken() || '';
663
- }
780
+ },
781
+ updateLanguage: updateLanguage
664
782
  });
665
- }, [dauthState, loginWithRedirect, logout, _getAccessToken]);
783
+ }, [dauthState, loginWithRedirect, logout, _getAccessToken, updateLanguage]);
666
784
  return React__default.createElement(DauthContext.Provider, {
667
785
  value: memoProvider
668
786
  }, children);
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\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 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 { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\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 getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '', // Ensure the return type is always a string\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","LOGIN","SET_IS_LOADING","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_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","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","_callee2","dauth_state_ls","_callee2$","_context2","setLogoutAction","_x3","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateLanguage: ({ language }: { language: string }) => void;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateLanguage: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';\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_LANGUAGE:\n return {\n ...state,\n user: {\n ...state.user,\n language: payload.language,\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 getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateTenantUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\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 getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n 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 TSetUpdateLanguageAction = {\n dispatch: any;\n domainName: string;\n language: string;\n token: string;\n};\nexport async function setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token,\n}: TSetUpdateLanguageAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(\n domainName,\n { language: language },\n token\n );\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: {\n language: language,\n },\n });\n } else {\n console.log('Change language error');\n return;\n }\n } catch (error) {\n console.log('Change language error', error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateLanguage = useCallback(({ language }: { language: string }) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n return action.setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token: token_ls,\n });\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateLanguage,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateLanguage]\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","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","LOGIN","SET_IS_LOADING","UPDATE_LANGUAGE","userReducer","state","action","type","payload","DauthTypes","_extends","language","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_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","updateTenantUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","setUpdateLanguageAction","_setUpdateLanguageAction","_callee4","_ref4","_callee4$","_context4","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","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,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=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 h(t,e,r,n){var o=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new k(n||[]);return a(o,"_invoke",{value:I(t,r,i)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var p="suspendedStart",d="executing",v="completed",y={};function m(){}function g(){}function w(){}var L={};l(L,c,(function(){return this}));var b=Object.getPrototypeOf,x=b&&b(b(j([])));x&&x!==r&&o.call(x,c)&&(L=x);var _=w.prototype=m.prototype=Object.create(L);function E(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,a,i,c){var u=f(t[n],t,a);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&o.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,c)}))}c(u.arg)}var n;a(this,"_invoke",{value:function(t,o){function a(){return new e((function(e,n){r(t,o,e,n)}))}return n=n?n.then(a,a):a()}})}function I(e,r,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var u=O(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.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,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}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 A(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 j(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n<e.length;)if(o.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,a(_,"constructor",{value:w,configurable:!0}),a(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(_),t},e.awrap=function(t){return{__await:t}},E(S.prototype),l(S.prototype,u,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new S(h(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(_),l(_,s,"Generator"),l(_,c,(function(){return this})),l(_,"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=j,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(A),!e)for(var r in this)"t"===r.charAt(0)&&o.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,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=o.call(i,"catchLoc"),s=o.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){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&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,y):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),y},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),A(r),y}},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 o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:j(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function o(t,e,r,n,o,a,i){try{var c=t[a](i),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,a){var i=t.apply(e,r);function c(t){o(i,n,a,c,u,"next",t)}function u(t){o(i,n,a,c,u,"throw",t)}c(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 c={user:{},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return c.getAccessToken()||""}};function u(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var h=function(){var t=a(n().mark((function t(e,r){var o,a;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/get-tenant-user/"+e,o);case 3:return a=t.sent,t.next=6,a.json();case 6:return t.abrupt("return",{response:a,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f="dauth_state";function p(){return(p=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(f,o));case 12:return t.abrupt("return",localStorage.removeItem(f));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(f),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 d(){return(d=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state_ls,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(f,o)):localStorage.removeItem(f),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(f),console.log(t.t0);case 13:return t.prev=13,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function v(){return(v=a(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}}),localStorage.removeItem(f),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var y=e.createContext(c);exports.DauthProvider=function(t){var n=t.domainName,o=t.sid,a=t.children,l=e.useReducer(u,c),h=l[1],m=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(f);e&&!m.isAuthenticated&&function(t){p.apply(this,arguments)}({dispatch:h,dauth_state:e,domainName:n})}}),[m.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(f);t&&!m.isAuthenticated&&function(t){d.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:n})}),[m.isAuthenticated,n]);var g=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+o));var t}),[n,o]),w=e.useCallback((function(){return function(t){return v.apply(this,arguments)}({dispatch:h})}),[]),L=e.useCallback((function(){return localStorage.getItem(f)}),[]),b=e.useMemo((function(){return i({},m,{loginWithRedirect:g,logout:w,getAccessToken:function(){return L()||""}})}),[m,g,w,L]);return r.createElement(y.Provider,{value:b},a)},exports.useDauth=function(){var t=e.useContext(y);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,a=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var a=Object.create((e&&e.prototype instanceof g?e:g).prototype),i=new S(n||[]);return o(a,"_invoke",{value:N(t,r,i)}),a}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var f="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var b={};l(b,u,(function(){return this}));var L=Object.getPrototypeOf,x=L&&L(L(I([])));x&&x!==r&&a.call(x,u)&&(b=x);var E=w.prototype=g.prototype=Object.create(b);function k(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,e){function r(n,o,i,u){var c=p(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 N(e,r,n){var a=f;return function(o,i){if(a===d)throw new Error("Generator is already running");if(a===v){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=A(u,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===f)throw a=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var s=p(e,r,n);if("normal"===s.type){if(a=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=v,n.method="throw",n.arg=s.arg)}}}function A(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,A(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var o=p(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;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,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function O(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 j(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function I(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 m.prototype=w,o(E,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:m,configurable:!0}),m.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"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(E),t},e.awrap=function(t){return{__await:t}},k(_.prototype),l(_.prototype,c,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new _(h(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},k(E),l(E,s,"Generator"),l(E,u,(function(){return this})),l(E,"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=I,S.prototype={constructor:S,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(j),!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,y):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),y},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),j(r),y}},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;j(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:I(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},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:{},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return u.getAccessToken()||""},updateLanguage:function(){}},c="SET_IS_LOADING";function s(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case c:return i({},t,{isLoading:r.isLoading});case"UPDATE_LANGUAGE":return i({},t,{user:i({},t.user,{language:r.language})});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 h(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return l?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var p=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(h({domainName:e})+"/get-tenant-user/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f=function(){var t=o(n().mark((function t(e,r,a){var o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"PATCH",headers:{Authorization:""+a,"Content-Type":"application/json"},body:JSON.stringify(r)},t.next=3,fetch(h({domainName:e})+"/update-tenant-user/"+e,o);case 3:return i=t.sent,t.next=6,i.json();case 6:return t.abrupt("return",{response:i,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),d="dauth_state";function v(){return(v=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state,o=e.domainName,(r=e.dispatch)({type:c,payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(d,a));case 12:return t.abrupt("return",localStorage.removeItem(d));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 19:return t.prev=19,r({type:c,payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function y(){return(y=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state_ls,o=e.domainName,(r=e.dispatch)({type:c,payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(d,a)):localStorage.removeItem(d),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 13:return t.prev=13,r({type:c,payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function g(){return(g=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:c,payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}}),localStorage.removeItem(d),t.abrupt("return",r({type:c,payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function m(){return(m=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.language,i=e.token,(r=e.dispatch)({type:c,payload:{isLoading:!0}}),t.prev=2,t.next=5,f(a,{language:o},i);case 5:if(200!==t.sent.response.status){t.next=10;break}return t.abrupt("return",r({type:"UPDATE_LANGUAGE",payload:{language:o}}));case 10:return console.log("Change language error"),t.abrupt("return");case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(2),console.log("Change language error",t.t0);case 17:return t.prev=17,r({type:c,payload:{isLoading:!1}}),t.finish(17);case 20:case"end":return t.stop()}}),t,null,[[2,14,17,20]])})))).apply(this,arguments)}var w=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,c=e.useReducer(s,u),h=c[1],p=c[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(d);e&&!p.isAuthenticated&&function(t){v.apply(this,arguments)}({dispatch:h,dauth_state:e,domainName:n})}}),[p.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(d);t&&!p.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:n})}),[p.isAuthenticated,n]);var f=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(l?t:"https://"+n+".dauth.ovh")+"/t-sign/"+a));var t}),[n,a]),b=e.useCallback((function(){return function(t){return g.apply(this,arguments)}({dispatch:h})}),[]),L=e.useCallback((function(){var t=localStorage.getItem(d);return null!=t?t:"token-not-found"}),[]),x=e.useCallback((function(t){var e=t.language,r=localStorage.getItem(d);if(r&&e)return function(t){return m.apply(this,arguments)}({dispatch:h,domainName:n,language:e,token:r})}),[]),E=e.useMemo((function(){return i({},p,{loginWithRedirect:f,logout:b,getAccessToken:function(){return L()||""},updateLanguage:x})}),[p,f,b,L,x]);return r.createElement(w.Provider,{value:E},o)},exports.useDauth=function(){var t=e.useContext(w);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
2
2
  //# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n};\n\nexport default initialDauthState;\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\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 { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\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 getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '', // Ensure the return type is always a string\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","userReducer","state","action","payload","type","_extends","isLocalhost","Boolean","window","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getTenantUserAPI","_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","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","_callee2","_ref2","dauth_state_ls","_context2","_setLogoutAction","_callee3","_ref3","_context3","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","_x3","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateLanguage: ({ language }: { language: string }) => void;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateLanguage: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';\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_LANGUAGE:\n return {\n ...state,\n user: {\n ...state.user,\n language: payload.language,\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 getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateTenantUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\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 getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n 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 TSetUpdateLanguageAction = {\n dispatch: any;\n domainName: string;\n language: string;\n token: string;\n};\nexport async function setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token,\n}: TSetUpdateLanguageAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(\n domainName,\n { language: language },\n token\n );\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: {\n language: language,\n },\n });\n } else {\n console.log('Change language error');\n return;\n }\n } catch (error) {\n console.log('Change language error', error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateLanguage = useCallback(({ language }: { language: string }) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n return action.setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token: token_ls,\n });\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateLanguage,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateLanguage]\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","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","SET_IS_LOADING","userReducer","state","action","payload","type","_extends","DauthTypes","language","isLocalhost","Boolean","window","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getTenantUserAPI","_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","updateTenantUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","_setLogoutAction","_callee3","_ref3","_context3","_setUpdateLanguageAction","_callee4","_ref4","_context4","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","token_ls","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
@@ -355,11 +355,13 @@ var initialDauthState = {
355
355
  logout: function logout() {},
356
356
  getAccessToken: function getAccessToken() {
357
357
  return initialDauthState.getAccessToken() || '';
358
- }
358
+ },
359
+ updateLanguage: function updateLanguage() {}
359
360
  };
360
361
 
361
362
  var LOGIN = 'LOGIN';
362
363
  var SET_IS_LOADING = 'SET_IS_LOADING';
364
+ var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
363
365
 
364
366
  function userReducer(state, action) {
365
367
  var type = action.type,
@@ -375,6 +377,12 @@ function userReducer(state, action) {
375
377
  return _extends({}, state, {
376
378
  isLoading: payload.isLoading
377
379
  });
380
+ case UPDATE_LANGUAGE:
381
+ return _extends({}, state, {
382
+ user: _extends({}, state.user, {
383
+ language: payload.language
384
+ })
385
+ });
378
386
  default:
379
387
  return state;
380
388
  }
@@ -437,6 +445,44 @@ var getTenantUserAPI = /*#__PURE__*/function () {
437
445
  return _ref.apply(this, arguments);
438
446
  };
439
447
  }();
448
+ var updateTenantUserAPI = /*#__PURE__*/function () {
449
+ var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(domainName, user, token) {
450
+ var params, response, data;
451
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
452
+ while (1) switch (_context2.prev = _context2.next) {
453
+ case 0:
454
+ params = {
455
+ method: 'PATCH',
456
+ headers: {
457
+ Authorization: "" + token,
458
+ 'Content-Type': 'application/json'
459
+ },
460
+ body: JSON.stringify(user)
461
+ };
462
+ _context2.next = 3;
463
+ return fetch(getServerBasePath({
464
+ domainName: domainName
465
+ }) + "/update-tenant-user/" + domainName, params);
466
+ case 3:
467
+ response = _context2.sent;
468
+ _context2.next = 6;
469
+ return response.json();
470
+ case 6:
471
+ data = _context2.sent;
472
+ return _context2.abrupt("return", {
473
+ response: response,
474
+ data: data
475
+ });
476
+ case 8:
477
+ case "end":
478
+ return _context2.stop();
479
+ }
480
+ }, _callee2);
481
+ }));
482
+ return function updateTenantUserAPI(_x3, _x4, _x5) {
483
+ return _ref2.apply(this, arguments);
484
+ };
485
+ }();
440
486
 
441
487
  var DAUTH_STATE = 'dauth_state';
442
488
 
@@ -599,6 +645,66 @@ function _setLogoutAction() {
599
645
  }));
600
646
  return _setLogoutAction.apply(this, arguments);
601
647
  }
648
+ function setUpdateLanguageAction(_x4) {
649
+ return _setUpdateLanguageAction.apply(this, arguments);
650
+ }
651
+ function _setUpdateLanguageAction() {
652
+ _setUpdateLanguageAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4) {
653
+ var dispatch, domainName, language, token, getUserFetch;
654
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
655
+ while (1) switch (_context4.prev = _context4.next) {
656
+ case 0:
657
+ dispatch = _ref4.dispatch, domainName = _ref4.domainName, language = _ref4.language, token = _ref4.token;
658
+ dispatch({
659
+ type: SET_IS_LOADING,
660
+ payload: {
661
+ isLoading: true
662
+ }
663
+ });
664
+ _context4.prev = 2;
665
+ _context4.next = 5;
666
+ return updateTenantUserAPI(domainName, {
667
+ language: language
668
+ }, token);
669
+ case 5:
670
+ getUserFetch = _context4.sent;
671
+ if (!(getUserFetch.response.status === 200)) {
672
+ _context4.next = 10;
673
+ break;
674
+ }
675
+ return _context4.abrupt("return", dispatch({
676
+ type: UPDATE_LANGUAGE,
677
+ payload: {
678
+ language: language
679
+ }
680
+ }));
681
+ case 10:
682
+ console.log('Change language error');
683
+ return _context4.abrupt("return");
684
+ case 12:
685
+ _context4.next = 17;
686
+ break;
687
+ case 14:
688
+ _context4.prev = 14;
689
+ _context4.t0 = _context4["catch"](2);
690
+ console.log('Change language error', _context4.t0);
691
+ case 17:
692
+ _context4.prev = 17;
693
+ dispatch({
694
+ type: SET_IS_LOADING,
695
+ payload: {
696
+ isLoading: false
697
+ }
698
+ });
699
+ return _context4.finish(17);
700
+ case 20:
701
+ case "end":
702
+ return _context4.stop();
703
+ }
704
+ }, _callee4, null, [[2, 14, 17, 20]]);
705
+ }));
706
+ return _setUpdateLanguageAction.apply(this, arguments);
707
+ }
602
708
 
603
709
  var DauthProvider = function DauthProvider(props) {
604
710
  var domainName = props.domainName,
@@ -644,8 +750,19 @@ var DauthProvider = function DauthProvider(props) {
644
750
  });
645
751
  }, []);
646
752
  var _getAccessToken = useCallback(function () {
647
- var dauth_state_ls = localStorage.getItem(DAUTH_STATE);
648
- return dauth_state_ls;
753
+ var token_ls = localStorage.getItem(DAUTH_STATE);
754
+ return token_ls != null ? token_ls : 'token-not-found';
755
+ }, []);
756
+ var updateLanguage = useCallback(function (_ref) {
757
+ var language = _ref.language;
758
+ var token_ls = localStorage.getItem(DAUTH_STATE);
759
+ if (!token_ls || !language) return;
760
+ return setUpdateLanguageAction({
761
+ dispatch: dispatch,
762
+ domainName: domainName,
763
+ language: language,
764
+ token: token_ls
765
+ });
649
766
  }, []);
650
767
  var memoProvider = useMemo(function () {
651
768
  return _extends({}, dauthState, {
@@ -653,9 +770,10 @@ var DauthProvider = function DauthProvider(props) {
653
770
  logout: logout,
654
771
  getAccessToken: function getAccessToken() {
655
772
  return _getAccessToken() || '';
656
- }
773
+ },
774
+ updateLanguage: updateLanguage
657
775
  });
658
- }, [dauthState, loginWithRedirect, logout, _getAccessToken]);
776
+ }, [dauthState, loginWithRedirect, logout, _getAccessToken, updateLanguage]);
659
777
  return React.createElement(DauthContext.Provider, {
660
778
  value: memoProvider
661
779
  }, children);
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\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 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 { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\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 getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n 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","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '', // Ensure the return type is always a string\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\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","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","LOGIN","SET_IS_LOADING","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_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","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","_callee2","dauth_state_ls","_callee2$","_context2","setLogoutAction","_x3","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
1
+ {"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateLanguage: ({ language }: { language: string }) => void;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateLanguage: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';\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_LANGUAGE:\n return {\n ...state,\n user: {\n ...state.user,\n language: payload.language,\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 getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateTenantUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\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 getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n 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 TSetUpdateLanguageAction = {\n dispatch: any;\n domainName: string;\n language: string;\n token: string;\n};\nexport async function setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token,\n}: TSetUpdateLanguageAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(\n domainName,\n { language: language },\n token\n );\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: {\n language: language,\n },\n });\n } else {\n console.log('Change language error');\n return;\n }\n } catch (error) {\n console.log('Change language error', error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateLanguage = useCallback(({ language }: { language: string }) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n return action.setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token: token_ls,\n });\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateLanguage,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateLanguage]\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","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","LOGIN","SET_IS_LOADING","UPDATE_LANGUAGE","userReducer","state","action","type","payload","DauthTypes","_extends","language","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_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","updateTenantUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","setUpdateLanguageAction","_setUpdateLanguageAction","_callee4","_ref4","_callee4$","_context4","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
@@ -29,6 +29,9 @@ export interface IDauthState {
29
29
  loginWithRedirect: () => void;
30
30
  logout: () => void;
31
31
  getAccessToken: () => string;
32
+ updateLanguage: ({ language }: {
33
+ language: string;
34
+ }) => void;
32
35
  }
33
36
  declare const initialDauthState: IDauthState;
34
37
  export default initialDauthState;
@@ -13,4 +13,11 @@ export declare function setAutoLoginAction({ dispatch, dauth_state_ls, domainNam
13
13
  export declare function setLogoutAction({ dispatch }: {
14
14
  dispatch: any;
15
15
  }): Promise<any>;
16
+ declare type TSetUpdateLanguageAction = {
17
+ dispatch: any;
18
+ domainName: string;
19
+ language: string;
20
+ token: string;
21
+ };
22
+ export declare function setUpdateLanguageAction({ dispatch, domainName, language, token, }: TSetUpdateLanguageAction): Promise<any>;
16
23
  export {};
@@ -1,2 +1,3 @@
1
1
  export declare const LOGIN = "LOGIN";
2
2
  export declare const SET_IS_LOADING = "SET_IS_LOADING";
3
+ export declare const UPDATE_LANGUAGE = "UPDATE_LANGUAGE";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.62",
2
+ "version": "0.1.63",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -1,3 +1,4 @@
1
+ import { IDauthUser } from '../initialDauthState';
1
2
  import { getServerBasePath } from './utils/config';
2
3
 
3
4
  export const getTenantUserAPI = async (
@@ -18,3 +19,24 @@ export const getTenantUserAPI = async (
18
19
  const data = await response.json();
19
20
  return { response, data };
20
21
  };
22
+
23
+ export const updateTenantUserAPI = async (
24
+ domainName: string,
25
+ user: Partial<IDauthUser>,
26
+ token: string
27
+ ): Promise<any> => {
28
+ const params = {
29
+ method: 'PATCH',
30
+ headers: {
31
+ Authorization: `${token}`,
32
+ 'Content-Type': 'application/json',
33
+ },
34
+ body: JSON.stringify(user),
35
+ };
36
+ const response = await fetch(
37
+ `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,
38
+ params
39
+ );
40
+ const data = await response.json();
41
+ return { response, data };
42
+ };
package/src/index.tsx CHANGED
@@ -55,8 +55,19 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
55
55
  }, []);
56
56
 
57
57
  const getAccessToken = useCallback(() => {
58
- const dauth_state_ls = localStorage.getItem(DAUTH_STATE);
59
- return dauth_state_ls;
58
+ const token_ls = localStorage.getItem(DAUTH_STATE);
59
+ return token_ls ?? 'token-not-found';
60
+ }, []);
61
+
62
+ const updateLanguage = useCallback(({ language }: { language: string }) => {
63
+ const token_ls = localStorage.getItem(DAUTH_STATE);
64
+ if (!token_ls || !language) return;
65
+ return action.setUpdateLanguageAction({
66
+ dispatch,
67
+ domainName,
68
+ language,
69
+ token: token_ls,
70
+ });
60
71
  }, []);
61
72
 
62
73
  const memoProvider = useMemo(
@@ -64,9 +75,10 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
64
75
  ...dauthState,
65
76
  loginWithRedirect,
66
77
  logout,
67
- getAccessToken: () => getAccessToken() || '', // Ensure the return type is always a string
78
+ getAccessToken: () => getAccessToken() || '',
79
+ updateLanguage,
68
80
  }),
69
- [dauthState, loginWithRedirect, logout, getAccessToken]
81
+ [dauthState, loginWithRedirect, logout, getAccessToken, updateLanguage]
70
82
  );
71
83
 
72
84
  return (
@@ -31,6 +31,7 @@ export interface IDauthState {
31
31
  loginWithRedirect: () => void;
32
32
  logout: () => void;
33
33
  getAccessToken: () => string;
34
+ updateLanguage: ({ language }: { language: string }) => void;
34
35
  }
35
36
 
36
37
  const initialDauthState: IDauthState = {
@@ -41,6 +42,7 @@ const initialDauthState: IDauthState = {
41
42
  loginWithRedirect: () => {},
42
43
  logout: () => {},
43
44
  getAccessToken: () => initialDauthState.getAccessToken() || '',
45
+ updateLanguage: () => {},
44
46
  };
45
47
 
46
48
  export default initialDauthState;
@@ -1,4 +1,4 @@
1
- import { getTenantUserAPI } from '../api/dauth.api';
1
+ import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';
2
2
  import { DAUTH_STATE } from '../constants';
3
3
  import * as DauthTypes from './dauth.types';
4
4
 
@@ -97,3 +97,43 @@ export async function setLogoutAction({ dispatch }: { dispatch: any }) {
97
97
  payload: { isLoading: false },
98
98
  });
99
99
  }
100
+
101
+ type TSetUpdateLanguageAction = {
102
+ dispatch: any;
103
+ domainName: string;
104
+ language: string;
105
+ token: string;
106
+ };
107
+ export async function setUpdateLanguageAction({
108
+ dispatch,
109
+ domainName,
110
+ language,
111
+ token,
112
+ }: TSetUpdateLanguageAction) {
113
+ dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });
114
+ try {
115
+ const getUserFetch = await updateTenantUserAPI(
116
+ domainName,
117
+ { language: language },
118
+ token
119
+ );
120
+ if (getUserFetch.response.status === 200) {
121
+ return dispatch({
122
+ type: DauthTypes.UPDATE_LANGUAGE,
123
+ payload: {
124
+ language: language,
125
+ },
126
+ });
127
+ } else {
128
+ console.log('Change language error');
129
+ return;
130
+ }
131
+ } catch (error) {
132
+ console.log('Change language error', error);
133
+ } finally {
134
+ dispatch({
135
+ type: DauthTypes.SET_IS_LOADING,
136
+ payload: { isLoading: false },
137
+ });
138
+ }
139
+ }
@@ -18,6 +18,15 @@ export default function userReducer(state: any, action: any) {
18
18
  isLoading: payload.isLoading,
19
19
  };
20
20
 
21
+ case DauthTypes.UPDATE_LANGUAGE:
22
+ return {
23
+ ...state,
24
+ user: {
25
+ ...state.user,
26
+ language: payload.language,
27
+ },
28
+ };
29
+
21
30
  default:
22
31
  return state;
23
32
  }
@@ -1,2 +1,3 @@
1
1
  export const LOGIN = 'LOGIN';
2
2
  export const SET_IS_LOADING = 'SET_IS_LOADING';
3
+ export const UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';