@voicenter-team/events-sdk 0.0.21 → 0.0.22
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/voicenter-events-sdk.cjs.js +1 -1
- package/dist/voicenter-events-sdk.cjs.js.map +1 -1
- package/dist/voicenter-events-sdk.es.js +3 -3
- package/dist/voicenter-events-sdk.es.js.map +1 -1
- package/dist/voicenter-events-sdk.iife.js +1 -1
- package/dist/voicenter-events-sdk.iife.js.map +1 -1
- package/dist/voicenter-events-sdk.umd.js +1 -1
- package/dist/voicenter-events-sdk.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/classes/auth/auth.class.ts +5 -5
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
5
|
* @license MIT
|
|
6
|
-
*/var Mu=function(S){return S!=null&&(so(S)||Wu(S)||!!S._isBuffer)};function so(S){return!!S.constructor&&typeof S.constructor.isBuffer=="function"&&S.constructor.isBuffer(S)}function Wu(S){return typeof S.readFloatLE=="function"&&typeof S.slice=="function"&&so(S.slice(0,0))}(function(){var S=Fu,v=oo.utf8,r=Mu,l=oo.bin,c=function(g,m){g.constructor==String?m&&m.encoding==="binary"?g=l.stringToBytes(g):g=v.stringToBytes(g):r(g)?g=Array.prototype.slice.call(g,0):!Array.isArray(g)&&g.constructor!==Uint8Array&&(g=g.toString());for(var d=S.bytesToWords(g),x=g.length*8,h=1732584193,_=-271733879,p=-1732584194,u=271733878,s=0;s<d.length;s++)d[s]=(d[s]<<8|d[s]>>>24)&16711935|(d[s]<<24|d[s]>>>8)&4278255360;d[x>>>5]|=128<<x%32,d[(x+64>>>9<<4)+14]=x;for(var w=c._ff,k=c._gg,E=c._hh,q=c._ii,s=0;s<d.length;s+=16){var oe=h,Y=_,se=p,G=u;h=w(h,_,p,u,d[s+0],7,-680876936),u=w(u,h,_,p,d[s+1],12,-389564586),p=w(p,u,h,_,d[s+2],17,606105819),_=w(_,p,u,h,d[s+3],22,-1044525330),h=w(h,_,p,u,d[s+4],7,-176418897),u=w(u,h,_,p,d[s+5],12,1200080426),p=w(p,u,h,_,d[s+6],17,-1473231341),_=w(_,p,u,h,d[s+7],22,-45705983),h=w(h,_,p,u,d[s+8],7,1770035416),u=w(u,h,_,p,d[s+9],12,-1958414417),p=w(p,u,h,_,d[s+10],17,-42063),_=w(_,p,u,h,d[s+11],22,-1990404162),h=w(h,_,p,u,d[s+12],7,1804603682),u=w(u,h,_,p,d[s+13],12,-40341101),p=w(p,u,h,_,d[s+14],17,-1502002290),_=w(_,p,u,h,d[s+15],22,1236535329),h=k(h,_,p,u,d[s+1],5,-165796510),u=k(u,h,_,p,d[s+6],9,-1069501632),p=k(p,u,h,_,d[s+11],14,643717713),_=k(_,p,u,h,d[s+0],20,-373897302),h=k(h,_,p,u,d[s+5],5,-701558691),u=k(u,h,_,p,d[s+10],9,38016083),p=k(p,u,h,_,d[s+15],14,-660478335),_=k(_,p,u,h,d[s+4],20,-405537848),h=k(h,_,p,u,d[s+9],5,568446438),u=k(u,h,_,p,d[s+14],9,-1019803690),p=k(p,u,h,_,d[s+3],14,-187363961),_=k(_,p,u,h,d[s+8],20,1163531501),h=k(h,_,p,u,d[s+13],5,-1444681467),u=k(u,h,_,p,d[s+2],9,-51403784),p=k(p,u,h,_,d[s+7],14,1735328473),_=k(_,p,u,h,d[s+12],20,-1926607734),h=E(h,_,p,u,d[s+5],4,-378558),u=E(u,h,_,p,d[s+8],11,-2022574463),p=E(p,u,h,_,d[s+11],16,1839030562),_=E(_,p,u,h,d[s+14],23,-35309556),h=E(h,_,p,u,d[s+1],4,-1530992060),u=E(u,h,_,p,d[s+4],11,1272893353),p=E(p,u,h,_,d[s+7],16,-155497632),_=E(_,p,u,h,d[s+10],23,-1094730640),h=E(h,_,p,u,d[s+13],4,681279174),u=E(u,h,_,p,d[s+0],11,-358537222),p=E(p,u,h,_,d[s+3],16,-722521979),_=E(_,p,u,h,d[s+6],23,76029189),h=E(h,_,p,u,d[s+9],4,-640364487),u=E(u,h,_,p,d[s+12],11,-421815835),p=E(p,u,h,_,d[s+15],16,530742520),_=E(_,p,u,h,d[s+2],23,-995338651),h=q(h,_,p,u,d[s+0],6,-198630844),u=q(u,h,_,p,d[s+7],10,1126891415),p=q(p,u,h,_,d[s+14],15,-1416354905),_=q(_,p,u,h,d[s+5],21,-57434055),h=q(h,_,p,u,d[s+12],6,1700485571),u=q(u,h,_,p,d[s+3],10,-1894986606),p=q(p,u,h,_,d[s+10],15,-1051523),_=q(_,p,u,h,d[s+1],21,-2054922799),h=q(h,_,p,u,d[s+8],6,1873313359),u=q(u,h,_,p,d[s+15],10,-30611744),p=q(p,u,h,_,d[s+6],15,-1560198380),_=q(_,p,u,h,d[s+13],21,1309151649),h=q(h,_,p,u,d[s+4],6,-145523070),u=q(u,h,_,p,d[s+11],10,-1120210379),p=q(p,u,h,_,d[s+2],15,718787259),_=q(_,p,u,h,d[s+9],21,-343485551),h=h+oe>>>0,_=_+Y>>>0,p=p+se>>>0,u=u+G>>>0}return S.endian([h,_,p,u])};c._ff=function(g,m,d,x,h,_,p){var u=g+(m&d|~m&x)+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._gg=function(g,m,d,x,h,_,p){var u=g+(m&x|d&~x)+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._hh=function(g,m,d,x,h,_,p){var u=g+(m^d^x)+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._ii=function(g,m,d,x,h,_,p){var u=g+(d^(m|~x))+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._blocksize=16,c._digestsize=16,ro.exports=function(g,m){if(g==null)throw new Error("Illegal argument "+g);var d=S.wordsToBytes(c(g,m));return m&&m.asBytes?d:m&&m.asString?l.bytesToString(d):S.bytesToHex(d)}})();var qu=ro.exports;const Ku=Zt(qu);var Vt=(S=>(S.MAIN="main",S.NEXT="next",S))(Vt||{}),Et=(S=>(S.USER="User",S.TOKEN="Token",S))(Et||{});class xn{static async getSessionStorageDataByKey(v,r=!0){if(typeof chrome<"u"&&typeof chrome.storage<"u"){const l=await chrome.storage.session.get(v);if(l[v])return r?JSON.parse(l[v]):l[v]}if(typeof window<"u"){const l=window.sessionStorage.getItem(v);if(l)return r?JSON.parse(l):l}}static async updateSessionStorageKey(v,r){typeof chrome<"u"&&typeof chrome.storage<"u"&&await chrome.storage.session.set({[v]:JSON.stringify(r)}),typeof window<"u"&&window.sessionStorage.setItem(v,JSON.stringify(r))}static clearSessionStorage(){typeof chrome<"u"&&typeof chrome.storage<"u"&&chrome.storage.session.clear(),typeof window<"u"&&window.sessionStorage.clear()}}var Mt=(S=>(S.INFO="INFO",S.WARN="WARN",S.ERROR="ERROR",S))(Mt||{});class Hu{constructor(v){Se(this,"delay",1e3);Se(this,"lastLoginTimestamp");Se(this,"token");Se(this,"storageKey");this.eventsSdkClass=v,this.eventsSdkClass=v,this.storageKey=""}async login(v){const r={token:v.token,email:v.email,password:v.password};if(this.storageKey=Ku(JSON.stringify(v)),this.lastLoginTimestamp&&this.lastLoginTimestamp+this.delay>new Date().getTime())return;this.updateLastLoginTimestamp(),await this.checkLoginStatus(this.storageKey)||(xn.clearSessionStorage(),await this.userLoginFunction(r,this.storageKey,v.loginType))}updateLastLoginTimestamp(){this.lastLoginTimestamp=new Date().getTime()}async checkLoginStatus(v){const r=await xn.getSessionStorageDataByKey(v);return r?(this.onLoginResponse(r),!0):!1}async userLoginFunction(v,r,l){let c,g,m;this.eventsSdkClass.options.isNewStack?(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),g=await this.getSettings(c.Data.AccessToken),m={...c.Data,...g}):(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),m={...c.Data.Socket}),this.onLoginResponse(m),await xn.updateSessionStorageKey(r,m)}onLoginResponse(v){if(v.MonitorList&&v.MonitorList.length&&(this.eventsSdkClass.servers=[...v.MonitorList],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),!this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length&&v.URLList&&(this.eventsSdkClass.URLList=v.URLList),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.URLList.length&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");if(this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");this.eventsSdkClass.server&&(this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${this.eventsSdkClass.server.Version}`),this.eventsSdkClass.loggerClass.init()),!this.eventsSdkClass.server&&this.eventsSdkClass.URLList.length&&this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${v.Client}`),v.IdentityCode&&(this.token=v.IdentityCode,this.eventsSdkClass.connect(Vt.MAIN)),v.Token&&(this.token=v.Token,this.eventsSdkClass.connect(Vt.MAIN)),v.RefreshToken&&v.IdentityCodeExpiry&&this.eventsSdkClass.options.loginType===Et.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.IdentityCodeExpiry,this.handleTokenExpiry()),v.RefreshToken&&v.TokenExpiry&&this.eventsSdkClass.options.loginType===Et.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.TokenExpiry,this.handleTokenExpiry())}handleTokenExpiry(){if(!this.eventsSdkClass.options.refreshTokenUrl)throw new Error("refreshTokenUrl not provided");let v;if(this.eventsSdkClass.options.tokenExpiry)v=new Date(this.eventsSdkClass.options.tokenExpiry);else return;const r=v.getTime()-new Date().getTime()-5e3,l=Math.min(r,2147483647);setTimeout(async()=>{if(this.eventsSdkClass.options.refreshToken){this.eventsSdkClass.socketIoClass.closeAllConnections();let c,g;if(this.eventsSdkClass.options.isNewStack){const m=await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken);c=await this.getSettings(m.Data.AccessToken),g={...m.Data,...c}}else g={...(await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken)).Data.Socket};this.onLoginResponse(g),await xn.updateSessionStorageKey(this.storageKey,g)}},l)}async externalLogin(v,{password:r,token:l,email:c},g){if(!v)throw new Error("loginUrl not provided");let m;this.eventsSdkClass.options.isNewStack?g===Et.TOKEN?m=JSON.stringify({identityType:Et.TOKEN,token:l}):m=JSON.stringify({identityType:Et.USER,username:c,password:r}):this.eventsSdkClass.options.loginType===Et.TOKEN?(m=JSON.stringify({token:l}),v=`${v}/${Et.TOKEN}`):(m=JSON.stringify({email:c,pin:r}),v=`${v}/${Et.USER}`);try{const d=await fetch(v,{method:"POST",headers:{"Content-Type":"application/json"},body:m});if(!d.ok&&d.status===400)throw new Error("Bad body request. Login type or isNewStack values not correct or not provided");if(!d.ok&&d.status===401)throw new Error("Unauthorized. Invalid token provided");if(!d.ok&&d.status===403)throw new Error("Forbidden. Identity token not provided or not valid");const x=await d.json();if(x.error)throw new Error(x.error);return x}catch(d){throw this.eventsSdkClass.loggerClass.log(Mt.ERROR,`External login ${v}`,d),d}}async getSettings(v){try{if(!this.eventsSdkClass.options.getSettingsUrl)throw new Error("getSettingsUrl not provided");const r=await fetch(this.eventsSdkClass.options.getSettingsUrl,{headers:{Authorization:`Bearer ${v}`}});if(!r.ok&&r.status===401)throw new Error("Unauthorized. Access token not provided or not valid");return r.json()}catch(r){throw this.eventsSdkClass.loggerClass.log(Mt.ERROR,`Get settings ${this.eventsSdkClass.options.getSettingsUrl}`,r),r}}async refreshToken(v,r){try{return(await fetch(v,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`}})).json()}catch(l){throw this.eventsSdkClass.loggerClass.log(Mt.ERROR,`Refresh token ${v}`,l),l}}}var Gn={exports:{}};/**
|
|
6
|
+
*/var Mu=function(S){return S!=null&&(so(S)||Wu(S)||!!S._isBuffer)};function so(S){return!!S.constructor&&typeof S.constructor.isBuffer=="function"&&S.constructor.isBuffer(S)}function Wu(S){return typeof S.readFloatLE=="function"&&typeof S.slice=="function"&&so(S.slice(0,0))}(function(){var S=Fu,v=oo.utf8,r=Mu,l=oo.bin,c=function(g,m){g.constructor==String?m&&m.encoding==="binary"?g=l.stringToBytes(g):g=v.stringToBytes(g):r(g)?g=Array.prototype.slice.call(g,0):!Array.isArray(g)&&g.constructor!==Uint8Array&&(g=g.toString());for(var d=S.bytesToWords(g),x=g.length*8,h=1732584193,_=-271733879,p=-1732584194,u=271733878,s=0;s<d.length;s++)d[s]=(d[s]<<8|d[s]>>>24)&16711935|(d[s]<<24|d[s]>>>8)&4278255360;d[x>>>5]|=128<<x%32,d[(x+64>>>9<<4)+14]=x;for(var w=c._ff,k=c._gg,E=c._hh,q=c._ii,s=0;s<d.length;s+=16){var oe=h,Y=_,se=p,G=u;h=w(h,_,p,u,d[s+0],7,-680876936),u=w(u,h,_,p,d[s+1],12,-389564586),p=w(p,u,h,_,d[s+2],17,606105819),_=w(_,p,u,h,d[s+3],22,-1044525330),h=w(h,_,p,u,d[s+4],7,-176418897),u=w(u,h,_,p,d[s+5],12,1200080426),p=w(p,u,h,_,d[s+6],17,-1473231341),_=w(_,p,u,h,d[s+7],22,-45705983),h=w(h,_,p,u,d[s+8],7,1770035416),u=w(u,h,_,p,d[s+9],12,-1958414417),p=w(p,u,h,_,d[s+10],17,-42063),_=w(_,p,u,h,d[s+11],22,-1990404162),h=w(h,_,p,u,d[s+12],7,1804603682),u=w(u,h,_,p,d[s+13],12,-40341101),p=w(p,u,h,_,d[s+14],17,-1502002290),_=w(_,p,u,h,d[s+15],22,1236535329),h=k(h,_,p,u,d[s+1],5,-165796510),u=k(u,h,_,p,d[s+6],9,-1069501632),p=k(p,u,h,_,d[s+11],14,643717713),_=k(_,p,u,h,d[s+0],20,-373897302),h=k(h,_,p,u,d[s+5],5,-701558691),u=k(u,h,_,p,d[s+10],9,38016083),p=k(p,u,h,_,d[s+15],14,-660478335),_=k(_,p,u,h,d[s+4],20,-405537848),h=k(h,_,p,u,d[s+9],5,568446438),u=k(u,h,_,p,d[s+14],9,-1019803690),p=k(p,u,h,_,d[s+3],14,-187363961),_=k(_,p,u,h,d[s+8],20,1163531501),h=k(h,_,p,u,d[s+13],5,-1444681467),u=k(u,h,_,p,d[s+2],9,-51403784),p=k(p,u,h,_,d[s+7],14,1735328473),_=k(_,p,u,h,d[s+12],20,-1926607734),h=E(h,_,p,u,d[s+5],4,-378558),u=E(u,h,_,p,d[s+8],11,-2022574463),p=E(p,u,h,_,d[s+11],16,1839030562),_=E(_,p,u,h,d[s+14],23,-35309556),h=E(h,_,p,u,d[s+1],4,-1530992060),u=E(u,h,_,p,d[s+4],11,1272893353),p=E(p,u,h,_,d[s+7],16,-155497632),_=E(_,p,u,h,d[s+10],23,-1094730640),h=E(h,_,p,u,d[s+13],4,681279174),u=E(u,h,_,p,d[s+0],11,-358537222),p=E(p,u,h,_,d[s+3],16,-722521979),_=E(_,p,u,h,d[s+6],23,76029189),h=E(h,_,p,u,d[s+9],4,-640364487),u=E(u,h,_,p,d[s+12],11,-421815835),p=E(p,u,h,_,d[s+15],16,530742520),_=E(_,p,u,h,d[s+2],23,-995338651),h=q(h,_,p,u,d[s+0],6,-198630844),u=q(u,h,_,p,d[s+7],10,1126891415),p=q(p,u,h,_,d[s+14],15,-1416354905),_=q(_,p,u,h,d[s+5],21,-57434055),h=q(h,_,p,u,d[s+12],6,1700485571),u=q(u,h,_,p,d[s+3],10,-1894986606),p=q(p,u,h,_,d[s+10],15,-1051523),_=q(_,p,u,h,d[s+1],21,-2054922799),h=q(h,_,p,u,d[s+8],6,1873313359),u=q(u,h,_,p,d[s+15],10,-30611744),p=q(p,u,h,_,d[s+6],15,-1560198380),_=q(_,p,u,h,d[s+13],21,1309151649),h=q(h,_,p,u,d[s+4],6,-145523070),u=q(u,h,_,p,d[s+11],10,-1120210379),p=q(p,u,h,_,d[s+2],15,718787259),_=q(_,p,u,h,d[s+9],21,-343485551),h=h+oe>>>0,_=_+Y>>>0,p=p+se>>>0,u=u+G>>>0}return S.endian([h,_,p,u])};c._ff=function(g,m,d,x,h,_,p){var u=g+(m&d|~m&x)+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._gg=function(g,m,d,x,h,_,p){var u=g+(m&x|d&~x)+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._hh=function(g,m,d,x,h,_,p){var u=g+(m^d^x)+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._ii=function(g,m,d,x,h,_,p){var u=g+(d^(m|~x))+(h>>>0)+p;return(u<<_|u>>>32-_)+m},c._blocksize=16,c._digestsize=16,ro.exports=function(g,m){if(g==null)throw new Error("Illegal argument "+g);var d=S.wordsToBytes(c(g,m));return m&&m.asBytes?d:m&&m.asString?l.bytesToString(d):S.bytesToHex(d)}})();var qu=ro.exports;const Ku=Zt(qu);var Vt=(S=>(S.MAIN="main",S.NEXT="next",S))(Vt||{}),Et=(S=>(S.USER="User",S.TOKEN="Token",S))(Et||{});class xn{static async getSessionStorageDataByKey(v,r=!0){if(typeof chrome<"u"&&typeof chrome.storage<"u"){const l=await chrome.storage.session.get(v);if(l[v])return r?JSON.parse(l[v]):l[v]}if(typeof window<"u"){const l=window.sessionStorage.getItem(v);if(l)return r?JSON.parse(l):l}}static async updateSessionStorageKey(v,r){typeof chrome<"u"&&typeof chrome.storage<"u"&&await chrome.storage.session.set({[v]:JSON.stringify(r)}),typeof window<"u"&&window.sessionStorage.setItem(v,JSON.stringify(r))}static clearSessionStorage(){typeof chrome<"u"&&typeof chrome.storage<"u"&&chrome.storage.session.clear(),typeof window<"u"&&window.sessionStorage.clear()}}var Mt=(S=>(S.INFO="INFO",S.WARN="WARN",S.ERROR="ERROR",S))(Mt||{});class Hu{constructor(v){Se(this,"delay",1e3);Se(this,"lastLoginTimestamp");Se(this,"token");Se(this,"storageKey");this.eventsSdkClass=v,this.eventsSdkClass=v,this.storageKey=""}async login(v){const r={token:v.token,email:v.email,password:v.password};if(this.storageKey=Ku(JSON.stringify(v)),this.lastLoginTimestamp&&this.lastLoginTimestamp+this.delay>new Date().getTime())return;this.updateLastLoginTimestamp(),await this.checkLoginStatus(this.storageKey)||(xn.clearSessionStorage(),await this.userLoginFunction(r,this.storageKey,v.loginType))}updateLastLoginTimestamp(){this.lastLoginTimestamp=new Date().getTime()}async checkLoginStatus(v){const r=await xn.getSessionStorageDataByKey(v);return r?(this.onLoginResponse(r),!0):!1}async userLoginFunction(v,r,l){let c,g,m;this.eventsSdkClass.options.isNewStack?(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),g=await this.getSettings(c.Data.AccessToken),m={...c.Data,...g}):(c=await this.externalLogin(this.eventsSdkClass.options.loginUrl,v,l),m={...c.Data.Socket}),this.onLoginResponse(m),await xn.updateSessionStorageKey(r,m)}onLoginResponse(v){if(!this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),this.eventsSdkClass.options.isNewStack&&this.eventsSdkClass.options.servers&&(this.eventsSdkClass.servers=[...this.eventsSdkClass.options.servers],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),v.MonitorList&&v.MonitorList.length&&(this.eventsSdkClass.servers=[...v.MonitorList],this.eventsSdkClass.server=this.eventsSdkClass.servers.reduce((r,l)=>r.Priority>l.Priority?r:l)),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length&&v.URLList&&(this.eventsSdkClass.URLList=v.URLList),!this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.URLList.length&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");if(this.eventsSdkClass.options.isNewStack&&!this.eventsSdkClass.servers.length)throw new Error("Socket servers not defined");this.eventsSdkClass.server&&(this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${this.eventsSdkClass.server.Version}`),this.eventsSdkClass.loggerClass.init()),!this.eventsSdkClass.server&&this.eventsSdkClass.URLList.length&&this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${v.Client}`),v.IdentityCode&&(this.token=v.IdentityCode,this.eventsSdkClass.connect(Vt.MAIN)),v.Token&&(this.token=v.Token,this.eventsSdkClass.connect(Vt.MAIN)),v.RefreshToken&&v.IdentityCodeExpiry&&this.eventsSdkClass.options.loginType===Et.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.IdentityCodeExpiry,this.handleTokenExpiry()),v.RefreshToken&&v.TokenExpiry&&this.eventsSdkClass.options.loginType===Et.USER&&(this.eventsSdkClass.options.refreshToken=v.RefreshToken,this.eventsSdkClass.options.tokenExpiry=v.TokenExpiry,this.handleTokenExpiry())}handleTokenExpiry(){if(!this.eventsSdkClass.options.refreshTokenUrl)throw new Error("refreshTokenUrl not provided");let v;if(this.eventsSdkClass.options.tokenExpiry)v=new Date(this.eventsSdkClass.options.tokenExpiry);else return;const r=v.getTime()-new Date().getTime()-5e3,l=Math.min(r,2147483647);setTimeout(async()=>{if(this.eventsSdkClass.options.refreshToken){this.eventsSdkClass.socketIoClass.closeAllConnections();let c,g;if(this.eventsSdkClass.options.isNewStack){const m=await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken);c=await this.getSettings(m.Data.AccessToken),g={...m.Data,...c}}else g={...(await this.refreshToken(this.eventsSdkClass.options.refreshTokenUrl,this.eventsSdkClass.options.refreshToken)).Data.Socket};this.onLoginResponse(g),await xn.updateSessionStorageKey(this.storageKey,g)}},l)}async externalLogin(v,{password:r,token:l,email:c},g){if(!v)throw new Error("loginUrl not provided");let m;this.eventsSdkClass.options.isNewStack?g===Et.TOKEN?m=JSON.stringify({identityType:Et.TOKEN,token:l}):m=JSON.stringify({identityType:Et.USER,username:c,password:r}):this.eventsSdkClass.options.loginType===Et.TOKEN?(m=JSON.stringify({token:l}),v=`${v}/${Et.TOKEN}`):(m=JSON.stringify({email:c,pin:r}),v=`${v}/${Et.USER}`);try{const d=await fetch(v,{method:"POST",headers:{"Content-Type":"application/json"},body:m});if(!d.ok&&d.status===400)throw new Error("Bad body request. Login type or isNewStack values not correct or not provided");if(!d.ok&&d.status===401)throw new Error("Unauthorized. Invalid token provided");if(!d.ok&&d.status===403)throw new Error("Forbidden. Identity token not provided or not valid");const x=await d.json();if(x.error)throw new Error(x.error);return x}catch(d){throw this.eventsSdkClass.loggerClass.log(Mt.ERROR,`External login ${v}`,d),d}}async getSettings(v){try{if(!this.eventsSdkClass.options.getSettingsUrl)throw new Error("getSettingsUrl not provided");const r=await fetch(this.eventsSdkClass.options.getSettingsUrl,{headers:{Authorization:`Bearer ${v}`}});if(!r.ok&&r.status===401)throw new Error("Unauthorized. Access token not provided or not valid");return r.json()}catch(r){throw this.eventsSdkClass.loggerClass.log(Mt.ERROR,`Get settings ${this.eventsSdkClass.options.getSettingsUrl}`,r),r}}async refreshToken(v,r){try{return(await fetch(v,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`}})).json()}catch(l){throw this.eventsSdkClass.loggerClass.log(Mt.ERROR,`Refresh token ${v}`,l),l}}}var Gn={exports:{}};/**
|
|
7
7
|
* @license
|
|
8
8
|
* Lodash <https://lodash.com/>
|
|
9
9
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|