PageSourceSearch

https://app.simpleprax.com/assets/sessionAssignStore-CHNKRIk-.js

js simpleprax.com collected 2026-10-07 00:21:11 UTC 5,768 bytes, 2 lines download raw bytes

1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`1.6.26`},e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[new e.Error().stack]=function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];if(n!=null)for(var r in n)n.hasOwnProperty(r)&&(e[r]=n[r])}return e}({},e._sentryModuleMetadata[new e.Error().stack],{"_sentryBundlerPluginAppKey:simpleprax-dashboard":!0});var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`3e6348b5-a0fe-4f4b-9933-9bad9b510164`,e._sentryDebugIdIdentifier=`sentry-dbid-3e6348b5-a0fe-4f4b-9933-9bad9b510164`)}catch{}})();import{t as e}from"./organizations-BwOq8svj.js";import{n as t}from"./i18n-tv9W9qku.js";import{t as n}from"./store-BfkB5aX2.js";import{o as r}from"./privateKey-BL_V8vdg.js";import{c as i}from"./interfaces-Djmozs5U.js";import{gr as a,qr as o}from"./generated-CTuJABz9.js";import{n as s,t as c}from"./user-BiA_CW96.js";import{t as l}from"./src-DPeKVBiX.js";import{r as u}from"./useDecryption-DS1sjNn0.js";import{n as d}from"./pinia-Drl5DP5Y.js";var f=e=>{let t=new BroadcastChannel(e),n=null;return{isThere:()=>new Promise(e=>{let r=!1,i=a=>{a.data?.type===`pong`&&!r&&(r=!0,t.removeEventListener(`message`,i),n&&(clearTimeout(n),n=null),e(!0))};t.addEventListener(`message`,i),t.postMessage({type:`ping`}),n=setTimeout(()=>{r||(t.removeEventListener(`message`,i),e(!1))},100)}),sendDataAndClose:e=>{t.postMessage({type:`data`,payload:e}),setTimeout(()=>{t.close()},100)},startListening:e=>{let n=n=>{let{type:r,payload:i}=n.data||{};r===`ping`?t.postMessage({type:`pong`}):r===`data`&&e(i)};return t.addEventListener(`message`,n),()=>{t.removeEventListener(`message`,n)}},cleanup:()=>{n&&(clearTimeout(n),n=null),t.close()}}},p=e=>({submissionSessionId:e.type===`submission`?e.id:void 0,voiceSessionId:e.type===`voice`?e.id:void 0}),m=(e,t)=>!!e&&!!t&&e.type===t.type&&e.id===t.id,h=async(t,n)=>{let i=e(),a=c(),d=i.currentOrganizationPublicKeyFingerprint;if(!d)return;let{data:f}=await s.query({query:o,variables:{id:t,fingerprint:d},fetchPolicy:`network-only`}),p=f?.voiceSession;if(!p?.encryptionSession)return;let m=await u(a,{id:p.id,encryptionSession:p.encryptionSession,organizationId:p.organizationId}),h={...n};for(let e of Object.keys(h))e.startsWith(`$`)&&delete h[e];return(await l.run(e=>e.encryptData(m.sessionKey,r.json(h)))).base64},g=d(`sessionAssign`,{state:()=>({assign:[]}),getters:{currentAssignment:e=>e.assign[0],isAssigning:e=>e.assign.length>0,isAwaiting:e=>e.assign[0]&&!e.assign[0].received,isLoading:e=>e.assign[0]?.loading??!1,isEqual:e=>{if(e.assign.length===0)return!0;let t=e.assign[0];if(!t.received)return!0;if(t.received?.birthdate!==t.origin?.birthdate)return!1;let n=i(t.received?.firstname,t.origin?.firstname),r=i(t.received?.lastname,t.origin?.lastname);return n&&r}},actions:{selectPatient(e){if(!this.assign.length)return;let t=this.assign[0];e?.$customerId&&(t.origin?.firstname||t.origin?.lastname||(t.origin={firstname:e.firstname,lastname:e.lastname,birthdate:e.birthdate,email:e.email}),this.assignCustomer(e.$customerId,!1,e))},async assignCustomer(e,r,i){if(!this.assign.length)return;let o=this.assign[0];if(!o.received&&!e&&(!r||r&&!o.smartAssign?.result))return;let c=r?o.smartAssign?.result:o.received,l=e||c?.$customerId,u=o.session;if(u){o.loading=!0;try{let e=await this.regenerateSearchKeys(l),r=c?.email??i?.email,d;if(u.type===`voice`){let e=i??c??o.origin;if(e){let t=await h(u.id,e);t&&(d={data:t})}}await s.mutate({mutation:a,variables:{...p(u),data:{customerId:l,searchKeys:e,email:r,encryptedData:d}}}),o.loading=!1,n.success({content:t.global.t(`pages.dashboard.assignPatient.notifications.success`,{name:`${o.origin?.firstname} ${o.origin.lastname}`,id:l})}),o.promise?.resolve&&o.promise.resolve(!0),this.abortAssignment(u)}catch(e){o.loading=!1,console.error(e),n.error({content:t.global.t(`pages.dashboard.assignPatient.notifications.error`,{name:`${o.origin.firstname} ${o.origin.lastname}`})}),o.promise&&o.promise.resolve(!1)}}},async regenerateSearchKeys(t){let n=e().currentOrganizationId,r=this.assign[0],i={firstname:r.origin?.firstname??r.received?.f
1irstname,lastname:r.origin?.lastname??r.received?.lastname,birthdate:r.origin?.birthdate??r.received?.birthdate},a=t===null?null:t??r.received?.$customerId;return await l.run(e=>e.hashName(n,i.firstname,i.lastname,i.birthdate,a))},async removeAssignment(e){let t=await this.regenerateSearchKeys(null);await s.mutate({mutation:a,variables:{...p(e),data:{customerId:null,searchKeys:t}}})},async expectPatient(e){let{startListening:t,cleanup:n}=f(`createSessionPatient`),r,i=new Promise(e=>{r=e});return i.then(()=>n()),t(t=>{t.$customerId&&(e(t),window.focus())}),this.assign.push({loading:!1,callback:e,promise:{promise:i,resolve:r},smartAssign:{loading:!1,result:void 0}}),i},async startAssignment(e,t){let{startListening:n,cleanup:r}=f(`createSessionPatient`),i,a=new Promise(e=>{i=e});return a.then(()=>r()),n(e=>{e.$customerId&&(this.receiveAssignment(e),window.focus())}),this.assign.push({session:e,origin:t,loading:!1,promise:{promise:a,resolve:i},smartAssign:{loading:!1,result:void 0}}),a},clearAssignments(){this.assign.forEac
1h(e=>{e.promise.resolve(!1)}),this.assign=[]},abortAssignment(e){let t=t=>m(t.session,e),n=this.assign.find(t);n?.promise&&n.promise.resolve(!1),this.assign=this.assign.filter(e=>!t(e))},async receiveAssignment(e){if(this.assign.length){if(this.assign[0].received=e,this.assign[0].callback){this.assign[0].callback(e);return}return this.isEqual&&this.assignCustomer(),await this.assign[0]?.promise?.promise}}}});export{f as n,g as t};
2//# sourceMappingURL=sessionAssignStore-CHNKRIk-.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.