dauth-context-react 0.1.61 → 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.
- package/dist/api/dauth.api.d.ts +2 -0
- package/dist/dauth-context-react.cjs.development.js +128 -6
- package/dist/dauth-context-react.cjs.development.js.map +1 -1
- package/dist/dauth-context-react.cjs.production.min.js +1 -1
- package/dist/dauth-context-react.cjs.production.min.js.map +1 -1
- package/dist/dauth-context-react.esm.js +128 -6
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/initialDauthState.d.ts +4 -1
- package/dist/reducer/dauth.actions.d.ts +7 -0
- package/dist/reducer/dauth.types.d.ts +1 -0
- package/package.json +1 -1
- package/src/api/dauth.api.ts +22 -0
- package/src/index.tsx +16 -4
- package/src/initialDauthState.ts +4 -2
- package/src/reducer/dauth.actions.ts +41 -1
- package/src/reducer/dauth.reducer.ts +9 -0
- package/src/reducer/dauth.types.ts +1 -0
package/dist/api/dauth.api.d.ts
CHANGED
|
@@ -360,11 +360,15 @@ var initialDauthState = {
|
|
|
360
360
|
isAuthenticated: false,
|
|
361
361
|
loginWithRedirect: function loginWithRedirect() {},
|
|
362
362
|
logout: function logout() {},
|
|
363
|
-
getAccessToken: function getAccessToken() {
|
|
363
|
+
getAccessToken: function getAccessToken() {
|
|
364
|
+
return initialDauthState.getAccessToken() || '';
|
|
365
|
+
},
|
|
366
|
+
updateLanguage: function updateLanguage() {}
|
|
364
367
|
};
|
|
365
368
|
|
|
366
369
|
var LOGIN = 'LOGIN';
|
|
367
370
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
371
|
+
var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
|
|
368
372
|
|
|
369
373
|
function userReducer(state, action) {
|
|
370
374
|
var type = action.type,
|
|
@@ -380,6 +384,12 @@ function userReducer(state, action) {
|
|
|
380
384
|
return _extends({}, state, {
|
|
381
385
|
isLoading: payload.isLoading
|
|
382
386
|
});
|
|
387
|
+
case UPDATE_LANGUAGE:
|
|
388
|
+
return _extends({}, state, {
|
|
389
|
+
user: _extends({}, state.user, {
|
|
390
|
+
language: payload.language
|
|
391
|
+
})
|
|
392
|
+
});
|
|
383
393
|
default:
|
|
384
394
|
return state;
|
|
385
395
|
}
|
|
@@ -442,6 +452,44 @@ var getTenantUserAPI = /*#__PURE__*/function () {
|
|
|
442
452
|
return _ref.apply(this, arguments);
|
|
443
453
|
};
|
|
444
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
|
+
}();
|
|
445
493
|
|
|
446
494
|
var DAUTH_STATE = 'dauth_state';
|
|
447
495
|
|
|
@@ -604,6 +652,66 @@ function _setLogoutAction() {
|
|
|
604
652
|
}));
|
|
605
653
|
return _setLogoutAction.apply(this, arguments);
|
|
606
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
|
+
}
|
|
607
715
|
|
|
608
716
|
var DauthProvider = function DauthProvider(props) {
|
|
609
717
|
var domainName = props.domainName,
|
|
@@ -648,17 +756,31 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
648
756
|
dispatch: dispatch
|
|
649
757
|
});
|
|
650
758
|
}, []);
|
|
651
|
-
var
|
|
652
|
-
var
|
|
653
|
-
return
|
|
759
|
+
var _getAccessToken = React.useCallback(function () {
|
|
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
|
+
});
|
|
654
773
|
}, []);
|
|
655
774
|
var memoProvider = React.useMemo(function () {
|
|
656
775
|
return _extends({}, dauthState, {
|
|
657
776
|
loginWithRedirect: loginWithRedirect,
|
|
658
777
|
logout: logout,
|
|
659
|
-
getAccessToken: getAccessToken
|
|
778
|
+
getAccessToken: function getAccessToken() {
|
|
779
|
+
return _getAccessToken() || '';
|
|
780
|
+
},
|
|
781
|
+
updateLanguage: updateLanguage
|
|
660
782
|
});
|
|
661
|
-
}, [dauthState, loginWithRedirect, logout,
|
|
783
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateLanguage]);
|
|
662
784
|
return React__default.createElement(DauthContext.Provider, {
|
|
663
785
|
value: memoProvider
|
|
664
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: () => void | 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: () => {},\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,\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,IAAMA,iBAAiB,GAAgB;EACrCC,IAAI,EAAE,EAAgB;EACtBC,MAAM,EAAE,EAAuB;EAC/BC,SAAS,EAAE,KAAK;EAChBC,eAAe,EAAE,KAAK;EACtBC,iBAAiB,EAAE,SAAAA,sBAAQ;EAC3BC,MAAM,EAAE,SAAAA,WAAQ;EAChBC,cAAc,EAAE,SAAAA;CACjB;;AC3CM,IAAMC,KAAK,GAAG,OAAO;AAC5B,AAAO,IAAMC,cAAc,GAAG,gBAAgB;;SCCtBC,WAAWA,CAACC,KAAU,EAAEC,MAAW;EACzD,IAAQC,IAAI,GAAcD,MAAM,CAAxBC,IAAI;IAAEC,OAAO,GAAKF,MAAM,CAAlBE,OAAO;EAErB,QAAQD,IAAI;IACV,KAAKE,KAAgB;MACnB,OAAAC,QAAA,KACKL,KAAK;QACRV,IAAI,EAAEa,OAAO,CAACb,IAAI;QAClBC,MAAM,EAAEY,OAAO,CAACZ,MAAM;QACtBE,eAAe,EAAEU,OAAO,CAACV;;IAG7B,KAAKW,cAAyB;MAC5B,OAAAC,QAAA,KACKL,KAAK;QACRR,SAAS,EAAEW,OAAO,CAACX;;IAGvB;MACE,OAAOQ,KAAK;;AAElB;;ACvBA,IAAMM,WAAW,gBAAGC,OAAO,CACzBC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,WAAW,IACtCF,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,OAAO,iBACpCF,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAC5B,wEAAwE,CACzE,iBACDH,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAC5B,wDAAwD,CACzD,CACJ;AACD,AAAO,IAAMC,UAAU,GAAG,IAAI;AAC9B,AAAO,IAAMC,YAAY,GAAG,WAAW;AAEvC,SAAgBC,iBAAiBA,CAAAC,IAAA;MAAGC,UAAU,GAAAD,IAAA,CAAVC,UAAU;EAC5C,IAAMC,UAAU,GAAG,IAAI;EACvB,IAAMC,cAAc,GAAMV,MAAM,CAACC,QAAQ,CAACU,QAAQ,UAAKX,MAAM,CAACC,QAAQ,CAACC,QAAQ,SAAIO,UAAU,aAAQL,UAAY;EACjH,IAAMQ,aAAa,gBAAcJ,UAAU,SAAIH,YAAY,aAAQD,UAAY;EAC/E,IAAMS,cAAc,GAAGf,WAAW,GAAGY,cAAc,GAAGE,aAAa;EACnE,OAAOC,cAAc;AACvB;AAEA,SAAgBC,iBAAiBA,CAAAC,KAAA;MAAGP,UAAU,GAAAO,KAAA,CAAVP,UAAU;EAC5C,IAAMQ,UAAU,GAAG,IAAI;EACvB,IAAMC,cAAc,GAAMjB,MAAM,CAACC,QAAQ,CAACU,QAAQ,UAAKX,MAAM,CAACC,QAAQ,CAACC,QAAQ,SAAIc,UAAY;EAC/F,IAAME,aAAa,gBAAcV,UAAU,SAAIH,YAAc;EAC7D,IAAMc,cAAc,GAAGrB,WAAW,GAAGmB,cAAc,GAAGC,aAAa;EACnE,OAAOC,cAAc;AACvB;;ACzBO,IAAMC,gBAAgB;EAAA,IAAAb,IAAA,gBAAAc,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QAC9BhB,UAAkB,EAClBiB,KAAa;IAAA,IAAAC,MAAA,EAAAC,QAAA,EAAAC,IAAA;IAAA,OAAAN,mBAAA,GAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAEPP,MAAM,GAAG;YACbQ,MAAM,EAAE,KAAK;YACbC,OAAO,EAAE;cACPC,aAAa,OAAKX,KAAO;cACzB,cAAc,EAAE;;WAEnB;UAAAM,QAAA,CAAAE,IAAA;UAAA,OACsBI,KAAK,CACvB/B,iBAAiB,CAAC;YAAEE,UAAU,EAAVA;WAAY,CAAC,yBAAoBA,UAAU,EAClEkB,MAAM,CACP;QAAA;UAHKC,QAAQ,GAAAI,QAAA,CAAAO,IAAA;UAAAP,QAAA,CAAAE,IAAA;UAAA,OAIKN,QAAQ,CAACY,IAAI,EAAE;QAAA;UAA5BX,IAAI,GAAAG,QAAA,CAAAO,IAAA;UAAA,OAAAP,QAAA,CAAAS,MAAA,WACH;YAAEb,QAAQ,EAARA,QAAQ;YAAEC,IAAI,EAAJA;WAAM;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAU,IAAA;;OAAAjB,OAAA;GAC1B;EAAA,gBAjBYJ,gBAAgBA,CAAAsB,EAAA,EAAAC,GAAA;IAAA,OAAApC,IAAA,CAAAqC,KAAA,OAAAC,SAAA;;AAAA,GAiB5B;;ACnBM,IAAMC,WAAW,GAAG,aAAa;;SCSlBC,mBAAmBA,CAAAL,EAAA;EAAA,OAAAM,oBAAA,CAAAJ,KAAA,OAAAC,SAAA;AAAA;AAmCxC,SAAAG;EAAAA,oBAAA,GAAA3B,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAnCM,SAAAC,QAAAjB,IAAA;IAAA,IAAA0C,QAAA,EAAAC,WAAA,EAAA1C,UAAA,EAAA2C,YAAA;IAAA,OAAA7B,mBAAA,GAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACLgB,QAAQ,GAAA1C,IAAA,CAAR0C,QAAQ,EACRC,WAAW,GAAA3C,IAAA,CAAX2C,WAAW,EACX1C,UAAU,GAAAD,IAAA,CAAVC,UAAU;UAEVyC,QAAQ,CAAC;YAAEvD,IAAI,EAAEE,cAAyB;YAAED,OAAO,EAAE;cAAEX,SAAS,EAAE;;WAAQ,CAAC;UAAC+C,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAE/Cb,gBAAgB,CAACZ,UAAU,EAAE0C,WAAW,CAAC;QAAA;UAA9DC,YAAY,GAAApB,QAAA,CAAAO,IAAA;UAAA,MACda,YAAY,CAACxB,QAAQ,CAACyB,MAAM,KAAK,GAAG;YAAArB,QAAA,CAAAE,IAAA;YAAA;;UACtCgB,QAAQ,CAAC;YACPvD,IAAI,EAAEE,KAAgB;YACtBD,OAAO,EAAE;cACPb,IAAI,EAAEqE,YAAY,CAACvB,IAAI,CAAC9C,IAAI;cAC5BC,MAAM,EAAEoE,YAAY,CAACvB,IAAI,CAAC7C,MAAM;cAChCE,eAAe,EAAE;;WAEpB,CAAC;UACFe,MAAM,CAACqD,OAAO,CAACC,YAAY,CACzB,EAAE,EACFC,QAAQ,CAACC,KAAK,EACdL,YAAY,CAACvB,IAAI,CAAC7C,MAAM,CAAC0E,aAAa,CACvC;UAAC,OAAA1B,QAAA,CAAAS,MAAA,WACKkB,YAAY,CAACC,OAAO,CAACb,WAAW,EAAEI,WAAW,CAAC;QAAA;UAAA,OAAAnB,QAAA,CAAAS,MAAA,WAE9CkB,YAAY,CAACE,UAAU,CAACd,WAAW,CAAC;QAAA;UAAAf,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAA8B,EAAA,GAAA9B,QAAA;UAG7C2B,YAAY,CAACE,UAAU,CAACd,WAAW,CAAC;UACpCgB,OAAO,CAACC,GAAG,CAAAhC,QAAA,CAAA8B,EAAM,CAAC;QAAC;UAAA9B,QAAA,CAAAC,IAAA;UAEnBiB,QAAQ,CAAC;YACPvD,IAAI,EAAEE,cAAyB;YAC/BD,OAAO,EAAE;cAAEX,SAAS,EAAE;;WACvB,CAAC;UAAC,OAAA+C,QAAA,CAAAiC,MAAA;QAAA;QAAA;UAAA,OAAAjC,QAAA,CAAAU,IAAA;;OAAAjB,OAAA;GAEN;EAAA,OAAAwB,oBAAA,CAAAJ,KAAA,OAAAC,SAAA;AAAA;AAOD,SAAsBoB,kBAAkBA,CAAAtB,GAAA;EAAA,OAAAuB,mBAAA,CAAAtB,KAAA,OAAAC,SAAA;AAAA;AA8BvC,SAAAqB;EAAAA,mBAAA,GAAA7C,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CA9BM,SAAA4C,SAAApD,KAAA;IAAA,IAAAkC,QAAA,EAAAmB,cAAA,EAAA5D,UAAA,EAAA2C,YAAA;IAAA,OAAA7B,mBAAA,GAAAO,IAAA,UAAAwC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAtC,IAAA,GAAAsC,SAAA,CAAArC,IAAA;QAAA;UACLgB,QAAQ,GAAAlC,KAAA,CAARkC,QAAQ,EACRmB,cAAc,GAAArD,KAAA,CAAdqD,cAAc,EACd5D,UAAU,GAAAO,KAAA,CAAVP,UAAU;UAEVyC,QAAQ,CAAC;YAAEvD,IAAI,EAAEE,cAAyB;YAAED,OAAO,EAAE;cAAEX,SAAS,EAAE;;WAAQ,CAAC;UAACsF,SAAA,CAAAtC,IAAA;UAAAsC,SAAA,CAAArC,IAAA;UAAA,OAE/Cb,gBAAgB,CAACZ,UAAU,EAAE4D,cAAc,CAAC;QAAA;UAAjEjB,YAAY,GAAAmB,SAAA,CAAAhC,IAAA;UAClB,IAAIa,YAAY,CAACxB,QAAQ,CAACyB,MAAM,KAAK,GAAG,EAAE;YACxCH,QAAQ,CAAC;cACPvD,IAAI,EAAEE,KAAgB;cACtBD,OAAO,EAAE;gBACPb,IAAI,EAAEqE,YAAY,CAACvB,IAAI,CAAC9C,IAAI;gBAC5BC,MAAM,EAAEoE,YAAY,CAACvB,IAAI,CAAC7C,MAAM;gBAChCE,eAAe,EAAE;;aAEpB,CAAC;YACFyE,YAAY,CAACC,OAAO,CAACb,WAAW,EAAEsB,cAAc,CAAC;WAClD,MAAM;YACLV,YAAY,CAACE,UAAU,CAACd,WAAW,CAAC;;UACrCwB,SAAA,CAAArC,IAAA;UAAA;QAAA;UAAAqC,SAAA,CAAAtC,IAAA;UAAAsC,SAAA,CAAAT,EAAA,GAAAS,SAAA;UAEDZ,YAAY,CAACE,UAAU,CAACd,WAAW,CAAC;UACpCgB,OAAO,CAACC,GAAG,CAAAO,SAAA,CAAAT,EAAM,CAAC;QAAC;UAAAS,SAAA,CAAAtC,IAAA;UAEnBiB,QAAQ,CAAC;YACPvD,IAAI,EAAEE,cAAyB;YAC/BD,OAAO,EAAE;cAAEX,SAAS,EAAE;;WACvB,CAAC;UAAC,OAAAsF,SAAA,CAAAN,MAAA;QAAA;QAAA;UAAA,OAAAM,SAAA,CAAA7B,IAAA;;OAAA0B,QAAA;GAEN;EAAA,OAAAD,mBAAA,CAAAtB,KAAA,OAAAC,SAAA;AAAA;AAED,SAAsB0B,eAAeA,CAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAA7B,KAAA,OAAAC,SAAA;AAAA;AAepC,SAAA4B;EAAAA,gBAAA,GAAApD,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAfM,SAAAmD,SAAAC,KAAA;IAAA,IAAA1B,QAAA;IAAA,OAAA3B,mBAAA,GAAAO,IAAA,UAAA+C,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA7C,IAAA,GAAA6C,SAAA,CAAA5C,IAAA;QAAA;UAAiCgB,QAAQ,GAAA0B,KAAA,CAAR1B,QAAQ;UAC9CA,QAAQ,CAAC;YAAEvD,IAAI,EAAEE,cAAyB;YAAED,OAAO,EAAE;cAAEX,SAAS,EAAE;;WAAQ,CAAC;UAC3EiE,QAAQ,CAAC;YACPvD,IAAI,EAAEE,KAAgB;YACtBD,OAAO,EAAE;cACPb,IAAI,EAAE,EAAE;cACRC,MAAM,EAAE,EAAE;cACVE,eAAe,EAAE;;WAEpB,CAAC;UACFyE,YAAY,CAACE,UAAU,CAACd,WAAW,CAAC;UAAC,OAAA+B,SAAA,CAAArC,MAAA,WAC9BS,QAAQ,CAAC;YACdvD,IAAI,EAAEE,cAAyB;YAC/BD,OAAO,EAAE;cAAEX,SAAS,EAAE;;WACvB,CAAC;QAAA;QAAA;UAAA,OAAA6F,SAAA,CAAApC,IAAA;;OAAAiC,QAAA;GACH;EAAA,OAAAD,gBAAA,CAAA7B,KAAA,OAAAC,SAAA;AAAA;;IC9EYiC,aAAa,GAAiC,SAA9CA,aAAaA,CACxBC,KAAyB;EAEzB,IAAQvE,UAAU,GAAoBuE,KAAK,CAAnCvE,UAAU;IAAEwE,GAAG,GAAeD,KAAK,CAAvBC,GAAG;IAAEC,QAAQ,GAAKF,KAAK,CAAlBE,QAAQ;EACjC,IAAAC,WAAA,GAAuBC,gBAAU,CAAC5F,WAAW,EAAEV,iBAAiB,CAAC;IAA1DuG,EAAE,GAAAF,WAAA;IAAEjC,QAAQ,GAAAiC,WAAA;EACnB,IAAMG,UAAU,GAAGD,EAAiB;;EAGpCE,eAAS,CAAC;IACR,IAAMC,WAAW,GAAGvF,MAAM,CAACC,QAAQ,CAACuF,MAAM;IAC1C,IAAI,CAACD,WAAW,EAAE;IAClB,IAAME,SAAS,GAAG,IAAIC,eAAe,CAACH,WAAW,CAAC;IAClD,IAAMrC,WAAW,GAAGuC,SAAS,CAACE,GAAG,CAAC7C,WAAW,CAAC;IAC9C,IAAII,WAAW,IAAI,CAACmC,UAAU,CAACpG,eAAe,EAAE;MAC9CQ,mBAA0B,CAAC;QAAEwD,QAAQ,EAARA,QAAQ;QAAEC,WAAW,EAAXA,WAAW;QAAE1C,UAAU,EAAVA;OAAY,CAAC;;GAEpE,EAAE,CAAC6E,UAAU,CAACpG,eAAe,EAAEuB,UAAU,CAAC,CAAC;;EAG5C8E,eAAS,CAAC;IACR,IAAMlB,cAAc,GAAGV,YAAY,CAACkC,OAAO,CAAC9C,WAAW,CAAC;IACxD,IAAIsB,cAAc,IAAI,CAACiB,UAAU,CAACpG,eAAe,EAAE;MACjDQ,kBAAyB,CAAC;QAAEwD,QAAQ,EAARA,QAAQ;QAAEmB,cAAc,EAAdA,cAAc;QAAE5D,UAAU,EAAVA;OAAY,CAAC;;GAEtE,EAAE,CAAC6E,UAAU,CAACpG,eAAe,EAAEuB,UAAU,CAAC,CAAC;EAE5C,IAAMtB,iBAAiB,GAAG2G,iBAAW,CAAC;IACpC,OAAO7F,MAAM,CAACC,QAAQ,CAAC6F,OAAO,CACzBhF,iBAAiB,CAAC;MAAEN,UAAU,EAAVA;KAAY,CAAC,gBAAWwE,GAAK,CACrD;GACF,EAAE,CAACxE,UAAU,EAAEwE,GAAG,CAAC,CAAC;EAErB,IAAM7F,MAAM,GAAG0G,iBAAW,CAAC;IACzB,OAAOpG,eAAsB,CAAC;MAAEwD,QAAQ,EAARA;KAAU,CAAC;GAC5C,EAAE,EAAE,CAAC;EAEN,IAAM7D,cAAc,GAAGyG,iBAAW,CAAC;IACjC,IAAMzB,cAAc,GAAGV,YAAY,CAACkC,OAAO,CAAC9C,WAAW,CAAC;IACxD,OAAOsB,cAAc;GACtB,EAAE,EAAE,CAAC;EAEN,IAAM2B,YAAY,GAAGC,aAAO,CAC1B;IAAA,OAAAnG,QAAA,KACKwF,UAAU;MACbnG,iBAAiB,EAAjBA,iBAAiB;MACjBC,MAAM,EAANA,MAAM;MACNC,cAAc,EAAdA;;GACA,EACF,CAACiG,UAAU,EAAEnG,iBAAiB,EAAEC,MAAM,EAAEC,cAAc,CAAC,CACxD;EAED,OACE6G,6BAACC,YAAY,CAACC,QAAQ;IAACC,KAAK,EAAEL;KAC3Bd,QAAQ,CACa;AAE5B,CAAC;AAED,IAAMiB,YAAY,gBAAGG,mBAAa,CAACxH,iBAAiB,CAAC;AAErD,IAAayH,QAAQ,GAAG,SAAXA,QAAQA;EACnB,IAAMC,OAAO,GAAGC,gBAAU,CAACN,YAAY,CAAC;EACxC,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,4CAA4C,CAAC;;EAE/D,OAAOF,OAAO;AAChB,CAAC;;;;;"}
|
|
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 j(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(k([])));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 j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function k(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=k,j.prototype={constructor:j,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:k(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(){}};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: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: () => void | 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: () => {},\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,\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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"}
|
|
@@ -353,11 +353,15 @@ var initialDauthState = {
|
|
|
353
353
|
isAuthenticated: false,
|
|
354
354
|
loginWithRedirect: function loginWithRedirect() {},
|
|
355
355
|
logout: function logout() {},
|
|
356
|
-
getAccessToken: function getAccessToken() {
|
|
356
|
+
getAccessToken: function getAccessToken() {
|
|
357
|
+
return initialDauthState.getAccessToken() || '';
|
|
358
|
+
},
|
|
359
|
+
updateLanguage: function updateLanguage() {}
|
|
357
360
|
};
|
|
358
361
|
|
|
359
362
|
var LOGIN = 'LOGIN';
|
|
360
363
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
364
|
+
var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
|
|
361
365
|
|
|
362
366
|
function userReducer(state, action) {
|
|
363
367
|
var type = action.type,
|
|
@@ -373,6 +377,12 @@ function userReducer(state, action) {
|
|
|
373
377
|
return _extends({}, state, {
|
|
374
378
|
isLoading: payload.isLoading
|
|
375
379
|
});
|
|
380
|
+
case UPDATE_LANGUAGE:
|
|
381
|
+
return _extends({}, state, {
|
|
382
|
+
user: _extends({}, state.user, {
|
|
383
|
+
language: payload.language
|
|
384
|
+
})
|
|
385
|
+
});
|
|
376
386
|
default:
|
|
377
387
|
return state;
|
|
378
388
|
}
|
|
@@ -435,6 +445,44 @@ var getTenantUserAPI = /*#__PURE__*/function () {
|
|
|
435
445
|
return _ref.apply(this, arguments);
|
|
436
446
|
};
|
|
437
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
|
+
}();
|
|
438
486
|
|
|
439
487
|
var DAUTH_STATE = 'dauth_state';
|
|
440
488
|
|
|
@@ -597,6 +645,66 @@ function _setLogoutAction() {
|
|
|
597
645
|
}));
|
|
598
646
|
return _setLogoutAction.apply(this, arguments);
|
|
599
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
|
+
}
|
|
600
708
|
|
|
601
709
|
var DauthProvider = function DauthProvider(props) {
|
|
602
710
|
var domainName = props.domainName,
|
|
@@ -641,17 +749,31 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
641
749
|
dispatch: dispatch
|
|
642
750
|
});
|
|
643
751
|
}, []);
|
|
644
|
-
var
|
|
645
|
-
var
|
|
646
|
-
return
|
|
752
|
+
var _getAccessToken = useCallback(function () {
|
|
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
|
+
});
|
|
647
766
|
}, []);
|
|
648
767
|
var memoProvider = useMemo(function () {
|
|
649
768
|
return _extends({}, dauthState, {
|
|
650
769
|
loginWithRedirect: loginWithRedirect,
|
|
651
770
|
logout: logout,
|
|
652
|
-
getAccessToken: getAccessToken
|
|
771
|
+
getAccessToken: function getAccessToken() {
|
|
772
|
+
return _getAccessToken() || '';
|
|
773
|
+
},
|
|
774
|
+
updateLanguage: updateLanguage
|
|
653
775
|
});
|
|
654
|
-
}, [dauthState, loginWithRedirect, logout,
|
|
776
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateLanguage]);
|
|
655
777
|
return React.createElement(DauthContext.Provider, {
|
|
656
778
|
value: memoProvider
|
|
657
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: () => void | 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: () => {},\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,\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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"}
|
|
@@ -28,7 +28,10 @@ export interface IDauthState {
|
|
|
28
28
|
isAuthenticated: boolean;
|
|
29
29
|
loginWithRedirect: () => void;
|
|
30
30
|
logout: () => void;
|
|
31
|
-
getAccessToken: () =>
|
|
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 {};
|
package/package.json
CHANGED
package/src/api/dauth.api.ts
CHANGED
|
@@ -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
|
|
59
|
-
return
|
|
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,
|
|
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 (
|
package/src/initialDauthState.ts
CHANGED
|
@@ -30,7 +30,8 @@ export interface IDauthState {
|
|
|
30
30
|
isAuthenticated: boolean;
|
|
31
31
|
loginWithRedirect: () => void;
|
|
32
32
|
logout: () => void;
|
|
33
|
-
getAccessToken: () =>
|
|
33
|
+
getAccessToken: () => string;
|
|
34
|
+
updateLanguage: ({ language }: { language: string }) => void;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
const initialDauthState: IDauthState = {
|
|
@@ -40,7 +41,8 @@ const initialDauthState: IDauthState = {
|
|
|
40
41
|
isAuthenticated: false,
|
|
41
42
|
loginWithRedirect: () => {},
|
|
42
43
|
logout: () => {},
|
|
43
|
-
getAccessToken: () =>
|
|
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
|
}
|