dauth-context-react 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function r(e,t,n,r,a,o,i){try{var u=e[o](i),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,c,"next",e)}function c(e){r(i,a,o,u,c,"throw",e)}u(void 0)}))}}function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function i(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=Object.create((r&&r.prototype instanceof s?r:s).prototype);return u(i,"_invoke",function(n,r,a){var o,i,u,s=0,f=a||[],p=!1,l={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,i=0,u=e,l.n=n,c}};function d(n,r){for(i=n,u=r,t=0;!p&&s&&!a&&t<f.length;t++){var a,o=f[t],d=l.p,m=o[2];n>3?(a=m===r)&&(u=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=d&&((a=n<2&&d<o[1])?(i=0,l.v=r,l.n=o[1]):d<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,l.n=m,i=0))}if(a||n>1)return c;throw p=!0,r}return function(a,f,m){if(s>1)throw TypeError("Generator is already running");for(p&&1===f&&d(f,m),i=f,u=m;(t=i<2?e:u)||!p;){o||(i?i<3?(i>1&&(l.n=-1),d(i,u)):l.n=u:l.v=u);try{if(s=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(p=l.n<0)?u:n.call(r,l))!==c)break}catch(t){o=e,i=1,u=t}finally{s=1}}return{value:t,done:p}}}(n,a,o),!0),i}var c={};function s(){}function f(){}function p(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(u(t={},r,(function(){return this})),t),d=p.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,u(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return f.prototype=p,u(d,"constructor",p),u(p,"constructor",f),f.displayName="GeneratorFunction",u(p,a,"GeneratorFunction"),u(d),u(d,a,"Generator"),u(d,r,(function(){return this})),u(d,"toString",(function(){return"[object Generator]"})),(i=function(){return{w:o,m:m}})()}function u(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(u=function(e,t,n,r){function o(t,n){u(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))})(e,t,n,r)}var c={user:{language:("undefined"!=typeof window?window.document.documentElement.getAttribute("lang"):null)||"es"},domain:{},isLoading:!0,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)}},s="LOGIN";function f(e,t){var n=t.payload;switch(t.type){case s:return o({},e,{user:n.user,domain:n.domain,isAuthenticated:n.isAuthenticated});case"SET_IS_LOADING":return o({},e,{isLoading:n.isLoading});case"UPDATE_USER":return o({},e,{user:o({},e.user,n)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{status:{type:n.type,message:n.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{isLoading:n})});default:return e}}function p(){if("undefined"==typeof window)return!1;var e=window.location.hostname;return Boolean("localhost"===e||"[::1]"===e||e.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||e.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))}function l(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return e?t:"https://dauth.ovh/api/v1"}function d(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":5185";return e?t:"https://dauth.ovh"}var m=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),h=function(){var e=a(i().m((function e(t,n,r){var a,o;return i().w((function(e){for(;;)switch(e.n){case 0:return a={method:"PATCH",headers:{Authorization:r,"Content-Type":"application/json"},body:JSON.stringify(n)},e.n=1,fetch(l()+"/app/"+t+"/user",a);case 1:return o=e.v,e.n=2,o.json();case 2:return e.a(2,{response:o,data:e.v})}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),y=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/resend-email-verification",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),v=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/refresh-token",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),S=function(){var e=a(i().m((function e(t,n){var r;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/logout",r);case 1:return e.a(2,{response:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),g="dauth_state",I="dauth_refresh_token";function w(e){return _.apply(this,arguments)}function _(){return(_=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.token,a=t.refreshToken,o=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e.p=1,e.n=2,m(o,r);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:s,payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,window.location.pathname),localStorage.setItem(g,r),localStorage.setItem(I,a),e.a(2);case 3:return e.a(2,P(n));case 4:e.n=6;break;case 5:return e.p=5,console.error(e.v),e.a(2,P(n));case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function E(e){return T.apply(this,arguments)}function T(){return(T=a(i().m((function e(t){var n,r,a,o,u,c,f;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(r=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),a=localStorage.getItem(I)){e.n=1;break}return n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.a(2,P(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=4;break}return u=o.data.accessToken,c=o.data.refreshToken,localStorage.setItem(g,u),localStorage.setItem(I,c),e.n=3,m(r,u);case 3:if(200!==(f=e.v).response.status){e.n=4;break}return n({type:s,payload:{user:f.data.user,domain:f.data.domain,isAuthenticated:!0}}),e.a(2);case 4:P(n),e.n=6;break;case 5:e.p=5,console.error(e.v),P(n);case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function A(){return(A=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,!(a=localStorage.getItem(I))||!r){e.n=4;break}return e.p=1,e.n=2,S(r,a);case 2:e.n=4;break;case 3:e.p=3;case 4:return n({type:"SET_IS_LOADING",payload:{isLoading:!0}}),n({type:s,payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(g),localStorage.removeItem(I),e.a(2,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}))}}),e,null,[[1,3]])})))).apply(this,arguments)}function b(e){return N.apply(this,arguments)}function N(){return(N=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(I)){e.n=1;break}return e.a(2,P(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return localStorage.setItem(g,o.data.accessToken),localStorage.setItem(I,o.data.refreshToken),e.a(2);case 3:P(n),e.n=5;break;case 4:e.p=4,console.error(e.v),P(n);case 5:return e.a(2)}}),e,null,[[1,4]])})))).apply(this,arguments)}function k(e){return O.apply(this,arguments)}function O(){return(O=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,o=t.token,(a=t.user).language&&window.document.documentElement.setAttribute("lang",a.language),o){e.n=1;break}return n({type:"UPDATE_USER",payload:a}),e.a(2,!1);case 1:return e.p=1,e.n=2,h(r,a,o);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:"UPDATE_USER",payload:u.data.user}),e.a(2,!0);case 3:return console.error("Update user error",u.data.message),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,console.error("Update user error",e.v),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function L(e){return D.apply(this,arguments)}function D(){return(D=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.domainName,a=t.token,(n=t.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),e.p=1,e.n=2,y(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!0);case 3:return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function C(e){return G.apply(this,arguments)}function G(){return(G=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(g)){e.n=1;break}return e.a(2,"token-not-found");case 1:if(e.p=1,!(o=a.split(".")[1])){e.n=3;break}if(!(1e3*(JSON.parse(atob(o)).exp||0)-Date.now()<3e5)){e.n=3;break}return e.n=2,b({dispatch:n,domainName:r});case 2:return u=localStorage.getItem(g),e.a(2,u||"token-not-found");case 3:e.n=5;break;case 4:e.p=4;case 5:return e.a(2,a)}}),e,null,[[1,4]])})))).apply(this,arguments)}var P=function(e){return localStorage.removeItem(g),localStorage.removeItem(I),e({type:s,payload:{user:{},domain:{},isAuthenticated:!1}})},j=t.createContext(c);exports.DauthProvider=function(e){var r=e.domainName,u=e.children,s=t.useReducer(f,c),p=s[0],l=s[1],m=t.useRef(null),h=t.useCallback((function(){m.current&&clearTimeout(m.current);var e=localStorage.getItem(g);if(e)try{var t=e.split(".")[1];if(!t)return;var n=1e3*(JSON.parse(atob(t)).exp||0)-Date.now(),o=Math.max(n-3e5,1e4);m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,b({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),o)}catch(e){m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,b({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),3e5)}}),[r]);t.useEffect((function(){a(i().m((function e(){var t,n,a,o;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=window.location.search){e.n=1;break}return e.a(2);case 1:if(n=new URLSearchParams(t),a=n.get(g),o=n.get(I),!a||!o||p.isAuthenticated){e.n=2;break}return e.a(2,w({dispatch:l,token:a,refreshToken:o,domainName:r}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:if(!localStorage.getItem(I)||p.isAuthenticated){e.n=1;break}return e.a(2,E({dispatch:l,domainName:r}));case 1:return e.a(2,l({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){return p.isAuthenticated&&h(),function(){m.current&&clearTimeout(m.current)}}),[p.isAuthenticated,h]);var y=t.useCallback((function(){return window.location.replace(d()+"/"+r+"/signin")}),[r]),v=t.useCallback((function(){return m.current&&clearTimeout(m.current),function(e){return A.apply(this,arguments)}({dispatch:l,domainName:r})}),[r]),S=t.useCallback(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,C({dispatch:l,domainName:r});case 1:return e.a(2,e.v)}}),e)}))),[r]),_=t.useCallback(function(){var e=a(i().m((function e(t){var n,a,o,u,c,s,f,p,d;return i().w((function(e){for(;;)switch(e.n){case 0:return n=t.name,a=t.lastname,o=t.nickname,u=t.telPrefix,c=t.telSuffix,s=t.language,f=t.avatar,p=localStorage.getItem(g),d={name:n,lastname:a,nickname:o,telPrefix:u,telSuffix:c,language:s,avatar:f},e.n=1,k({dispatch:l,domainName:r,user:d,token:p});case 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[r]),T=t.useCallback((function(){var e=localStorage.getItem(g);if(e)return window.location.replace(d()+"/"+r+"/update-user/"+e)}),[r]),N=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(g)){e.n=1;break}return e.a(2,!1);case 1:return e.n=2,L({dispatch:l,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),O=t.useMemo((function(){return o({},p,{loginWithRedirect:y,logout:v,getAccessToken:S,updateUser:_,updateUserWithRedirect:T,sendEmailVerification:N})}),[p,y,v,S,_,T,N]);return n.createElement(j.Provider,{value:O},u)},exports.useDauth=function(){var e=t.useContext(j);if(!e)throw new Error("useDauth must be used inside DauthProvider");return e};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;function r(e,t,n,r,a,o,i){try{var u=e[o](i),c=u.value}catch(e){return void n(e)}u.done?t(c):Promise.resolve(c).then(r,a)}function a(e){return function(){var t=this,n=arguments;return new Promise((function(a,o){var i=e.apply(t,n);function u(e){r(i,a,o,u,c,"next",e)}function c(e){r(i,a,o,u,c,"throw",e)}u(void 0)}))}}function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function i(){var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.toStringTag||"@@toStringTag";function o(n,r,a,o){var i=Object.create((r&&r.prototype instanceof s?r:s).prototype);return u(i,"_invoke",function(n,r,a){var o,i,u,s=0,f=a||[],p=!1,l={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,i=0,u=e,l.n=n,c}};function d(n,r){for(i=n,u=r,t=0;!p&&s&&!a&&t<f.length;t++){var a,o=f[t],d=l.p,m=o[2];n>3?(a=m===r)&&(u=o[(i=o[4])?5:(i=3,3)],o[4]=o[5]=e):o[0]<=d&&((a=n<2&&d<o[1])?(i=0,l.v=r,l.n=o[1]):d<m&&(a=n<3||o[0]>r||r>m)&&(o[4]=n,o[5]=r,l.n=m,i=0))}if(a||n>1)return c;throw p=!0,r}return function(a,f,m){if(s>1)throw TypeError("Generator is already running");for(p&&1===f&&d(f,m),i=f,u=m;(t=i<2?e:u)||!p;){o||(i?i<3?(i>1&&(l.n=-1),d(i,u)):l.n=u:l.v=u);try{if(s=2,o){if(i||(a="next"),t=o[a]){if(!(t=t.call(o,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,i<2&&(i=0)}else 1===i&&(t=o.return)&&t.call(o),i<2&&(u=TypeError("The iterator does not provide a '"+a+"' method"),i=1);o=e}else if((t=(p=l.n<0)?u:n.call(r,l))!==c)break}catch(t){o=e,i=1,u=t}finally{s=1}}return{value:t,done:p}}}(n,a,o),!0),i}var c={};function s(){}function f(){}function p(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(u(t={},r,(function(){return this})),t),d=p.prototype=s.prototype=Object.create(l);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,u(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return f.prototype=p,u(d,"constructor",p),u(p,"constructor",f),f.displayName="GeneratorFunction",u(p,a,"GeneratorFunction"),u(d),u(d,a,"Generator"),u(d,r,(function(){return this})),u(d,"toString",(function(){return"[object Generator]"})),(i=function(){return{w:o,m:m}})()}function u(e,t,n,r){var a=Object.defineProperty;try{a({},"",{})}catch(e){a=0}(u=function(e,t,n,r){function o(t,n){u(e,t,(function(e){return this._invoke(t,n,e)}))}t?a?a(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))})(e,t,n,r)}var c={user:{language:("undefined"!=typeof window?window.document.documentElement.getAttribute("lang"):null)||"es"},domain:{},isLoading:!0,isAuthenticated:!1,loginWithRedirect:function(){},logout:function(){},getAccessToken:function(){return Promise.resolve("")},updateUser:function(){return Promise.resolve(!1)},updateUserWithRedirect:function(){},sendEmailVerificationStatus:{status:{type:"info",message:"Sending email verification..."},isLoading:!1},sendEmailVerification:function(){return Promise.resolve(!1)},deleteAccount:function(){return Promise.resolve(!1)}},s="LOGIN";function f(e,t){var n=t.payload;switch(t.type){case s:return o({},e,{user:n.user,domain:n.domain,isAuthenticated:n.isAuthenticated});case"SET_IS_LOADING":return o({},e,{isLoading:n.isLoading});case"UPDATE_USER":return o({},e,{user:o({},e.user,n)});case"SET_SEND_EMAIL_VERIFICATION_STATUS":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{status:{type:n.type,message:n.message}})});case"SET_SEND_EMAIL_VERIFICATION_IS_LOADING":return o({},e,{sendEmailVerificationStatus:o({},e.sendEmailVerificationStatus,{isLoading:n})});default:return e}}function p(){if("undefined"==typeof window)return!1;var e=window.location.hostname;return Boolean("localhost"===e||"[::1]"===e||e.match(/(192)\.(168)\.(1)\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm)||e.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))}function l(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":4012/api/v1";return e?t:"https://dauth.ovh/api/v1"}function d(){var e=p(),t=window.location.protocol+"//"+window.location.hostname+":5185";return e?t:"https://dauth.ovh"}var m=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),h=function(){var e=a(i().m((function e(t,n,r){var a,o;return i().w((function(e){for(;;)switch(e.n){case 0:return a={method:"PATCH",headers:{Authorization:r,"Content-Type":"application/json"},body:JSON.stringify(n)},e.n=1,fetch(l()+"/app/"+t+"/user",a);case 1:return o=e.v,e.n=2,o.json();case 2:return e.a(2,{response:o,data:e.v})}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),y=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"GET",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/resend-email-verification",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),v=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/refresh-token",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),S=function(){var e=a(i().m((function e(t,n){var r,a;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"DELETE",headers:{Authorization:n,"Content-Type":"application/json"}},e.n=1,fetch(l()+"/app/"+t+"/user",r);case 1:return a=e.v,e.n=2,a.json();case 2:return e.a(2,{response:a,data:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),g=function(){var e=a(i().m((function e(t,n){var r;return i().w((function(e){for(;;)switch(e.n){case 0:return r={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:n})},e.n=1,fetch(l()+"/app/"+t+"/logout",r);case 1:return e.a(2,{response:e.v})}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),I="dauth_state",w="dauth_refresh_token";function E(e){return _.apply(this,arguments)}function _(){return(_=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.token,a=t.refreshToken,o=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),e.p=1,e.n=2,m(o,r);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:s,payload:{user:u.data.user,domain:u.data.domain,isAuthenticated:!0}}),window.history.replaceState({},document.title,window.location.pathname),localStorage.setItem(I,r),localStorage.setItem(w,a),e.a(2);case 3:return e.a(2,U(n));case 4:e.n=6;break;case 5:return e.p=5,console.error(e.v),e.a(2,U(n));case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function T(e){return b.apply(this,arguments)}function b(){return(b=a(i().m((function e(t){var n,r,a,o,u,c,f;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(r=t.domainName,(n=t.dispatch)({type:"SET_IS_LOADING",payload:{isLoading:!0}}),a=localStorage.getItem(w)){e.n=1;break}return n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.a(2,U(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=4;break}return u=o.data.accessToken,c=o.data.refreshToken,localStorage.setItem(I,u),localStorage.setItem(w,c),e.n=3,m(r,u);case 3:if(200!==(f=e.v).response.status){e.n=4;break}return n({type:s,payload:{user:f.data.user,domain:f.data.domain,isAuthenticated:!0}}),e.a(2);case 4:U(n),e.n=6;break;case 5:e.p=5,console.error(e.v),U(n);case 6:return e.p=6,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}),e.f(6);case 7:return e.a(2)}}),e,null,[[1,5,6,7]])})))).apply(this,arguments)}function A(){return(A=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,!(a=localStorage.getItem(w))||!r){e.n=4;break}return e.p=1,e.n=2,g(r,a);case 2:e.n=4;break;case 3:e.p=3;case 4:return n({type:"SET_IS_LOADING",payload:{isLoading:!0}}),n({type:s,payload:{user:{language:window.document.documentElement.getAttribute("lang")||"es"},domain:{},isAuthenticated:!1}}),localStorage.removeItem(I),localStorage.removeItem(w),e.a(2,n({type:"SET_IS_LOADING",payload:{isLoading:!1}}))}}),e,null,[[1,3]])})))).apply(this,arguments)}function k(e){return N.apply(this,arguments)}function N(){return(N=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(w)){e.n=1;break}return e.a(2,U(n));case 1:return e.p=1,e.n=2,v(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return localStorage.setItem(I,o.data.accessToken),localStorage.setItem(w,o.data.refreshToken),e.a(2);case 3:U(n),e.n=5;break;case 4:e.p=4,console.error(e.v),U(n);case 5:return e.a(2)}}),e,null,[[1,4]])})))).apply(this,arguments)}function O(e){return L.apply(this,arguments)}function L(){return(L=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,o=t.token,(a=t.user).language&&window.document.documentElement.setAttribute("lang",a.language),o){e.n=1;break}return n({type:"UPDATE_USER",payload:a}),e.a(2,!1);case 1:return e.p=1,e.n=2,h(r,a,o);case 2:if(200!==(u=e.v).response.status){e.n=3;break}return n({type:"UPDATE_USER",payload:u.data.user}),e.a(2,!0);case 3:return console.error("Update user error",u.data.message),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,console.error("Update user error",e.v),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function D(e){return C.apply(this,arguments)}function C(){return(C=a(i().m((function e(t){var n,r,a,o;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return r=t.domainName,a=t.token,(n=t.dispatch)({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!0}),n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"info",message:"Sending email verification..."}}),e.p=1,e.n=2,y(r,a);case 2:if(200!==(o=e.v).response.status){e.n=3;break}return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"success",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!0);case 3:return n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:o.data.message}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 4:e.n=6;break;case 5:return e.p=5,n({type:"SET_SEND_EMAIL_VERIFICATION_STATUS",payload:{type:"error",message:"Send email verification fetch error"}}),n({type:"SET_SEND_EMAIL_VERIFICATION_IS_LOADING",payload:!1}),e.a(2,!1);case 6:return e.a(2)}}),e,null,[[1,5]])})))).apply(this,arguments)}function j(e){return P.apply(this,arguments)}function P(){return(P=a(i().m((function e(t){var n,r,a,o,u;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:if(n=t.dispatch,r=t.domainName,a=localStorage.getItem(I)){e.n=1;break}return e.a(2,"token-not-found");case 1:if(e.p=1,!(o=a.split(".")[1])){e.n=3;break}if(!(1e3*(JSON.parse(atob(o)).exp||0)-Date.now()<3e5)){e.n=3;break}return e.n=2,k({dispatch:n,domainName:r});case 2:return u=localStorage.getItem(I),e.a(2,u||"token-not-found");case 3:e.n=5;break;case 4:e.p=4;case 5:return e.a(2,a)}}),e,null,[[1,4]])})))).apply(this,arguments)}function G(e){return R.apply(this,arguments)}function R(){return(R=a(i().m((function e(t){var n,r,a;return i().w((function(e){for(;;)switch(e.p=e.n){case 0:return n=t.dispatch,r=t.domainName,a=t.token,e.p=1,e.n=2,S(r,a);case 2:if(200!==e.v.response.status){e.n=3;break}return U(n),e.a(2,!0);case 3:return e.a(2,!1);case 4:return e.p=4,console.error("Delete account error",e.v),e.a(2,!1)}}),e,null,[[1,4]])})))).apply(this,arguments)}var U=function(e){return localStorage.removeItem(I),localStorage.removeItem(w),e({type:s,payload:{user:{},domain:{},isAuthenticated:!1}})},V=t.createContext(c);exports.DauthProvider=function(e){var r=e.domainName,u=e.children,s=t.useReducer(f,c),p=s[0],l=s[1],m=t.useRef(null),h=t.useCallback((function(){m.current&&clearTimeout(m.current);var e=localStorage.getItem(I);if(e)try{var t=e.split(".")[1];if(!t)return;var n=1e3*(JSON.parse(atob(t)).exp||0)-Date.now(),o=Math.max(n-3e5,1e4);m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,k({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),o)}catch(e){m.current=setTimeout(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,k({dispatch:l,domainName:r});case 1:h();case 2:return e.a(2)}}),e)}))),3e5)}}),[r]);t.useEffect((function(){a(i().m((function e(){var t,n,a,o;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=window.location.search){e.n=1;break}return e.a(2);case 1:if(n=new URLSearchParams(t),a=n.get(I),o=n.get(w),!a||!o||p.isAuthenticated){e.n=2;break}return e.a(2,E({dispatch:l,token:a,refreshToken:o,domainName:r}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:if(!localStorage.getItem(w)||p.isAuthenticated){e.n=1;break}return e.a(2,T({dispatch:l,domainName:r}));case 1:return e.a(2,l({type:"SET_IS_LOADING",payload:{isLoading:!1}}));case 2:return e.a(2)}}),e)})))()}),[]),t.useEffect((function(){return p.isAuthenticated&&h(),function(){m.current&&clearTimeout(m.current)}}),[p.isAuthenticated,h]);var y=t.useCallback((function(){return window.location.replace(d()+"/"+r+"/signin")}),[r]),v=t.useCallback((function(){return m.current&&clearTimeout(m.current),function(e){return A.apply(this,arguments)}({dispatch:l,domainName:r})}),[r]),S=t.useCallback(a(i().m((function e(){return i().w((function(e){for(;;)switch(e.n){case 0:return e.n=1,j({dispatch:l,domainName:r});case 1:return e.a(2,e.v)}}),e)}))),[r]),g=t.useCallback(function(){var e=a(i().m((function e(t){var n,a;return i().w((function(e){for(;;)switch(e.n){case 0:return n=localStorage.getItem(I),a={name:t.name,lastname:t.lastname,nickname:t.nickname,telPrefix:t.telPrefix,telSuffix:t.telSuffix,language:t.language,avatar:t.avatar,birthDate:t.birthDate,country:t.country,metadata:t.metadata},e.n=1,O({dispatch:l,domainName:r,user:a,token:n});case 1:return e.a(2,e.v)}}),e)})));return function(t){return e.apply(this,arguments)}}(),[r]),_=t.useCallback((function(){var e=localStorage.getItem(I);if(e)return window.location.replace(d()+"/"+r+"/update-user/"+e)}),[r]),b=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(I)){e.n=1;break}return e.a(2,!1);case 1:return e.n=2,D({dispatch:l,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),N=t.useCallback(a(i().m((function e(){var t;return i().w((function(e){for(;;)switch(e.n){case 0:if(t=localStorage.getItem(I)){e.n=1;break}return e.a(2,!1);case 1:return m.current&&clearTimeout(m.current),e.n=2,G({dispatch:l,domainName:r,token:t});case 2:return e.a(2,e.v)}}),e)}))),[r]),L=t.useMemo((function(){return o({},p,{loginWithRedirect:y,logout:v,getAccessToken:S,updateUser:g,updateUserWithRedirect:_,sendEmailVerification:b,deleteAccount:N})}),[p,y,v,S,g,_,b,N]);return n.createElement(V.Provider,{value:L},u)},exports.useDauth=function(){var e=t.useContext(V);if(!e)throw new Error("useDauth must be used inside DauthProvider");return e};
2
2
  //# sourceMappingURL=dauth-context-react.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dauth-context-react.cjs.production.min.js","sources":["../src/initialDauthState.ts","../src/reducer/dauth.types.ts","../src/reducer/dauth.reducer.ts","../src/api/utils/config.ts","../src/api/dauth.api.ts","../src/constants.ts","../src/reducer/dauth.actions.ts","../src/index.tsx"],"sourcesContent":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\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 { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n 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 hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IrefreshTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\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()}/app/${domainName}/user`,\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<IupdateUserAPIResponse> => {\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()}/app/${domainName}/user`,\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<IsendEmailVerificationAPIResponse> => {\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()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\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()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshTokenAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<IrefreshTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const logoutAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<{ response: Response }> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/logout`,\n params\n );\n return { response };\n};\n","export const TOKEN_LS = 'dauth_state';\nexport const REFRESH_TOKEN_LS = 'dauth_refresh_token';\n","import {\n getUserAPI,\n logoutAPI,\n refreshTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n refreshToken: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n refreshToken,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\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({}, document.title, window.location.pathname);\n localStorage.setItem(TOKEN_LS, token);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshToken);\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n const newAccessToken = refreshResult.data.accessToken;\n const newRefreshToken = refreshResult.data.refreshToken;\n localStorage.setItem(TOKEN_LS, newAccessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, newRefreshToken);\n const getUserFetch = await getUserAPI(domainName, newAccessToken);\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 return;\n }\n }\n // Refresh failed — session expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (storedRefreshToken && domainName) {\n try {\n await logoutAPI(domainName, storedRefreshToken);\n } catch (_) {\n // Best-effort server-side logout\n }\n }\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {\n language:\n window.document.documentElement.getAttribute('lang') || 'es',\n },\n domain: {},\n isAuthenticated: false,\n },\n });\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\nexport async function refreshSessionAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n localStorage.setItem(TOKEN_LS, refreshResult.data.accessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshResult.data.refreshToken);\n return;\n }\n // Refresh failed — revoked or expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n }\n}\n\ntype TSetUpdateAction = {\n dispatch: React.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 dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.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 dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\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 dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\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 dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return 'token-not-found';\n // Decode JWT to check expiry (without verification — that's the server's job)\n try {\n const payloadB64 = token_ls.split('.')[1];\n if (payloadB64) {\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // If token expires in less than 5 minutes, refresh proactively\n if (expiresIn < 5 * 60 * 1000) {\n await refreshSessionAction({ dispatch, domainName });\n const refreshedToken = localStorage.getItem(TOKEN_LS);\n return refreshedToken || 'token-not-found';\n }\n }\n } catch (_) {\n // If decode fails, return stored token and let server validate\n }\n return token_ls;\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n useRef,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n const refreshTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Schedule next proactive refresh based on access token expiry\n const scheduleRefresh = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n const token = localStorage.getItem(TOKEN_LS);\n if (!token) return;\n try {\n const payloadB64 = token.split('.')[1];\n if (!payloadB64) return;\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // Refresh 5 minutes before expiry, minimum 10 seconds\n const refreshIn = Math.max(expiresIn - 5 * 60 * 1000, 10_000);\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, refreshIn);\n } catch (_) {\n // If decode fails, retry in 5 minutes\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, 5 * 60 * 1000);\n }\n }, [domainName]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n const refresh_url = urlParams.get(REFRESH_TOKEN_LS);\n if (token_url && refresh_url && !dauthState.isAuthenticated) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n refreshToken: refresh_url,\n domainName,\n });\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const refreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (refreshToken && !dauthState.isAuthenticated) {\n return action.setAutoLoginAction({ dispatch, domainName });\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n // Schedule proactive refresh when authenticated\n useEffect(() => {\n if (dauthState.isAuthenticated) {\n scheduleRefresh();\n }\n return () => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n };\n }, [dauthState.isAuthenticated, scheduleRefresh]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return action.setLogoutAction({ dispatch, domainName });\n }, [domainName]);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async ({\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n }: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\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","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","LOGIN","userReducer","state","action","payload","DauthTypes","_extends","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverLocalUrl","protocol","getClientBasePath","clientLocalUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","w","_context","n","method","headers","Authorization","Content-Type","fetch","v","json","a","data","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshTokenAPI","_ref5","_callee5","refreshToken","_context5","_x0","_x1","logoutAPI","_ref6","_callee6","_context6","_x10","_x11","TOKEN_LS","REFRESH_TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","storedRefreshToken","refreshResult","newAccessToken","newRefreshToken","getItem","accessToken","_setLogoutAction","removeItem","refreshSessionAction","_refreshSessionAction","_callee4","_ref4","_context4","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","getAccessTokenAction","_getAccessTokenAction","_callee7","_ref7","token_ls","payloadB64","refreshedToken","_context7","split","parse","atob","exp","Date","now","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","refreshTimerRef","useRef","scheduleRefresh","useCallback","current","clearTimeout","expiresIn","refreshIn","Math","max","setTimeout","_","useEffect","queryString","urlParams","token_url","refresh_url","search","URLSearchParams","get","replace","name","lastname","nickname","telPrefix","telSuffix","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.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":["import {\n IActionStatus,\n IDauthDomainState,\n IDauthState,\n IDauthUser,\n} from './interfaces';\n\nconst initialDauthState: IDauthState = {\n user: {\n language:\n (typeof window !== 'undefined'\n ? window.document.documentElement.getAttribute('lang')\n : null) || 'es',\n } as IDauthUser,\n domain: {} as IDauthDomainState,\n isLoading: true,\n isAuthenticated: false,\n loginWithRedirect: () => {},\n logout: () => {},\n getAccessToken: () => Promise.resolve(''),\n updateUser: () => Promise.resolve(false),\n updateUserWithRedirect: () => {},\n // Send email verification\n sendEmailVerificationStatus: {\n status: {\n type: 'info',\n message: 'Sending email verification...',\n } as IActionStatus,\n isLoading: false,\n },\n sendEmailVerification: () => Promise.resolve(false),\n deleteAccount: () => Promise.resolve(false),\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 { IDauthState } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\nexport default function userReducer(state: IDauthState, action: any) {\n const { type, payload } = action;\n\n switch (type) {\n case DauthTypes.LOGIN: {\n const login: IDauthState = {\n ...state,\n user: payload.user,\n domain: payload.domain,\n isAuthenticated: payload.isAuthenticated,\n };\n return login;\n }\n\n case DauthTypes.SET_IS_LOADING: {\n const isLoading: IDauthState = {\n ...state,\n isLoading: payload.isLoading,\n };\n return isLoading;\n }\n\n case DauthTypes.UPDATE_USER: {\n const updateUser: IDauthState = {\n ...state,\n user: {\n ...state.user,\n ...payload,\n },\n };\n return updateUser;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS: {\n const setSendEmailVerificationStatus: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n status: {\n type: payload.type,\n message: payload.message,\n },\n },\n };\n return setSendEmailVerificationStatus;\n }\n\n case DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING: {\n const setSendEmailVerificationIsLoading: IDauthState = {\n ...state,\n sendEmailVerificationStatus: {\n ...state.sendEmailVerificationStatus,\n isLoading: payload,\n },\n };\n return setSendEmailVerificationIsLoading;\n }\n\n default:\n return state;\n }\n}\n","export const apiVersion = 'v1';\nexport const serverDomain = 'dauth.ovh';\n\nfunction checkIsLocalhost(): boolean {\n if (typeof window === 'undefined') return false;\n const hostname = window.location.hostname;\n return Boolean(\n hostname === 'localhost' ||\n hostname === '[::1]' ||\n 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 hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n );\n}\n\nexport function getServerBasePath() {\n const isLocalhost = checkIsLocalhost();\n const serverPort = 4012;\n const serverLocalUrl = `${window.location.protocol}//${window.location.hostname}:${serverPort}/api/${apiVersion}`;\n const serverProdUrl = `https://${serverDomain}/api/${apiVersion}`;\n return isLocalhost ? serverLocalUrl : serverProdUrl;\n}\n\nexport function getClientBasePath() {\n const isLocalhost = checkIsLocalhost();\n const clientPort = 5185;\n const clientLocalUrl = `${window.location.protocol}//${window.location.hostname}:${clientPort}`;\n const clientProdUrl = `https://${serverDomain}`;\n return isLocalhost ? clientLocalUrl : clientProdUrl;\n}\n","import { getServerBasePath } from './utils/config';\nimport { IDauthUser } from '../interfaces';\nimport {\n IdeleteAccountAPIResponse,\n IgetUserAPIResponse,\n IrefreshAccessTokenAPIResponse,\n IrefreshTokenAPIResponse,\n IsendEmailVerificationAPIResponse,\n IupdateUserAPIResponse,\n} from './interfaces/dauth.api.responses';\n\nexport const getUserAPI = async (\n domainName: string,\n token: string\n): Promise<IgetUserAPIResponse> => {\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()}/app/${domainName}/user`,\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<IupdateUserAPIResponse> => {\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()}/app/${domainName}/user`,\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<IsendEmailVerificationAPIResponse> => {\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()}/app/${domainName}/resend-email-verification`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshAccessTokenAPI = async (\n domainName: string,\n token: string\n): Promise<IrefreshAccessTokenAPIResponse> => {\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()}/app/${domainName}/refresh-access-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const refreshTokenAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<IrefreshTokenAPIResponse> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/refresh-token`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const deleteAccountAPI = async (\n domainName: string,\n token: string\n): Promise<IdeleteAccountAPIResponse> => {\n const params = {\n method: 'DELETE',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/user`,\n params\n );\n const data = await response.json();\n return { response, data };\n};\n\nexport const logoutAPI = async (\n domainName: string,\n refreshToken: string\n): Promise<{ response: Response }> => {\n const params = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ refreshToken }),\n };\n const response = await fetch(\n `${getServerBasePath()}/app/${domainName}/logout`,\n params\n );\n return { response };\n};\n","export const TOKEN_LS = 'dauth_state';\nexport const REFRESH_TOKEN_LS = 'dauth_refresh_token';\n","import {\n deleteAccountAPI,\n getUserAPI,\n logoutAPI,\n refreshTokenAPI,\n sendEmailVerificationAPI,\n updateUserAPI,\n} from '../api/dauth.api';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from '../constants';\nimport { IDauthDomainState, IDauthUser } from '../interfaces';\nimport * as DauthTypes from './dauth.types';\n\ntype TSetDauthStateAction = {\n dispatch: React.Dispatch<any>;\n token: string;\n refreshToken: string;\n domainName: string;\n};\nexport async function setDauthStateAction({\n dispatch,\n token,\n refreshToken,\n domainName,\n}: TSetDauthStateAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n try {\n const getUserFetch = await getUserAPI(domainName, token);\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({}, document.title, window.location.pathname);\n localStorage.setItem(TOKEN_LS, token);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshToken);\n return;\n } else {\n return resetUser(dispatch);\n }\n } catch (error) {\n console.error(error);\n return resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\ntype TSetAutoLoginAction = {\n dispatch: React.Dispatch<any>;\n domainName: string;\n};\nexport async function setAutoLoginAction({\n dispatch,\n domainName,\n}: TSetAutoLoginAction) {\n dispatch({ type: DauthTypes.SET_IS_LOADING, payload: { isLoading: true } });\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n const newAccessToken = refreshResult.data.accessToken;\n const newRefreshToken = refreshResult.data.refreshToken;\n localStorage.setItem(TOKEN_LS, newAccessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, newRefreshToken);\n const getUserFetch = await getUserAPI(domainName, newAccessToken);\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 return;\n }\n }\n // Refresh failed — session expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n } finally {\n dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n}\n\nexport async function setLogoutAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (storedRefreshToken && domainName) {\n try {\n await logoutAPI(domainName, storedRefreshToken);\n } catch (_) {\n // Best-effort server-side logout\n }\n }\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(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.SET_IS_LOADING,\n payload: { isLoading: false },\n });\n}\n\nexport async function refreshSessionAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const storedRefreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (!storedRefreshToken) {\n return resetUser(dispatch);\n }\n try {\n const refreshResult = await refreshTokenAPI(domainName, storedRefreshToken);\n if (refreshResult.response.status === 200) {\n localStorage.setItem(TOKEN_LS, refreshResult.data.accessToken);\n localStorage.setItem(REFRESH_TOKEN_LS, refreshResult.data.refreshToken);\n return;\n }\n // Refresh failed — revoked or expired\n resetUser(dispatch);\n } catch (error) {\n console.error(error);\n resetUser(dispatch);\n }\n}\n\ntype TSetUpdateAction = {\n dispatch: React.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 dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: user,\n });\n return false;\n }\n try {\n const getUserFetch = await updateUserAPI(domainName, user, token);\n if (getUserFetch.response.status === 200) {\n dispatch({\n type: DauthTypes.UPDATE_USER,\n payload: getUserFetch.data.user,\n });\n return true;\n } else {\n console.error('Update user error', getUserFetch.data.message);\n return false;\n }\n } catch (error) {\n console.error('Update user error', error);\n return false;\n }\n}\n\ntype TSetSendEmailVerificationAction = {\n dispatch: React.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 dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'info', message: 'Sending email verification...' },\n });\n try {\n const sendEmailFetch = await sendEmailVerificationAPI(domainName, token);\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 dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return true;\n } else {\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_STATUS,\n payload: { type: 'error', message: sendEmailFetch.data.message },\n });\n dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\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 dispatch({\n type: DauthTypes.SET_SEND_EMAIL_VERIFICATION_IS_LOADING,\n payload: false,\n });\n return false;\n }\n}\n\nexport async function getAccessTokenAction({\n dispatch,\n domainName,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n}) {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return 'token-not-found';\n // Decode JWT to check expiry (without verification — that's the server's job)\n try {\n const payloadB64 = token_ls.split('.')[1];\n if (payloadB64) {\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // If token expires in less than 5 minutes, refresh proactively\n if (expiresIn < 5 * 60 * 1000) {\n await refreshSessionAction({ dispatch, domainName });\n const refreshedToken = localStorage.getItem(TOKEN_LS);\n return refreshedToken || 'token-not-found';\n }\n }\n } catch (_) {\n // If decode fails, return stored token and let server validate\n }\n return token_ls;\n}\n\nexport async function deleteAccountAction({\n dispatch,\n domainName,\n token,\n}: {\n dispatch: React.Dispatch<any>;\n domainName: string;\n token: string;\n}) {\n try {\n const result = await deleteAccountAPI(domainName, token);\n if (result.response.status === 200) {\n resetUser(dispatch);\n return true;\n }\n return false;\n } catch (error) {\n console.error('Delete account error', error);\n return false;\n }\n}\n\n///////////////////////////////////////////\n//////////////////////////////////////////\nexport const resetUser = (dispatch: React.Dispatch<any>) => {\n localStorage.removeItem(TOKEN_LS);\n localStorage.removeItem(REFRESH_TOKEN_LS);\n return dispatch({\n type: DauthTypes.LOGIN,\n payload: {\n user: {} as IDauthUser,\n domain: {} as IDauthDomainState,\n isAuthenticated: false,\n },\n });\n};\n","import React, {\n useReducer,\n useMemo,\n useEffect,\n useCallback,\n createContext,\n useContext,\n useRef,\n} from 'react';\nimport initialDauthState from './initialDauthState';\nimport userReducer from './reducer/dauth.reducer';\nimport * as action from './reducer/dauth.actions';\nimport { getClientBasePath } from './api/utils/config';\nimport { TOKEN_LS, REFRESH_TOKEN_LS } from './constants';\nimport { routes } from './api/utils/routes';\nimport { IDauthUser } from './interfaces';\nimport { SET_IS_LOADING } from './reducer/dauth.types';\n\ninterface DauthProviderProps {\n domainName: string;\n children: React.ReactNode;\n}\n\nexport const DauthProvider: React.FC<DauthProviderProps> = (\n props: DauthProviderProps\n) => {\n const { domainName, children } = props;\n const [dauthState, dispatch] = useReducer(userReducer, initialDauthState);\n const refreshTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Schedule next proactive refresh based on access token expiry\n const scheduleRefresh = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n const token = localStorage.getItem(TOKEN_LS);\n if (!token) return;\n try {\n const payloadB64 = token.split('.')[1];\n if (!payloadB64) return;\n const payload = JSON.parse(atob(payloadB64));\n const expiresIn = (payload.exp || 0) * 1000 - Date.now();\n // Refresh 5 minutes before expiry, minimum 10 seconds\n const refreshIn = Math.max(expiresIn - 5 * 60 * 1000, 10_000);\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, refreshIn);\n } catch (_) {\n // If decode fails, retry in 5 minutes\n refreshTimerRef.current = setTimeout(async () => {\n await action.refreshSessionAction({ dispatch, domainName });\n scheduleRefresh();\n }, 5 * 60 * 1000);\n }\n }, [domainName]);\n\n // Catch login redirect\n useEffect(() => {\n (async () => {\n const queryString = window.location.search;\n if (!queryString) return;\n const urlParams = new URLSearchParams(queryString);\n const token_url = urlParams.get(TOKEN_LS);\n const refresh_url = urlParams.get(REFRESH_TOKEN_LS);\n if (token_url && refresh_url && !dauthState.isAuthenticated) {\n return action.setDauthStateAction({\n dispatch,\n token: token_url,\n refreshToken: refresh_url,\n domainName,\n });\n }\n })();\n }, []);\n\n // Auto Login\n useEffect(() => {\n (async () => {\n const refreshToken = localStorage.getItem(REFRESH_TOKEN_LS);\n if (refreshToken && !dauthState.isAuthenticated) {\n return action.setAutoLoginAction({ dispatch, domainName });\n } else {\n return dispatch({\n type: SET_IS_LOADING,\n payload: { isLoading: false },\n });\n }\n })();\n }, []);\n\n // Schedule proactive refresh when authenticated\n useEffect(() => {\n if (dauthState.isAuthenticated) {\n scheduleRefresh();\n }\n return () => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n };\n }, [dauthState.isAuthenticated, scheduleRefresh]);\n\n const loginWithRedirect = useCallback(() => {\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.signin}`\n );\n }, [domainName]);\n\n const logout = useCallback(() => {\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return action.setLogoutAction({ dispatch, domainName });\n }, [domainName]);\n\n const getAccessToken = useCallback(async () => {\n const token = await action.getAccessTokenAction({ dispatch, domainName });\n return token as string;\n }, [domainName]);\n\n const updateUser = useCallback(\n async (fields: Partial<IDauthUser>) => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n const {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } = fields;\n const user = {\n name,\n lastname,\n nickname,\n telPrefix,\n telSuffix,\n language,\n avatar,\n birthDate,\n country,\n metadata,\n } as Partial<IDauthUser>;\n return (await action.setUpdateUserAction({\n dispatch,\n domainName,\n user,\n token: token_ls,\n })) as boolean;\n },\n [domainName]\n );\n\n const updateUserWithRedirect = useCallback(() => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return;\n return window.location.replace(\n `${getClientBasePath()}/${domainName}/${routes.updateUser}/${token_ls}`\n );\n }, [domainName]);\n\n const sendEmailVerification = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n return (await action.sendEmailVerificationAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const deleteAccount = useCallback(async () => {\n const token_ls = localStorage.getItem(TOKEN_LS);\n if (!token_ls) return false;\n if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);\n return (await action.deleteAccountAction({\n dispatch,\n domainName,\n token: token_ls,\n })) as boolean;\n }, [domainName]);\n\n const memoProvider = useMemo(\n () => ({\n ...dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n deleteAccount,\n }),\n [\n dauthState,\n loginWithRedirect,\n logout,\n getAccessToken,\n updateUser,\n updateUserWithRedirect,\n sendEmailVerification,\n deleteAccount,\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","Promise","resolve","updateUser","updateUserWithRedirect","sendEmailVerificationStatus","status","type","message","sendEmailVerification","deleteAccount","LOGIN","userReducer","state","action","payload","DauthTypes","_extends","checkIsLocalhost","hostname","location","Boolean","match","getServerBasePath","isLocalhost","serverLocalUrl","protocol","getClientBasePath","clientLocalUrl","getUserAPI","_ref","_asyncToGenerator","_regenerator","m","_callee","domainName","token","params","response","w","_context","n","method","headers","Authorization","Content-Type","fetch","v","json","a","data","_x","_x2","apply","arguments","updateUserAPI","_ref2","_callee2","_context2","body","JSON","stringify","_x3","_x4","_x5","sendEmailVerificationAPI","_ref3","_callee3","_context3","_x6","_x7","refreshTokenAPI","_ref5","_callee5","refreshToken","_context5","_x0","_x1","deleteAccountAPI","_ref6","_callee6","_context6","_x10","_x11","logoutAPI","_ref7","_callee7","_context7","_x12","_x13","TOKEN_LS","REFRESH_TOKEN_LS","setDauthStateAction","_setDauthStateAction","dispatch","getUserFetch","p","history","replaceState","title","pathname","localStorage","setItem","resetUser","console","error","f","setAutoLoginAction","_setAutoLoginAction","storedRefreshToken","refreshResult","newAccessToken","newRefreshToken","getItem","accessToken","_setLogoutAction","removeItem","refreshSessionAction","_refreshSessionAction","_callee4","_ref4","_context4","setUpdateUserAction","_setUpdateUserAction","setAttribute","sendEmailVerificationAction","_sendEmailVerificationAction","sendEmailFetch","getAccessTokenAction","_getAccessTokenAction","token_ls","payloadB64","refreshedToken","split","parse","atob","exp","Date","now","deleteAccountAction","_x8","_deleteAccountAction","_callee8","_ref8","_context8","DauthContext","createContext","props","children","_useReducer","useReducer","dauthState","refreshTimerRef","useRef","scheduleRefresh","useCallback","current","clearTimeout","expiresIn","refreshIn","Math","max","setTimeout","_","useEffect","queryString","urlParams","token_url","refresh_url","search","URLSearchParams","get","replace","fields","name","lastname","nickname","telPrefix","telSuffix","avatar","birthDate","country","metadata","memoProvider","useMemo","React","Provider","value","context","useContext","Error"],"mappings":"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"}
@@ -169,6 +169,9 @@ var initialDauthState = {
169
169
  },
170
170
  sendEmailVerification: function sendEmailVerification() {
171
171
  return Promise.resolve(false);
172
+ },
173
+ deleteAccount: function deleteAccount() {
174
+ return Promise.resolve(false);
172
175
  }
173
176
  };
174
177
 
@@ -384,11 +387,43 @@ var refreshTokenAPI = /*#__PURE__*/function () {
384
387
  return _ref5.apply(this, arguments);
385
388
  };
386
389
  }();
387
- var logoutAPI = /*#__PURE__*/function () {
388
- var _ref6 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(domainName, refreshToken) {
389
- var params, response;
390
+ var deleteAccountAPI = /*#__PURE__*/function () {
391
+ var _ref6 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(domainName, token) {
392
+ var params, response, data;
390
393
  return _regenerator().w(function (_context6) {
391
394
  while (1) switch (_context6.n) {
395
+ case 0:
396
+ params = {
397
+ method: 'DELETE',
398
+ headers: {
399
+ Authorization: token,
400
+ 'Content-Type': 'application/json'
401
+ }
402
+ };
403
+ _context6.n = 1;
404
+ return fetch(getServerBasePath() + "/app/" + domainName + "/user", params);
405
+ case 1:
406
+ response = _context6.v;
407
+ _context6.n = 2;
408
+ return response.json();
409
+ case 2:
410
+ data = _context6.v;
411
+ return _context6.a(2, {
412
+ response: response,
413
+ data: data
414
+ });
415
+ }
416
+ }, _callee6);
417
+ }));
418
+ return function deleteAccountAPI(_x10, _x11) {
419
+ return _ref6.apply(this, arguments);
420
+ };
421
+ }();
422
+ var logoutAPI = /*#__PURE__*/function () {
423
+ var _ref7 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(domainName, refreshToken) {
424
+ var params, response;
425
+ return _regenerator().w(function (_context7) {
426
+ while (1) switch (_context7.n) {
392
427
  case 0:
393
428
  params = {
394
429
  method: 'POST',
@@ -399,18 +434,18 @@ var logoutAPI = /*#__PURE__*/function () {
399
434
  refreshToken: refreshToken
400
435
  })
401
436
  };
402
- _context6.n = 1;
437
+ _context7.n = 1;
403
438
  return fetch(getServerBasePath() + "/app/" + domainName + "/logout", params);
404
439
  case 1:
405
- response = _context6.v;
406
- return _context6.a(2, {
440
+ response = _context7.v;
441
+ return _context7.a(2, {
407
442
  response: response
408
443
  });
409
444
  }
410
- }, _callee6);
445
+ }, _callee7);
411
446
  }));
412
- return function logoutAPI(_x10, _x11) {
413
- return _ref6.apply(this, arguments);
447
+ return function logoutAPI(_x12, _x13) {
448
+ return _ref7.apply(this, arguments);
414
449
  };
415
450
  }();
416
451
 
@@ -801,8 +836,6 @@ function _sendEmailVerificationAction() {
801
836
  function getAccessTokenAction(_x7) {
802
837
  return _getAccessTokenAction.apply(this, arguments);
803
838
  }
804
- ///////////////////////////////////////////
805
- //////////////////////////////////////////
806
839
  function _getAccessTokenAction() {
807
840
  _getAccessTokenAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(_ref7) {
808
841
  var dispatch, domainName, token_ls, payloadB64, payload, expiresIn, refreshedToken;
@@ -849,6 +882,41 @@ function _getAccessTokenAction() {
849
882
  }));
850
883
  return _getAccessTokenAction.apply(this, arguments);
851
884
  }
885
+ function deleteAccountAction(_x8) {
886
+ return _deleteAccountAction.apply(this, arguments);
887
+ }
888
+ ///////////////////////////////////////////
889
+ //////////////////////////////////////////
890
+ function _deleteAccountAction() {
891
+ _deleteAccountAction = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(_ref8) {
892
+ var dispatch, domainName, token, result, _t8;
893
+ return _regenerator().w(function (_context8) {
894
+ while (1) switch (_context8.p = _context8.n) {
895
+ case 0:
896
+ dispatch = _ref8.dispatch, domainName = _ref8.domainName, token = _ref8.token;
897
+ _context8.p = 1;
898
+ _context8.n = 2;
899
+ return deleteAccountAPI(domainName, token);
900
+ case 2:
901
+ result = _context8.v;
902
+ if (!(result.response.status === 200)) {
903
+ _context8.n = 3;
904
+ break;
905
+ }
906
+ resetUser(dispatch);
907
+ return _context8.a(2, true);
908
+ case 3:
909
+ return _context8.a(2, false);
910
+ case 4:
911
+ _context8.p = 4;
912
+ _t8 = _context8.v;
913
+ console.error('Delete account error', _t8);
914
+ return _context8.a(2, false);
915
+ }
916
+ }, _callee8, null, [[1, 4]]);
917
+ }));
918
+ return _deleteAccountAction.apply(this, arguments);
919
+ }
852
920
  var resetUser = function resetUser(dispatch) {
853
921
  localStorage.removeItem(TOKEN_LS);
854
922
  localStorage.removeItem(REFRESH_TOKEN_LS);
@@ -1020,13 +1088,13 @@ var DauthProvider = function DauthProvider(props) {
1020
1088
  }, _callee5);
1021
1089
  })), [domainName]);
1022
1090
  var updateUser = useCallback(/*#__PURE__*/function () {
1023
- var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(_ref6) {
1024
- var name, lastname, nickname, telPrefix, telSuffix, language, avatar, token_ls, user;
1091
+ var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(fields) {
1092
+ var token_ls, name, lastname, nickname, telPrefix, telSuffix, language, avatar, birthDate, country, metadata, user;
1025
1093
  return _regenerator().w(function (_context6) {
1026
1094
  while (1) switch (_context6.n) {
1027
1095
  case 0:
1028
- name = _ref6.name, lastname = _ref6.lastname, nickname = _ref6.nickname, telPrefix = _ref6.telPrefix, telSuffix = _ref6.telSuffix, language = _ref6.language, avatar = _ref6.avatar;
1029
1096
  token_ls = localStorage.getItem(TOKEN_LS);
1097
+ name = fields.name, lastname = fields.lastname, nickname = fields.nickname, telPrefix = fields.telPrefix, telSuffix = fields.telSuffix, language = fields.language, avatar = fields.avatar, birthDate = fields.birthDate, country = fields.country, metadata = fields.metadata;
1030
1098
  user = {
1031
1099
  name: name,
1032
1100
  lastname: lastname,
@@ -1034,7 +1102,10 @@ var DauthProvider = function DauthProvider(props) {
1034
1102
  telPrefix: telPrefix,
1035
1103
  telSuffix: telSuffix,
1036
1104
  language: language,
1037
- avatar: avatar
1105
+ avatar: avatar,
1106
+ birthDate: birthDate,
1107
+ country: country,
1108
+ metadata: metadata
1038
1109
  };
1039
1110
  _context6.n = 1;
1040
1111
  return setUpdateUserAction({
@@ -1049,7 +1120,7 @@ var DauthProvider = function DauthProvider(props) {
1049
1120
  }, _callee6);
1050
1121
  }));
1051
1122
  return function (_x) {
1052
- return _ref7.apply(this, arguments);
1123
+ return _ref6.apply(this, arguments);
1053
1124
  };
1054
1125
  }(), [domainName]);
1055
1126
  var updateUserWithRedirect = useCallback(function () {
@@ -1080,6 +1151,30 @@ var DauthProvider = function DauthProvider(props) {
1080
1151
  }
1081
1152
  }, _callee7);
1082
1153
  })), [domainName]);
1154
+ var deleteAccount = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {
1155
+ var token_ls;
1156
+ return _regenerator().w(function (_context8) {
1157
+ while (1) switch (_context8.n) {
1158
+ case 0:
1159
+ token_ls = localStorage.getItem(TOKEN_LS);
1160
+ if (token_ls) {
1161
+ _context8.n = 1;
1162
+ break;
1163
+ }
1164
+ return _context8.a(2, false);
1165
+ case 1:
1166
+ if (refreshTimerRef.current) clearTimeout(refreshTimerRef.current);
1167
+ _context8.n = 2;
1168
+ return deleteAccountAction({
1169
+ dispatch: dispatch,
1170
+ domainName: domainName,
1171
+ token: token_ls
1172
+ });
1173
+ case 2:
1174
+ return _context8.a(2, _context8.v);
1175
+ }
1176
+ }, _callee8);
1177
+ })), [domainName]);
1083
1178
  var memoProvider = useMemo(function () {
1084
1179
  return _extends({}, dauthState, {
1085
1180
  loginWithRedirect: loginWithRedirect,
@@ -1087,9 +1182,10 @@ var DauthProvider = function DauthProvider(props) {
1087
1182
  getAccessToken: getAccessToken,
1088
1183
  updateUser: updateUser,
1089
1184
  updateUserWithRedirect: updateUserWithRedirect,
1090
- sendEmailVerification: sendEmailVerification
1185
+ sendEmailVerification: sendEmailVerification,
1186
+ deleteAccount: deleteAccount
1091
1187
  });
1092
- }, [dauthState, loginWithRedirect, logout, getAccessToken, updateUser, updateUserWithRedirect, sendEmailVerification]);
1188
+ }, [dauthState, loginWithRedirect, logout, getAccessToken, updateUser, updateUserWithRedirect, sendEmailVerification, deleteAccount]);
1093
1189
  return React.createElement(DauthContext.Provider, {
1094
1190
  value: memoProvider
1095
1191
  }, children);