dauth-context-react 0.1.76 → 0.1.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/dauth.api.d.ts +1 -0
- package/dist/dauth-context-react.cjs.development.js +148 -3
- 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 +148 -3
- package/dist/dauth-context-react.esm.js.map +1 -1
- package/dist/initialDauthState.d.ts +10 -0
- package/dist/reducer/dauth.actions.d.ts +6 -0
- package/dist/reducer/dauth.types.d.ts +2 -0
- package/package.json +1 -1
- package/src/api/dauth.api.ts +21 -0
- package/src/index.tsx +21 -1
- package/src/initialDauthState.ts +18 -0
- package/src/reducer/dauth.actions.ts +55 -1
- package/src/reducer/dauth.reducer.ts +21 -0
- package/src/reducer/dauth.types.ts +4 -0
package/dist/api/dauth.api.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { IDauthUser } from '../initialDauthState';
|
|
2
2
|
export declare const getUserAPI: (domainName: string, token: string) => Promise<any>;
|
|
3
3
|
export declare const updateUserAPI: (domainName: string, user: Partial<IDauthUser>, token: string) => Promise<any>;
|
|
4
|
+
export declare const sendEmailVerificationAPI: (domainName: string, token: string) => Promise<any>;
|
|
@@ -365,12 +365,20 @@ var initialDauthState = {
|
|
|
365
365
|
getAccessToken: function getAccessToken() {
|
|
366
366
|
return initialDauthState.getAccessToken() || '';
|
|
367
367
|
},
|
|
368
|
-
updateUser: function updateUser() {}
|
|
368
|
+
updateUser: function updateUser() {},
|
|
369
|
+
// Send email verification
|
|
370
|
+
sev: {
|
|
371
|
+
status: {},
|
|
372
|
+
isLoading: false
|
|
373
|
+
},
|
|
374
|
+
sendEmailVerification: function sendEmailVerification() {}
|
|
369
375
|
};
|
|
370
376
|
|
|
371
377
|
var LOGIN = 'LOGIN';
|
|
372
378
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
373
379
|
var UPDATE_USER = 'UPDATE_USER';
|
|
380
|
+
var SET_SEND_EMAIL_VERIFICATION_IS_LOADING = 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';
|
|
381
|
+
var SET_SEND_EMAIL_VERIFICATION_STATUS = 'SET_SEND_EMAIL_VERIFICATION_STATUS';
|
|
374
382
|
|
|
375
383
|
function userReducer(state, action) {
|
|
376
384
|
var type = action.type,
|
|
@@ -390,6 +398,21 @@ function userReducer(state, action) {
|
|
|
390
398
|
return _extends({}, state, {
|
|
391
399
|
user: _extends({}, state.user, payload)
|
|
392
400
|
});
|
|
401
|
+
case SET_SEND_EMAIL_VERIFICATION_STATUS:
|
|
402
|
+
return _extends({}, state, {
|
|
403
|
+
sev: _extends({}, state.sev, {
|
|
404
|
+
status: {
|
|
405
|
+
type: payload.type,
|
|
406
|
+
message: payload.message
|
|
407
|
+
}
|
|
408
|
+
})
|
|
409
|
+
});
|
|
410
|
+
case SET_SEND_EMAIL_VERIFICATION_IS_LOADING:
|
|
411
|
+
return _extends({}, state, {
|
|
412
|
+
sev: _extends({}, state.sev, {
|
|
413
|
+
isLoading: payload
|
|
414
|
+
})
|
|
415
|
+
});
|
|
393
416
|
default:
|
|
394
417
|
return state;
|
|
395
418
|
}
|
|
@@ -490,6 +513,43 @@ var updateUserAPI = /*#__PURE__*/function () {
|
|
|
490
513
|
return _ref2.apply(this, arguments);
|
|
491
514
|
};
|
|
492
515
|
}();
|
|
516
|
+
var sendEmailVerificationAPI = /*#__PURE__*/function () {
|
|
517
|
+
var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(domainName, token) {
|
|
518
|
+
var params, response, data;
|
|
519
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
520
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
521
|
+
case 0:
|
|
522
|
+
params = {
|
|
523
|
+
method: 'GET',
|
|
524
|
+
headers: {
|
|
525
|
+
Authorization: "" + token,
|
|
526
|
+
'Content-Type': 'application/json'
|
|
527
|
+
}
|
|
528
|
+
};
|
|
529
|
+
_context3.next = 3;
|
|
530
|
+
return fetch(getServerBasePath({
|
|
531
|
+
domainName: domainName
|
|
532
|
+
}) + "/resend-tenant-email-verification/" + domainName, params);
|
|
533
|
+
case 3:
|
|
534
|
+
response = _context3.sent;
|
|
535
|
+
_context3.next = 6;
|
|
536
|
+
return response.json();
|
|
537
|
+
case 6:
|
|
538
|
+
data = _context3.sent;
|
|
539
|
+
return _context3.abrupt("return", {
|
|
540
|
+
response: response,
|
|
541
|
+
data: data
|
|
542
|
+
});
|
|
543
|
+
case 8:
|
|
544
|
+
case "end":
|
|
545
|
+
return _context3.stop();
|
|
546
|
+
}
|
|
547
|
+
}, _callee3);
|
|
548
|
+
}));
|
|
549
|
+
return function sendEmailVerificationAPI(_x6, _x7) {
|
|
550
|
+
return _ref3.apply(this, arguments);
|
|
551
|
+
};
|
|
552
|
+
}();
|
|
493
553
|
|
|
494
554
|
var DAUTH_STATE = 'dauth_state';
|
|
495
555
|
|
|
@@ -707,6 +767,80 @@ function _setUpdateUserAction() {
|
|
|
707
767
|
}));
|
|
708
768
|
return _setUpdateUserAction.apply(this, arguments);
|
|
709
769
|
}
|
|
770
|
+
function sendEmailVerificationAction(_x5) {
|
|
771
|
+
return _sendEmailVerificationAction.apply(this, arguments);
|
|
772
|
+
}
|
|
773
|
+
function _sendEmailVerificationAction() {
|
|
774
|
+
_sendEmailVerificationAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5) {
|
|
775
|
+
var dispatch, domainName, token, sendEmailFetch;
|
|
776
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
777
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
778
|
+
case 0:
|
|
779
|
+
dispatch = _ref5.dispatch, domainName = _ref5.domainName, token = _ref5.token;
|
|
780
|
+
dispatch({
|
|
781
|
+
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
782
|
+
payload: true
|
|
783
|
+
});
|
|
784
|
+
_context5.prev = 2;
|
|
785
|
+
_context5.next = 5;
|
|
786
|
+
return sendEmailVerificationAPI(domainName, token);
|
|
787
|
+
case 5:
|
|
788
|
+
sendEmailFetch = _context5.sent;
|
|
789
|
+
console.log(sendEmailFetch);
|
|
790
|
+
if (!(sendEmailFetch.response.status === 200)) {
|
|
791
|
+
_context5.next = 12;
|
|
792
|
+
break;
|
|
793
|
+
}
|
|
794
|
+
dispatch({
|
|
795
|
+
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
796
|
+
payload: {
|
|
797
|
+
type: 'success',
|
|
798
|
+
message: sendEmailFetch.data.message
|
|
799
|
+
}
|
|
800
|
+
});
|
|
801
|
+
return _context5.abrupt("return", dispatch({
|
|
802
|
+
type: UPDATE_USER,
|
|
803
|
+
payload: {
|
|
804
|
+
is_verified: false
|
|
805
|
+
}
|
|
806
|
+
}));
|
|
807
|
+
case 12:
|
|
808
|
+
dispatch({
|
|
809
|
+
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
810
|
+
payload: {
|
|
811
|
+
type: 'error',
|
|
812
|
+
message: sendEmailFetch.data.message
|
|
813
|
+
}
|
|
814
|
+
});
|
|
815
|
+
return _context5.abrupt("return");
|
|
816
|
+
case 14:
|
|
817
|
+
_context5.next = 19;
|
|
818
|
+
break;
|
|
819
|
+
case 16:
|
|
820
|
+
_context5.prev = 16;
|
|
821
|
+
_context5.t0 = _context5["catch"](2);
|
|
822
|
+
dispatch({
|
|
823
|
+
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
824
|
+
payload: {
|
|
825
|
+
type: 'error',
|
|
826
|
+
message: 'Send email verification fetch error'
|
|
827
|
+
}
|
|
828
|
+
});
|
|
829
|
+
case 19:
|
|
830
|
+
_context5.prev = 19;
|
|
831
|
+
dispatch({
|
|
832
|
+
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
833
|
+
payload: false
|
|
834
|
+
});
|
|
835
|
+
return _context5.finish(19);
|
|
836
|
+
case 22:
|
|
837
|
+
case "end":
|
|
838
|
+
return _context5.stop();
|
|
839
|
+
}
|
|
840
|
+
}, _callee5, null, [[2, 16, 19, 22]]);
|
|
841
|
+
}));
|
|
842
|
+
return _sendEmailVerificationAction.apply(this, arguments);
|
|
843
|
+
}
|
|
710
844
|
|
|
711
845
|
var DauthProvider = function DauthProvider(props) {
|
|
712
846
|
var domainName = props.domainName,
|
|
@@ -780,6 +914,16 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
780
914
|
token: token_ls
|
|
781
915
|
});
|
|
782
916
|
}, [domainName]);
|
|
917
|
+
var sendEmailVerification = React.useCallback(function () {
|
|
918
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
919
|
+
console.log('token_ls', token_ls);
|
|
920
|
+
if (!token_ls) return;
|
|
921
|
+
return sendEmailVerificationAction({
|
|
922
|
+
dispatch: dispatch,
|
|
923
|
+
domainName: domainName,
|
|
924
|
+
token: token_ls
|
|
925
|
+
});
|
|
926
|
+
}, [domainName]);
|
|
783
927
|
var memoProvider = React.useMemo(function () {
|
|
784
928
|
return _extends({}, dauthState, {
|
|
785
929
|
loginWithRedirect: loginWithRedirect,
|
|
@@ -787,9 +931,10 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
787
931
|
getAccessToken: function getAccessToken() {
|
|
788
932
|
return _getAccessToken() || '';
|
|
789
933
|
},
|
|
790
|
-
updateUser: updateUser
|
|
934
|
+
updateUser: updateUser,
|
|
935
|
+
sendEmailVerification: sendEmailVerification
|
|
791
936
|
});
|
|
792
|
-
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser]);
|
|
937
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser, sendEmailVerification]);
|
|
793
938
|
return React__default.createElement(DauthContext.Provider, {
|
|
794
939
|
value: memoProvider
|
|
795
940
|
}, 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 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: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/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 { getUserAPI, updateUserAPI } 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 getUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(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 language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n","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 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 memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateUser]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","LOGIN","SET_IS_LOADING","UPDATE_USER","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","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
|
+
{"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 updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => void;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n // Send email verification\n sev: {\n status: {} as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/resend-tenant-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} 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 getUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(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 language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: any;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n console.log(sendEmailFetch);\n \n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: { is_verified: false },\n });\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n return;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n } finally {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: 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 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 sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n console.log('token_ls', token_ls);\n \n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","sev","status","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","type","payload","DauthTypes","_extends","message","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","is_verified","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 m?e:m).prototype),i=new N(n||[]);return o(a,"_invoke",{value:k(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var p="suspendedStart",d="executing",v="completed",y={};function m(){}function g(){}function w(){}var b={};l(b,u,(function(){return this}));var x=Object.getPrototypeOf,L=x&&x(x(T([])));L&&L!==r&&a.call(L,u)&&(b=L);var _=w.prototype=m.prototype=Object.create(b);function E(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function r(n,o,i,u){var c=f(t[n],t,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&a.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,u)}))}u(c.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function k(e,r,n){var a=p;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===p)throw a=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var s=f(e,r,n);if("normal"===s.type){if(a=n.done?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=f(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 I(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 O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function T(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(a.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,o(_,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(_),t},e.awrap=function(t){return{__await:t}},E(S.prototype),l(S.prototype,c,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new S(h(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(_),l(_,s,"Generator"),l(_,u,(function(){return this})),l(_,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=T,N.prototype={constructor:N,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(O),!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),O(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;O(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:T(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:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return u.getAccessToken()||""},updateUser:function(){}};function c(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});case"UPDATE_USER":return i({},t,{user:i({},t.user,r)});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var h=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/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(l({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)}}(),p="dauth_state";function d(){return(d=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=e.dauth_state,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),t.prev=2,t.next=5,h(o,a);case 5:if(200!==(i=t.sent).response.status){t.next=12;break}return r({type:"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(p,a));case 12:return t.abrupt("return",localStorage.removeItem(p));case 13:t.next=19;break;case 15:t.prev=15,t.t0=t.catch(2),localStorage.removeItem(p),console.log(t.t0);case 19:return t.prev=19,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function 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_ls,o=e.domainName,(r=e.dispatch)({type:"SET_IS_LOADING",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(p,a)):localStorage.removeItem(p),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),localStorage.removeItem(p),console.log(t.t0);case 13:return t.prev=13,r({type:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function y(){return(y=o(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(p),t.abrupt("return",r({type:"SET_IS_LOADING",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:if(r=e.dispatch,a=e.domainName,i=e.token,(o=e.user).language&&window.document.documentElement.setAttribute("lang",o.language),i){t.next=4;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 4:return t.prev=4,t.next=7,f(a,o,i);case 7:if(200!==t.sent.response.status){t.next=12;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 12:return console.log("Update user error"),t.abrupt("return");case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(4),console.log("Update user error",t.t0);case 19:case"end":return t.stop()}}),t,null,[[4,16]])})))).apply(this,arguments)}var g=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,l=e.useReducer(c,u),h=l[1],f=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(p);e&&!f.isAuthenticated&&function(t){d.apply(this,arguments)}({dispatch:h,dauth_state:e,domainName:n})}}),[f.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(p);t&&!f.isAuthenticated&&function(t){v.apply(this,arguments)}({dispatch:h,dauth_state_ls:t,domainName:n})}),[f.isAuthenticated,n]);var w=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+a));var t}),[n,a]),b=e.useCallback((function(){return function(t){return y.apply(this,arguments)}({dispatch:h})}),[]),x=e.useCallback((function(){var t=localStorage.getItem(p);return null!=t?t:"token-not-found"}),[]),L=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(p);return function(t){return m.apply(this,arguments)}({dispatch:h,domainName:n,user:{name:e,lastname:r,nickname:a,tel_prefix:o,tel_suffix:i,language:u,avatar:c},token:s})}),[n]),_=e.useMemo((function(){return i({},f,{loginWithRedirect:w,logout:b,getAccessToken:function(){return x()||""},updateUser:L})}),[f,w,b,x,L]);return r.createElement(g.Provider,{value:_},o)},exports.useDauth=function(){var t=e.useContext(g);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 m?e:m).prototype),i=new O(n||[]);return o(a,"_invoke",{value:x(t,r,i)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var h="suspendedStart",d="executing",v="completed",y={};function m(){}function g(){}function w(){}var _={};l(_,u,(function(){return this}));var E=Object.getPrototypeOf,I=E&&E(E(k([])));I&&I!==r&&a.call(I,u)&&(_=I);var S=w.prototype=m.prototype=Object.create(_);function b(t){["next","throw","return"].forEach((function(e){l(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(n,o,i,u){var c=f(t[n],t,o);if("throw"!==c.type){var s=c.arg,l=s.value;return l&&"object"==typeof l&&a.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,i,u)}),(function(t){r("throw",t,i,u)})):e.resolve(l).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,u)}))}u(c.arg)}var n;o(this,"_invoke",{value:function(t,a){function o(){return new e((function(e,n){r(t,a,e,n)}))}return n=n?n.then(o,o):o()}})}function x(e,r,n){var a=h;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===h)throw a=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var s=f(e,r,n);if("normal"===s.type){if(a=n.done?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=f(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 N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function k(e){if(e||""===e){var r=e[u];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function r(){for(;++n<e.length;)if(a.call(e,n))return r.value=e[n],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return g.prototype=w,o(S,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:g,configurable:!0}),g.displayName=l(w,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,s,"GeneratorFunction")),t.prototype=Object.create(S),t},e.awrap=function(t){return{__await:t}},b(L.prototype),l(L.prototype,c,(function(){return this})),e.AsyncIterator=L,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new L(p(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},b(S),l(S,s,"Generator"),l(S,u,(function(){return this})),l(S,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=k,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(T),!e)for(var r in this)"t"===r.charAt(0)&&a.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,a){return u.type="throw",u.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(c&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,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),T(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;T(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:k(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function a(t,e,r,n,a,o,i){try{var u=t[o](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,c,"next",t)}function c(t){a(i,n,o,u,c,"throw",t)}u(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var u={user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isLoading:!1,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return u.getAccessToken()||""},updateUser:function(){},sev:{status:{},isLoading:!1},sendEmailVerification:function(){}};function c(t,e){var r=e.payload;switch(e.type){case"LOGIN":return i({},t,{user:r.user,domain:r.domain,isAuthenticated:r.isAuthenticated});case"SET_IS_LOADING":return i({},t,{isLoading:r.isLoading});case"UPDATE_USER":return i({},t,{user:i({},t.user,r)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return i({},t,{sev:i({},t.sev,{status:{type:r.type,message:r.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return i({},t,{sev:i({},t.sev,{isLoading:r})});default:return t}}var s=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));function l(t){var e=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return s?e:"https://"+t.domainName+".dauth.ovh/api/v1"}var 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(l({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(l({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)}}(),h=function(){var t=o(n().mark((function t(e,r){var a,o;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={method:"GET",headers:{Authorization:""+r,"Content-Type":"application/json"}},t.next=3,fetch(l({domainName:e})+"/resend-tenant-email-verification/"+e,a);case 3:return o=t.sent,t.next=6,o.json();case 6:return t.abrupt("return",{response:o,data:t.sent});case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),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:"SET_IS_LOADING",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:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,15,19,22]])})))).apply(this,arguments)}function 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:"SET_IS_LOADING",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:"SET_IS_LOADING",payload:{isLoading:!1}}),t.finish(13);case 16:case"end":return t.stop()}}),t,null,[[2,9,13,16]])})))).apply(this,arguments)}function m(){return(m=o(n().mark((function t(e){var r;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(r=e.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),r({type:"LOGIN",payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(d),t.abrupt("return",r({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function g(){return(g=o(n().mark((function t(e){var r,a,o,i;return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.dispatch,a=e.domainName,i=e.token,(o=e.user).language&&window.document.documentElement.setAttribute("lang",o.language),i){t.next=4;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 4:return t.prev=4,t.next=7,f(a,o,i);case 7:if(200!==t.sent.response.status){t.next=12;break}return t.abrupt("return",r({type:"UPDATE_USER",payload:o}));case 12:return console.log("Update user error"),t.abrupt("return");case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(4),console.log("Update user error",t.t0);case 19:case"end":return t.stop()}}),t,null,[[4,16]])})))).apply(this,arguments)}function 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.token,(r=e.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),t.prev=2,t.next=5,h(a,o);case 5:if(i=t.sent,console.log(i),200!==i.response.status){t.next=12;break}return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:i.data.message}}),t.abrupt("return",r({type:"UPDATE_USER",payload:{is_verified:!1}}));case 12:return r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:i.data.message}}),t.abrupt("return");case 14:t.next=19;break;case 16:t.prev=16,t.t0=t.catch(2),r({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}});case 19:return t.prev=19,r({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),t.finish(19);case 22:case"end":return t.stop()}}),t,null,[[2,16,19,22]])})))).apply(this,arguments)}var _=e.createContext(u);exports.DauthProvider=function(t){var n=t.domainName,a=t.sid,o=t.children,l=e.useReducer(c,u),p=l[1],f=l[0];e.useEffect((function(){var t=window.location.search;if(t){var e=new URLSearchParams(t).get(d);e&&!f.isAuthenticated&&function(t){v.apply(this,arguments)}({dispatch:p,dauth_state:e,domainName:n})}}),[f.isAuthenticated,n]),e.useEffect((function(){var t=localStorage.getItem(d);t&&!f.isAuthenticated&&function(t){y.apply(this,arguments)}({dispatch:p,dauth_state_ls:t,domainName:n})}),[f.isAuthenticated,n]);var h=e.useCallback((function(){return window.location.replace((t=window.location.protocol+"//"+window.location.hostname+":5185",(s?t:"https://"+n+".dauth.ovh")+"/t-sign/"+a));var t}),[n,a]),E=e.useCallback((function(){return function(t){return m.apply(this,arguments)}({dispatch:p})}),[]),I=e.useCallback((function(){var t=localStorage.getItem(d);return null!=t?t:"token-not-found"}),[]),S=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);return function(t){return g.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]),b=e.useCallback((function(){var t=localStorage.getItem(d);if(console.log("token_ls",t),t)return function(t){return w.apply(this,arguments)}({dispatch:p,domainName:n,token:t})}),[n]),L=e.useMemo((function(){return i({},f,{loginWithRedirect:h,logout:E,getAccessToken:function(){return I()||""},updateUser:S,sendEmailVerification:b})}),[f,h,E,I,S,b]);return r.createElement(_.Provider,{value:L},o)},exports.useDauth=function(){var t=e.useContext(_);if(!t)throw new Error("useDauth must be used inside DauthProvider");return t};
|
|
2
2
|
//# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n 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: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n};\n\nexport default initialDauthState;\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n 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","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/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 { getUserAPI, updateUserAPI } 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 getUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(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 language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n","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 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 memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateUser]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","userReducer","state","action","payload","type","_extends","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","_setLogoutAction","_callee3","_ref3","_context3","_setUpdateUserAction","_callee4","_ref4","_context4","setAttribute","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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"}
|
|
1
|
+
{"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.reducer.ts","../src/reducer/dauth.types.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["export interface IDauthUser {\n _id: string;\n dauthLicense?: string;\n sid: string;\n name: string;\n lastname: string;\n nickname: string;\n email: string;\n is_verified: boolean;\n language: string;\n avatar: string;\n role: string;\n tel_prefix: string;\n tel_suffix: string;\n createdAt: Date;\n updatedAt: Date;\n last_login: Date;\n}\n\ninterface IDauthDomainState {\n name: string;\n loginRedirect: string;\n allowedOrigins: string[];\n}\n\nexport interface IDauthState {\n user: IDauthUser;\n domain: IDauthDomainState;\n isLoading: boolean;\n isAuthenticated: boolean;\n loginWithRedirect: () => void;\n logout: () => void;\n getAccessToken: () => string;\n updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => void;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n // Send email verification\n sev: {\n status: {} as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => {},\n};\n\nexport default initialDauthState;\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\n}\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/resend-tenant-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} 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 getUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(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 language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: any;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n console.log(sendEmailFetch);\n \n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: { is_verified: false },\n });\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n return;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n } finally {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: 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 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 sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n console.log('token_ls', token_ls);\n \n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","sev","status","sendEmailVerification","userReducer","state","action","payload","type","_extends","message","isLocalhost","Boolean","location","hostname","match","getServerBasePath","_ref","serverLocalUrl","protocol","domainName","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","wrap","_context","prev","next","method","headers","Authorization","Content-Type","fetch","sent","json","abrupt","data","stop","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","DAUTH_STATE","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","_setAutoLoginAction","dauth_state_ls","_setLogoutAction","_setUpdateUserAction","_callee4","_ref4","_context4","setAttribute","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_context5","is_verified","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":"+hOAwDA,IAAMA,EAAiC,CACrCC,KAAM,CACJC,SAAUC,OAAOC,SAASC,gBAAgBC,aAAa,SAAW,MAEpEC,OAAQ,GACRC,WAAW,EACXC,iBAAiB,EACjBC,kBAAmB,aACnBC,OAAQ,aACRC,eAAgB,WAAA,OAAMZ,EAAkBY,kBAAoB,IAC5DC,WAAY,aAEZC,IAAK,CACHC,OAAQ,GACRP,WAAW,GAEbQ,sBAAuB,uBCtEDC,EAAYC,EAAYC,GAC9C,IAAcC,EAAYD,EAAZC,QAEd,OAF0BD,EAAlBE,MAGN,ICNiB,QDOf,OAAAC,KACKJ,GACHjB,KAAMmB,EAAQnB,KACdM,OAAQa,EAAQb,OAChBE,gBAAiBW,EAAQX,kBAG7B,ICb0B,iBDcxB,OAAAa,KACKJ,GACHV,UAAWY,EAAQZ,YAGvB,IClBuB,cDmBrB,OAAAc,KACKJ,GACHjB,KAAIqB,KACCJ,EAAMjB,KACNmB,KAIT,ICvBF,qCDwBI,OAAAE,KACKJ,GACHJ,IAAGQ,KACEJ,EAAMJ,KACTC,OAAQ,CACNM,KAAMD,EAAQC,KACdE,QAASH,EAAQG,aAKzB,ICrCF,yCDsCI,OAAAD,KACKJ,GACHJ,IAAGQ,KACEJ,EAAMJ,KACTN,UAAWY,MAIjB,QACE,OAAOF,GEnDb,IAAMM,EAAcC,QACW,cAA7BtB,OAAOuB,SAASC,UACe,UAA7BxB,OAAOuB,SAASC,UAChBxB,OAAOuB,SAASC,SAASC,MACvB,2EAEFzB,OAAOuB,SAASC,SAASC,MACvB,oEAMUC,EAAiBC,OAEzBC,EAAoB5B,OAAOuB,SAASM,cAAa7B,OAAOuB,SAASC,SAA7CxB,eAG1B,OADuBqB,EAAcO,aAJOD,EAAVG,mCCVvBC,aAAU,IAAAJ,EAAAK,EAAAC,IAAAC,MAAG,SAAAC,EACxBL,EACAM,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAQZ,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,iBAAkBT,EAClBU,eAAgB,qBAEnBN,EAAAE,OACsBK,MAClBrB,EAAkB,CAAEI,WAAAA,wBAAiCA,EACxDO,GACD,OAHa,OAARC,EAAQE,EAAAQ,KAAAR,EAAAE,OAIKJ,EAASW,OAAM,OAAxB,OAAAT,EAAAU,gBACH,CAAEZ,SAAAA,EAAUa,KADTX,EAAAQ,OACe,OAAA,UAAA,OAAAR,EAAAY,UAAAjB,OAC1B,gBAjBsBkB,EAAAC,GAAA,OAAA3B,EAAA4B,WAAAC,eAmBVC,aAAa,IAAAC,EAAA1B,EAAAC,IAAAC,MAAG,SAAAyB,EAC3B7B,EACAhC,EACAsC,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAAqB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,OASZ,OAPKL,EAAS,CACbM,OAAQ,QACRC,QAAS,CACPC,iBAAkBT,EAClBU,eAAgB,oBAElBe,KAAMC,KAAKC,UAAUjE,IACtB8D,EAAAlB,OACsBK,MAClBrB,EAAkB,CAAEI,WAAAA,2BAAoCA,EAC3DO,GACD,OAHa,OAARC,EAAQsB,EAAAZ,KAAAY,EAAAlB,OAIKJ,EAASW,OAAM,OAAxB,OAAAW,EAAAV,gBACH,CAAEZ,SAAAA,EAAUa,KADTS,EAAAZ,OACe,OAAA,UAAA,OAAAY,EAAAR,UAAAO,OAC1B,gBAnByBK,EAAAC,EAAAC,GAAA,OAAAR,EAAAH,WAAAC,eAqBbW,aAAwB,IAAAC,EAAApC,EAAAC,IAAAC,MAAG,SAAAmC,EACtCvC,EACAM,GAAa,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,eAAA+B,GAAA,cAAAA,EAAA7B,KAAA6B,EAAA5B,MAAA,OAQZ,OANKL,EAAS,CACbM,OAAQ,MACRC,QAAS,CACPC,iBAAkBT,EAClBU,eAAgB,qBAEnBwB,EAAA5B,OACsBK,MAClBrB,EAAkB,CACnBI,WAAAA,yCACqCA,EACvCO,GACD,OALa,OAARC,EAAQgC,EAAAtB,KAAAsB,EAAA5B,OAMKJ,EAASW,OAAM,OAAxB,OAAAqB,EAAApB,gBACH,CAAEZ,SAAAA,EAAUa,KADTmB,EAAAtB,OACe,OAAA,UAAA,OAAAsB,EAAAlB,UAAAiB,OAC1B,gBAnBoCE,EAAAC,GAAA,OAAAJ,EAAAb,WAAAC,eC3CxBiB,EAAc,cCiD1B,SAAAC,IAAA,OAAAA,EAAA1C,EAAAC,IAAAC,MAnCM,SAAAC,EAAAR,GAAA,IAAAgD,EAAAC,EAAA9C,EAAA+C,EAAA,OAAA5C,IAAAM,eAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKuE,OAH5EkC,EAAWjD,EAAXiD,YACA9C,EAAUH,EAAVG,YAFA6C,EAAQhD,EAARgD,UAIS,CAAEzD,KJlBiB,iBIkBgBD,QAAS,CAAEZ,WAAW,KAAUmC,EAAAC,OAAAD,EAAAE,OAE/CX,EAAWD,EAAY8C,GAAY,OAA5C,GACmB,OAD/BC,EAAYrC,EAAAQ,MACDV,SAAS1B,QAAc4B,EAAAE,QAAA,MAapC,OAZFiC,EAAS,CACPzD,KJxBa,QIyBbD,QAAS,CACPnB,KAAM+E,EAAa1B,KAAKrD,KACxBM,OAAQyE,EAAa1B,KAAK/C,OAC1BE,iBAAiB,KAGrBN,OAAO8E,QAAQC,aACb,GACA9E,SAAS+E,MACTH,EAAa1B,KAAK/C,OAAO6E,eACzBzC,EAAAU,gBACKgC,aAAaC,QAAQV,EAAaG,IAAY,QAAA,OAAApC,EAAAU,gBAE9CgC,aAAaE,WAAWX,IAAY,QAAAjC,EAAAE,QAAA,MAAA,QAAAF,EAAAC,QAAAD,EAAA6C,GAAA7C,WAG7C0C,aAAaE,WAAWX,GACxBa,QAAQC,IAAG/C,EAAA6C,IAAQ,QAKhB,OALgB7C,EAAAC,QAEnBkC,EAAS,CACPzD,KJ5CwB,iBI6CxBD,QAAS,CAAEZ,WAAW,KACrBmC,EAAAgD,WAAA,QAAA,UAAA,OAAAhD,EAAAY,UAAAjB,4BAENoB,WAAAC,WAqCA,SAAAiC,IAAA,OAAAA,EAAAzD,EAAAC,IAAAC,MA9BM,SAAAyB,EAAAD,GAAA,IAAAiB,EAAAe,EAAA5D,EAAA+C,EAAA,OAAA5C,IAAAM,eAAAqB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,OAKuE,OAH5EgD,EAAchC,EAAdgC,eACA5D,EAAU4B,EAAV5B,YAFA6C,EAAQjB,EAARiB,UAIS,CAAEzD,KJ5DiB,iBI4DgBD,QAAS,CAAEZ,WAAW,KAAUuD,EAAAnB,OAAAmB,EAAAlB,OAE/CX,EAAWD,EAAY4D,GAAe,OAC5B,OAD/Bb,EAAYjB,EAAAZ,MACDV,SAAS1B,QACxB+D,EAAS,CACPzD,KJlEa,QImEbD,QAAS,CACPnB,KAAM+E,EAAa1B,KAAKrD,KACxBM,OAAQyE,EAAa1B,KAAK/C,OAC1BE,iBAAiB,KAGrB4E,aAAaC,QAAQV,EAAaiB,IAElCR,aAAaE,WAAWX,GACzBb,EAAAlB,QAAA,MAAA,OAAAkB,EAAAnB,OAAAmB,EAAAyB,GAAAzB,WAEDsB,aAAaE,WAAWX,GACxBa,QAAQC,IAAG3B,EAAAyB,IAAQ,QAKhB,OALgBzB,EAAAnB,QAEnBkC,EAAS,CACPzD,KJjFwB,iBIkFxBD,QAAS,CAAEZ,WAAW,KACrBuD,EAAA4B,WAAA,QAAA,UAAA,OAAA5B,EAAAR,UAAAO,2BAENJ,WAAAC,WAmBA,SAAAmC,IAAA,OAAAA,EAAA3D,EAAAC,IAAAC,MAjBM,SAAAmC,EAAAD,GAAA,IAAAO,EAAA,OAAA1C,IAAAM,eAAA+B,GAAA,cAAAA,EAAA7B,KAAA6B,EAAA5B,MAAA,OAYgC,OAZCiC,EAAQP,EAARO,UAC7B,CAAEzD,KJxFiB,iBIwFgBD,QAAS,CAAEZ,WAAW,KAClEsE,EAAS,CACPzD,KJ3FiB,QI4FjBD,QAAS,CACPnB,KAAM,CACJC,SAAUC,OAAOC,SAASC,gBAAgBC,aAAa,SAAW,MAEpEC,OAAQ,GACRE,iBAAiB,KAGrB4E,aAAaE,WAAWX,GAAaH,EAAApB,gBAC9ByB,EAAS,CACdzD,KJrG0B,iBIsG1BD,QAAS,CAAEZ,WAAW,MACtB,OAAA,UAAA,OAAAiE,EAAAlB,UAAAiB,QACHd,WAAAC,WAqCA,SAAAoC,IAAA,OAAAA,EAAA5D,EAAAC,IAAAC,MA7BM,SAAA2D,EAAAC,GAAA,IAAAnB,EAAA7C,EAAAhC,EAAAsC,EAAA,OAAAH,IAAAM,eAAAwD,GAAA,cAAAA,EAAAtD,KAAAsD,EAAArD,MAAA,OAQJ,GAPDiC,EAAQmB,EAARnB,SACA7C,EAAUgE,EAAVhE,WAEAM,EAAK0D,EAAL1D,OADAtC,EAAIgG,EAAJhG,MAGSC,UACPC,OAAOC,SAASC,gBAAgB8F,aAAa,OAAQlG,EAAKC,UAEvDqC,GAAK2D,EAAArD,OAAA,MAAA,OAAAqD,EAAA7C,gBACDyB,EAAS,CACdzD,KJ1HqB,cI2HrBD,QAASnB,KACT,OAAA,OAAAiG,EAAAtD,OAAAsD,EAAArD,OAGyBe,EAAc3B,EAAYhC,EAAMsC,GAAM,OAA/C,GACmB,MADnB2D,EAAA/C,KACDV,SAAS1B,QAAcmF,EAAArD,QAAA,MAAA,OAAAqD,EAAA7C,gBAC/ByB,EAAS,CACdzD,KJlImB,cImInBD,QAASnB,KACT,QAE+B,OAAjCwF,QAAQC,IAAI,qBAAqBQ,EAAA7C,iBAAA,QAAA6C,EAAArD,QAAA,MAAA,QAAAqD,EAAAtD,QAAAsD,EAAAV,GAAAU,WAInCT,QAAQC,IAAI,oBAAmBQ,EAAAV,IAAS,QAAA,UAAA,OAAAU,EAAA3C,UAAAyC,sBAE3CtC,WAAAC,WAkDA,SAAAyC,IAAA,OAAAA,EAAAjE,EAAAC,IAAAC,MA3CM,SAAAgE,EAAAC,GAAA,IAAAxB,EAAA7C,EAAAM,EAAAgE,EAAA,OAAAnE,IAAAM,eAAA8D,GAAA,cAAAA,EAAA5D,KAAA4D,EAAA3D,MAAA,OAQF,OANHZ,EAAUqE,EAAVrE,WACAM,EAAK+D,EAAL/D,OAFAuC,EAAQwB,EAARxB,UAIS,CACPzD,KJvJF,yCIwJED,SAAS,IACRoF,EAAA5D,OAAA4D,EAAA3D,OAE4ByB,EAAyBrC,EAAYM,GAAM,OAC5C,GADtBgE,EAAcC,EAAArD,KACpBsC,QAAQC,IAAIa,GAE2B,MAAnCA,EAAe9D,SAAS1B,QAAcyF,EAAA3D,QAAA,MAIrC,OAHHiC,EAAS,CACPzD,KJ9JN,qCI+JMD,QAAS,CAAEC,KAAM,UAAWE,QAASgF,EAAejD,KAAK/B,WACxDiF,EAAAnD,gBACIyB,EAAS,CACdzD,KJtKmB,cIuKnBD,QAAS,CAAEqF,aAAa,MACxB,QAKC,OAHH3B,EAAS,CACPzD,KJvKN,qCIwKMD,QAAS,CAAEC,KAAM,QAASE,QAASgF,EAAejD,KAAK/B,WACtDiF,EAAAnD,iBAAA,QAAAmD,EAAA3D,QAAA,MAAA,QAAA2D,EAAA5D,QAAA4D,EAAAhB,GAAAgB,WAIL1B,EAAS,CACPzD,KJ9KJ,qCI+KID,QAAS,CACPC,KAAM,QACNE,QAAS,yCAEV,QAKA,OALAiF,EAAA5D,QAEHkC,EAAS,CACPzD,KJxLJ,yCIyLID,SAAS,IACRoF,EAAAb,WAAA,QAAA,UAAA,OAAAa,EAAAjD,UAAA8C,4BAEN3C,WAAAC,eC5DK+C,EAAeC,gBAAc3G,yBA7GwB,SACzD4G,GAEA,IAAQ3E,EAA8B2E,EAA9B3E,WAAY4E,EAAkBD,EAAlBC,IAAKC,EAAaF,EAAbE,SACzBC,EAAuBC,aAAW/F,EAAajB,GAApC8E,EAAQiC,KACbE,EADGF,KAITG,aAAU,WACR,IAAMC,EAAchH,OAAOuB,SAAS0F,OACpC,GAAKD,EAAL,CACA,IACMpC,EADY,IAAIsC,gBAAgBF,GACRG,IAAI1C,GAC9BG,IAAgBkC,EAAWxG,0BDtBM+C,GAAAqB,EAAAnB,WAAAC,WCuBnCxC,CAA2B,CAAE2D,SAAAA,EAAUC,YAAAA,EAAa9C,WAAAA,OAErD,CAACgF,EAAWxG,gBAAiBwB,IAGhCiF,aAAU,WACR,IAAMrB,EAAiBR,aAAakC,QAAQ3C,GACxCiB,IAAmBoB,EAAWxG,0BDYEgD,GAAAmC,EAAAlC,WAAAC,WCXlCxC,CAA0B,CAAE2D,SAAAA,EAAUe,eAAAA,EAAgB5D,WAAAA,MAEvD,CAACgF,EAAWxG,gBAAiBwB,IAEhC,IAAMvB,EAAoB8G,eAAY,WACpC,OAAOrH,OAAOuB,SAAS+F,SJ3BnBC,EAAoBvH,OAAOuB,SAASM,cAAa7B,OAAOuB,SAASC,SAA7CxB,SAEHqB,EAAckG,aI0BVzF,2BAAwB4E,QJ5B7Ca,II8BH,CAACzF,EAAY4E,IAEVlG,EAAS6G,eAAY,WACzB,gBDgCiCrD,GAAA,OAAA2B,EAAApC,WAAAC,WChC1BxC,CAAuB,CAAE2D,SAAAA,MAC/B,IAEGlE,EAAiB4G,eAAY,WACjC,IAAMG,EAAWtC,aAAakC,QAAQ3C,GACtC,aAAO+C,EAAAA,EAAY,oBAClB,IAEG9G,EAAa2G,eACjB,SAAA1F,OACE8F,EAAI9F,EAAJ8F,KACAC,EAAQ/F,EAAR+F,SACAC,EAAQhG,EAARgG,SACAC,EAAUjG,EAAViG,WACAC,EAAUlG,EAAVkG,WACA9H,EAAQ4B,EAAR5B,SACA+H,EAAMnG,EAANmG,OAEMN,EAAWtC,aAAakC,QAAQ3C,GAUtC,gBD6BmCR,GAAA,OAAA2B,EAAArC,WAAAC,WC7B5BxC,CAA2B,CAChC2D,SAAAA,EACA7C,WAAAA,EACAhC,KAZW,CACX2H,KAAAA,EACAC,SAAAA,EACAC,SAAAA,EACAC,WAAAA,EACAC,WAAAA,EACA9H,SAAAA,EACA+H,OAAAA,GAMA1F,MAAOoF,MAGX,CAAC1F,IAGGjB,EAAwBwG,eAAY,WACxC,IAAMG,EAAWtC,aAAakC,QAAQ3C,GAGtC,GAFAa,QAAQC,IAAI,WAAYiC,GAEnBA,EACL,gBDkD6CtD,GAAA,OAAA+B,EAAA1C,WAAAC,WClDtCxC,CAAmC,CACxC2D,SAAAA,EACA7C,WAAAA,EACAM,MAAOoF,MAER,CAAC1F,IAEEiG,EAAeC,WACnB,WAAA,OAAA7G,KACK2F,GACHvG,kBAAAA,EACAC,OAAAA,EACAC,eAAgB,WAAA,OAAMA,KAAoB,IAC1CC,WAAAA,EACAG,sBAAAA,MAEF,CACEiG,EACAvG,EACAC,EACAC,EACAC,EACAG,IAIJ,OACEoH,gBAAC1B,EAAa2B,UAASC,MAAOJ,GAC3BpB,qBAOiB,WACtB,IAAMyB,EAAUC,aAAW9B,GAC3B,IAAK6B,EACH,MAAM,IAAIE,MAAM,8CAElB,OAAOF"}
|
|
@@ -358,12 +358,20 @@ var initialDauthState = {
|
|
|
358
358
|
getAccessToken: function getAccessToken() {
|
|
359
359
|
return initialDauthState.getAccessToken() || '';
|
|
360
360
|
},
|
|
361
|
-
updateUser: function updateUser() {}
|
|
361
|
+
updateUser: function updateUser() {},
|
|
362
|
+
// Send email verification
|
|
363
|
+
sev: {
|
|
364
|
+
status: {},
|
|
365
|
+
isLoading: false
|
|
366
|
+
},
|
|
367
|
+
sendEmailVerification: function sendEmailVerification() {}
|
|
362
368
|
};
|
|
363
369
|
|
|
364
370
|
var LOGIN = 'LOGIN';
|
|
365
371
|
var SET_IS_LOADING = 'SET_IS_LOADING';
|
|
366
372
|
var UPDATE_USER = 'UPDATE_USER';
|
|
373
|
+
var SET_SEND_EMAIL_VERIFICATION_IS_LOADING = 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';
|
|
374
|
+
var SET_SEND_EMAIL_VERIFICATION_STATUS = 'SET_SEND_EMAIL_VERIFICATION_STATUS';
|
|
367
375
|
|
|
368
376
|
function userReducer(state, action) {
|
|
369
377
|
var type = action.type,
|
|
@@ -383,6 +391,21 @@ function userReducer(state, action) {
|
|
|
383
391
|
return _extends({}, state, {
|
|
384
392
|
user: _extends({}, state.user, payload)
|
|
385
393
|
});
|
|
394
|
+
case SET_SEND_EMAIL_VERIFICATION_STATUS:
|
|
395
|
+
return _extends({}, state, {
|
|
396
|
+
sev: _extends({}, state.sev, {
|
|
397
|
+
status: {
|
|
398
|
+
type: payload.type,
|
|
399
|
+
message: payload.message
|
|
400
|
+
}
|
|
401
|
+
})
|
|
402
|
+
});
|
|
403
|
+
case SET_SEND_EMAIL_VERIFICATION_IS_LOADING:
|
|
404
|
+
return _extends({}, state, {
|
|
405
|
+
sev: _extends({}, state.sev, {
|
|
406
|
+
isLoading: payload
|
|
407
|
+
})
|
|
408
|
+
});
|
|
386
409
|
default:
|
|
387
410
|
return state;
|
|
388
411
|
}
|
|
@@ -483,6 +506,43 @@ var updateUserAPI = /*#__PURE__*/function () {
|
|
|
483
506
|
return _ref2.apply(this, arguments);
|
|
484
507
|
};
|
|
485
508
|
}();
|
|
509
|
+
var sendEmailVerificationAPI = /*#__PURE__*/function () {
|
|
510
|
+
var _ref3 = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(domainName, token) {
|
|
511
|
+
var params, response, data;
|
|
512
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
513
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
514
|
+
case 0:
|
|
515
|
+
params = {
|
|
516
|
+
method: 'GET',
|
|
517
|
+
headers: {
|
|
518
|
+
Authorization: "" + token,
|
|
519
|
+
'Content-Type': 'application/json'
|
|
520
|
+
}
|
|
521
|
+
};
|
|
522
|
+
_context3.next = 3;
|
|
523
|
+
return fetch(getServerBasePath({
|
|
524
|
+
domainName: domainName
|
|
525
|
+
}) + "/resend-tenant-email-verification/" + domainName, params);
|
|
526
|
+
case 3:
|
|
527
|
+
response = _context3.sent;
|
|
528
|
+
_context3.next = 6;
|
|
529
|
+
return response.json();
|
|
530
|
+
case 6:
|
|
531
|
+
data = _context3.sent;
|
|
532
|
+
return _context3.abrupt("return", {
|
|
533
|
+
response: response,
|
|
534
|
+
data: data
|
|
535
|
+
});
|
|
536
|
+
case 8:
|
|
537
|
+
case "end":
|
|
538
|
+
return _context3.stop();
|
|
539
|
+
}
|
|
540
|
+
}, _callee3);
|
|
541
|
+
}));
|
|
542
|
+
return function sendEmailVerificationAPI(_x6, _x7) {
|
|
543
|
+
return _ref3.apply(this, arguments);
|
|
544
|
+
};
|
|
545
|
+
}();
|
|
486
546
|
|
|
487
547
|
var DAUTH_STATE = 'dauth_state';
|
|
488
548
|
|
|
@@ -700,6 +760,80 @@ function _setUpdateUserAction() {
|
|
|
700
760
|
}));
|
|
701
761
|
return _setUpdateUserAction.apply(this, arguments);
|
|
702
762
|
}
|
|
763
|
+
function sendEmailVerificationAction(_x5) {
|
|
764
|
+
return _sendEmailVerificationAction.apply(this, arguments);
|
|
765
|
+
}
|
|
766
|
+
function _sendEmailVerificationAction() {
|
|
767
|
+
_sendEmailVerificationAction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5) {
|
|
768
|
+
var dispatch, domainName, token, sendEmailFetch;
|
|
769
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
770
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
771
|
+
case 0:
|
|
772
|
+
dispatch = _ref5.dispatch, domainName = _ref5.domainName, token = _ref5.token;
|
|
773
|
+
dispatch({
|
|
774
|
+
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
775
|
+
payload: true
|
|
776
|
+
});
|
|
777
|
+
_context5.prev = 2;
|
|
778
|
+
_context5.next = 5;
|
|
779
|
+
return sendEmailVerificationAPI(domainName, token);
|
|
780
|
+
case 5:
|
|
781
|
+
sendEmailFetch = _context5.sent;
|
|
782
|
+
console.log(sendEmailFetch);
|
|
783
|
+
if (!(sendEmailFetch.response.status === 200)) {
|
|
784
|
+
_context5.next = 12;
|
|
785
|
+
break;
|
|
786
|
+
}
|
|
787
|
+
dispatch({
|
|
788
|
+
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
789
|
+
payload: {
|
|
790
|
+
type: 'success',
|
|
791
|
+
message: sendEmailFetch.data.message
|
|
792
|
+
}
|
|
793
|
+
});
|
|
794
|
+
return _context5.abrupt("return", dispatch({
|
|
795
|
+
type: UPDATE_USER,
|
|
796
|
+
payload: {
|
|
797
|
+
is_verified: false
|
|
798
|
+
}
|
|
799
|
+
}));
|
|
800
|
+
case 12:
|
|
801
|
+
dispatch({
|
|
802
|
+
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
803
|
+
payload: {
|
|
804
|
+
type: 'error',
|
|
805
|
+
message: sendEmailFetch.data.message
|
|
806
|
+
}
|
|
807
|
+
});
|
|
808
|
+
return _context5.abrupt("return");
|
|
809
|
+
case 14:
|
|
810
|
+
_context5.next = 19;
|
|
811
|
+
break;
|
|
812
|
+
case 16:
|
|
813
|
+
_context5.prev = 16;
|
|
814
|
+
_context5.t0 = _context5["catch"](2);
|
|
815
|
+
dispatch({
|
|
816
|
+
type: SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
817
|
+
payload: {
|
|
818
|
+
type: 'error',
|
|
819
|
+
message: 'Send email verification fetch error'
|
|
820
|
+
}
|
|
821
|
+
});
|
|
822
|
+
case 19:
|
|
823
|
+
_context5.prev = 19;
|
|
824
|
+
dispatch({
|
|
825
|
+
type: SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
826
|
+
payload: false
|
|
827
|
+
});
|
|
828
|
+
return _context5.finish(19);
|
|
829
|
+
case 22:
|
|
830
|
+
case "end":
|
|
831
|
+
return _context5.stop();
|
|
832
|
+
}
|
|
833
|
+
}, _callee5, null, [[2, 16, 19, 22]]);
|
|
834
|
+
}));
|
|
835
|
+
return _sendEmailVerificationAction.apply(this, arguments);
|
|
836
|
+
}
|
|
703
837
|
|
|
704
838
|
var DauthProvider = function DauthProvider(props) {
|
|
705
839
|
var domainName = props.domainName,
|
|
@@ -773,6 +907,16 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
773
907
|
token: token_ls
|
|
774
908
|
});
|
|
775
909
|
}, [domainName]);
|
|
910
|
+
var sendEmailVerification = useCallback(function () {
|
|
911
|
+
var token_ls = localStorage.getItem(DAUTH_STATE);
|
|
912
|
+
console.log('token_ls', token_ls);
|
|
913
|
+
if (!token_ls) return;
|
|
914
|
+
return sendEmailVerificationAction({
|
|
915
|
+
dispatch: dispatch,
|
|
916
|
+
domainName: domainName,
|
|
917
|
+
token: token_ls
|
|
918
|
+
});
|
|
919
|
+
}, [domainName]);
|
|
776
920
|
var memoProvider = useMemo(function () {
|
|
777
921
|
return _extends({}, dauthState, {
|
|
778
922
|
loginWithRedirect: loginWithRedirect,
|
|
@@ -780,9 +924,10 @@ var DauthProvider = function DauthProvider(props) {
|
|
|
780
924
|
getAccessToken: function getAccessToken() {
|
|
781
925
|
return _getAccessToken() || '';
|
|
782
926
|
},
|
|
783
|
-
updateUser: updateUser
|
|
927
|
+
updateUser: updateUser,
|
|
928
|
+
sendEmailVerification: sendEmailVerification
|
|
784
929
|
});
|
|
785
|
-
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser]);
|
|
930
|
+
}, [dauthState, loginWithRedirect, logout, _getAccessToken, updateUser, sendEmailVerification]);
|
|
786
931
|
return React.createElement(DauthContext.Provider, {
|
|
787
932
|
value: memoProvider
|
|
788
933
|
}, 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 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: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/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 { getUserAPI, updateUserAPI } 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 getUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(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 language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n","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 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 memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n }),\n [dauthState, loginWithRedirect, logout, getAccessToken, updateUser]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","LOGIN","SET_IS_LOADING","UPDATE_USER","userReducer","state","action","type","payload","DauthTypes","_extends","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","status","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","_callee3","_ref3","_callee3$","_context3","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","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
|
+
{"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 updateUser: ({\n name,\n lastname,\n nickname,\n tel_prefix,\n tel_suffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => void;\n // Send email verification\n sev: {\n status: IActionStatus;\n isLoading: boolean;\n };\n sendEmailVerification: () => void;\n}\n\nexport interface IActionStatus {\n type: TStatusTypes;\n message: string;\n}\nexport type TStatusTypes = 'success' | 'error' | 'info' | 'warning';\n\nconst initialDauthState: IDauthState = {\n user: {\n language: window.document.documentElement.getAttribute('lang') || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: false,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => initialDauthState.getAccessToken() || '',\n updateUser: () => {},\n // Send email verification\n sev: {\n status: {} as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => {},\n};\n\nexport default initialDauthState;\n","export const LOGIN = 'LOGIN';\nexport const SET_IS_LOADING = 'SET_IS_LOADING';\nexport const UPDATE_USER = 'UPDATE_USER';\nexport const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =\n 'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';\nexport const SET_SEND_EMAIL_VERIFICATION_STATUS =\n 'SET_SEND_EMAIL_VERIFICATION_STATUS';\n","import * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: any, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN:\n return {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n\n case DauthTypes.SET_IS_LOADING:\n return {\n ...state,\n isLoading: payload.isLoading,\n };\n\n case DauthTypes.UPDATE_USER:\n return {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:\n return {\n ...state,\n sev: {\n ...state.sev,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:\n return {\n ...state,\n sev: {\n ...state.sev,\n isLoading: payload,\n },\n };\n\n default:\n return state;\n }\n}\n","const isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n window.location.hostname === '[::1]' ||\n window.location.hostname.match(\n /(192)\\.(168)\\.(1)\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm\n ) ||\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\nexport const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nexport function getServerBasePath({ domainName }: { domainName: string }) {\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${domainName}.${serverDomain}/api/${apiVersion}`;\n const serverBasePath = isLocalhost ? serverLocalUrl : serverProdUrl;\n return serverBasePath;\n}\n\nexport function getClientBasePath({ domainName }: { domainName: string }) {\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${domainName}.${serverDomain}`;\n const clientBasePath = isLocalhost ? clientLocalUrl : clientProdUrl;\n return clientBasePath;\n}\n","import { IDauthUser } from '../initialDauthState';\nimport { getServerBasePath } from './utils/config';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/get-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const updateUserAPI = async (\n domainName: string,\n user: Partial<IDauthUser>,\n token: string\n): Promise<any> => {\n const params = {\n method: 'PATCH',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(user),\n };\n const response = await fetch(\n `${getServerBasePath({ domainName })}/update-tenant-user/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const sendEmailVerificationAPI = async (\n domainName: string,\n token: string\n): Promise<any> => {\n const params = {\n method: 'GET',\n headers: {\n Authorization: `${token}`,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath({\n domainName,\n })}/resend-tenant-email-verification/${domainName}`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n","export const DAUTH_STATE = 'dauth_state';\n","import {\n getUserAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} 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 getUserAPI(domainName, dauth_state);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n window.history.replaceState(\n {},\n document.title,\n getUserFetch.data.domain.loginRedirect\n );\n return localStorage.setItem(DAUTH_STATE, dauth_state);\n } else {\n return localStorage.removeItem(DAUTH_STATE);\n }\n } catch (error) {\n localStorage.removeItem(DAUTH_STATE);\n console.log(error);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: any;\n dauth_state_ls: string;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n dauth_state_ls,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, dauth_state_ls);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: getUserFetch.data.user,\n domain: getUserFetch.data.domain,\n isAuthenticated: true,\n },\n });\n localStorage.setItem(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 language: window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(DAUTH_STATE);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\ntype TSetUpdateAction = {\n dispatch: any;\n domainName: string;\n user: Partial<IDauthUser>;\n token: string | null;\n};\nexport async function setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token,\n}: TSetUpdateAction) {\n if (user.language) {\n window.document.documentElement.setAttribute('lang', user.language);\n }\n if (!token) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n } else {\n console.log('Update user error');\n return;\n }\n } catch (error) {\n console.log('Update user error', error);\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: any;\n domainName: string;\n token: string;\n};\nexport async function sendEmailVerificationAction({\n dispatch,\n domainName,\n token,\n}: TSetSendEmailVerificationAction) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: true,\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\n console.log(sendEmailFetch);\n \n if (sendEmailFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'success', message: sendEmailFetch.data.message },\n });\n return dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: { is_verified: false },\n });\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n return;\n }\n } catch (error) {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: {\n type: 'error',\n message: 'Send email verification fetch error',\n },\n });\n } finally {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: 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 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 sendEmailVerification = useCallback(() => {\n const token_ls = localStorage.getItem(DAUTH_STATE);\n console.log('token_ls', token_ls);\n \n if (!token_ls) return;\n return action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n });\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken: () => getAccessToken() || '',\n updateUser,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n sendEmailVerification,\n ]\n );\n\n return (\n <DauthContext.Provider value={memoProvider}>\n {children}\n </DauthContext.Provider>\n );\n};\n\nconst DauthContext = createContext(initialDauthState);\n\nexport const useDauth = () => {\n const context = useContext(DauthContext);\n if (!context) {\n throw new Error('useDauth must be used inside DauthProvider');\n }\n return context;\n};\n"],"names":["initialDauthState","user","language","window","document","documentElement","getAttribute","domain","isLoading","isAuthenticated","loginWithRedirect","logout","getAccessToken","updateUser","sev","status","sendEmailVerification","LOGIN","SET_IS_LOADING","UPDATE_USER","SET_SEND_EMAIL_VERIFICATION_IS_LOADING","SET_SEND_EMAIL_VERIFICATION_STATUS","userReducer","state","action","type","payload","DauthTypes","_extends","message","isLocalhost","Boolean","location","hostname","match","apiVersion","serverDomain","getServerBasePath","_ref","domainName","serverPort","serverLocalUrl","protocol","serverProdUrl","serverBasePath","getClientBasePath","_ref2","clientPort","clientLocalUrl","clientProdUrl","clientBasePath","getUserAPI","_asyncToGenerator","_regeneratorRuntime","mark","_callee","token","params","response","data","wrap","_callee$","_context","prev","next","method","headers","Authorization","fetch","sent","json","abrupt","stop","_x","_x2","apply","arguments","updateUserAPI","_callee2","_callee2$","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_callee3$","_context3","_x6","_x7","DAUTH_STATE","setDauthStateAction","_setDauthStateAction","dispatch","dauth_state","getUserFetch","history","replaceState","title","loginRedirect","localStorage","setItem","removeItem","t0","console","log","finish","setAutoLoginAction","_setAutoLoginAction","dauth_state_ls","setLogoutAction","_setLogoutAction","setUpdateUserAction","_setUpdateUserAction","_callee4","_ref4","_callee4$","_context4","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","_callee5","_ref5","sendEmailFetch","_callee5$","_context5","is_verified","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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"}
|
|
@@ -30,6 +30,16 @@ export interface IDauthState {
|
|
|
30
30
|
logout: () => void;
|
|
31
31
|
getAccessToken: () => string;
|
|
32
32
|
updateUser: ({ name, lastname, nickname, tel_prefix, tel_suffix, language, avatar, }: Partial<IDauthUser>) => void;
|
|
33
|
+
sev: {
|
|
34
|
+
status: IActionStatus;
|
|
35
|
+
isLoading: boolean;
|
|
36
|
+
};
|
|
37
|
+
sendEmailVerification: () => void;
|
|
33
38
|
}
|
|
39
|
+
export interface IActionStatus {
|
|
40
|
+
type: TStatusTypes;
|
|
41
|
+
message: string;
|
|
42
|
+
}
|
|
43
|
+
export declare type TStatusTypes = 'success' | 'error' | 'info' | 'warning';
|
|
34
44
|
declare const initialDauthState: IDauthState;
|
|
35
45
|
export default initialDauthState;
|
|
@@ -21,4 +21,10 @@ declare type TSetUpdateAction = {
|
|
|
21
21
|
token: string | null;
|
|
22
22
|
};
|
|
23
23
|
export declare function setUpdateUserAction({ dispatch, domainName, user, token, }: TSetUpdateAction): Promise<any>;
|
|
24
|
+
declare type TSetSendEmailVerificationAction = {
|
|
25
|
+
dispatch: any;
|
|
26
|
+
domainName: string;
|
|
27
|
+
token: string;
|
|
28
|
+
};
|
|
29
|
+
export declare function sendEmailVerificationAction({ dispatch, domainName, token, }: TSetSendEmailVerificationAction): Promise<any>;
|
|
24
30
|
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export declare const LOGIN = "LOGIN";
|
|
2
2
|
export declare const SET_IS_LOADING = "SET_IS_LOADING";
|
|
3
3
|
export declare const UPDATE_USER = "UPDATE_USER";
|
|
4
|
+
export declare const SET_SEND_EMAIL_VERIFICATION_IS_LOADING = "SET_SEND_EMAIL_VERIFICATION_IS_LOADING";
|
|
5
|
+
export declare const SET_SEND_EMAIL_VERIFICATION_STATUS = "SET_SEND_EMAIL_VERIFICATION_STATUS";
|
package/package.json
CHANGED
package/src/api/dauth.api.ts
CHANGED
|
@@ -40,3 +40,24 @@ export const updateUserAPI = async (
|
|
|
40
40
|
const data = await response.json();
|
|
41
41
|
return { response, data };
|
|
42
42
|
};
|
|
43
|
+
|
|
44
|
+
export const sendEmailVerificationAPI = async (
|
|
45
|
+
domainName: string,
|
|
46
|
+
token: string
|
|
47
|
+
): Promise<any> => {
|
|
48
|
+
const params = {
|
|
49
|
+
method: 'GET',
|
|
50
|
+
headers: {
|
|
51
|
+
Authorization: `${token}`,
|
|
52
|
+
'Content-Type': 'application/json',
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
const response = await fetch(
|
|
56
|
+
`${getServerBasePath({
|
|
57
|
+
domainName,
|
|
58
|
+
})}/resend-tenant-email-verification/${domainName}`,
|
|
59
|
+
params
|
|
60
|
+
);
|
|
61
|
+
const data = await response.json();
|
|
62
|
+
return { response, data };
|
|
63
|
+
};
|
package/src/index.tsx
CHANGED
|
@@ -92,6 +92,18 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
92
92
|
[domainName]
|
|
93
93
|
);
|
|
94
94
|
|
|
95
|
+
const sendEmailVerification = useCallback(() => {
|
|
96
|
+
const token_ls = localStorage.getItem(DAUTH_STATE);
|
|
97
|
+
console.log('token_ls', token_ls);
|
|
98
|
+
|
|
99
|
+
if (!token_ls) return;
|
|
100
|
+
return action.sendEmailVerificationAction({
|
|
101
|
+
dispatch,
|
|
102
|
+
domainName,
|
|
103
|
+
token: token_ls,
|
|
104
|
+
});
|
|
105
|
+
}, [domainName]);
|
|
106
|
+
|
|
95
107
|
const memoProvider = useMemo(
|
|
96
108
|
() => ({
|
|
97
109
|
...dauthState,
|
|
@@ -99,8 +111,16 @@ export const DauthProvider: React.FC<DauthProviderProps> = (
|
|
|
99
111
|
logout,
|
|
100
112
|
getAccessToken: () => getAccessToken() || '',
|
|
101
113
|
updateUser,
|
|
114
|
+
sendEmailVerification,
|
|
102
115
|
}),
|
|
103
|
-
[
|
|
116
|
+
[
|
|
117
|
+
dauthState,
|
|
118
|
+
loginWithRedirect,
|
|
119
|
+
logout,
|
|
120
|
+
getAccessToken,
|
|
121
|
+
updateUser,
|
|
122
|
+
sendEmailVerification,
|
|
123
|
+
]
|
|
104
124
|
);
|
|
105
125
|
|
|
106
126
|
return (
|
package/src/initialDauthState.ts
CHANGED
|
@@ -40,8 +40,20 @@ export interface IDauthState {
|
|
|
40
40
|
language,
|
|
41
41
|
avatar,
|
|
42
42
|
}: Partial<IDauthUser>) => void;
|
|
43
|
+
// Send email verification
|
|
44
|
+
sev: {
|
|
45
|
+
status: IActionStatus;
|
|
46
|
+
isLoading: boolean;
|
|
47
|
+
};
|
|
48
|
+
sendEmailVerification: () => void;
|
|
43
49
|
}
|
|
44
50
|
|
|
51
|
+
export interface IActionStatus {
|
|
52
|
+
type: TStatusTypes;
|
|
53
|
+
message: string;
|
|
54
|
+
}
|
|
55
|
+
export type TStatusTypes = 'success' | 'error' | 'info' | 'warning';
|
|
56
|
+
|
|
45
57
|
const initialDauthState: IDauthState = {
|
|
46
58
|
user: {
|
|
47
59
|
language: window.document.documentElement.getAttribute('lang') || 'es',
|
|
@@ -53,6 +65,12 @@ const initialDauthState: IDauthState = {
|
|
|
53
65
|
logout: () => {},
|
|
54
66
|
getAccessToken: () => initialDauthState.getAccessToken() || '',
|
|
55
67
|
updateUser: () => {},
|
|
68
|
+
// Send email verification
|
|
69
|
+
sev: {
|
|
70
|
+
status: {} as IActionStatus,
|
|
71
|
+
isLoading: false,
|
|
72
|
+
},
|
|
73
|
+
sendEmailVerification: () => {},
|
|
56
74
|
};
|
|
57
75
|
|
|
58
76
|
export default initialDauthState;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
getUserAPI,
|
|
3
|
+
sendEmailVerificationAPI,
|
|
4
|
+
updateUserAPI,
|
|
5
|
+
} from '../api/dauth.api';
|
|
2
6
|
import { DAUTH_STATE } from '../constants';
|
|
3
7
|
import { IDauthUser } from '../initialDauthState';
|
|
4
8
|
import * as DauthTypes from './dauth.types';
|
|
@@ -137,3 +141,53 @@ export async function setUpdateUserAction({
|
|
|
137
141
|
console.log('Update user error', error);
|
|
138
142
|
}
|
|
139
143
|
}
|
|
144
|
+
|
|
145
|
+
type TSetSendEmailVerificationAction = {
|
|
146
|
+
dispatch: any;
|
|
147
|
+
domainName: string;
|
|
148
|
+
token: string;
|
|
149
|
+
};
|
|
150
|
+
export async function sendEmailVerificationAction({
|
|
151
|
+
dispatch,
|
|
152
|
+
domainName,
|
|
153
|
+
token,
|
|
154
|
+
}: TSetSendEmailVerificationAction) {
|
|
155
|
+
dispatch({
|
|
156
|
+
type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
157
|
+
payload: true,
|
|
158
|
+
});
|
|
159
|
+
try {
|
|
160
|
+
const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);
|
|
161
|
+
console.log(sendEmailFetch);
|
|
162
|
+
|
|
163
|
+
if (sendEmailFetch.response.status === 200) {
|
|
164
|
+
dispatch({
|
|
165
|
+
type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
166
|
+
payload: { type: 'success', message: sendEmailFetch.data.message },
|
|
167
|
+
});
|
|
168
|
+
return dispatch({
|
|
169
|
+
type: DauthTypes.UPDATE_USER,
|
|
170
|
+
payload: { is_verified: false },
|
|
171
|
+
});
|
|
172
|
+
} else {
|
|
173
|
+
dispatch({
|
|
174
|
+
type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
175
|
+
payload: { type: 'error', message: sendEmailFetch.data.message },
|
|
176
|
+
});
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
} catch (error) {
|
|
180
|
+
dispatch({
|
|
181
|
+
type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,
|
|
182
|
+
payload: {
|
|
183
|
+
type: 'error',
|
|
184
|
+
message: 'Send email verification fetch error',
|
|
185
|
+
},
|
|
186
|
+
});
|
|
187
|
+
} finally {
|
|
188
|
+
dispatch({
|
|
189
|
+
type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,
|
|
190
|
+
payload: false,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
}
|
|
@@ -27,6 +27,27 @@ export default function userReducer(state: any, action: any) {
|
|
|
27
27
|
},
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
+
case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS:
|
|
31
|
+
return {
|
|
32
|
+
...state,
|
|
33
|
+
sev: {
|
|
34
|
+
...state.sev,
|
|
35
|
+
status: {
|
|
36
|
+
type: payload.type,
|
|
37
|
+
message: payload.message,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING:
|
|
43
|
+
return {
|
|
44
|
+
...state,
|
|
45
|
+
sev: {
|
|
46
|
+
...state.sev,
|
|
47
|
+
isLoading: payload,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
|
|
30
51
|
default:
|
|
31
52
|
return state;
|
|
32
53
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export const LOGIN = 'LOGIN';
|
|
2
2
|
export const SET_IS_LOADING = 'SET_IS_LOADING';
|
|
3
3
|
export const UPDATE_USER = 'UPDATE_USER';
|
|
4
|
+
export const SET_SEND_EMAIL_VERIFICATION_IS_LOADING =
|
|
5
|
+
'SET_SEND_EMAIL_VERIFICATION_IS_LOADING';
|
|
6
|
+
export const SET_SEND_EMAIL_VERIFICATION_STATUS =
|
|
7
|
+
'SET_SEND_EMAIL_VERIFICATION_STATUS';
|