@camera.ui/server 0.0.104 → 0.0.105
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/interface/assets/{404-CJ99-HuF.js → 404-dD7prz4d.js} +1 -1
- package/dist/interface/assets/{About-B0RkqPCF.js → About-4w_Ij32a.js} +1 -1
- package/dist/interface/assets/{Adminpanel-BzjRR4E-.js → Adminpanel-BgxU0Yh6.js} +1 -1
- package/dist/interface/assets/{Automation-BxZOk7_I.js → Automation-CYsN1p2P.js} +2 -2
- package/dist/interface/assets/{Automations-DCnYU4ec.js → Automations-CRd6MuM2.js} +1 -1
- package/dist/interface/assets/{Camera-uZPZMDm6.js → Camera-DCqFhkAt.js} +2 -2
- package/dist/interface/assets/{CameraConsole-C_TUwy4O.js → CameraConsole-DfIBG8ZV.js} +1 -1
- package/dist/interface/assets/{Cameras-CCjDWbDk.js → Cameras-BK67w1OJ.js} +1 -1
- package/dist/interface/assets/{Camview-DGtE5Z3s.js → Camview-B0go1EMt.js} +1 -1
- package/dist/interface/assets/{Config-QQ7HALtt.js → Config-CeEi3tKd.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-C7ZfjHnE.js → ConfigActionCameraControl-rP-oa_3f.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-C9zOKCqa.js → ConfigActionDelay-BJeC4VAJ.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-zeFP7jW9.js → ConfigActionHttp-F8Mpo56C.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-D19IiOQh.js → ConfigActionImageInput-Drtv5ElC.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-vKL_FJi6.js → ConfigActionNotification-DR8c22Y1.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-C9P9NVNR.js → ConfigActionOutput-CbT2-VnU.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-BfjaRyTe.js → ConfigActionPlugin-DE-S6S0y.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-BGIRJ1VF.js → ConfigActionSensor-Dw_V9cYY.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-ClUBwM1R.js → ConfigActionSnapshot-5xUvGsae.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-COV3XNCP.js → ConfigActionVariable-Bub1V_a3.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-CRzCscc-.js → ConfigConditionIfElse-CAt9ubD2.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-DZJkEOJX.js → ConfigConditionSensorState-DhP32uo8.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-CY52JGdW.js → ConfigConditionSwitch-DB2r6i-I.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-o7CY--td.js → ConfigConditionTime-zqIQQ-tD.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-DRM0HbdD.js → ConfigTriggerDetection-CVW5HXeG.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CJi5c7cN.js → ConfigTriggerGeofence-BsPsPO4j.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-B8iZq1a7.js → ConfigTriggerManual-DhafkyQd.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-sG8s23os.js → ConfigTriggerSchedule-Bx3qlITv.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-Dc9qP7jS.js → ConfigTriggerSensor-FVgMXGty.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-wZjLxEWq.js → ConfigTriggerSystem-BJo-wIMS.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-BpWO2kXx.js → ConfigTriggerWebhook-BaUrOAZB.js} +1 -1
- package/dist/interface/assets/{Console-B79GknLp.js → Console-B23nM1WG.js} +1 -1
- package/dist/interface/assets/{CuiActionButton-DaeBGbij.js → CuiActionButton-Dywht3_D.js} +1 -1
- package/dist/interface/assets/{CuiAvatar-CMR4MZZv.js → CuiAvatar-CdoyvPP1.js} +1 -1
- package/dist/interface/assets/{CuiBBoxPlayground-BJxrh8Hk.js → CuiBBoxPlayground-DcAhwW8k.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-CU8irFoy.js +1 -0
- package/dist/interface/assets/{CuiBottomSheet-DmanZWbm.js → CuiBottomSheet-CvkbklC_.js} +1 -1
- package/dist/interface/assets/CuiCameraCard-BxWf13Ct.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-BvJJFMV2.js → CuiCameraPipCard-CR5a-MkM.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-BXfAlbHm.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-BNyn9lMv.js → CuiCameraShares-CJpSVfdl.js} +1 -1
- package/dist/interface/assets/{CuiCameraSnapshot-DzweaAbD.js → CuiCameraSnapshot-Cg8Vjve3.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-CCu87mix.js → CuiCameraTable-CfJNlsEQ.js} +1 -1
- package/dist/interface/assets/{CuiDataTable-Q0cMKDSG.js → CuiDataTable-C9mtC73b.js} +1 -1
- package/dist/interface/assets/{CuiFloatingButton-CLb4OXWq.js → CuiFloatingButton-Bi1jS25U.js} +1 -1
- package/dist/interface/assets/{CuiImage-OMrwpQrB.js → CuiImage-DJcQfDpa.js} +1 -1
- package/dist/interface/assets/{CuiMenu-BXurM_rM.js → CuiMenu-150v0xB6.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-o4XyKYKV.js → CuiPluginCard-CHLd5hzA.js} +2 -2
- package/dist/interface/assets/{CuiPluginOAuthButton-CT_taZrW.js → CuiPluginOAuthButton-B7JHhElr.js} +2 -2
- package/dist/interface/assets/{CuiQRCode-Dv03yW5H.js → CuiQRCode-ZbDxg42W.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-34f2-J9w.js → CuiRecordingsGrid-Bl0vRmPG.js} +1 -1
- package/dist/interface/assets/{CuiSchema-DPegn_DL.js → CuiSchema-DvWek91_.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-D1yZXVK4.js → CuiTopNavbarItem-Dwm5c6so.js} +1 -1
- package/dist/interface/assets/{CuiTopbarSlot-D8e3DC_V.js → CuiTopbarSlot-DE7fTsSm.js} +1 -1
- package/dist/interface/assets/{Faces-CNCw8AXF.js → Faces-6nDCr24_.js} +1 -1
- package/dist/interface/assets/{FirstSteps-Dcr9xd_H.js → FirstSteps-DB7hnFYh.js} +1 -1
- package/dist/interface/assets/{Instances-DCrJqqdk.js → Instances-KpdnZAmV.js} +1 -1
- package/dist/interface/assets/{Logs-9KBZQ4SH.js → Logs-Cq2AF2x-.js} +1 -1
- package/dist/interface/assets/{Menu-D82CRc95.js → Menu-CeDR7bvT.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-C6sk2XbU.js → OAuthDeviceFlow-BVOHNDTs.js} +1 -1
- package/dist/interface/assets/{Plugin-DY1-hTa-.js → Plugin-BB6k9AtE.js} +1 -1
- package/dist/interface/assets/{PluginConsole-D8K2fOf6.js → PluginConsole-Cbo8LA6t.js} +1 -1
- package/dist/interface/assets/{PluginSchema-JKttwvkD.js → PluginSchema-CCfTSjTD.js} +1 -1
- package/dist/interface/assets/{Plugins-5y2A-S9R.js → Plugins-DpTVWC5S.js} +2 -2
- package/dist/interface/assets/Recordings-B0_4e1tu.js +1 -0
- package/dist/interface/assets/{Settings-BQSZwEux.js → Settings-Wz10iv8b.js} +1 -1
- package/dist/interface/assets/{SettingsAccount-7HSGeh_G.js → SettingsAccount-BNSg5Wx5.js} +1 -1
- package/dist/interface/assets/SettingsAccount-DlGKfeGf.js +1 -0
- package/dist/interface/assets/SettingsAppearance-N4r7TCgr.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-DAtwb17b.js → SettingsAppearance-VHR3IVCx.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-Bj2pUzxN.js → SettingsBackup-DGhqvHHm.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-Bk40tvnT.js → SettingsNotifications-BHcRDJAp.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-BfbVsR6a.js → SettingsRecordings-CrMGLPfU.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-CPq1K5z8.js → SettingsRemote-B1m3_4lr.js} +1 -1
- package/dist/interface/assets/{SettingsSystem-C9qSkCyX.js → SettingsSystem-z5r89MJJ.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-BpwM-HIU.js → SettingsUsers-yReLqEQ1.js} +1 -1
- package/dist/interface/assets/{Terminal-BB9MM3FG.js → Terminal-BAiV8ZVj.js} +1 -1
- package/dist/interface/assets/{VariableInput-YR8KBCWL.js → VariableInput-Dw0KbkD9.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-BF2MDSW8.js → VariableSuggestions-D5_Zu_un.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-D2lhMYGG.js → VersionsHandler-BDWjtbp0.js} +1 -1
- package/dist/interface/assets/{Workers-Cn-kFp5K.js → Workers-DbnD_Bpy.js} +1 -1
- package/dist/interface/assets/api-C-NlYhuP.js +2 -0
- package/dist/interface/assets/{api-BSSGwZUW.js → api-D6SjwBWd.js} +1 -1
- package/dist/interface/assets/{auth-DuxuZzUv.js → auth-dyUBxkxf.js} +1 -1
- package/dist/interface/assets/{automations-D4BRxXp2.js → automations-BH3C3DOU.js} +1 -1
- package/dist/interface/assets/{automations-BjPRCiP3.js → automations-CrRSdJyJ.js} +1 -1
- package/dist/interface/assets/{backup-B01_Kkb-.js → backup-C2-2-LD2.js} +1 -1
- package/dist/interface/assets/{cameras-B4_XIEvq.js → cameras-Co3xGKAG.js} +1 -1
- package/dist/interface/assets/{cameras.schema-BJtNPf50.js → cameras.schema-y2YP50-k.js} +1 -1
- package/dist/interface/assets/cloudHandoff-C9HXr7Oq.js +1 -0
- package/dist/interface/assets/{deviceId-Csqx7wv1.js → deviceId-CiXrj9Di.js} +1 -1
- package/dist/interface/assets/{hasPermission-C2RWjXuT.js → hasPermission-DKTmzAJw.js} +1 -1
- package/dist/interface/assets/{instances-Etl_yihq.js → instances-BgFvZ06K.js} +1 -1
- package/dist/interface/assets/{locale-BslWmL0t.js → locale-CH0o3x5d.js} +1 -1
- package/dist/interface/assets/main-DZb_R3L7.js +3 -0
- package/dist/interface/assets/{notifications-SVoDimTP.js → notifications-DEU1TXne.js} +1 -1
- package/dist/interface/assets/{plugins-VMgnZZzG.js → plugins-Bj4_KCp7.js} +1 -1
- package/dist/interface/assets/{round-restart-alt-D3SOXMVf.js → round-restart-alt-BMdTt76H.js} +1 -1
- package/dist/interface/assets/{router-BqJLYjxq.js → router-CIvI3oge.js} +2 -2
- package/dist/interface/assets/{routerState-g4QLPAT2.js → routerState-cQknQxNw.js} +1 -1
- package/dist/interface/assets/{server-8uNYIjzr.js → server-DeMUCrCz.js} +1 -1
- package/dist/interface/assets/{shares-DsjePQGf.js → shares-B5r7Nr5g.js} +1 -1
- package/dist/interface/assets/{theme-DN8GOT_w.js → theme-kssRfqyJ.js} +1 -1
- package/dist/interface/assets/{types-B39ppbYi.js → types-BK05hngw.js} +1 -1
- package/dist/interface/assets/{ui-CEzY0rCW.js → ui-B2i8B4yr.js} +1 -1
- package/dist/interface/assets/{useBiometricCredentials-BWuRf0H0.js → useBiometricCredentials-I52MbNzM.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-DLmEgMil.js → useCameraOptions-uXN6hbSO.js} +1 -1
- package/dist/interface/assets/{useCuiCameraDrawer-PokkyjqH.js → useCuiCameraDrawer-BuIrXxOt.js} +1 -1
- package/dist/interface/assets/{useCuiDialog-BEerzsp3.js → useCuiDialog-C4xS4vrs.js} +1 -1
- package/dist/interface/assets/{useFileDownload-BzheFQ77.js → useFileDownload-C_Am2BRz.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-CeW070HG.js → useLogsSocket-PUFDb8MH.js} +1 -1
- package/dist/interface/assets/{useSharedComposables-B5-Uy9Br.js → useSharedComposables-Ca_A3w0h.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-BPixdI1Y.js → useStreamStatus-CIPBILoa.js} +1 -1
- package/dist/interface/assets/{users.schema-D443yTkQ.js → users.schema-DGYmUjqk.js} +1 -1
- package/dist/interface/assets/vendor-cameraui-BABuGvhg.js +1978 -0
- package/dist/interface/assets/{vendor-core-DSNqTlQH.js → vendor-core-C6lCucBy.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-CWF_imvX.js → vendor-primevue-CsC6U_Xu.js} +1 -1
- package/dist/interface/assets/{view-grid-BE5Jf7kM.js → view-grid-DM5fFhOq.js} +1 -1
- package/dist/interface/index.html +40 -40
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +3 -3
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/api/plugins/natsSubFirewall.d.ts +1 -0
- package/dist/server/src/api/plugins/natsSubFirewall.js +15 -1
- package/dist/server/src/api/plugins/natsSubFirewall.js.map +1 -1
- package/package.json +3 -3
- package/dist/interface/assets/CuiBottomSheet-3-36plJ0.js +0 -1
- package/dist/interface/assets/CuiCameraCard-DYkArUIE.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-qS2sljLl.js +0 -1
- package/dist/interface/assets/Recordings-Bdii8y2w.js +0 -1
- package/dist/interface/assets/SettingsAccount-pc1G5uya.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CDlFqm-u.js +0 -1
- package/dist/interface/assets/api-CPonLnGH.js +0 -2
- package/dist/interface/assets/cloudHandoff-DR4OiIia.js +0 -1
- package/dist/interface/assets/main-QYfiMUtP.js +0 -3
- package/dist/interface/assets/vendor-cameraui-D9I8uPRL.js +0 -1978
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,E as t,M as n,T as r,x as i}from"./api-
|
|
1
|
+
import{C as e,E as t,M as n,T as r,x as i}from"./api-C-NlYhuP.js";import{F as a,cr as o,er as s,z as c}from"./vendor-zxCOTbSj.js";async function l(e){let r=t().endpoint.value??window.location.origin;return(await n.get(`/tunnel/check`,{signal:e,baseURL:r})).data}async function u({parameter:e,signal:t}){return(await n.get(`/auth/sessions`,{params:e,signal:t})).data.result??[]}async function d({parameter:e,signal:t}){return(await n.get(`/auth/sessions/all`,{params:e,signal:t})).data.result??[]}async function f({id:e}){await n.delete(`/auth/sessions/${e}`)}async function p(){await n.delete(`/auth/sessions`)}async function m({loginInformation:e}){return(await n.post(`/auth/login`,e)).data}async function h({tempToken:e,code:t}){return(await n.post(`/auth/verify-2fa`,{tempToken:e,code:t})).data}async function g(e){return(await n.get(`/auth/2fa/status`,{signal:e})).data}async function _(){return(await n.post(`/auth/2fa/setup`)).data}async function v({code:e}){return(await n.post(`/auth/2fa/enable`,{code:e})).data}async function y({code:e}){await n.post(`/auth/2fa/disable`,{code:e})}async function b({code:e}){return(await n.post(`/auth/2fa/backup-codes`,{code:e})).data}async function x(){return(await n.post(`/auth/logout`)).data}async function S({refresh_token:e,signal:t}){return(await n.post(`/auth/refresh`,{refresh_token:e},{timeout:1e4,signal:t})).data}var C=class{_queryClient=c();t=r.global.t;toast=e();queryActivator=s([{name:`checkQuery`,enabled:!0},{name:`listSessionsQuery`,enabled:!0},{name:`listAllSessionsQuery`,enabled:!0},{name:`get2FAStatusQuery`,enabled:!0}]);get queryClient(){return this._queryClient}checkQuery(){return i({queryKey:[`auth`,`check`],queryFn:({signal:e})=>l(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkQuery`&&e.enabled)})}listSessionsQuery(e){return i({queryKey:[`auth`,`sessions`,e],queryFn:({signal:t})=>u({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listSessionsQuery`&&e.enabled)})}listAllSessionsQuery(e){return i({queryKey:[`auth`,`sessions`,`all`,e],queryFn:({signal:t})=>d({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listAllSessionsQuery`&&e.enabled)})}loginQuery(){return a({mutationFn:m,onError:()=>{}})}logoutQuery(){return a({mutationFn:x})}revokeSessionQuery(){return a({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.user_logged_out`),life:3e3})}})}revokeOtherSessionsQuery(){return a({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.active_sessions.revoke_others_success`),life:3e3})}})}refreshQuery(){return a({mutationFn:S})}verify2FAQuery(){return a({mutationFn:h,onError:()=>{}})}get2FAStatusQuery(){return i({queryKey:[`auth`,`2fa`,`status`],queryFn:({signal:e})=>g(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`get2FAStatusQuery`&&e.enabled)})}setup2FAQuery(){return a({mutationFn:_})}enable2FAQuery(){return a({mutationFn:v,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}disable2FAQuery(){return a({mutationFn:y,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}regenerateBackupCodesQuery(){return a({mutationFn:b})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{C as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{er as e}from"./vendor-zxCOTbSj.js";import{d as t}from"./vendor-core-
|
|
1
|
+
import{er as e}from"./vendor-zxCOTbSj.js";import{d as t}from"./vendor-core-C6lCucBy.js";var n=t(`automations`,()=>{let t=e(null),n=e(null),r=e(null),i=e(null);function a(e){if(!r.value)return;let t=r.value.edges,n=r.value.nodes,i=t.filter(t=>t.target===e).map(e=>e.source);return n.find(e=>i.includes(e.id))}return{activeFlowId:t,selectedNodeId:n,draft:r,lastOutput:i,getDraftSourceNode:a}});export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,M as t,T as n,x as r}from"./api-
|
|
1
|
+
import{C as e,M as t,T as n,x as r}from"./api-C-NlYhuP.js";import{F as i,cr as a,er as o,z as s}from"./vendor-zxCOTbSj.js";async function c({signal:e}){return(await t.get(`/automations`,{signal:e})).data}async function l({id:e,signal:n}){return(await t.get(`/automations/${e}`,{signal:n})).data}async function u({data:e}){return(await t.post(`/automations`,e)).data}async function d({id:e,data:n}){return(await t.patch(`/automations/${e}`,n)).data}async function f({id:e}){await t.delete(`/automations/${e}`)}async function p({id:e}){let{data:n}=await t.post(`/automations/${e}/trigger`);return n}async function m({blueprint:e}){return(await t.post(`/automations/import`,e)).data}async function h({signal:e}){return(await t.get(`/automations/plugin-methods`,{signal:e})).data}var g=class{_queryClient=s();t=n.global.t;toast=e();queryActivator=o([{name:`getAutomationsQuery`,enabled:!0},{name:`getAutomationQuery`,enabled:!0}]);getAutomationsQuery(){return r({queryKey:[`automationsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getAutomationsQuery`&&e.enabled)})}getAutomationQuery(e){return r({queryKey:[`automation`,e],queryFn:({signal:t})=>l({id:a(e),signal:t}),enabled:()=>!!a(e)&&a(e)!==`new`&&this.queryActivator.value.some(e=>e.name===`getAutomationQuery`&&e.enabled)})}createAutomationQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automation.saved`),life:3e3})}})}patchAutomationQuery(){return i({mutationFn:d,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}deleteAutomationQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}triggerAutomationQuery(){return i({mutationFn:p,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}getPluginMethodsQuery(){return r({queryKey:[`automationPluginMethods`],queryFn:({signal:e})=>h({signal:e})})}importBlueprintQuery(){return i({mutationFn:m,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automations.import_success`),life:3e3})}})}};export{g as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{M as e}from"./api-
|
|
1
|
+
import{M as e}from"./api-C-NlYhuP.js";async function t(t){return(await e.post(`/backup/download`,{localStorage:t},{responseType:`arraybuffer`})).data}async function n(t){return(await e.post(`/backup/restore`,t)).data}export{n,t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,M as t,T as n,x as r}from"./api-CPonLnGH.js";import{F as i,cr as a,er as o,z as s}from"./vendor-zxCOTbSj.js";async function c({cameraData:e}){return(await t.post(`/cameras`,e)).data}async function l({cameraData:e}){return(await t.post(`/cameras/pair`,e)).data}async function u({cameraData:e}){return(await t.post(`/cameras/preview`,e)).data}async function d({signal:e}){return(await t.get(`/cameras/rooms`,{signal:e})).data}async function f({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}`,{signal:n})).data}async function p({cameraname:e}){return(await t.delete(`/cameras/${e}/log`)).data}async function m({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/log/download`,{signal:n})).data}async function h({cameraname:e,sourcename:n,signal:r}){return(await t.get(`/cameras/${e}/info/${n}`,{signal:r})).data}async function g({cameraname:e,sourcename:n,probeConfig:r,force:i,signal:a}){return(await t.get(`/cameras/${e}/probe/${n}`,{params:{...r,...i?{refresh:!0}:{}},signal:a})).data}async function _({cameraname:e,forceNew:n,signal:r}){return(await t.get(`/cameras/${e}/snapshot`,{signal:r,params:{forceNew:n}})).data}async function v({parameter:e,signal:n}){return(await t.get(`/cameras`,{params:e,signal:n})).data}async function y({cameraname:e,cameraData:n}){return(await t.patch(`/cameras/${e}`,n)).data}async function b({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/extensions`,{signal:n})).data}async function x({cameraname:e,pluginname:n,signal:r}){return(await t.get(`/cameras/${e}/${n}/config`,{signal:r})).data}async function S({cameraname:e,pluginname:n,configData:r}){return(await t.patch(`/cameras/${e}/${n}/config`,r)).data}async function C({cameraname:e,pluginname:n,configData:r}){return(await t.put(`/cameras/${e}/${n}/config`,r)).data}async function w({cameraname:e,pluginname:n,configData:r}){return(await t.post(`/cameras/${e}/${n}/config`,r)).data}async function T({cameraname:e,pluginname:n,sensorId:r,signal:i}){return(await t.get(`/cameras/${e}/${n}/sensor/${r}/config`,{signal:i})).data}async function E({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.patch(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function D({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.put(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function O({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.post(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function k({cameraname:e,pluginname:n,type:r}){return(await t.put(`/cameras/${e}/${n}/enable`,null,{params:{type:r}})).data}async function A({cameraname:e,pluginname:n,type:r}){return(await t.put(`/cameras/${e}/${n}/disable`,null,{params:{type:r}})).data}async function j({cameraname:e,pluginname:n,type:r}){return(await t.post(`/cameras/${e}/${n}`,null,{params:{type:r}})).data}async function M({cameraname:e,pluginname:n,type:r}){return(await t.delete(`/cameras/${e}/${n}`,{params:{type:r}})).data}async function N({cameraname:e,pluginname:n}){return(await t.post(`/cameras/${e}/${n}/activate`)).data}async function P({cameraname:e,pluginname:n}){return(await t.delete(`/cameras/${e}/${n}/deactivate`)).data}async function F({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/zones`,{signal:n})).data}async function I({cameraname:e,zoneData:n}){return(await t.patch(`/cameras/${e}/zones`,n)).data}async function L({cameraname:e,lineData:n}){return(await t.patch(`/cameras/${e}/lines`,n)).data}async function R({cameraname:e}){return(await t.delete(`/cameras/${e}`)).data}async function z(){return(await t.delete(`/cameras`)).data}var B=class{_queryClient=s();t=n.global.t;toast=e();queryActivator=o([{name:`getCameraQuery`,enabled:!0},{name:`getCamerasQuery`,enabled:!0},{name:`getCameraSnapshotQuery`,enabled:!0},{name:`getCameraExtensionsQuery`,enabled:!0},{name:`getCameraExtensionConfigQuery`,enabled:!0},{name:`getZonesQuery`,enabled:!0},{name:`streamSourceInfoQuery`,enabled:!0},{name:`probeCameraSourceQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0},{name:`getSensorConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}createCameraQuery(){return i({mutationFn:c,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_added`),life:3e3})}})}pairCameraQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_added`),life:3e3})}})}previewCameraQuery(){return i({mutationFn:u})}getCameraQuery(e){return r({queryKey:[`cameras`,e],queryFn:({signal:t})=>f({cameraname:a(e),signal:t}),initialData:()=>{let t=a(e),n=this._queryClient.getQueriesData({queryKey:[`camerasList`]});for(let[,e]of n){let n=e?.result?.find(e=>e.name===t);if(n)return n}},initialDataUpdatedAt:0,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraQuery`&&e.enabled)})}getCameraExtensionsQuery(e){return r({queryKey:[`camerasExtensions`,e],queryFn:({signal:t})=>b({cameraname:a(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraExtensionsQuery`&&e.enabled)})}streamSourceInfoQuery(e,t){return r({queryKey:[`cameras`,e,`info`,t],queryFn:({signal:n})=>h({cameraname:a(e),sourcename:a(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`streamSourceInfoQuery`&&e.enabled)})}probeCameraSourceQuery(e,t,n){return r({queryKey:[`cameras`,e,`probe`,t],queryFn:({signal:r})=>g({cameraname:a(e),sourcename:a(t),probeConfig:a(n),signal:r}),enabled:()=>this.queryActivator.value.some(e=>e.name===`probeCameraSourceQuery`&&e.enabled)})}getCameraSnapshotQuery(e,t){return r({queryKey:[`camerasSnapshot`,e],queryFn:({signal:n})=>_({cameraname:a(e),forceNew:a(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSnapshotQuery`&&e.enabled),retry:!1})}getCamerasQuery(e){return r({queryKey:[`camerasList`,e],queryFn:({signal:t})=>v({parameter:a(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCamerasQuery`&&e.enabled)})}getRoomsQuery(){return r({queryKey:[`camerasRooms`],queryFn:({signal:e})=>d({signal:e})})}patchCameraQuery(){return i({mutationFn:y,onSuccess:async(e,t)=>{let n=t.cameraData.name&&t.cameraData.name!==t.cameraname,r=t.cameraData.room!==void 0;if(n){let e=t.cameraname;await this._queryClient.invalidateQueries({queryKey:[e]}),await this._queryClient.refetchQueries({queryKey:[`camerasList`]})}else await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),r&&(await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),await this._queryClient.refetchQueries({queryKey:[`camerasRooms`]}));this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_updated`),life:3e3})}})}getCameraExtensionConfigQuery(e,t,n){return r({queryKey:[`cameras`,`extensions`,e,t],queryFn:({signal:n})=>x({cameraname:a(e),pluginname:a(t),signal:n}),enabled:()=>!!a(t)&&this.queryActivator.value.some(e=>e.name===`getCameraExtensionConfigQuery`&&e.enabled),refetchInterval(){if(n.value)return 1e4},retry:10,retryDelay:500,staleTime:0})}patchCameraExtensionConfigQuery(){return i({mutationFn:S,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}setCameraExtensionConfigQuery(){return i({mutationFn:C,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}submitCameraExtensionConfigQuery(){return i({mutationFn:w,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getSensorConfigQuery(e,t,n,i){return r({queryKey:[`cameras`,`sensor`,e,t,n],queryFn:({signal:r})=>T({cameraname:a(e),pluginname:a(t),sensorId:a(n),signal:r}),enabled:()=>{let e=a(t),r=a(n);return!e||!r?!1:this.queryActivator.value.some(e=>e.name===`getSensorConfigQuery`&&e.enabled)},refetchInterval(){if(i.value)return 1e4},retry:3,retryDelay:500,staleTime:0})}patchSensorConfigQuery(){return i({mutationFn:E,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}setSensorConfigQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}submitSensorConfigQuery(){return i({mutationFn:O,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}enableCameraExtensionQuery(){return i({mutationFn:k,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}disableCameraExtensionQuery(){return i({mutationFn:A,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}addCameraExtensionQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}activateCameraExtensionQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}deactivateCameraExtensionQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getZonesQuery(e){return r({queryKey:[`cameras`,e,`zones`],queryFn:({signal:t})=>F({cameraname:a(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getZonesQuery`&&e.enabled)})}patchZonesQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.zone_updated`),life:3e3})}})}patchLinesQuery(){return i({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.line_updated`),life:3e3})}})}removeCameraExtensionQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}removeCameraQuery(){return i({mutationFn:R,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_removed`),life:3e3})}})}removeCamerasQuery(){return i({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.cameras_removed`),life:3e3})}})}downloadLogQuery(e){return r({queryKey:[`logs`,e],queryFn:({signal:t})=>m({cameraname:a(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:p,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{g as a,f as i,p as n,m as r,B as t};
|
|
1
|
+
import{C as e,M as t,T as n,x as r}from"./api-C-NlYhuP.js";import{F as i,cr as a,er as o,z as s}from"./vendor-zxCOTbSj.js";async function c({cameraData:e}){return(await t.post(`/cameras`,e)).data}async function l({cameraData:e}){return(await t.post(`/cameras/pair`,e)).data}async function u({cameraData:e}){return(await t.post(`/cameras/preview`,e)).data}async function d({signal:e}){return(await t.get(`/cameras/rooms`,{signal:e})).data}async function f({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}`,{signal:n})).data}async function p({cameraname:e}){return(await t.delete(`/cameras/${e}/log`)).data}async function m({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/log/download`,{signal:n})).data}async function h({cameraname:e,sourcename:n,signal:r}){return(await t.get(`/cameras/${e}/info/${n}`,{signal:r})).data}async function g({cameraname:e,sourcename:n,probeConfig:r,force:i,signal:a}){return(await t.get(`/cameras/${e}/probe/${n}`,{params:{...r,...i?{refresh:!0}:{}},signal:a})).data}async function _({cameraname:e,forceNew:n,signal:r}){return(await t.get(`/cameras/${e}/snapshot`,{signal:r,params:{forceNew:n}})).data}async function v({parameter:e,signal:n}){return(await t.get(`/cameras`,{params:e,signal:n})).data}async function y({cameraname:e,cameraData:n}){return(await t.patch(`/cameras/${e}`,n)).data}async function b({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/extensions`,{signal:n})).data}async function x({cameraname:e,pluginname:n,signal:r}){return(await t.get(`/cameras/${e}/${n}/config`,{signal:r})).data}async function S({cameraname:e,pluginname:n,configData:r}){return(await t.patch(`/cameras/${e}/${n}/config`,r)).data}async function C({cameraname:e,pluginname:n,configData:r}){return(await t.put(`/cameras/${e}/${n}/config`,r)).data}async function w({cameraname:e,pluginname:n,configData:r}){return(await t.post(`/cameras/${e}/${n}/config`,r)).data}async function T({cameraname:e,pluginname:n,sensorId:r,signal:i}){return(await t.get(`/cameras/${e}/${n}/sensor/${r}/config`,{signal:i})).data}async function E({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.patch(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function D({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.put(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function O({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.post(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function k({cameraname:e,pluginname:n,type:r}){return(await t.put(`/cameras/${e}/${n}/enable`,null,{params:{type:r}})).data}async function A({cameraname:e,pluginname:n,type:r}){return(await t.put(`/cameras/${e}/${n}/disable`,null,{params:{type:r}})).data}async function j({cameraname:e,pluginname:n,type:r}){return(await t.post(`/cameras/${e}/${n}`,null,{params:{type:r}})).data}async function M({cameraname:e,pluginname:n,type:r}){return(await t.delete(`/cameras/${e}/${n}`,{params:{type:r}})).data}async function N({cameraname:e,pluginname:n}){return(await t.post(`/cameras/${e}/${n}/activate`)).data}async function P({cameraname:e,pluginname:n}){return(await t.delete(`/cameras/${e}/${n}/deactivate`)).data}async function F({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/zones`,{signal:n})).data}async function I({cameraname:e,zoneData:n}){return(await t.patch(`/cameras/${e}/zones`,n)).data}async function L({cameraname:e,lineData:n}){return(await t.patch(`/cameras/${e}/lines`,n)).data}async function R({cameraname:e}){return(await t.delete(`/cameras/${e}`)).data}async function z(){return(await t.delete(`/cameras`)).data}var B=class{_queryClient=s();t=n.global.t;toast=e();queryActivator=o([{name:`getCameraQuery`,enabled:!0},{name:`getCamerasQuery`,enabled:!0},{name:`getCameraSnapshotQuery`,enabled:!0},{name:`getCameraExtensionsQuery`,enabled:!0},{name:`getCameraExtensionConfigQuery`,enabled:!0},{name:`getZonesQuery`,enabled:!0},{name:`streamSourceInfoQuery`,enabled:!0},{name:`probeCameraSourceQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0},{name:`getSensorConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}createCameraQuery(){return i({mutationFn:c,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_added`),life:3e3})}})}pairCameraQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_added`),life:3e3})}})}previewCameraQuery(){return i({mutationFn:u})}getCameraQuery(e){return r({queryKey:[`cameras`,e],queryFn:({signal:t})=>f({cameraname:a(e),signal:t}),initialData:()=>{let t=a(e),n=this._queryClient.getQueriesData({queryKey:[`camerasList`]});for(let[,e]of n){let n=e?.result?.find(e=>e.name===t);if(n)return n}},initialDataUpdatedAt:0,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraQuery`&&e.enabled)})}getCameraExtensionsQuery(e){return r({queryKey:[`camerasExtensions`,e],queryFn:({signal:t})=>b({cameraname:a(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraExtensionsQuery`&&e.enabled)})}streamSourceInfoQuery(e,t){return r({queryKey:[`cameras`,e,`info`,t],queryFn:({signal:n})=>h({cameraname:a(e),sourcename:a(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`streamSourceInfoQuery`&&e.enabled)})}probeCameraSourceQuery(e,t,n){return r({queryKey:[`cameras`,e,`probe`,t],queryFn:({signal:r})=>g({cameraname:a(e),sourcename:a(t),probeConfig:a(n),signal:r}),enabled:()=>this.queryActivator.value.some(e=>e.name===`probeCameraSourceQuery`&&e.enabled)})}getCameraSnapshotQuery(e,t){return r({queryKey:[`camerasSnapshot`,e],queryFn:({signal:n})=>_({cameraname:a(e),forceNew:a(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSnapshotQuery`&&e.enabled),retry:!1})}getCamerasQuery(e){return r({queryKey:[`camerasList`,e],queryFn:({signal:t})=>v({parameter:a(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCamerasQuery`&&e.enabled)})}getRoomsQuery(){return r({queryKey:[`camerasRooms`],queryFn:({signal:e})=>d({signal:e})})}patchCameraQuery(){return i({mutationFn:y,onSuccess:async(e,t)=>{let n=t.cameraData.name&&t.cameraData.name!==t.cameraname,r=t.cameraData.room!==void 0;if(n){let e=t.cameraname;await this._queryClient.invalidateQueries({queryKey:[e]}),await this._queryClient.refetchQueries({queryKey:[`camerasList`]})}else await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),r&&(await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),await this._queryClient.refetchQueries({queryKey:[`camerasRooms`]}));this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_updated`),life:3e3})}})}getCameraExtensionConfigQuery(e,t,n){return r({queryKey:[`cameras`,`extensions`,e,t],queryFn:({signal:n})=>x({cameraname:a(e),pluginname:a(t),signal:n}),enabled:()=>!!a(t)&&this.queryActivator.value.some(e=>e.name===`getCameraExtensionConfigQuery`&&e.enabled),refetchInterval(){if(n.value)return 1e4},retry:10,retryDelay:500,staleTime:0})}patchCameraExtensionConfigQuery(){return i({mutationFn:S,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}setCameraExtensionConfigQuery(){return i({mutationFn:C,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}submitCameraExtensionConfigQuery(){return i({mutationFn:w,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getSensorConfigQuery(e,t,n,i){return r({queryKey:[`cameras`,`sensor`,e,t,n],queryFn:({signal:r})=>T({cameraname:a(e),pluginname:a(t),sensorId:a(n),signal:r}),enabled:()=>{let e=a(t),r=a(n);return!e||!r?!1:this.queryActivator.value.some(e=>e.name===`getSensorConfigQuery`&&e.enabled)},refetchInterval(){if(i.value)return 1e4},retry:3,retryDelay:500,staleTime:0})}patchSensorConfigQuery(){return i({mutationFn:E,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}setSensorConfigQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}submitSensorConfigQuery(){return i({mutationFn:O,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}enableCameraExtensionQuery(){return i({mutationFn:k,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}disableCameraExtensionQuery(){return i({mutationFn:A,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}addCameraExtensionQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}activateCameraExtensionQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}deactivateCameraExtensionQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getZonesQuery(e){return r({queryKey:[`cameras`,e,`zones`],queryFn:({signal:t})=>F({cameraname:a(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getZonesQuery`&&e.enabled)})}patchZonesQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.zone_updated`),life:3e3})}})}patchLinesQuery(){return i({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.line_updated`),life:3e3})}})}removeCameraExtensionQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}removeCameraQuery(){return i({mutationFn:R,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_removed`),life:3e3})}})}removeCamerasQuery(){return i({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.cameras_removed`),life:3e3})}})}downloadLogQuery(e){return r({queryKey:[`logs`,e],queryFn:({signal:t})=>m({cameraname:a(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:p,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{g as a,f as i,p as n,m as r,B as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{tt as e}from"./vendor-cameraui-
|
|
1
|
+
import{tt as e}from"./vendor-cameraui-BABuGvhg.js";import{Tn as t,Yn as n,Zt as r,an as i,cr as a,en as o,er as s,fr as c,sn as l}from"./vendor-zxCOTbSj.js";import{C as u,S as d,w as f}from"./vendor-zod-V2qTUMVc.js";import{$ as p,J as m,Q as h,X as g,Y as _,Z as v}from"./types-BK05hngw.js";var y={class:`flex flex-col gap-2 w-full`},b={for:`roomName`,class:`cui-label`},x=l({__name:`CreateRoom`,setup(l,{expose:u}){let d=s(``);return u({onConfirm:async()=>d.value.trim()||null}),(s,l)=>{let u=e;return t(),o(`div`,y,[r(`label`,b,c(s.$t(`components.form.label.name`)),1),i(u,{id:`roomName`,modelValue:a(d),"onUpdate:modelValue":l[0]||=e=>n(d)?d.value=e:null,class:`w-full`,placeholder:s.$t(`components.form.hint.room_select`),autofocus:``},null,8,[`modelValue`,`placeholder`])])}}}),S=u({protocol:v,url:f().trim().min(1,`Camera Source is required`).array().nonempty(`Camera Source is required`)}).strict(),C=u({name:f().trim().min(1,`Camera Source Name is required`),urls:S.array(),role:h,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),childSourceId:f().trim().optional()}).strict(),w=u({...m.shape,sources:C.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]})}).strict(),T=p,E=g,D=_;export{x as a,T as i,E as n,w as r,D as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as e}from"./api-C-NlYhuP.js";export{e as bounceToCloudFrontend};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./api-
|
|
1
|
+
import"./api-C-NlYhuP.js";import"./vendor-zxCOTbSj.js";var e=`cameraui:web-push-id`;function t(){if(typeof crypto<`u`&&typeof crypto.randomUUID==`function`)return crypto.randomUUID();if(typeof window<`u`&&window.crypto!==void 0&&typeof window.crypto.randomUUID==`function`)return window.crypto.randomUUID();let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function n(){let n=localStorage.getItem(e);return n||(n=t(),localStorage.setItem(e,n)),n}export{n,t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as e}from"./api-
|
|
1
|
+
import{f as e}from"./api-C-NlYhuP.js";import{c as t,f as n}from"./vendor-core-C6lCucBy.js";var r={user:0,admin:1,master:2};function i(e,t){return(r[e]??0)>=(r[t]??0)}function a(r,a,o){let{user:s}=n(e()),c=s.value?.role??`user`;if(a&&!r)return o?c===a:i(c,a);r??=t();let l=!r?.meta?.auth||r?.meta?.auth.requiresAuth===!1,u=a??r.meta?.auth?.role??`user`;return l||u===`none`?!0:o?c===u:i(c,u)}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{At as e,F as t,Oi as n,Ri as r,U as i}from"./vendor-cameraui-D9I8uPRL.js";import{C as a,F as o,M as s,N as c,O as l,T as u,f as d,x as f}from"./api-CPonLnGH.js";import{$n as p,F as m,I as h,Tn as g,Xn as _,Xt as v,Zt as y,en as b,er as x,sr as S,z as C}from"./vendor-zxCOTbSj.js";import{d as w,l as T}from"./vendor-core-DSNqTlQH.js";import{t as E}from"./hasPermission-C2RWjXuT.js";import{t as ee}from"./useCuiDialog-BEerzsp3.js";var D={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function O(e,t){return g(),b(`svg`,D,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M20.916 9.564a1 1 0 0 0-.513-1.316L7.328 2.492c-.995-.438-2.22.051-2.645 1.042l-2.21 5.154a2 2 0 0 0 1.052 2.624L9.563 13.9L8.323 17H4v-3H2v8h2v-3h4.323c.823 0 1.552-.494 1.856-1.258l1.222-3.054l5.205 2.23a1 1 0 0 0 1.31-.517l.312-.71l1.701.68l2-5l-1.536-.613zm-4.434 5.126L4.313 9.475l2.208-5.152l12.162 5.354z`},null,-1)]])}var k=_({name:`bx-cctv`,render:O}),A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return g(),b(`svg`,A,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M20 3H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-5 5h-2V6h2zm4 0h-2V6h2zm1 5H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2m-5 5h-2v-2h2zm4 0h-2v-2h2z`},null,-1)]])}var M=_({name:`bxs-server`,render:j});async function N(e){return(await s.get(`/instances`,{signal:e})).data}async function P(e){return(await s.post(`/instances`,e)).data}async function F({id:e,data:t}){return(await s.put(`/instances/${e}`,t)).data}async function I(e){await s.delete(`/instances/${e}`)}async function L(e){return(await s.patch(`/instances/${e}/favorite`)).data}async function R(e){return(await s.post(`/instances/${e}/login`)).data}async function z(e,t){return(await s.get(`/instances/${e}/status`,{signal:t})).data}var B=class{_queryClient=C();toast=a();t=u.global.t;listQuery(){return f({queryKey:[`instances`],queryFn:({signal:e})=>N(e)})}statusQueries(e){return h({queries:v(()=>S(e).map(e=>({queryKey:[`instances`,e.id,`status`],queryFn:({signal:t})=>z(e.id,t),refetchInterval:15e3,retry:!1})))})}createMutation(){return m({mutationFn:P,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.added`),life:3e3})}})}updateMutation(){return m({mutationFn:F,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.updated`),life:3e3})}})}deleteMutation(){return m({mutationFn:async e=>{await I(e),await this._queryClient.cancelQueries({queryKey:[`instances`,e,`status`]}),this._queryClient.removeQueries({queryKey:[`instances`,e,`status`]})},onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.removed`),life:3e3})}})}toggleFavoriteMutation(){return m({mutationFn:L,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]})}})}loginMutation(){return m({mutationFn:R,onError:()=>{}})}},V=3e4,H=5e3,U=`__home__`,W=new Set([`localhost`,`127.0.0.1`,`::1`]),G=l(`Instances`);async function K(e,t){try{let n=AbortSignal.timeout(H),r=t?AbortSignal.any([n,t]):n,i=await fetch(`${e}/api/health`,{signal:r});return G.debug(`[probe]`,`${e} → ${i.ok?`OK`:`HTTP ${i.status}`}`),i.ok}catch(t){let n=t instanceof Error?t.message:String(t);return G.debug(`[probe]`,`${e} → FAIL`,n),!1}}function q(e){return{access:e.access_token,accessExpiresAt:e.access_token_expires_at,refresh:e.refresh_token,refreshExpiresAt:e.refresh_token_expires_at}}function te(e,t){return{_id:t?._id??``,username:t?.username??``,email:t?.email,role:t?.role??``,firstLogin:t?.firstLogin,avatar:t?.avatar,access_token:e.access,refresh_token:e.refresh??``,token_type:`Bearer`,access_token_expires_at:e.accessExpiresAt??0,refresh_token_expires_at:e.refreshExpiresAt??0,internalAddresses:[],externalAddresses:[]}}var J=w(`instances`,()=>{let s=d(),l=T(),f=a(),m=ee(),h=C(),{t:g}=u.global,_=n(`instanceTokens`,{}),y=n(`activeInstanceId`,null),b=x(!1),S=x(null),w=x(0),D=0,O=x(null),k=x([]),A=r(`redirectInfo`,null,{serializer:{read:e=>e?JSON.parse(e):null,write:e=>JSON.stringify(e)}}),j=v(()=>y.value===null),M=v(()=>y.value===null?null:k.value.find(e=>e.id===y.value)?.url??null);async function z(){try{if(!E(void 0,`admin`))return;let e=await N();k.value=e.instances,O.value=e.homeId,G.debug(`[fetch]`,`loaded ${e.instances.length} instances`,{homeId:e.homeId})}catch(e){G.warn(`[fetch]`,`failed`,e)}}let B=v(()=>{let e=O.value;return k.value.filter(t=>!(e&&t.remoteHomeId&&t.remoteHomeId===e)).map(e=>{let t=_.value[e.id];return{id:e.id,name:e.name,url:e.url,hasCredentials:!!e.credentials,favorite:e.favorite??!0,userData:t?.userData??null,lastConnectedAt:t?.lastConnectedAt??null,isHome:!1}})});function H(){let e=_.value[U],t=y.value===null?c().target.value?.endpoint.url??e?.url??window.location.origin:e?.url??window.location.origin;return{id:`home`,name:g(`navigation.home`),url:t,hasCredentials:!1,favorite:!1,userData:e?.userData??null,lastConnectedAt:e?.lastConnectedAt??null,isHome:!0}}let J=v(()=>{if(y.value!==null){let e=B.value.find(e=>e.id===y.value);if(e)return e}return H()}),Y=v(()=>B.value.filter(e=>e.favorite)),X=v(()=>Y.value.length>0||y.value!==null||A.value!==null);function Z(e){return k.value.find(t=>t.id===e)?.favorite??!0}async function ne(e){let{favorite:t}=await L(e),n=k.value.find(t=>t.id===e);n&&(n.favorite=t)}async function re(e){let t=await P(e);return k.value=[...k.value,t],t}async function ie(e){await I(e),k.value=k.value.filter(t=>t.id!==e),delete _.value[e]}async function ae(e,t){let n=await F({id:e,data:t}),r=k.value.findIndex(t=>t.id===e);r!==-1&&(k.value[r]=n)}async function oe(e,t){let n=k.value.find(t=>t.id===e);return n?K(n.url,t):!1}function Q(){let e=c().target.value;if(!e?.tokens.access){G.debug(`[save-tokens]`,`skipped — no live access token`);return}let t=y.value??U;_.value[t]={userData:te(e.tokens,s.user??void 0),lastConnectedAt:Date.now(),url:e.endpoint.url},G.debug(`[save-tokens]`,`slot=${t} url=${e.endpoint.url}`)}function se(){if(y.value===null){o.value=null,G.debug(`[restore-override]`,`no active instance — home target`);return}let e=_.value[y.value],t=e?.url??e?.userData?.internalAddresses?.[0]??e?.userData?.externalAddresses?.[0]??null;o.value=t,G.debug(`[restore-override]`,`activeId=${y.value} → ${t??`no cached url`}`)}async function ce(n){if(b.value){G.warn(`[switch]`,`ignored — another switch is already in progress`);return}let r=n===null?H():B.value.find(e=>e.id===n)??H();if(n!==null&&$(r.url)&&!await ue(r.name)){G.debug(`[switch]`,`URL handoff declined by user`);return}let a=++D;b.value=!0,S.value=r.name,G.debug(`[switch]`,`START targetId=${n??`home`} gen=${a}`),G.debug(`[switch]`,`target resolved — name="${r.name}" url=${r.url} hasCreds=${r.hasCredentials}`);try{if(n!==null){let e=await K(r.url);if(a!==D){G.debug(`[switch]`,`aborted after probe — newer gen=${D}`);return}if(!e){G.warn(`[switch]`,`target unreachable — ${r.url}`),f.add({severity:`warn`,detail:g(`instances.unreachable`,{name:r.name}),life:3e3});return}}let u=null;if(n!==null&&r.hasCredentials)try{u=await R(n),G.debug(`[switch]`,`backend relay login OK`)}catch(e){G.warn(`[switch]`,`backend relay login FAILED — will try cached tokens`,e)}if(a!==D){G.debug(`[switch]`,`aborted after relay-login — newer gen=${D}`);return}Q();let d=n??U,p=u?q(u):le(d);if(G.debug(`[switch]`,`tokens source: ${u?`fresh`:p?`cached`:`none`} (slot=${d})`),n!==null&&$(r.url)){G.debug(`[switch]`,`URL handoff required — leaving SPA`),await de(r,u);return}let m=c();if(m.reset(),G.debug(`[switch]`,`kernel RESET`),e(),i(),t(),h.clear(),G.debug(`[switch]`,`vue-query cleared`),y.value=n,o.value=n===null?null:r.url,G.debug(`[switch]`,`activeId=${n} instanceOverride=${o.value??`null`}`),p&&u&&(_.value[d]={userData:u,lastConnectedAt:Date.now(),url:r.url},s.user={_id:u._id,username:u.username,role:u.role,firstLogin:u.firstLogin,avatar:u.avatar}),p){let e={url:r.url,mode:`direct-lan`,priority:0};G.debug(`[switch]`,`seedAndRetry → ${e.url}`),await Promise.race([m.seedAndRetry({endpoint:e,tokens:p},n??`home`),new Promise((e,t)=>setTimeout(()=>t(Error(`switch_timeout`)),V))])}else{G.warn(`[switch]`,`no tokens — boot + route to login`),m.boot(n??`home`),s.user=null,l.push(`/`);return}if(a!==D){G.debug(`[switch]`,`aborted after seedAndRetry — newer gen=${D}`);return}w.value++,G.debug(`[switch]`,`DONE gen=${a} → /home`),l.push(`/home`)}catch(e){(e instanceof Error?e.message:String(e))===`switch_timeout`?(G.error(`[switch]`,`TIMEOUT after ${V}ms`),f.add({severity:`error`,detail:g(`instances.switch_timeout`,{name:S.value??``}),life:3e3})):(G.error(`[switch]`,`failed`,e),f.add({severity:`error`,detail:e,life:3e3}))}finally{a===D&&(b.value=!1,S.value=null)}}function le(e){let t=_.value[e];return t?.userData?.access_token?q(t.userData):null}function $(e){try{let t=new URL(e),n=new URL(window.location.origin),r=n.protocol===`https:`&&t.protocol===`http:`,i=W.has(t.hostname)&&!W.has(n.hostname);return r||i}catch{return!1}}function ue(e){return G.warn(`[switch]`,`target "${e}" requires URL handoff — asking user confirmation`),new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))};m.openTextDialog({data:{title:g(`instances.insecure_handoff_title`),confirmText:g(`instances.insecure_handoff_confirm`),contentText:g(`instances.insecure_handoff_message`,{name:e}),confirmButtonProps:{severity:`danger`}},onConfirm:()=>r(!0),onCancel:()=>r(!1)})})}async function de(e,t){let n={_reset:!0,_sourceUrl:window.location.origin,_instanceName:e.name};t&&Object.assign(n,t);let r=encodeURIComponent(btoa(JSON.stringify(n))),i=`${e.url.split(`#`)[0]}#auth=${r}`;G.debug(`[url-handoff]`,`→ ${e.url} (with token=${t?`yes`:`no`})`),window.location.href=i}function fe(){_.value={},y.value=null,o.value=null,A.value=null,k.value=[],O.value=null,G.debug(`[reset]`,`store cleared`)}return{instances:B,activeInstance:J,activeId:y,activeUrl:M,isHomeActive:j,isMultiInstance:X,isSwitching:p(b),switchTargetName:p(S),switchKey:p(w),serverHomeId:O,redirectInfo:A,serverInstances:k,instanceTokens:_,favoriteInstances:Y,isFavorite:Z,toggleFavorite:ne,fetchInstances:z,addInstance:re,removeInstance:ie,updateInstance:ae,switchInstance:ce,probeInstance:oe,reset:fe,saveCurrentTokens:Q,restoreActiveOverride:se}});export{k as i,B as n,M as r,J as t};
|
|
1
|
+
import{At as e,G as t,I as n,Oi as r,Ri as i}from"./vendor-cameraui-BABuGvhg.js";import{C as a,F as o,M as s,N as c,O as l,T as u,f as d,x as f}from"./api-C-NlYhuP.js";import{$n as p,F as m,I as h,Tn as g,Xn as _,Xt as v,Zt as y,en as b,er as x,sr as S,z as C}from"./vendor-zxCOTbSj.js";import{d as w,l as T}from"./vendor-core-C6lCucBy.js";import{t as E}from"./hasPermission-DKTmzAJw.js";import{t as ee}from"./useCuiDialog-C4xS4vrs.js";var D={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function O(e,t){return g(),b(`svg`,D,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M20.916 9.564a1 1 0 0 0-.513-1.316L7.328 2.492c-.995-.438-2.22.051-2.645 1.042l-2.21 5.154a2 2 0 0 0 1.052 2.624L9.563 13.9L8.323 17H4v-3H2v8h2v-3h4.323c.823 0 1.552-.494 1.856-1.258l1.222-3.054l5.205 2.23a1 1 0 0 0 1.31-.517l.312-.71l1.701.68l2-5l-1.536-.613zm-4.434 5.126L4.313 9.475l2.208-5.152l12.162 5.354z`},null,-1)]])}var k=_({name:`bx-cctv`,render:O}),A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return g(),b(`svg`,A,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M20 3H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-5 5h-2V6h2zm4 0h-2V6h2zm1 5H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2m-5 5h-2v-2h2zm4 0h-2v-2h2z`},null,-1)]])}var M=_({name:`bxs-server`,render:j});async function N(e){return(await s.get(`/instances`,{signal:e})).data}async function P(e){return(await s.post(`/instances`,e)).data}async function F({id:e,data:t}){return(await s.put(`/instances/${e}`,t)).data}async function I(e){await s.delete(`/instances/${e}`)}async function L(e){return(await s.patch(`/instances/${e}/favorite`)).data}async function R(e){return(await s.post(`/instances/${e}/login`)).data}async function z(e,t){return(await s.get(`/instances/${e}/status`,{signal:t})).data}var B=class{_queryClient=C();toast=a();t=u.global.t;listQuery(){return f({queryKey:[`instances`],queryFn:({signal:e})=>N(e)})}statusQueries(e){return h({queries:v(()=>S(e).map(e=>({queryKey:[`instances`,e.id,`status`],queryFn:({signal:t})=>z(e.id,t),refetchInterval:15e3,retry:!1})))})}createMutation(){return m({mutationFn:P,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.added`),life:3e3})}})}updateMutation(){return m({mutationFn:F,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.updated`),life:3e3})}})}deleteMutation(){return m({mutationFn:async e=>{await I(e),await this._queryClient.cancelQueries({queryKey:[`instances`,e,`status`]}),this._queryClient.removeQueries({queryKey:[`instances`,e,`status`]})},onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.removed`),life:3e3})}})}toggleFavoriteMutation(){return m({mutationFn:L,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]})}})}loginMutation(){return m({mutationFn:R,onError:()=>{}})}},V=3e4,H=5e3,U=`__home__`,W=new Set([`localhost`,`127.0.0.1`,`::1`]),G=l(`Instances`);async function K(e,t){try{let n=AbortSignal.timeout(H),r=t?AbortSignal.any([n,t]):n,i=await fetch(`${e}/api/health`,{signal:r});return G.debug(`[probe]`,`${e} → ${i.ok?`OK`:`HTTP ${i.status}`}`),i.ok}catch(t){let n=t instanceof Error?t.message:String(t);return G.debug(`[probe]`,`${e} → FAIL`,n),!1}}function q(e){return{access:e.access_token,accessExpiresAt:e.access_token_expires_at,refresh:e.refresh_token,refreshExpiresAt:e.refresh_token_expires_at}}function te(e,t){return{_id:t?._id??``,username:t?.username??``,email:t?.email,role:t?.role??``,firstLogin:t?.firstLogin,avatar:t?.avatar,access_token:e.access,refresh_token:e.refresh??``,token_type:`Bearer`,access_token_expires_at:e.accessExpiresAt??0,refresh_token_expires_at:e.refreshExpiresAt??0,internalAddresses:[],externalAddresses:[]}}var J=w(`instances`,()=>{let s=d(),l=T(),f=a(),m=ee(),h=C(),{t:g}=u.global,_=r(`instanceTokens`,{}),y=r(`activeInstanceId`,null),b=x(!1),S=x(null),w=x(0),D=0,O=x(null),k=x([]),A=i(`redirectInfo`,null,{serializer:{read:e=>e?JSON.parse(e):null,write:e=>JSON.stringify(e)}}),j=v(()=>y.value===null),M=v(()=>y.value===null?null:k.value.find(e=>e.id===y.value)?.url??null);async function z(){try{if(!E(void 0,`admin`))return;let e=await N();k.value=e.instances,O.value=e.homeId,G.debug(`[fetch]`,`loaded ${e.instances.length} instances`,{homeId:e.homeId})}catch(e){G.warn(`[fetch]`,`failed`,e)}}let B=v(()=>{let e=O.value;return k.value.filter(t=>!(e&&t.remoteHomeId&&t.remoteHomeId===e)).map(e=>{let t=_.value[e.id];return{id:e.id,name:e.name,url:e.url,hasCredentials:!!e.credentials,favorite:e.favorite??!0,userData:t?.userData??null,lastConnectedAt:t?.lastConnectedAt??null,isHome:!1}})});function H(){let e=_.value[U],t=y.value===null?c().target.value?.endpoint.url??e?.url??window.location.origin:e?.url??window.location.origin;return{id:`home`,name:g(`navigation.home`),url:t,hasCredentials:!1,favorite:!1,userData:e?.userData??null,lastConnectedAt:e?.lastConnectedAt??null,isHome:!0}}let J=v(()=>{if(y.value!==null){let e=B.value.find(e=>e.id===y.value);if(e)return e}return H()}),Y=v(()=>B.value.filter(e=>e.favorite)),X=v(()=>Y.value.length>0||y.value!==null||A.value!==null);function Z(e){return k.value.find(t=>t.id===e)?.favorite??!0}async function ne(e){let{favorite:t}=await L(e),n=k.value.find(t=>t.id===e);n&&(n.favorite=t)}async function re(e){let t=await P(e);return k.value=[...k.value,t],t}async function ie(e){await I(e),k.value=k.value.filter(t=>t.id!==e),delete _.value[e]}async function ae(e,t){let n=await F({id:e,data:t}),r=k.value.findIndex(t=>t.id===e);r!==-1&&(k.value[r]=n)}async function oe(e,t){let n=k.value.find(t=>t.id===e);return n?K(n.url,t):!1}function Q(){let e=c().target.value;if(!e?.tokens.access){G.debug(`[save-tokens]`,`skipped — no live access token`);return}let t=y.value??U;_.value[t]={userData:te(e.tokens,s.user??void 0),lastConnectedAt:Date.now(),url:e.endpoint.url},G.debug(`[save-tokens]`,`slot=${t} url=${e.endpoint.url}`)}function se(){if(y.value===null){o.value=null,G.debug(`[restore-override]`,`no active instance — home target`);return}let e=_.value[y.value],t=e?.url??e?.userData?.internalAddresses?.[0]??e?.userData?.externalAddresses?.[0]??null;o.value=t,G.debug(`[restore-override]`,`activeId=${y.value} → ${t??`no cached url`}`)}async function ce(r){if(b.value){G.warn(`[switch]`,`ignored — another switch is already in progress`);return}let i=r===null?H():B.value.find(e=>e.id===r)??H();if(r!==null&&$(i.url)&&!await ue(i.name)){G.debug(`[switch]`,`URL handoff declined by user`);return}let a=++D;b.value=!0,S.value=i.name,G.debug(`[switch]`,`START targetId=${r??`home`} gen=${a}`),G.debug(`[switch]`,`target resolved — name="${i.name}" url=${i.url} hasCreds=${i.hasCredentials}`);try{if(r!==null){let e=await K(i.url);if(a!==D){G.debug(`[switch]`,`aborted after probe — newer gen=${D}`);return}if(!e){G.warn(`[switch]`,`target unreachable — ${i.url}`),f.add({severity:`warn`,detail:g(`instances.unreachable`,{name:i.name}),life:3e3});return}}let u=null;if(r!==null&&i.hasCredentials)try{u=await R(r),G.debug(`[switch]`,`backend relay login OK`)}catch(e){G.warn(`[switch]`,`backend relay login FAILED — will try cached tokens`,e)}if(a!==D){G.debug(`[switch]`,`aborted after relay-login — newer gen=${D}`);return}Q();let d=r??U,p=u?q(u):le(d);if(G.debug(`[switch]`,`tokens source: ${u?`fresh`:p?`cached`:`none`} (slot=${d})`),r!==null&&$(i.url)){G.debug(`[switch]`,`URL handoff required — leaving SPA`),await de(i,u);return}let m=c();if(m.reset(),G.debug(`[switch]`,`kernel RESET`),e(),t(),n(),h.clear(),G.debug(`[switch]`,`vue-query cleared`),y.value=r,o.value=r===null?null:i.url,G.debug(`[switch]`,`activeId=${r} instanceOverride=${o.value??`null`}`),p&&u&&(_.value[d]={userData:u,lastConnectedAt:Date.now(),url:i.url},s.user={_id:u._id,username:u.username,role:u.role,firstLogin:u.firstLogin,avatar:u.avatar}),p){let e={url:i.url,mode:`direct-lan`,priority:0};G.debug(`[switch]`,`seedAndRetry → ${e.url}`),await Promise.race([m.seedAndRetry({endpoint:e,tokens:p},r??`home`),new Promise((e,t)=>setTimeout(()=>t(Error(`switch_timeout`)),V))])}else{G.warn(`[switch]`,`no tokens — boot + route to login`),m.boot(r??`home`),s.user=null,l.push(`/`);return}if(a!==D){G.debug(`[switch]`,`aborted after seedAndRetry — newer gen=${D}`);return}w.value++,G.debug(`[switch]`,`DONE gen=${a} → /home`),l.push(`/home`)}catch(e){(e instanceof Error?e.message:String(e))===`switch_timeout`?(G.error(`[switch]`,`TIMEOUT after ${V}ms`),f.add({severity:`error`,detail:g(`instances.switch_timeout`,{name:S.value??``}),life:3e3})):(G.error(`[switch]`,`failed`,e),f.add({severity:`error`,detail:e,life:3e3}))}finally{a===D&&(b.value=!1,S.value=null)}}function le(e){let t=_.value[e];return t?.userData?.access_token?q(t.userData):null}function $(e){try{let t=new URL(e),n=new URL(window.location.origin),r=n.protocol===`https:`&&t.protocol===`http:`,i=W.has(t.hostname)&&!W.has(n.hostname);return r||i}catch{return!1}}function ue(e){return G.warn(`[switch]`,`target "${e}" requires URL handoff — asking user confirmation`),new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))};m.openTextDialog({data:{title:g(`instances.insecure_handoff_title`),confirmText:g(`instances.insecure_handoff_confirm`),contentText:g(`instances.insecure_handoff_message`,{name:e}),confirmButtonProps:{severity:`danger`}},onConfirm:()=>r(!0),onCancel:()=>r(!1)})})}async function de(e,t){let n={_reset:!0,_sourceUrl:window.location.origin,_instanceName:e.name};t&&Object.assign(n,t);let r=encodeURIComponent(btoa(JSON.stringify(n))),i=`${e.url.split(`#`)[0]}#auth=${r}`;G.debug(`[url-handoff]`,`→ ${e.url} (with token=${t?`yes`:`no`})`),window.location.href=i}function fe(){_.value={},y.value=null,o.value=null,A.value=null,k.value=[],O.value=null,G.debug(`[reset]`,`store cleared`)}return{instances:B,activeInstance:J,activeId:y,activeUrl:M,isHomeActive:j,isMultiInstance:X,isSwitching:p(b),switchTargetName:p(S),switchKey:p(w),serverHomeId:O,redirectInfo:A,serverInstances:k,instanceTokens:_,favoriteInstances:Y,isFavorite:Z,toggleFavorite:ne,fetchInstances:z,addInstance:re,removeInstance:ie,updateInstance:ae,switchInstance:ce,probeInstance:oe,reset:fe,saveCurrentTokens:Q,restoreActiveOverride:se}});export{k as i,B as n,M as r,J as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Oi as e}from"./vendor-cameraui-
|
|
1
|
+
import{Oi as e}from"./vendor-cameraui-BABuGvhg.js";import{T as t,w as n}from"./api-C-NlYhuP.js";import{_ as r,er as i,v as a,zn as o}from"./vendor-zxCOTbSj.js";import{d as s}from"./vendor-core-C6lCucBy.js";import{t as c}from"./useElectron-mh8HQUAI.js";import{b as l}from"./vendor-primevue-CsC6U_Xu.js";var u={de:a,en:r},d=s(`locale`,()=>{let r=e(`locale`,`en`),a=i(n),s=l(),{electron:d}=c(),f=t.global;function p(e){d?.send(`change-language`,e),f.locale.value=e}async function m(e){let t=u[e];t&&(s.config.locale=t)}return o(r,e=>{p(e),m(e)}),p(r.value),m(r.value),{languages:a,locale:r,setI18Nlocale:p,setPrimeVueLocale:m}});export{d as t};
|