UNPKG

openstack-uicore-foundation

Version:

ui reactjs components for openstack marketing site

2 lines 7.98 kB
!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={5097:(e,o,t)=>{t(1116),t(6842),t(9087),t(9558),t(2183)},3195:(e,o,t)=>{t.d(o,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>i,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>a});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",s="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",i="AUTH_ERROR_LOCK_ACQUIRE_ERROR",a="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},2183:(e,o,t)=>{t.d(o,{getAccessToken:()=>E});var n=t(9558),r=t(5812),s=t.n(r);t(806);const i=require("browser-tabs-lock");var a=t.n(i);const c=require("js-cookie");var u=t.n(c),d=(t(8041),t(9891),t(5097),t(8853),t(3195));const Lock=new(a()),GET_TOKEN_SILENTLY_LOCK_KEY="openstackuicore.lock.getTokenSilently",l="code",p="authInfo",_="idToken",R=async()=>{console.log("openstack-uicore-foundation::Security::methods::_getAccessToken");let e=m();if(!e)throw console.log("openstack-uicore-foundation::Security::methods::_getAccessToken AUTH_ERROR_MISSING_AUTH_INFO"),Error(d.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=S();const a=s()().unix();let c=a-n;return t-=60,console.log(`openstack-uicore-foundation::Security::methods::_getAccessToken now ${a} accessTokenUpdatedAt ${n} expiresIn ${t} timeElapsedSecs ${c}`),(c>=t||null==o)&&(console.log("openstack-uicore-foundation::Security::methods::_getAccessToken access token expired, refreshing it ..."),o=await(async(e,o)=>{if(e===l&&g()){if(!o)throw T(),Error(d.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await f(o),{access_token:t,expires_in:n,refresh_token:r,id_token:s}=e;return void 0===r&&(r=null),w(t,n,r,s),t}throw T(),Error(d.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)})(i,r)),o},E=async()=>{var e;if(null!==(e=navigator)&&void 0!==e&&e.locks)return await navigator.locks.request(GET_TOKEN_SILENTLY_LOCK_KEY,(async e=>(console.log("openstack-uicore-foundation::Security::methods::getAccessToken web lock api",e),await R())));if(!await(0,n.retryPromise)((()=>Lock.acquireLock(GET_TOKEN_SILENTLY_LOCK_KEY,6e3)),10))throw Error(d.AUTH_ERROR_LOCK_ACQUIRE_ERROR);try{return await R()}finally{await Lock.releaseLock(GET_TOKEN_SILENTLY_LOCK_KEY)}},f=async e=>{let o=k(),t=y();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${d.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${d.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),t=await e.json();let{access_token:s,refresh_token:i,expires_in:a,id_token:c}=t;return{access_token:s,refresh_token:i,expires_in:a,id_token:c}}catch(e){throw console.log(e),e}},w=(e,o,t=null,r=null)=>{let s=m(),i={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null==t&&s&&(t=s.refreshToken),null==r&&s&&(r=s.idToken),t&&(i.refreshToken=t),r?(i[_]=r,u().set(_,r,{secure:!0,sameSite:"Lax"})):u().remove(_),(0,n.putOnLocalStorage)(p,JSON.stringify(i))},m=()=>{try{let e=(0,n.getFromLocalStorage)(p,!1);return e?JSON.parse(e):null}catch(e){return null}},T=()=>{"undefined"!=typeof window&&((0,n.removeFromLocalStorage)(p),u().remove(_))},y=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,S=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",g=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),k=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},9087:(e,o,t)=>{t(2462),t(806);var n=t(8041),r=t.n(n);t(9236),t(6842),t(9558),t(5097),t(2183);r().escapeQuerySpace=!1;const s=e=>o=>({type:e,payload:o});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},8853:()=>{require("spark-md5"),require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto)},9558:(e,o,t)=>{t.d(o,{getCurrentPathName:()=>n,getFromLocalStorage:()=>s,putOnLocalStorage:()=>r,removeFromLocalStorage:()=>i,retryPromise:()=>c,setSessionClearingState:()=>a});t(5812),t(8041);const n=()=>"undefined"!=typeof window?window.location.pathname:null,r=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},s=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),i(e)),t}return null},i=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},a=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},c=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9891:e=>{e.exports=require("idtoken-verifier")},5812:e=>{e.exports=require("moment-timezone")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")},806:e=>{e.exports=require("superagent/lib/client")},9236:e=>{e.exports=require("sweetalert2")},8041:e=>{e.exports=require("urijs")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var s=o[n]={exports:{}};return e[n](s,s.exports,t),s.exports}(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};t.r(n),t.d(n,{default:()=>R});var r=t(1116),s=t.n(r),i=t(2015),a=t.n(i),c=t(9825),u=t.n(c),d=t(806),l=t.n(d),p=t(2183);class _ extends a().Component{constructor(...e){super(...e),s()(this,"trackEnter",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,p.getAccessToken)();l().put(`${e}/api/v1/summits/${o}/metrics/enter`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("ENTER PAGE")))}catch(e){console.log(e)}})),s()(this,"trackLeave",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,p.getAccessToken)();l().post(`${e}/api/v1/summits/${o}/metrics/leave`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("LEFT PAGE")))}catch(e){console.log(e)}})),s()(this,"onBeforeUnload",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,p.getAccessToken)();return void navigator.sendBeacon(`${e}/api/v1/summits/${o}/metrics/leave?access_token=${s}&type=${n}&source_id=${t}&location=${r}`,{})}catch(e){console.log(e)}})),s()(this,"getLocation",(()=>"undefined"!=typeof window?encodeURIComponent(window.location.href):""))}componentDidMount(){const{trackEnter:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.addEventListener("beforeunload",o)}componentWillUnmount(){const{trackLeave:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.removeEventListener("beforeunload",o)}render(){return null}}_.propTypes={sourceName:u().string,sourceId:u().number,summitId:u().number.isRequired,apiBaseUrl:u().string.isRequired},_.defaultProps={sourceId:0,sourceName:"GENERAL"};const R=_;return n})())); //# sourceMappingURL=attendance-tracker.js.map