dauth-context-react 0.1.63 → 0.1.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dauth-context-react.cjs.development.js +94 -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 +94 -5
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/initialDauthState.d.ts +1 -0
- package/dist/reducer/dauth.actions.d.ts +8 -0
- package/dist/reducer/dauth.types.d.ts +1 -0
- package/package.json +1 -1
- package/src/index.tsx +56 -11
- package/src/initialDauthState.ts +10 -0
- package/src/reducer/dauth.actions.ts +35 -0
- package/src/reducer/dauth.reducer.ts +9 -0
- package/src/reducer/dauth.types.ts +1 -0
|
@@ -363,11 +363,13 @@ var initialDauthState = {
|
|
|
363
363
|
getAccessToken: function getAccessToken() {
|
|
364
364
|
return initialDauthState.getAccessToken() || '';
|
|
365
365
|
},
|
|
366
|
-
updateLanguage: function updateLanguage() {}
|
|
366
|
+
updateLanguage: function updateLanguage() {},
|
|
367
|
+
updateUser: function updateUser() {}
|
|
367
368
|
};
|
|
368
369
|
|
|
369
370
|
var LOGIN = 'LOGIN';
|
|
370
371
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
372
|
+
var UPDATE_USER = 'UPDATE_USER';
|
|
371
373
|
var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
|
|
372
374
|
|
|
373
375
|
function userReducer(state, action) {
|
|
@@ -390,6 +392,10 @@ function userReducer(state, action) {
|
|
|
390
392
|
language: payload.language
|
|
391
393
|
})
|
|
392
394
|
});
|
|
395
|
+
case UPDATE_USER:
|
|
396
|
+
return _extends({}, state, {
|
|
397
|
+
user: _extends({}, state.user, payload)
|
|
398
|
+
});
|
|
393
399
|
default:
|
|
394
400
|
return state;
|
|
395
401
|
}
|
|
@@ -712,6 +718,62 @@ function _setUpdateLanguageAction() {
|
|
|
712
718
|
}));
|
|
713
719
|
return _setUpdateLanguageAction.apply(this, arguments);
|
|
714
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
|
+
}
|
|
715
777
|
|
|
716
778
|
var DauthProvider = function DauthProvider(props) {
|
|
717
779
|
var domainName = props.domainName,
|
|
@@ -760,8 +822,34 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
760
822
|
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
761
823
|
return token_ls != null ? token_ls : 'token-not-found';
|
|
762
824
|
}, []);
|
|
763
|
-
var
|
|
764
|
-
var
|
|
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;
|
|
765
853
|
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
766
854
|
if (!token_ls || !language) return;
|
|
767
855
|
return setUpdateLanguageAction({
|
|
@@ -770,7 +858,7 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
770
858
|
language: language,
|
|
771
859
|
token: token_ls
|
|
772
860
|
});
|
|
773
|
-
}, []);
|
|
861
|
+
}, [domainName]);
|
|
774
862
|
var memoProvider = React.useMemo(function () {
|
|
775
863
|
return _extends({}, dauthState, {
|
|
776
864
|
loginWithRedirect: loginWithRedirect,
|
|
@@ -778,9 +866,10 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
778
866
|
getAccessToken: function getAccessToken() {
|
|
779
867
|
return _getAccessToken() || '';
|
|
780
868
|
},
|
|
869
|
+
updateUser: updateUser,
|
|
781
870
|
updateLanguage: updateLanguage
|
|
782
871
|
});
|
|
783
|
-
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateLanguage]);
|
|
872
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser, updateLanguage]);
|
|
784
873
|
return React__default.createElement(DauthContext.Provider, {
|
|
785
874
|
value: memoProvider
|
|
786
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 updateLanguage: ({ language }: { language: string }) => void;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateLanguage: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_LANGUAGE:\n return {\n ...state,\n user: {\n ...state.user,\n language: payload.language,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateTenantUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateLanguageAction = {\n dispatch: any;\n domainName: string;\n language: string;\n token: string;\n};\nexport async function setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token,\n}: TSetUpdateLanguageAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(\n domainName,\n { language: language },\n token\n );\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: {\n language: language,\n },\n });\n } else {\n console.log('Change language error');\n return;\n }\n } catch (error) {\n console.log('Change language error', error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateLanguage = useCallback(({ language }: { language: string }) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n return action.setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token: token_ls,\n });\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateLanguage,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateLanguage]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","LOGIN","SET_IS_LOADING","UPDATE_LANGUAGE","userReducer","state","action","type","payload","DauthTypes","_extends","language","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateTenantUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","setUpdateLanguageAction","_setUpdateLanguageAction","_callee4","_ref4","_callee4$","_context4","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"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 }: 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,a=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},u=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function h(t,e,r,n){var a=Object.create((e&&e.prototype instanceof g?e:g).prototype),i=new S(n||[]);return o(a,"_invoke",{value:N(t,r,i)}),a}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var f="suspendedStart",d="executing",v="completed",y={};function g(){}function m(){}function w(){}var b={};l(b,u,(function(){return this}));var L=Object.getPrototypeOf,x=L&&L(L(I([])));x&&x!==r&&a.call(x,u)&&(b=x);var E=w.prototype=g.prototype=Object.create(b);function k(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function _(t,e){function r(n,o,i,u){var c=p(t[n],t,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&a.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,u)}))}u(c.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function N(e,r,n){var a=f;return function(o,i){if(a===d)throw new Error("Generator is already running");if(a===v){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var u=n.delegate;if(u){var c=A(u,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===f)throw a=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var s=p(e,r,n);if("normal"===s.type){if(a=n.done?v:"suspendedYield",s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=v,n.method="throw",n.arg=s.arg)}}}function A(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,A(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var o=p(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var i=o.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function j(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function I(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(a.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=w,o(E,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:m,configurable:!0}),m.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},k(_.prototype),l(_.prototype,c,(function(){return this})),e.AsyncIterator=_,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new _(h(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},k(E),l(E,s,"Generator"),l(E,u,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=I,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(j),!e)for(var r in this)"t"===r.charAt(0)&&a.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,a){return u.type="throw",u.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),j(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;j(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:I(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function a(t,e,r,n,a,o,i){try{var u=t[o](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,c,"next",t)}function c(t){a(i,n,o,u,c,"throw",t)}u(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var u={user:{},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return u.getAccessToken()||""},updateLanguage:function(){}},c="SET_IS_LOADING";function s(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case c:return i({},t,{isLoading:r.isLoading});case"UPDATE_LANGUAGE":return i({},t,{user:i({},t.user,{language:r.language})});default:return t}}var l=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function h(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return l?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var p=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(h({domainName:e})+"/get-tenant-user/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),f=function(){var t=o(n().mark((function t(e,r,a){var o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o={method:"PATCH",headers:{Authorization:""+a,"Content-Type":"application/json"},body:JSON.stringify(r)},t.next=3,fetch(h({domainName:e})+"/update-tenant-user/"+e,o);case 3:return i=t.sent,t.next=6,i.json();case 6:return t.abrupt("return",{response:i,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}(),d="dauth_state";function v(){return(v=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state,o=e.domainName,(r=e.dispatch)({type:c,payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,i.data.domain.loginRedirect),t.abrupt("return",localStorage.setItem(d,a));case 12:return t.abrupt("return",localStorage.removeItem(d));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 19:return t.prev=19,r({type:c,payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function y(){return(y=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state_ls,o=e.domainName,(r=e.dispatch)({type:c,payload:{isLoading:!0}}),t.prev=2,t.next=5,p(o,a);case 5:200===(i=t.sent).response.status?(r({type:"LOGIN",payload:{user:i.data.user,domain:i.data.domain,isAuthenticated:!0}}),localStorage.setItem(d,a)):localStorage.removeItem(d),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(d),console.log(t.t0);case 13:return t.prev=13,r({type:c,payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function g(){return(g=o(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:c,payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{},domain:{},isAuthenticated:!1}}),localStorage.removeItem(d),t.abrupt("return",r({type:c,payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function m(){return(m=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.domainName,o=e.language,i=e.token,(r=e.dispatch)({type:c,payload:{isLoading:!0}}),t.prev=2,t.next=5,f(a,{language:o},i);case 5:if(200!==t.sent.response.status){t.next=10;break}return t.abrupt("return",r({type:"UPDATE_LANGUAGE",payload:{language:o}}));case 10:return console.log("Change language error"),t.abrupt("return");case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(2),console.log("Change language error",t.t0);case 17:return t.prev=17,r({type:c,payload:{isLoading:!1}}),t.finish(17);case 20:case"end":return t.stop()}}),t,null,[[2,14,17,20]])})))).apply(this,arguments)}var w=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,c=e.useReducer(s,u),h=c[1],p=c[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(d);e&&!p.isAuthenticated&&function(t){v.apply(this,arguments)}({dispatch:h,dauth_state:e,domainName:n})}}),[p.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(d);t&&!p.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:n})}),[p.isAuthenticated,n]);var f=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(l?t:"https://"+n+".dauth.ovh")+"/t-sign/"+a));var t}),[n,a]),b=e.useCallback((function(){return function(t){return g.apply(this,arguments)}({dispatch:h})}),[]),L=e.useCallback((function(){var t=localStorage.getItem(d);return null!=t?t:"token-not-found"}),[]),x=e.useCallback((function(t){var e=t.language,r=localStorage.getItem(d);if(r&&e)return function(t){return m.apply(this,arguments)}({dispatch:h,domainName:n,language:e,token:r})}),[]),E=e.useMemo((function(){return i({},p,{loginWithRedirect:f,logout:b,getAccessToken:function(){return L()||""},updateLanguage:x})}),[p,f,b,L,x]);return r.createElement(w.Provider,{value:E},o)},exports.useDauth=function(){var t=e.useContext(w);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
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.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateLanguage: ({ language }: { language: string }) => void;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateLanguage: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_LANGUAGE:\n return {\n ...state,\n user: {\n ...state.user,\n language: payload.language,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateTenantUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateLanguageAction = {\n dispatch: any;\n domainName: string;\n language: string;\n token: string;\n};\nexport async function setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token,\n}: TSetUpdateLanguageAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(\n domainName,\n { language: language },\n token\n );\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: {\n language: language,\n },\n });\n } else {\n console.log('Change language error');\n return;\n }\n } catch (error) {\n console.log('Change language error', error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateLanguage = useCallback(({ language }: { language: string }) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n return action.setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token: token_ls,\n });\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateLanguage,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateLanguage]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","SET_IS_LOADING","userReducer","state","action","payload","type","_extends","DauthTypes","language","isLocalhost","Boolean","window","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateTenantUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","_setLogoutAction","_callee3","_ref3","_context3","_setUpdateLanguageAction","_callee4","_ref4","_context4","DauthContext","createContext","props","sid","children","_useReducer","useReducer","dauthState","useEffect","queryString","search","URLSearchParams","get","getItem","useCallback","replace","clientLocalUrl","token_ls","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
|
|
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 }: 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":"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"}
|
|
@@ -356,11 +356,13 @@ var initialDauthState = {
|
|
|
356
356
|
getAccessToken: function getAccessToken() {
|
|
357
357
|
return initialDauthState.getAccessToken() || '';
|
|
358
358
|
},
|
|
359
|
-
updateLanguage: function updateLanguage() {}
|
|
359
|
+
updateLanguage: function updateLanguage() {},
|
|
360
|
+
updateUser: function updateUser() {}
|
|
360
361
|
};
|
|
361
362
|
|
|
362
363
|
var LOGIN = 'LOGIN';
|
|
363
364
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
365
|
+
var UPDATE_USER = 'UPDATE_USER';
|
|
364
366
|
var UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';
|
|
365
367
|
|
|
366
368
|
function userReducer(state, action) {
|
|
@@ -383,6 +385,10 @@ function userReducer(state, action) {
|
|
|
383
385
|
language: payload.language
|
|
384
386
|
})
|
|
385
387
|
});
|
|
388
|
+
case UPDATE_USER:
|
|
389
|
+
return _extends({}, state, {
|
|
390
|
+
user: _extends({}, state.user, payload)
|
|
391
|
+
});
|
|
386
392
|
default:
|
|
387
393
|
return state;
|
|
388
394
|
}
|
|
@@ -705,6 +711,62 @@ function _setUpdateLanguageAction() {
|
|
|
705
711
|
}));
|
|
706
712
|
return _setUpdateLanguageAction.apply(this, arguments);
|
|
707
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
|
+
}
|
|
708
770
|
|
|
709
771
|
var DauthProvider = function DauthProvider(props) {
|
|
710
772
|
var domainName = props.domainName,
|
|
@@ -753,8 +815,34 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
753
815
|
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
754
816
|
return token_ls != null ? token_ls : 'token-not-found';
|
|
755
817
|
}, []);
|
|
756
|
-
var
|
|
757
|
-
var
|
|
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;
|
|
758
846
|
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
759
847
|
if (!token_ls || !language) return;
|
|
760
848
|
return setUpdateLanguageAction({
|
|
@@ -763,7 +851,7 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
763
851
|
language: language,
|
|
764
852
|
token: token_ls
|
|
765
853
|
});
|
|
766
|
-
}, []);
|
|
854
|
+
}, [domainName]);
|
|
767
855
|
var memoProvider = useMemo(function () {
|
|
768
856
|
return _extends({}, dauthState, {
|
|
769
857
|
loginWithRedirect: loginWithRedirect,
|
|
@@ -771,9 +859,10 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
771
859
|
getAccessToken: function getAccessToken() {
|
|
772
860
|
return _getAccessToken() || '';
|
|
773
861
|
},
|
|
862
|
+
updateUser: updateUser,
|
|
774
863
|
updateLanguage: updateLanguage
|
|
775
864
|
});
|
|
776
|
-
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateLanguage]);
|
|
865
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser, updateLanguage]);
|
|
777
866
|
return React.createElement(DauthContext.Provider, {
|
|
778
867
|
value: memoProvider
|
|
779
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 updateLanguage: ({ language }: { language: string }) => void;\n}\n\nconst initialDauthState: IDauthState = {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateLanguage: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_LANGUAGE = 'UPDATE_LANGUAGE';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_LANGUAGE:\n return {\n ...state,\n user: {\n ...state.user,\n language: payload.language,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getTenantUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateTenantUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import { getTenantUserAPI, updateTenantUserAPI } from '../api/dauth.api';\nimport { DAUTH_STATE } from '../constants';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: any;\n dauth_state: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n dauth_state,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getTenantUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(DAUTH_STATE, dauth_state_ls);\n } else {\n localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({ dispatch }: { dispatch: any }) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {},\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateLanguageAction = {\n dispatch: any;\n domainName: string;\n language: string;\n token: string;\n};\nexport async function setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token,\n}: TSetUpdateLanguageAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await updateTenantUserAPI(\n domainName,\n { language: language },\n token\n );\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_LANGUAGE,\n payload: {\n language: language,\n },\n });\n } else {\n console.log('Change language error');\n return;\n }\n } catch (error) {\n console.log('Change language error', error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n} from 'react';\nimport initialDauthState, { IDauthState } from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { DAUTH_STATE } from './constants';\n\ninterface DauthProviderProps {\n domainName: string;\n sid: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, sid, children } = props;\n const [ds, dispatch] = useReducer(userReducer, initialDauthState);\n const dauthState = ds as IDauthState;\n\n // Catch login redirect\n useEffect(() => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const dauth_state = urlParams.get(DAUTH_STATE);\n if (dauth_state && !dauthState.isAuthenticated) {\n action.setDauthStateAction({ dispatch, dauth_state, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n // Auto Login\n useEffect(() => {\n const dauth_state_ls = localStorage.getItem(DAUTH_STATE);\n if (dauth_state_ls && !dauthState.isAuthenticated) {\n action.setAutoLoginAction({ dispatch, dauth_state_ls, domainName });\n }\n }, [dauthState.isAuthenticated, domainName]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath({ domainName })}/t-sign/${sid}`\n );\n }, [domainName, sid]);\n\n const logout = useCallback(() => {\n return action.setLogoutAction({ dispatch });\n }, []);\n\n const getAccessToken = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n return token_ls ?? 'token-not-found';\n }, []);\n\n const updateLanguage = useCallback(({ language }: { language: string }) => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n if (!token_ls || !language) return;\n return action.setUpdateLanguageAction({\n dispatch,\n domainName,\n language,\n token: token_ls,\n });\n }, []);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateLanguage,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateLanguage]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateLanguage","LOGIN","SET_IS_LOADING","UPDATE_LANGUAGE","userReducer","state","action","type","payload","DauthTypes","_extends","language","isLocalhost","Boolean","window","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getTenantUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateTenantUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","document","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","setUpdateLanguageAction","_setUpdateLanguageAction","_callee4","_ref4","_callee4$","_context4","DauthProvider","props","sid","children","_useReducer","useReducer","ds","dauthState","useEffect","queryString","search","urlParams","URLSearchParams","get","getItem","useCallback","replace","token_ls","memoProvider","useMemo","React","DauthContext","Provider","value","createContext","useDauth","context","useContext","Error"],"mappings":"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"}
|
|
1
|
+
{"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 }: 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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"}
|
|
@@ -32,6 +32,7 @@ export interface IDauthState {
|
|
|
32
32
|
updateLanguage: ({ language }: {
|
|
33
33
|
language: string;
|
|
34
34
|
}) => void;
|
|
35
|
+
updateUser: ({ name, lastname, nickname, tel_prefix, tel_suffix, language, avatar, }: Partial<IDauthUser>) => void;
|
|
35
36
|
}
|
|
36
37
|
declare const initialDauthState: IDauthState;
|
|
37
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;
|
|
@@ -20,4 +21,11 @@ declare type TSetUpdateLanguageAction = {
|
|
|
20
21
|
token: string;
|
|
21
22
|
};
|
|
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>;
|
|
23
31
|
export {};
|
package/package.json
CHANGED
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';
|
|
@@ -59,16 +62,50 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
59
62
|
return token_ls ?? 'token-not-found';
|
|
60
63
|
}, []);
|
|
61
64
|
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
const updateUser = useCallback(
|
|
66
|
+
({
|
|
67
|
+
name,
|
|
68
|
+
lastname,
|
|
69
|
+
nickname,
|
|
70
|
+
tel_prefix,
|
|
71
|
+
tel_suffix,
|
|
68
72
|
language,
|
|
69
|
-
|
|
70
|
-
})
|
|
71
|
-
|
|
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
|
+
);
|
|
72
109
|
|
|
73
110
|
const memoProvider = useMemo(
|
|
74
111
|
() => ({
|
|
@@ -76,9 +113,17 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
76
113
|
loginWithRedirect,
|
|
77
114
|
logout,
|
|
78
115
|
getAccessToken: () => getAccessToken() || '',
|
|
116
|
+
updateUser,
|
|
79
117
|
updateLanguage,
|
|
80
118
|
}),
|
|
81
|
-
[
|
|
119
|
+
[
|
|
120
|
+
dauthState,
|
|
121
|
+
loginWithRedirect,
|
|
122
|
+
logout,
|
|
123
|
+
getAccessToken,
|
|
124
|
+
updateUser,
|
|
125
|
+
updateLanguage,
|
|
126
|
+
]
|
|
82
127
|
);
|
|
83
128
|
|
|
84
129
|
return (
|
package/src/initialDauthState.ts
CHANGED
|
@@ -32,6 +32,15 @@ export interface IDauthState {
|
|
|
32
32
|
logout: () => void;
|
|
33
33
|
getAccessToken: () => string;
|
|
34
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
|
+
}: Partial<IDauthUser>) => void;
|
|
35
44
|
}
|
|
36
45
|
|
|
37
46
|
const initialDauthState: IDauthState = {
|
|
@@ -43,6 +52,7 @@ const initialDauthState: IDauthState = {
|
|
|
43
52
|
logout: () => {},
|
|
44
53
|
getAccessToken: () => initialDauthState.getAccessToken() || '',
|
|
45
54
|
updateLanguage: () => {},
|
|
55
|
+
updateUser: () => {},
|
|
46
56
|
};
|
|
47
57
|
|
|
48
58
|
export default initialDauthState;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
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 = {
|
|
@@ -137,3 +138,37 @@ export async function setUpdateLanguageAction({
|
|
|
137
138
|
});
|
|
138
139
|
}
|
|
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
|
+
}
|