dauth-context-react 0.1.62 → 0.1.64
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 +212 -5
- 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 +212 -5
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/initialDauthState.d.ts +4 -0
- package/dist/reducer/dauth.actions.d.ts +15 -0
- package/dist/reducer/dauth.types.d.ts +2 -0
- package/package.json +1 -1
- package/src/api/dauth.api.ts +22 -0
- package/src/index.tsx +62 -5
- package/src/initialDauthState.ts +13 -0
- package/src/reducer/dauth.actions.ts +76 -1
- package/src/reducer/dauth.reducer.ts +18 -0
- package/src/reducer/dauth.types.ts +2 -0
package/dist/api/dauth.api.d.ts
CHANGED
|
@@ -362,11 +362,15 @@ var initialDauthState = {
|
|
|
362
362
|
logout: function logout() {},
|
|
363
363
|
getAccessToken: function getAccessToken() {
|
|
364
364
|
return initialDauthState.getAccessToken() || '';
|
|
365
|
-
}
|
|
365
|
+
},
|
|
366
|
+
updateLanguage: function updateLanguage() {},
|
|
367
|
+
updateUser: function updateUser() {}
|
|
366
368
|
};
|
|
367
369
|
|
|
368
370
|
var LOGIN = 'LOGIN';
|
|
369
371
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
372
|
+
var UPDATE_USER = 'UPDATE_USER';
|
|
373
|
+
var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
|
|
370
374
|
|
|
371
375
|
function userReducer(state, action) {
|
|
372
376
|
var type = action.type,
|
|
@@ -382,6 +386,16 @@ function userReducer(state, action) {
|
|
|
382
386
|
return _extends({}, state, {
|
|
383
387
|
isLoading: payload.isLoading
|
|
384
388
|
});
|
|
389
|
+
case UPDATE_LANGUAGE:
|
|
390
|
+
return _extends({}, state, {
|
|
391
|
+
user: _extends({}, state.user, {
|
|
392
|
+
language: payload.language
|
|
393
|
+
})
|
|
394
|
+
});
|
|
395
|
+
case UPDATE_USER:
|
|
396
|
+
return _extends({}, state, {
|
|
397
|
+
user: _extends({}, state.user, payload)
|
|
398
|
+
});
|
|
385
399
|
default:
|
|
386
400
|
return state;
|
|
387
401
|
}
|
|
@@ -444,6 +458,44 @@ var getTenantUserAPI = /*#__PURE__*/function () {
|
|
|
444
458
|
return _ref.apply(this, arguments);
|
|
445
459
|
};
|
|
446
460
|
}();
|
|
461
|
+
var updateTenantUserAPI = /*#__PURE__*/function () {
|
|
462
|
+
var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(domainName, user, token) {
|
|
463
|
+
var params, response, data;
|
|
464
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
465
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
466
|
+
case 0:
|
|
467
|
+
params = {
|
|
468
|
+
method: 'PATCH',
|
|
469
|
+
headers: {
|
|
470
|
+
Authorization: "" + token,
|
|
471
|
+
'Content-Type': 'application/json'
|
|
472
|
+
},
|
|
473
|
+
body: JSON.stringify(user)
|
|
474
|
+
};
|
|
475
|
+
_context2.next = 3;
|
|
476
|
+
return fetch(getServerBasePath({
|
|
477
|
+
domainName: domainName
|
|
478
|
+
}) + "/update-tenant-user/" + domainName, params);
|
|
479
|
+
case 3:
|
|
480
|
+
response = _context2.sent;
|
|
481
|
+
_context2.next = 6;
|
|
482
|
+
return response.json();
|
|
483
|
+
case 6:
|
|
484
|
+
data = _context2.sent;
|
|
485
|
+
return _context2.abrupt("return", {
|
|
486
|
+
response: response,
|
|
487
|
+
data: data
|
|
488
|
+
});
|
|
489
|
+
case 8:
|
|
490
|
+
case "end":
|
|
491
|
+
return _context2.stop();
|
|
492
|
+
}
|
|
493
|
+
}, _callee2);
|
|
494
|
+
}));
|
|
495
|
+
return function updateTenantUserAPI(_x3, _x4, _x5) {
|
|
496
|
+
return _ref2.apply(this, arguments);
|
|
497
|
+
};
|
|
498
|
+
}();
|
|
447
499
|
|
|
448
500
|
var DAUTH_STATE = 'dauth_state';
|
|
449
501
|
|
|
@@ -606,6 +658,122 @@ function _setLogoutAction() {
|
|
|
606
658
|
}));
|
|
607
659
|
return _setLogoutAction.apply(this, arguments);
|
|
608
660
|
}
|
|
661
|
+
function setUpdateLanguageAction(_x4) {
|
|
662
|
+
return _setUpdateLanguageAction.apply(this, arguments);
|
|
663
|
+
}
|
|
664
|
+
function _setUpdateLanguageAction() {
|
|
665
|
+
_setUpdateLanguageAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4) {
|
|
666
|
+
var dispatch, domainName, language, token, getUserFetch;
|
|
667
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
668
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
669
|
+
case 0:
|
|
670
|
+
dispatch = _ref4.dispatch, domainName = _ref4.domainName, language = _ref4.language, token = _ref4.token;
|
|
671
|
+
dispatch({
|
|
672
|
+
type: SET_IS_LOADING,
|
|
673
|
+
payload: {
|
|
674
|
+
isLoading: true
|
|
675
|
+
}
|
|
676
|
+
});
|
|
677
|
+
_context4.prev = 2;
|
|
678
|
+
_context4.next = 5;
|
|
679
|
+
return updateTenantUserAPI(domainName, {
|
|
680
|
+
language: language
|
|
681
|
+
}, token);
|
|
682
|
+
case 5:
|
|
683
|
+
getUserFetch = _context4.sent;
|
|
684
|
+
if (!(getUserFetch.response.status === 200)) {
|
|
685
|
+
_context4.next = 10;
|
|
686
|
+
break;
|
|
687
|
+
}
|
|
688
|
+
return _context4.abrupt("return", dispatch({
|
|
689
|
+
type: UPDATE_LANGUAGE,
|
|
690
|
+
payload: {
|
|
691
|
+
language: language
|
|
692
|
+
}
|
|
693
|
+
}));
|
|
694
|
+
case 10:
|
|
695
|
+
console.log('Change language error');
|
|
696
|
+
return _context4.abrupt("return");
|
|
697
|
+
case 12:
|
|
698
|
+
_context4.next = 17;
|
|
699
|
+
break;
|
|
700
|
+
case 14:
|
|
701
|
+
_context4.prev = 14;
|
|
702
|
+
_context4.t0 = _context4["catch"](2);
|
|
703
|
+
console.log('Change language error', _context4.t0);
|
|
704
|
+
case 17:
|
|
705
|
+
_context4.prev = 17;
|
|
706
|
+
dispatch({
|
|
707
|
+
type: SET_IS_LOADING,
|
|
708
|
+
payload: {
|
|
709
|
+
isLoading: false
|
|
710
|
+
}
|
|
711
|
+
});
|
|
712
|
+
return _context4.finish(17);
|
|
713
|
+
case 20:
|
|
714
|
+
case "end":
|
|
715
|
+
return _context4.stop();
|
|
716
|
+
}
|
|
717
|
+
}, _callee4, null, [[2, 14, 17, 20]]);
|
|
718
|
+
}));
|
|
719
|
+
return _setUpdateLanguageAction.apply(this, arguments);
|
|
720
|
+
}
|
|
721
|
+
function setUpdateUserAction(_x5) {
|
|
722
|
+
return _setUpdateUserAction.apply(this, arguments);
|
|
723
|
+
}
|
|
724
|
+
function _setUpdateUserAction() {
|
|
725
|
+
_setUpdateUserAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5) {
|
|
726
|
+
var dispatch, domainName, user, token, getUserFetch;
|
|
727
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
728
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
729
|
+
case 0:
|
|
730
|
+
dispatch = _ref5.dispatch, domainName = _ref5.domainName, user = _ref5.user, token = _ref5.token;
|
|
731
|
+
dispatch({
|
|
732
|
+
type: SET_IS_LOADING,
|
|
733
|
+
payload: {
|
|
734
|
+
isLoading: true
|
|
735
|
+
}
|
|
736
|
+
});
|
|
737
|
+
_context5.prev = 2;
|
|
738
|
+
_context5.next = 5;
|
|
739
|
+
return updateTenantUserAPI(domainName, user, token);
|
|
740
|
+
case 5:
|
|
741
|
+
getUserFetch = _context5.sent;
|
|
742
|
+
if (!(getUserFetch.response.status === 200)) {
|
|
743
|
+
_context5.next = 10;
|
|
744
|
+
break;
|
|
745
|
+
}
|
|
746
|
+
return _context5.abrupt("return", dispatch({
|
|
747
|
+
type: UPDATE_LANGUAGE,
|
|
748
|
+
payload: user
|
|
749
|
+
}));
|
|
750
|
+
case 10:
|
|
751
|
+
console.log('Update user error');
|
|
752
|
+
return _context5.abrupt("return");
|
|
753
|
+
case 12:
|
|
754
|
+
_context5.next = 17;
|
|
755
|
+
break;
|
|
756
|
+
case 14:
|
|
757
|
+
_context5.prev = 14;
|
|
758
|
+
_context5.t0 = _context5["catch"](2);
|
|
759
|
+
console.log('Update user error', _context5.t0);
|
|
760
|
+
case 17:
|
|
761
|
+
_context5.prev = 17;
|
|
762
|
+
dispatch({
|
|
763
|
+
type: SET_IS_LOADING,
|
|
764
|
+
payload: {
|
|
765
|
+
isLoading: false
|
|
766
|
+
}
|
|
767
|
+
});
|
|
768
|
+
return _context5.finish(17);
|
|
769
|
+
case 20:
|
|
770
|
+
case "end":
|
|
771
|
+
return _context5.stop();
|
|
772
|
+
}
|
|
773
|
+
}, _callee5, null, [[2, 14, 17, 20]]);
|
|
774
|
+
}));
|
|
775
|
+
return _setUpdateUserAction.apply(this, arguments);
|
|
776
|
+
}
|
|
609
777
|
|
|
610
778
|
var DauthProvider = function DauthProvider(props) {
|
|
611
779
|
var domainName = props.domainName,
|
|
@@ -651,18 +819,57 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
651
819
|
});
|
|
652
820
|
}, []);
|
|
653
821
|
var _getAccessToken = React.useCallback(function () {
|
|
654
|
-
var
|
|
655
|
-
return
|
|
822
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
823
|
+
return token_ls != null ? token_ls : 'token-not-found';
|
|
656
824
|
}, []);
|
|
825
|
+
var updateUser = React.useCallback(function (_ref) {
|
|
826
|
+
var name = _ref.name,
|
|
827
|
+
lastname = _ref.lastname,
|
|
828
|
+
nickname = _ref.nickname,
|
|
829
|
+
tel_prefix = _ref.tel_prefix,
|
|
830
|
+
tel_suffix = _ref.tel_suffix,
|
|
831
|
+
language = _ref.language,
|
|
832
|
+
avatar = _ref.avatar;
|
|
833
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
834
|
+
if (!token_ls || !language) return;
|
|
835
|
+
var user = {
|
|
836
|
+
name: name,
|
|
837
|
+
lastname: lastname,
|
|
838
|
+
nickname: nickname,
|
|
839
|
+
tel_prefix: tel_prefix,
|
|
840
|
+
tel_suffix: tel_suffix,
|
|
841
|
+
language: language,
|
|
842
|
+
avatar: avatar
|
|
843
|
+
};
|
|
844
|
+
return setUpdateUserAction({
|
|
845
|
+
dispatch: dispatch,
|
|
846
|
+
domainName: domainName,
|
|
847
|
+
user: user,
|
|
848
|
+
token: token_ls
|
|
849
|
+
});
|
|
850
|
+
}, [domainName]);
|
|
851
|
+
var updateLanguage = React.useCallback(function (_ref2) {
|
|
852
|
+
var language = _ref2.language;
|
|
853
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
854
|
+
if (!token_ls || !language) return;
|
|
855
|
+
return setUpdateLanguageAction({
|
|
856
|
+
dispatch: dispatch,
|
|
857
|
+
domainName: domainName,
|
|
858
|
+
language: language,
|
|
859
|
+
token: token_ls
|
|
860
|
+
});
|
|
861
|
+
}, [domainName]);
|
|
657
862
|
var memoProvider = React.useMemo(function () {
|
|
658
863
|
return _extends({}, dauthState, {
|
|
659
864
|
loginWithRedirect: loginWithRedirect,
|
|
660
865
|
logout: logout,
|
|
661
866
|
getAccessToken: function getAccessToken() {
|
|
662
867
|
return _getAccessToken() || '';
|
|
663
|
-
}
|
|
868
|
+
},
|
|
869
|
+
updateUser: updateUser,
|
|
870
|
+
updateLanguage: updateLanguage
|
|
664
871
|
});
|
|
665
|
-
}, [dauthState, loginWithRedirect, logout, _getAccessToken]);
|
|
872
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser, updateLanguage]);
|
|
666
873
|
return React__default.createElement(DauthContext.Provider, {
|
|
667
874
|
value: memoProvider
|
|
668
875
|
}, children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '', // Ensure the return type is always a string\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","LOGIN","SET_IS_LOADING","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","_callee2","dauth_state_ls","_callee2$","_context2","setLogoutAction","_x3","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.development.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateLanguage: ({ language }: { language: string }) => void;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n role,\n }: Partial<IDauthUser>) => 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 updateUser: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const 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 case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const 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 { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await 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\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n } 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, {\n IDauthState,\n IDauthUser,\n} from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateLanguage = useCallback(\n ({ 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 [domainName]\n );\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateLanguage,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateLanguage,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","updateUser","LOGIN","SET_IS_LOADING","UPDATE_USER","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","setUpdateUserAction","_setUpdateUserAction","_callee5","_ref5","_callee5$","_context5","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var o=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new k(n||[]);return a(o,"_invoke",{value:I(t,r,i)}),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var p="suspendedStart",d="executing",v="completed",y={};function m(){}function g(){}function w(){}var L={};l(L,c,(function(){return this}));var b=Object.getPrototypeOf,x=b&&b(b(j([])));x&&x!==r&&o.call(x,c)&&(L=x);var _=w.prototype=m.prototype=Object.create(L);function E(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,a,i,c){var u=f(t[n],t,a);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&o.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,c)}))}c(u.arg)}var n;a(this,"_invoke",{value:function(t,o){function a(){return new e((function(e,n){r(t,o,e,n)}))}return n=n?n.then(a,a):a()}})}function I(e,r,n){var o=p;return function(a,i){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var c=n.delegate;if(c){var u=O(c,n);if(u){if(u===y)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var s=f(e,r,n);if("normal"===s.type){if(o=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=v,n.method="throw",n.arg=s.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var a=f(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,y;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function j(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n<e.length;)if(o.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,a(_,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},e.awrap=function(t){return{__await:t}},E(S.prototype),l(S.prototype,u,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new S(h(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(_),l(_,s,"Generator"),l(_,c,(function(){return this})),l(_,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=j,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(A),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=o.call(i,"catchLoc"),s=o.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:j(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function o(t,e,r,n,o,a,i){try{var c=t[a](i),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,a){var i=t.apply(e,r);function c(t){o(i,n,a,c,u,"next",t)}function u(t){o(i,n,a,c,u,"throw",t)}c(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var c={user:{},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return c.getAccessToken()||""}};function u(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var h=function(){var t=a(n().mark((function t(e,r){var o,a;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/get-tenant-user/"+e,o);case 3:return a=t.sent,t.next=6,a.json();case 6:return t.abrupt("return",{response:a,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f="dauth_state";function p(){return(p=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(f,o));case 12:return t.abrupt("return",localStorage.removeItem(f));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(f),console.log(t.t0);case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function d(){return(d=a(n().mark((function t(e){var r,o,a,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=e.dauth_state_ls,a=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(a,o);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(f,o)):localStorage.removeItem(f),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(f),console.log(t.t0);case 13:return t.prev=13,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function v(){return(v=a(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}}),localStorage.removeItem(f),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var y=e.createContext(c);exports.DauthProvider=function(t){var n=t.domainName,o=t.sid,a=t.children,l=e.useReducer(u,c),h=l[1],m=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(f);e&&!m.isAuthenticated&&function(t){p.apply(this,arguments)}({dispatch:h,dauth_state:e,domainName:n})}}),[m.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(f);t&&!m.isAuthenticated&&function(t){d.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:n})}),[m.isAuthenticated,n]);var g=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+o));var t}),[n,o]),w=e.useCallback((function(){return function(t){return v.apply(this,arguments)}({dispatch:h})}),[]),L=e.useCallback((function(){return localStorage.getItem(f)}),[]),b=e.useMemo((function(){return i({},m,{loginWithRedirect:g,logout:w,getAccessToken:function(){return L()||""}})}),[m,g,w,L]);return r.createElement(y.Provider,{value:b},a)},exports.useDauth=function(){var t=e.useContext(y);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("react"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(){n=function(){return e};var t,e={},r=Object.prototype,a=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var a=Object.create((e&&e.prototype instanceof g?e:g).prototype),i=new j(n||[]);return o(a,"_invoke",{value:A(t,r,i)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var f="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var x={};l(x,u,(function(){return this}));var b=Object.getPrototypeOf,L=b&&b(b(G([])));L&&L!==r&&a.call(L,u)&&(x=L);var k=w.prototype=g.prototype=Object.create(x);function E(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=h(t[n],t,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&a.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,u)}))}u(c.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function A(e,r,n){var a=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=N(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=h(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 N(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,N(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=h(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 S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function G(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(k,"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(k),t},e.awrap=function(t){return{__await:t}},E(_.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 _(p(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(k),l(k,s,"Generator"),l(k,u,(function(){return this})),l(k,"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=G,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(S),!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),S(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;S(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:G(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(){},updateUser: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})});case"UPDATE_USER":return i({},t,{user:i({},t.user,r)});default:return t}}var l=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function p(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return l?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var h=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(p({domainName:e})+"/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(p({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,h(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,h(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)}function w(){return(w=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.domainName,o=e.user,i=e.token,(r=e.dispatch)({type:c,payload:{isLoading:!0}}),t.prev=2,t.next=5,f(a,o,i);case 5:if(200!==t.sent.response.status){t.next=10;break}return t.abrupt("return",r({type:"UPDATE_LANGUAGE",payload:o}));case 10:return console.log("Update user error"),t.abrupt("return");case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(2),console.log("Update user 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 x=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,c=e.useReducer(s,u),p=c[1],h=c[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(d);e&&!h.isAuthenticated&&function(t){v.apply(this,arguments)}({dispatch:p,dauth_state:e,domainName:n})}}),[h.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(d);t&&!h.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:p,dauth_state_ls:t,domainName:n})}),[h.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:p})}),[]),L=e.useCallback((function(){var t=localStorage.getItem(d);return null!=t?t:"token-not-found"}),[]),k=e.useCallback((function(t){var e=t.name,r=t.lastname,a=t.nickname,o=t.tel_prefix,i=t.tel_suffix,u=t.language,c=t.avatar,s=localStorage.getItem(d);if(s&&u)return function(t){return w.apply(this,arguments)}({dispatch:p,domainName:n,user:{name:e,lastname:r,nickname:a,tel_prefix:o,tel_suffix:i,language:u,avatar:c},token:s})}),[n]),E=e.useCallback((function(t){var e=t.language,r=localStorage.getItem(d);if(r&&e)return function(t){return m.apply(this,arguments)}({dispatch:p,domainName:n,language:e,token:r})}),[n]),_=e.useMemo((function(){return i({},h,{loginWithRedirect:f,logout:b,getAccessToken:function(){return L()||""},updateUser:k,updateLanguage:E})}),[h,f,b,L,k,E]);return r.createElement(x.Provider,{value:_},o)},exports.useDauth=function(){var t=e.useContext(x);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
2
2
|
//# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n};\n\nexport default initialDauthState;\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '', // Ensure the return type is always a string\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","userReducer","state","action","payload","type","_extends","isLocalhost","Boolean","window","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","_callee2","_ref2","dauth_state_ls","_context2","_setLogoutAction","_callee3","_ref3","_context3","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","_x3","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateLanguage: ({ language }: { language: string }) => void;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n role,\n }: Partial<IDauthUser>) => 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 updateUser: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const 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 case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const 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 { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await 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\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n } 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, {\n IDauthState,\n IDauthUser,\n} from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateLanguage = useCallback(\n ({ 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 [domainName]\n );\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateLanguage,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateLanguage,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","updateUser","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","_setUpdateUserAction","_callee5","_ref5","_context5","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","token_ls","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"+hOA8CA,IAAMA,EAAiC,CACrCC,KAAM,GACNC,OAAQ,GACRC,WAAW,EACXC,iBAAiB,EACjBC,kBAAmB,aACnBC,OAAQ,aACRC,eAAgB,WAAA,OAAMP,EAAkBO,kBAAoB,IAC5DC,eAAgB,aAChBC,WAAY,cCtDDC,EAAiB,0BCCNC,EAAYC,EAAYC,GAC9C,IAAcC,EAAYD,EAAZC,QAEd,OAF0BD,EAAlBE,MAGN,IDNiB,QCOf,OAAAC,KACKJ,GACHX,KAAMa,EAAQb,KACdC,OAAQY,EAAQZ,OAChBE,gBAAiBU,EAAQV,kBAG7B,KAAKa,EACH,OAAAD,KACKJ,GACHT,UAAWW,EAAQX,YAGvB,IDjB2B,kBCkBzB,OAAAa,KACKJ,GACHX,KAAIe,KACCJ,EAAMX,MACTiB,SAAUJ,EAAQI,aAIxB,ID3BuB,cC4BrB,OAAAF,KACKJ,GACHX,KAAIe,KACCJ,EAAMX,KACNa,KAIT,QACE,OAAOF,GCvCb,IAAMO,EAAcC,QACW,cAA7BC,OAAOC,SAASC,UACe,UAA7BF,OAAOC,SAASC,UAChBF,OAAOC,SAASC,SAASC,MACvB,2EAEFH,OAAOC,SAASC,SAASC,MACvB,oEAMUC,EAAiBC,OAEzBC,EAAoBN,OAAOC,SAASM,cAAaP,OAAOC,SAASC,SAA7CF,eAG1B,OADuBF,EAAcQ,aAJOD,EAAVG,mCCVvBC,aAAgB,IAAAJ,EAAAK,EAAAC,IAAAC,MAAG,SAAAC,EAC9BL,EACAM,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAQZ,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,iBAAkBT,EAClBU,eAAgB,qBAEnBN,EAAAE,OACsBK,MAClBrB,EAAkB,CAAEI,WAAAA,wBAAiCA,EACxDO,GACD,OAHa,OAARC,EAAQE,EAAAQ,KAAAR,EAAAE,OAIKJ,EAASW,OAAM,OAAxB,OAAAT,EAAAU,gBACH,CAAEZ,SAAAA,EAAUa,KADTX,EAAAQ,OACe,OAAA,UAAA,OAAAR,EAAAY,UAAAjB,OAC1B,gBAjB4BkB,EAAAC,GAAA,OAAA3B,EAAA4B,WAAAC,eAmBhBC,aAAmB,IAAAC,EAAA1B,EAAAC,IAAAC,MAAG,SAAAyB,EACjC7B,EACA5B,EACAkC,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAAqB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,OASZ,OAPKL,EAAS,CACbM,OAAQ,QACRC,QAAS,CACPC,iBAAkBT,EAClBU,eAAgB,oBAElBe,KAAMC,KAAKC,UAAU7D,IACtB0D,EAAAlB,OACsBK,MAClBrB,EAAkB,CAAEI,WAAAA,2BAAoCA,EAC3DO,GACD,OAHa,OAARC,EAAQsB,EAAAZ,KAAAY,EAAAlB,OAIKJ,EAASW,OAAM,OAAxB,OAAAW,EAAAV,gBACH,CAAEZ,SAAAA,EAAUa,KADTS,EAAAZ,OACe,OAAA,UAAA,OAAAY,EAAAR,UAAAO,OAC1B,gBAnB+BK,EAAAC,EAAAC,GAAA,OAAAR,EAAAH,WAAAC,eCtBnBW,EAAc,cC6C1B,SAAAC,IAAA,OAAAA,EAAApC,EAAAC,IAAAC,MAnCM,SAAAC,EAAAR,GAAA,IAAA0C,EAAAC,EAAAxC,EAAAyC,EAAA,OAAAtC,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKuE,OAH5E4B,EAAW3C,EAAX2C,YACAxC,EAAUH,EAAVG,YAFAuC,EAAQ1C,EAAR0C,UAIS,CAAErD,KAAME,EAA2BH,QAAS,CAAEX,WAAW,KAAUoC,EAAAC,OAAAD,EAAAE,OAE/CX,EAAiBD,EAAYwC,GAAY,OAAlD,GACmB,OAD/BC,EAAY/B,EAAAQ,MACDV,SAASkC,QAAchC,EAAAE,QAAA,MAapC,OAZF2B,EAAS,CACPrD,KLpBa,QKqBbD,QAAS,CACPb,KAAMqE,EAAapB,KAAKjD,KACxBC,OAAQoE,EAAapB,KAAKhD,OAC1BE,iBAAiB,KAGrBiB,OAAOmD,QAAQC,aACb,GACAC,SAASC,MACTL,EAAapB,KAAKhD,OAAO0E,eACzBrC,EAAAU,gBACK4B,aAAaC,QAAQZ,EAAaG,IAAY,QAAA,OAAA9B,EAAAU,gBAE9C4B,aAAaE,WAAWb,IAAY,QAAA3B,EAAAE,QAAA,MAAA,QAAAF,EAAAC,QAAAD,EAAAyC,GAAAzC,WAG7CsC,aAAaE,WAAWb,GACxBe,QAAQC,IAAG3C,EAAAyC,IAAQ,QAKhB,OALgBzC,EAAAC,QAEnB4B,EAAS,CACPrD,KAAME,EACNH,QAAS,CAAEX,WAAW,KACrBoC,EAAA4C,WAAA,QAAA,UAAA,OAAA5C,EAAAY,UAAAjB,4BAENoB,WAAAC,WAqCA,SAAA6B,IAAA,OAAAA,EAAArD,EAAAC,IAAAC,MA9BM,SAAAyB,EAAAD,GAAA,IAAAW,EAAAiB,EAAAxD,EAAAyC,EAAA,OAAAtC,IAAAM,eAAAqB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,OAKuE,OAH5E4C,EAAc5B,EAAd4B,eACAxD,EAAU4B,EAAV5B,YAFAuC,EAAQX,EAARW,UAIS,CAAErD,KAAME,EAA2BH,QAAS,CAAEX,WAAW,KAAUwD,EAAAnB,OAAAmB,EAAAlB,OAE/CX,EAAiBD,EAAYwD,GAAe,OAClC,OAD/Bf,EAAYX,EAAAZ,MACDV,SAASkC,QACxBH,EAAS,CACPrD,KL9Da,QK+DbD,QAAS,CACPb,KAAMqE,EAAapB,KAAKjD,KACxBC,OAAQoE,EAAapB,KAAKhD,OAC1BE,iBAAiB,KAGrByE,aAAaC,QAAQZ,EAAamB,IAElCR,aAAaE,WAAWb,GACzBP,EAAAlB,QAAA,MAAA,OAAAkB,EAAAnB,OAAAmB,EAAAqB,GAAArB,WAEDkB,aAAaE,WAAWb,GACxBe,QAAQC,IAAGvB,EAAAqB,IAAQ,QAKhB,OALgBrB,EAAAnB,QAEnB4B,EAAS,CACPrD,KAAME,EACNH,QAAS,CAAEX,WAAW,KACrBwD,EAAAwB,WAAA,QAAA,UAAA,OAAAxB,EAAAR,UAAAO,2BAENJ,WAAAC,WAiBA,SAAA+B,IAAA,OAAAA,EAAAvD,EAAAC,IAAAC,MAfM,SAAAsD,EAAAC,GAAA,IAAApB,EAAA,OAAApC,IAAAM,eAAAmD,GAAA,cAAAA,EAAAjD,KAAAiD,EAAAhD,MAAA,OAUgC,OAVC2B,EAAQoB,EAARpB,UAC7B,CAAErD,KAAME,EAA2BH,QAAS,CAAEX,WAAW,KAClEiE,EAAS,CACPrD,KLvFiB,QKwFjBD,QAAS,CACPb,KAAM,GACNC,OAAQ,GACRE,iBAAiB,KAGrByE,aAAaE,WAAWb,GAAauB,EAAAxC,gBAC9BmB,EAAS,CACdrD,KAAME,EACNH,QAAS,CAAEX,WAAW,MACtB,OAAA,UAAA,OAAAsF,EAAAtC,UAAAoC,QACHjC,WAAAC,WAwCA,SAAAmC,IAAA,OAAAA,EAAA3D,EAAAC,IAAAC,MAhCM,SAAA0D,EAAAC,GAAA,IAAAxB,EAAAvC,EAAAX,EAAAiB,EAAA,OAAAH,IAAAM,eAAAuD,GAAA,cAAAA,EAAArD,KAAAqD,EAAApD,MAAA,OAMuE,OAJ5EZ,EAAU+D,EAAV/D,WACAX,EAAQ0E,EAAR1E,SACAiB,EAAKyD,EAALzD,OAHAiC,EAAQwB,EAARxB,UAKS,CAAErD,KAAME,EAA2BH,QAAS,CAAEX,WAAW,KAAU0F,EAAArD,OAAAqD,EAAApD,OAE/Ce,EACzB3B,EACA,CAAEX,SAAUA,GACZiB,GACD,OAJiB,GAKmB,MALnB0D,EAAA9C,KAKDV,SAASkC,QAAcsB,EAAApD,QAAA,MAAA,OAAAoD,EAAA5C,gBAC/BmB,EAAS,CACdrD,KLvHuB,kBKwHvBD,QAAS,CACPI,SAAUA,MAEZ,QAEmC,OAArC+D,QAAQC,IAAI,yBAAyBW,EAAA5C,iBAAA,QAAA4C,EAAApD,QAAA,MAAA,QAAAoD,EAAArD,QAAAqD,EAAAb,GAAAa,WAIvCZ,QAAQC,IAAI,wBAAuBW,EAAAb,IAAS,QAKzC,OALyCa,EAAArD,QAE5C4B,EAAS,CACPrD,KAAME,EACNH,QAAS,CAAEX,WAAW,KACrB0F,EAAAV,WAAA,QAAA,UAAA,OAAAU,EAAA1C,UAAAwC,4BAENrC,WAAAC,WAkCA,SAAAuC,IAAA,OAAAA,EAAA/D,EAAAC,IAAAC,MA1BM,SAAA8D,EAAAC,GAAA,IAAA5B,EAAAvC,EAAA5B,EAAAkC,EAAA,OAAAH,IAAAM,eAAA2D,GAAA,cAAAA,EAAAzD,KAAAyD,EAAAxD,MAAA,OAMuE,OAJ5EZ,EAAUmE,EAAVnE,WACA5B,EAAI+F,EAAJ/F,KACAkC,EAAK6D,EAAL7D,OAHAiC,EAAQ4B,EAAR5B,UAKS,CAAErD,KAAME,EAA2BH,QAAS,CAAEX,WAAW,KAAU8F,EAAAzD,OAAAyD,EAAAxD,OAE/Ce,EAAoB3B,EAAY5B,EAAMkC,GAAM,OAArD,GACmB,MADnB8D,EAAAlD,KACDV,SAASkC,QAAc0B,EAAAxD,QAAA,MAAA,OAAAwD,EAAAhD,gBAC/BmB,EAAS,CACdrD,KL3JuB,kBK4JvBD,QAASb,KACT,QAE+B,OAAjCgF,QAAQC,IAAI,qBAAqBe,EAAAhD,iBAAA,QAAAgD,EAAAxD,QAAA,MAAA,QAAAwD,EAAAzD,QAAAyD,EAAAjB,GAAAiB,WAInChB,QAAQC,IAAI,oBAAmBe,EAAAjB,IAAS,QAKrC,OALqCiB,EAAAzD,QAExC4B,EAAS,CACPrD,KAAME,EACNH,QAAS,CAAEX,WAAW,KACrB8F,EAAAd,WAAA,QAAA,UAAA,OAAAc,EAAA9C,UAAA4C,4BAENzC,WAAAC,eCtCK2C,EAAeC,gBAAcnG,yBAhHwB,SACzDoG,GAEA,IAAQvE,EAA8BuE,EAA9BvE,WAAYwE,EAAkBD,EAAlBC,IAAKC,EAAaF,EAAbE,SACzBC,EAAuBC,aAAW7F,EAAaX,GAApCoE,EAAQmC,KACbE,EADGF,KAITG,aAAU,WACR,IAAMC,EAActF,OAAOC,SAASsF,OACpC,GAAKD,EAAL,CACA,IACMtC,EADY,IAAIwC,gBAAgBF,GACRG,IAAI5C,GAC9BG,IAAgBoC,EAAWrG,0BD1BMgD,GAAAe,EAAAb,WAAAC,WC2BnC1C,CAA2B,CAAEuD,SAAAA,EAAUC,YAAAA,EAAaxC,WAAAA,OAErD,CAAC4E,EAAWrG,gBAAiByB,IAGhC6E,aAAU,WACR,IAAMrB,EAAiBR,aAAakC,QAAQ7C,GACxCmB,IAAmBoB,EAAWrG,0BDQEiD,GAAA+B,EAAA9B,WAAAC,WCPlC1C,CAA0B,CAAEuD,SAAAA,EAAUiB,eAAAA,EAAgBxD,WAAAA,MAEvD,CAAC4E,EAAWrG,gBAAiByB,IAEhC,IAAMxB,EAAoB2G,eAAY,WACpC,OAAO3F,OAAOC,SAAS2F,SJ3BnBC,EAAoB7F,OAAOC,SAASM,cAAaP,OAAOC,SAASC,SAA7CF,SAEHF,EAAc+F,aI0BVrF,2BAAwBwE,QJ5B7Ca,II8BH,CAACrF,EAAYwE,IAEV/F,EAAS0G,eAAY,WACzB,gBD4BiCjD,GAAA,OAAAuB,EAAAhC,WAAAC,WC5B1B1C,CAAuB,CAAEuD,SAAAA,MAC/B,IAEG7D,EAAiByG,eAAY,WACjC,IAAMG,EAAWtC,aAAakC,QAAQ7C,GACtC,aAAOiD,EAAAA,EAAY,oBAClB,IAEG1G,EAAauG,eACjB,SAAAtF,OACE0F,EAAI1F,EAAJ0F,KACAC,EAAQ3F,EAAR2F,SACAC,EAAQ5F,EAAR4F,SACAC,EAAU7F,EAAV6F,WACAC,EAAU9F,EAAV8F,WACAtG,EAAQQ,EAARR,SACAuG,EAAM/F,EAAN+F,OAEMN,EAAWtC,aAAakC,QAAQ7C,GACtC,GAAKiD,GAAajG,EAUlB,gBD8DmC+C,GAAA,OAAA6B,EAAAxC,WAAAC,WC9D5B1C,CAA2B,CAChCuD,SAAAA,EACAvC,WAAAA,EACA5B,KAZW,CACXmH,KAAAA,EACAC,SAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,WAAAA,EACAtG,SAAAA,EACAuG,OAAAA,GAMAtF,MAAOgF,MAGX,CAACtF,IAGGrB,EAAiBwG,eACrB,SAAAvD,OAAGvC,EAAQuC,EAARvC,SACKiG,EAAWtC,aAAakC,QAAQ7C,GACtC,GAAKiD,GAAajG,EAClB,gBDQuC8C,GAAA,OAAA0B,EAAApC,WAAAC,WCRhC1C,CAA+B,CACpCuD,SAAAA,EACAvC,WAAAA,EACAX,SAAAA,EACAiB,MAAOgF,MAGX,CAACtF,IAGG6F,EAAeC,WACnB,WAAA,OAAA3G,KACKyF,GACHpG,kBAAAA,EACAC,OAAAA,EACAC,eAAgB,WAAA,OAAMA,KAAoB,IAC1CE,WAAAA,EACAD,eAAAA,MAEF,CACEiG,EACApG,EACAC,EACAC,EACAE,EACAD,IAIJ,OACEoH,gBAAC1B,EAAa2B,UAASC,MAAOJ,GAC3BpB,qBAOiB,WACtB,IAAMyB,EAAUC,aAAW9B,GAC3B,IAAK6B,EACH,MAAM,IAAIE,MAAM,8CAElB,OAAOF"}
|
|
@@ -355,11 +355,15 @@ var initialDauthState = {
|
|
|
355
355
|
logout: function logout() {},
|
|
356
356
|
getAccessToken: function getAccessToken() {
|
|
357
357
|
return initialDauthState.getAccessToken() || '';
|
|
358
|
-
}
|
|
358
|
+
},
|
|
359
|
+
updateLanguage: function updateLanguage() {},
|
|
360
|
+
updateUser: function updateUser() {}
|
|
359
361
|
};
|
|
360
362
|
|
|
361
363
|
var LOGIN = 'LOGIN';
|
|
362
364
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
365
|
+
var UPDATE_USER = 'UPDATE_USER';
|
|
366
|
+
var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
|
|
363
367
|
|
|
364
368
|
function userReducer(state, action) {
|
|
365
369
|
var type = action.type,
|
|
@@ -375,6 +379,16 @@ function userReducer(state, action) {
|
|
|
375
379
|
return _extends({}, state, {
|
|
376
380
|
isLoading: payload.isLoading
|
|
377
381
|
});
|
|
382
|
+
case UPDATE_LANGUAGE:
|
|
383
|
+
return _extends({}, state, {
|
|
384
|
+
user: _extends({}, state.user, {
|
|
385
|
+
language: payload.language
|
|
386
|
+
})
|
|
387
|
+
});
|
|
388
|
+
case UPDATE_USER:
|
|
389
|
+
return _extends({}, state, {
|
|
390
|
+
user: _extends({}, state.user, payload)
|
|
391
|
+
});
|
|
378
392
|
default:
|
|
379
393
|
return state;
|
|
380
394
|
}
|
|
@@ -437,6 +451,44 @@ var getTenantUserAPI = /*#__PURE__*/function () {
|
|
|
437
451
|
return _ref.apply(this, arguments);
|
|
438
452
|
};
|
|
439
453
|
}();
|
|
454
|
+
var updateTenantUserAPI = /*#__PURE__*/function () {
|
|
455
|
+
var _ref2 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(domainName, user, token) {
|
|
456
|
+
var params, response, data;
|
|
457
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
458
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
459
|
+
case 0:
|
|
460
|
+
params = {
|
|
461
|
+
method: 'PATCH',
|
|
462
|
+
headers: {
|
|
463
|
+
Authorization: "" + token,
|
|
464
|
+
'Content-Type': 'application/json'
|
|
465
|
+
},
|
|
466
|
+
body: JSON.stringify(user)
|
|
467
|
+
};
|
|
468
|
+
_context2.next = 3;
|
|
469
|
+
return fetch(getServerBasePath({
|
|
470
|
+
domainName: domainName
|
|
471
|
+
}) + "/update-tenant-user/" + domainName, params);
|
|
472
|
+
case 3:
|
|
473
|
+
response = _context2.sent;
|
|
474
|
+
_context2.next = 6;
|
|
475
|
+
return response.json();
|
|
476
|
+
case 6:
|
|
477
|
+
data = _context2.sent;
|
|
478
|
+
return _context2.abrupt("return", {
|
|
479
|
+
response: response,
|
|
480
|
+
data: data
|
|
481
|
+
});
|
|
482
|
+
case 8:
|
|
483
|
+
case "end":
|
|
484
|
+
return _context2.stop();
|
|
485
|
+
}
|
|
486
|
+
}, _callee2);
|
|
487
|
+
}));
|
|
488
|
+
return function updateTenantUserAPI(_x3, _x4, _x5) {
|
|
489
|
+
return _ref2.apply(this, arguments);
|
|
490
|
+
};
|
|
491
|
+
}();
|
|
440
492
|
|
|
441
493
|
var DAUTH_STATE = 'dauth_state';
|
|
442
494
|
|
|
@@ -599,6 +651,122 @@ function _setLogoutAction() {
|
|
|
599
651
|
}));
|
|
600
652
|
return _setLogoutAction.apply(this, arguments);
|
|
601
653
|
}
|
|
654
|
+
function setUpdateLanguageAction(_x4) {
|
|
655
|
+
return _setUpdateLanguageAction.apply(this, arguments);
|
|
656
|
+
}
|
|
657
|
+
function _setUpdateLanguageAction() {
|
|
658
|
+
_setUpdateLanguageAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4) {
|
|
659
|
+
var dispatch, domainName, language, token, getUserFetch;
|
|
660
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
661
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
662
|
+
case 0:
|
|
663
|
+
dispatch = _ref4.dispatch, domainName = _ref4.domainName, language = _ref4.language, token = _ref4.token;
|
|
664
|
+
dispatch({
|
|
665
|
+
type: SET_IS_LOADING,
|
|
666
|
+
payload: {
|
|
667
|
+
isLoading: true
|
|
668
|
+
}
|
|
669
|
+
});
|
|
670
|
+
_context4.prev = 2;
|
|
671
|
+
_context4.next = 5;
|
|
672
|
+
return updateTenantUserAPI(domainName, {
|
|
673
|
+
language: language
|
|
674
|
+
}, token);
|
|
675
|
+
case 5:
|
|
676
|
+
getUserFetch = _context4.sent;
|
|
677
|
+
if (!(getUserFetch.response.status === 200)) {
|
|
678
|
+
_context4.next = 10;
|
|
679
|
+
break;
|
|
680
|
+
}
|
|
681
|
+
return _context4.abrupt("return", dispatch({
|
|
682
|
+
type: UPDATE_LANGUAGE,
|
|
683
|
+
payload: {
|
|
684
|
+
language: language
|
|
685
|
+
}
|
|
686
|
+
}));
|
|
687
|
+
case 10:
|
|
688
|
+
console.log('Change language error');
|
|
689
|
+
return _context4.abrupt("return");
|
|
690
|
+
case 12:
|
|
691
|
+
_context4.next = 17;
|
|
692
|
+
break;
|
|
693
|
+
case 14:
|
|
694
|
+
_context4.prev = 14;
|
|
695
|
+
_context4.t0 = _context4["catch"](2);
|
|
696
|
+
console.log('Change language error', _context4.t0);
|
|
697
|
+
case 17:
|
|
698
|
+
_context4.prev = 17;
|
|
699
|
+
dispatch({
|
|
700
|
+
type: SET_IS_LOADING,
|
|
701
|
+
payload: {
|
|
702
|
+
isLoading: false
|
|
703
|
+
}
|
|
704
|
+
});
|
|
705
|
+
return _context4.finish(17);
|
|
706
|
+
case 20:
|
|
707
|
+
case "end":
|
|
708
|
+
return _context4.stop();
|
|
709
|
+
}
|
|
710
|
+
}, _callee4, null, [[2, 14, 17, 20]]);
|
|
711
|
+
}));
|
|
712
|
+
return _setUpdateLanguageAction.apply(this, arguments);
|
|
713
|
+
}
|
|
714
|
+
function setUpdateUserAction(_x5) {
|
|
715
|
+
return _setUpdateUserAction.apply(this, arguments);
|
|
716
|
+
}
|
|
717
|
+
function _setUpdateUserAction() {
|
|
718
|
+
_setUpdateUserAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5) {
|
|
719
|
+
var dispatch, domainName, user, token, getUserFetch;
|
|
720
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
721
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
722
|
+
case 0:
|
|
723
|
+
dispatch = _ref5.dispatch, domainName = _ref5.domainName, user = _ref5.user, token = _ref5.token;
|
|
724
|
+
dispatch({
|
|
725
|
+
type: SET_IS_LOADING,
|
|
726
|
+
payload: {
|
|
727
|
+
isLoading: true
|
|
728
|
+
}
|
|
729
|
+
});
|
|
730
|
+
_context5.prev = 2;
|
|
731
|
+
_context5.next = 5;
|
|
732
|
+
return updateTenantUserAPI(domainName, user, token);
|
|
733
|
+
case 5:
|
|
734
|
+
getUserFetch = _context5.sent;
|
|
735
|
+
if (!(getUserFetch.response.status === 200)) {
|
|
736
|
+
_context5.next = 10;
|
|
737
|
+
break;
|
|
738
|
+
}
|
|
739
|
+
return _context5.abrupt("return", dispatch({
|
|
740
|
+
type: UPDATE_LANGUAGE,
|
|
741
|
+
payload: user
|
|
742
|
+
}));
|
|
743
|
+
case 10:
|
|
744
|
+
console.log('Update user error');
|
|
745
|
+
return _context5.abrupt("return");
|
|
746
|
+
case 12:
|
|
747
|
+
_context5.next = 17;
|
|
748
|
+
break;
|
|
749
|
+
case 14:
|
|
750
|
+
_context5.prev = 14;
|
|
751
|
+
_context5.t0 = _context5["catch"](2);
|
|
752
|
+
console.log('Update user error', _context5.t0);
|
|
753
|
+
case 17:
|
|
754
|
+
_context5.prev = 17;
|
|
755
|
+
dispatch({
|
|
756
|
+
type: SET_IS_LOADING,
|
|
757
|
+
payload: {
|
|
758
|
+
isLoading: false
|
|
759
|
+
}
|
|
760
|
+
});
|
|
761
|
+
return _context5.finish(17);
|
|
762
|
+
case 20:
|
|
763
|
+
case "end":
|
|
764
|
+
return _context5.stop();
|
|
765
|
+
}
|
|
766
|
+
}, _callee5, null, [[2, 14, 17, 20]]);
|
|
767
|
+
}));
|
|
768
|
+
return _setUpdateUserAction.apply(this, arguments);
|
|
769
|
+
}
|
|
602
770
|
|
|
603
771
|
var DauthProvider = function DauthProvider(props) {
|
|
604
772
|
var domainName = props.domainName,
|
|
@@ -644,18 +812,57 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
644
812
|
});
|
|
645
813
|
}, []);
|
|
646
814
|
var _getAccessToken = useCallback(function () {
|
|
647
|
-
var
|
|
648
|
-
return
|
|
815
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
816
|
+
return token_ls != null ? token_ls : 'token-not-found';
|
|
649
817
|
}, []);
|
|
818
|
+
var updateUser = useCallback(function (_ref) {
|
|
819
|
+
var name = _ref.name,
|
|
820
|
+
lastname = _ref.lastname,
|
|
821
|
+
nickname = _ref.nickname,
|
|
822
|
+
tel_prefix = _ref.tel_prefix,
|
|
823
|
+
tel_suffix = _ref.tel_suffix,
|
|
824
|
+
language = _ref.language,
|
|
825
|
+
avatar = _ref.avatar;
|
|
826
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
827
|
+
if (!token_ls || !language) return;
|
|
828
|
+
var user = {
|
|
829
|
+
name: name,
|
|
830
|
+
lastname: lastname,
|
|
831
|
+
nickname: nickname,
|
|
832
|
+
tel_prefix: tel_prefix,
|
|
833
|
+
tel_suffix: tel_suffix,
|
|
834
|
+
language: language,
|
|
835
|
+
avatar: avatar
|
|
836
|
+
};
|
|
837
|
+
return setUpdateUserAction({
|
|
838
|
+
dispatch: dispatch,
|
|
839
|
+
domainName: domainName,
|
|
840
|
+
user: user,
|
|
841
|
+
token: token_ls
|
|
842
|
+
});
|
|
843
|
+
}, [domainName]);
|
|
844
|
+
var updateLanguage = useCallback(function (_ref2) {
|
|
845
|
+
var language = _ref2.language;
|
|
846
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
847
|
+
if (!token_ls || !language) return;
|
|
848
|
+
return setUpdateLanguageAction({
|
|
849
|
+
dispatch: dispatch,
|
|
850
|
+
domainName: domainName,
|
|
851
|
+
language: language,
|
|
852
|
+
token: token_ls
|
|
853
|
+
});
|
|
854
|
+
}, [domainName]);
|
|
650
855
|
var memoProvider = useMemo(function () {
|
|
651
856
|
return _extends({}, dauthState, {
|
|
652
857
|
loginWithRedirect: loginWithRedirect,
|
|
653
858
|
logout: logout,
|
|
654
859
|
getAccessToken: function getAccessToken() {
|
|
655
860
|
return _getAccessToken() || '';
|
|
656
|
-
}
|
|
861
|
+
},
|
|
862
|
+
updateUser: updateUser,
|
|
863
|
+
updateLanguage: updateLanguage
|
|
657
864
|
});
|
|
658
|
-
}, [dauthState, loginWithRedirect, logout, _getAccessToken]);
|
|
865
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser, updateLanguage]);
|
|
659
866
|
return React.createElement(DauthContext.Provider, {
|
|
660
867
|
value: memoProvider
|
|
661
868
|
}, children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n return dauth_state_ls;\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '', // Ensure the return type is always a string\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","LOGIN","SET_IS_LOADING","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","_callee2","dauth_state_ls","_callee2$","_context2","setLogoutAction","_x3","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.esm.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateLanguage: ({ language }: { language: string }) => void;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n role,\n }: Partial<IDauthUser>) => 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 updateUser: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const 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 case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const 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 { IDauthUser } from '../initialDauthState';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await 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\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n } 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, {\n IDauthState,\n IDauthUser,\n} from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateUser = useCallback(\n ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n const user = {\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n });\n },\n [domainName]\n );\n\n const updateLanguage = useCallback(\n ({ 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 [domainName]\n );\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n updateLanguage,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateLanguage,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","updateUser","LOGIN","SET_IS_LOADING","UPDATE_USER","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","setUpdateUserAction","_setUpdateUserAction","_callee5","_ref5","_callee5$","_context5","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","name","lastname","nickname","tel_prefix","tel_suffix","avatar","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
@@ -29,6 +29,10 @@ export interface IDauthState {
|
|
|
29
29
|
loginWithRedirect: () => void;
|
|
30
30
|
logout: () => void;
|
|
31
31
|
getAccessToken: () => string;
|
|
32
|
+
updateLanguage: ({ language }: {
|
|
33
|
+
language: string;
|
|
34
|
+
}) => void;
|
|
35
|
+
updateUser: ({ name, lastname, nickname, tel_prefix, tel_suffix, language, avatar, role, }: Partial<IDauthUser>) => void;
|
|
32
36
|
}
|
|
33
37
|
declare const initialDauthState: IDauthState;
|
|
34
38
|
export default initialDauthState;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IDauthUser } from '../initialDauthState';
|
|
1
2
|
declare type TSetDauthStateAction = {
|
|
2
3
|
dispatch: any;
|
|
3
4
|
dauth_state: string;
|
|
@@ -13,4 +14,18 @@ export declare function setAutoLoginAction({ dispatch, dauth_state_ls, domainNam
|
|
|
13
14
|
export declare function setLogoutAction({ dispatch }: {
|
|
14
15
|
dispatch: any;
|
|
15
16
|
}): Promise<any>;
|
|
17
|
+
declare type TSetUpdateLanguageAction = {
|
|
18
|
+
dispatch: any;
|
|
19
|
+
domainName: string;
|
|
20
|
+
language: string;
|
|
21
|
+
token: string;
|
|
22
|
+
};
|
|
23
|
+
export declare function setUpdateLanguageAction({ dispatch, domainName, language, token, }: TSetUpdateLanguageAction): Promise<any>;
|
|
24
|
+
declare type TSetUpdateAction = {
|
|
25
|
+
dispatch: any;
|
|
26
|
+
domainName: string;
|
|
27
|
+
user: Partial<IDauthUser>;
|
|
28
|
+
token: string;
|
|
29
|
+
};
|
|
30
|
+
export declare function setUpdateUserAction({ dispatch, domainName, user, token, }: TSetUpdateAction): Promise<any>;
|
|
16
31
|
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
|
@@ -6,7 +6,10 @@ import React, {
|
|
|
6
6
|
createContext,
|
|
7
7
|
useContext,
|
|
8
8
|
} from 'react';
|
|
9
|
-
import initialDauthState, {
|
|
9
|
+
import initialDauthState, {
|
|
10
|
+
IDauthState,
|
|
11
|
+
IDauthUser,
|
|
12
|
+
} from './initialDauthState';
|
|
10
13
|
import userReducer from './reducer/dauth.reducer';
|
|
11
14
|
import * as action from './reducer/dauth.actions';
|
|
12
15
|
import { getClientBasePath } from './api/utils/config';
|
|
@@ -55,18 +58,72 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
55
58
|
}, []);
|
|
56
59
|
|
|
57
60
|
const getAccessToken = useCallback(() => {
|
|
58
|
-
const
|
|
59
|
-
return
|
|
61
|
+
const token_ls = localStorage.getItem(DAUTH_STATE);
|
|
62
|
+
return token_ls ?? 'token-not-found';
|
|
60
63
|
}, []);
|
|
61
64
|
|
|
65
|
+
const updateUser = useCallback(
|
|
66
|
+
({
|
|
67
|
+
name,
|
|
68
|
+
lastname,
|
|
69
|
+
nickname,
|
|
70
|
+
tel_prefix,
|
|
71
|
+
tel_suffix,
|
|
72
|
+
language,
|
|
73
|
+
avatar,
|
|
74
|
+
}: Partial<IDauthUser>) => {
|
|
75
|
+
const token_ls = localStorage.getItem(DAUTH_STATE);
|
|
76
|
+
if (!token_ls || !language) return;
|
|
77
|
+
const user = {
|
|
78
|
+
name,
|
|
79
|
+
lastname,
|
|
80
|
+
nickname,
|
|
81
|
+
tel_prefix,
|
|
82
|
+
tel_suffix,
|
|
83
|
+
language,
|
|
84
|
+
avatar,
|
|
85
|
+
} as Partial<IDauthUser>;
|
|
86
|
+
return action.setUpdateUserAction({
|
|
87
|
+
dispatch,
|
|
88
|
+
domainName,
|
|
89
|
+
user,
|
|
90
|
+
token: token_ls,
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
[domainName]
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
const updateLanguage = useCallback(
|
|
97
|
+
({ language }: { language: string }) => {
|
|
98
|
+
const token_ls = localStorage.getItem(DAUTH_STATE);
|
|
99
|
+
if (!token_ls || !language) return;
|
|
100
|
+
return action.setUpdateLanguageAction({
|
|
101
|
+
dispatch,
|
|
102
|
+
domainName,
|
|
103
|
+
language,
|
|
104
|
+
token: token_ls,
|
|
105
|
+
});
|
|
106
|
+
},
|
|
107
|
+
[domainName]
|
|
108
|
+
);
|
|
109
|
+
|
|
62
110
|
const memoProvider = useMemo(
|
|
63
111
|
() => ({
|
|
64
112
|
...dauthState,
|
|
65
113
|
loginWithRedirect,
|
|
66
114
|
logout,
|
|
67
|
-
getAccessToken: () => getAccessToken() || '',
|
|
115
|
+
getAccessToken: () => getAccessToken() || '',
|
|
116
|
+
updateUser,
|
|
117
|
+
updateLanguage,
|
|
68
118
|
}),
|
|
69
|
-
[
|
|
119
|
+
[
|
|
120
|
+
dauthState,
|
|
121
|
+
loginWithRedirect,
|
|
122
|
+
logout,
|
|
123
|
+
getAccessToken,
|
|
124
|
+
updateUser,
|
|
125
|
+
updateLanguage,
|
|
126
|
+
]
|
|
70
127
|
);
|
|
71
128
|
|
|
72
129
|
return (
|
package/src/initialDauthState.ts
CHANGED
|
@@ -31,6 +31,17 @@ export interface IDauthState {
|
|
|
31
31
|
loginWithRedirect: () => void;
|
|
32
32
|
logout: () => void;
|
|
33
33
|
getAccessToken: () => string;
|
|
34
|
+
updateLanguage: ({ language }: { language: string }) => void;
|
|
35
|
+
updateUser: ({
|
|
36
|
+
name,
|
|
37
|
+
lastname,
|
|
38
|
+
nickname,
|
|
39
|
+
tel_prefix,
|
|
40
|
+
tel_suffix,
|
|
41
|
+
language,
|
|
42
|
+
avatar,
|
|
43
|
+
role,
|
|
44
|
+
}: Partial<IDauthUser>) => void;
|
|
34
45
|
}
|
|
35
46
|
|
|
36
47
|
const initialDauthState: IDauthState = {
|
|
@@ -41,6 +52,8 @@ const initialDauthState: IDauthState = {
|
|
|
41
52
|
loginWithRedirect: () => {},
|
|
42
53
|
logout: () => {},
|
|
43
54
|
getAccessToken: () => initialDauthState.getAccessToken() || '',
|
|
55
|
+
updateLanguage: () => {},
|
|
56
|
+
updateUser: () => {},
|
|
44
57
|
};
|
|
45
58
|
|
|
46
59
|
export default initialDauthState;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { getTenantUserAPI } from '../api/dauth.api';
|
|
1
|
+
import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';
|
|
2
2
|
import { DAUTH_STATE } from '../constants';
|
|
3
|
+
import { IDauthUser } from '../initialDauthState';
|
|
3
4
|
import * as DauthTypes from './dauth.types';
|
|
4
5
|
|
|
5
6
|
type TSetDauthStateAction = {
|
|
@@ -97,3 +98,77 @@ export async function setLogoutAction({ dispatch }: { dispatch: any }) {
|
|
|
97
98
|
payload: { isLoading: false },
|
|
98
99
|
});
|
|
99
100
|
}
|
|
101
|
+
|
|
102
|
+
type TSetUpdateLanguageAction = {
|
|
103
|
+
dispatch: any;
|
|
104
|
+
domainName: string;
|
|
105
|
+
language: string;
|
|
106
|
+
token: string;
|
|
107
|
+
};
|
|
108
|
+
export async function setUpdateLanguageAction({
|
|
109
|
+
dispatch,
|
|
110
|
+
domainName,
|
|
111
|
+
language,
|
|
112
|
+
token,
|
|
113
|
+
}: TSetUpdateLanguageAction) {
|
|
114
|
+
dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });
|
|
115
|
+
try {
|
|
116
|
+
const getUserFetch = await updateTenantUserAPI(
|
|
117
|
+
domainName,
|
|
118
|
+
{ language: language },
|
|
119
|
+
token
|
|
120
|
+
);
|
|
121
|
+
if (getUserFetch.response.status === 200) {
|
|
122
|
+
return dispatch({
|
|
123
|
+
type: DauthTypes.UPDATE_LANGUAGE,
|
|
124
|
+
payload: {
|
|
125
|
+
language: language,
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
} else {
|
|
129
|
+
console.log('Change language error');
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
} catch (error) {
|
|
133
|
+
console.log('Change language error', error);
|
|
134
|
+
} finally {
|
|
135
|
+
dispatch({
|
|
136
|
+
type: DauthTypes.SET_IS_LOADING,
|
|
137
|
+
payload: { isLoading: false },
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
type TSetUpdateAction = {
|
|
143
|
+
dispatch: any;
|
|
144
|
+
domainName: string;
|
|
145
|
+
user: Partial<IDauthUser>;
|
|
146
|
+
token: string;
|
|
147
|
+
};
|
|
148
|
+
export async function setUpdateUserAction({
|
|
149
|
+
dispatch,
|
|
150
|
+
domainName,
|
|
151
|
+
user,
|
|
152
|
+
token,
|
|
153
|
+
}: TSetUpdateAction) {
|
|
154
|
+
dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });
|
|
155
|
+
try {
|
|
156
|
+
const getUserFetch = await updateTenantUserAPI(domainName, user, token);
|
|
157
|
+
if (getUserFetch.response.status === 200) {
|
|
158
|
+
return dispatch({
|
|
159
|
+
type: DauthTypes.UPDATE_LANGUAGE,
|
|
160
|
+
payload: user,
|
|
161
|
+
});
|
|
162
|
+
} else {
|
|
163
|
+
console.log('Update user error');
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
} catch (error) {
|
|
167
|
+
console.log('Update user error', error);
|
|
168
|
+
} finally {
|
|
169
|
+
dispatch({
|
|
170
|
+
type: DauthTypes.SET_IS_LOADING,
|
|
171
|
+
payload: { isLoading: false },
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -18,6 +18,24 @@ 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
|
+
|
|
30
|
+
case DauthTypes.UPDATE_USER:
|
|
31
|
+
return {
|
|
32
|
+
...state,
|
|
33
|
+
user: {
|
|
34
|
+
...state.user,
|
|
35
|
+
...payload,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
|
|
21
39
|
default:
|
|
22
40
|
return state;
|
|
23
41
|
}
|