@camera.ui/server 0.0.113 → 0.0.117

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.
Files changed (242) hide show
  1. package/dist/interface/assets/{404-CZtDF9in.js → 404-Boj4Vl-R.js} +1 -1
  2. package/dist/interface/assets/{About-BzuuHdW1.js → About-C555n8hm.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-uj7eTmlN.js → Adminpanel-CzhTcMyI.js} +1 -1
  4. package/dist/interface/assets/Automation-c-WoDz5p.js +2 -0
  5. package/dist/interface/assets/{AutomationImport-CR4Vsxkb.js → AutomationImport-TTsCdeBi.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-BcMX7WbG.js → AutomationStore-Dfv66tKr.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-D6Ugj8ba.js → AutomationStoreDetail-D6Kxd8qb.js} +2 -2
  8. package/dist/interface/assets/{Automations-DBACrYHy.js → Automations-B-Vx8ES0.js} +2 -2
  9. package/dist/interface/assets/{Camera-Cf4QZbsx.js → Camera-D9lOlctO.js} +2 -2
  10. package/dist/interface/assets/{CameraConsole-uD4aWou8.js → CameraConsole-D7INO7No.js} +1 -1
  11. package/dist/interface/assets/{Cameras-DbBU5mou.js → Cameras-CoS5FGgt.js} +2 -2
  12. package/dist/interface/assets/{Camview-CDM4Q_tc.css → Camview-CS2a2okQ.css} +1 -1
  13. package/dist/interface/assets/{Camview-DD9jLT7-.js → Camview-D9dWFP3P.js} +1 -1
  14. package/dist/interface/assets/{Config-B9jI0lTQ.js → Config-Bt-dYeu3.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionCameraControl-D4hJLWmj.js → ConfigActionCameraControl-BG6SX9R7.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-DOUAx4lh.js → ConfigActionDelay-aDgo-kGM.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-BGz4r_Nr.js → ConfigActionHttp-CO5QD14x.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-BhO3ekJT.js → ConfigActionImageInput-DapP_uBr.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-B5cCmBXr.js → ConfigActionNotification-BTO9Mcqc.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionOutput-P0WY0DlF.js → ConfigActionOutput-CXJ03zBN.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionPlugin-B7YAbFlf.js → ConfigActionPlugin-BddeoS5Q.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionSensor-D_Dt1qtt.js → ConfigActionSensor-Bs4CS6z9.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSnapshot-ClyCQuB3.js → ConfigActionSnapshot-Ba5eeeDx.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionVariable-B2BoiQPb.js → ConfigActionVariable-CtDsvCYd.js} +1 -1
  25. package/dist/interface/assets/{ConfigConditionIfElse-Bhd2FYyz.js → ConfigConditionIfElse-4vRtS2gU.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionSensorState-x0M0kHwL.js → ConfigConditionSensorState-DXsn0AoB.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSwitch-CC0w-Hvy.js → ConfigConditionSwitch-BAAlXCNL.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionTime-lhWiIy2x.js → ConfigConditionTime-CbGe7r2f.js} +1 -1
  29. package/dist/interface/assets/{ConfigTriggerDetection-DWjlecON.js → ConfigTriggerDetection-CUvVQzWC.js} +1 -1
  30. package/dist/interface/assets/{ConfigTriggerGeofence-CTqptMUN.js → ConfigTriggerGeofence-C8JI5HfV.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerManual-ChsUsNCK.js → ConfigTriggerManual-CHe56Uwq.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerSchedule-CE47WiIV.js → ConfigTriggerSchedule-CfYWEMEa.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerSensor-DuCtavZo.js → ConfigTriggerSensor-CxfydqlA.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerSystem-D1oGAhLn.js → ConfigTriggerSystem-CKY5ikOU.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerWebhook-D3cHvW8H.js → ConfigTriggerWebhook-B38CUm9k.js} +1 -1
  36. package/dist/interface/assets/Console-iQYK1wv3.js +1 -0
  37. package/dist/interface/assets/{CuiActionButton-Bl7gqhIV.js → CuiActionButton-_24B3o_r.js} +1 -1
  38. package/dist/interface/assets/{CuiAvatar-of_eVQsv.js → CuiAvatar-Dq7tZWI5.js} +1 -1
  39. package/dist/interface/assets/{CuiBBoxPlayground-CIU5kteO.js → CuiBBoxPlayground-wkKhVNXF.js} +1 -1
  40. package/dist/interface/assets/CuiBottomSheet-BCwkNHr0.js +1 -0
  41. package/dist/interface/assets/{CuiBottomSheet-B7aQ7GCw.js → CuiBottomSheet-CmcHyY52.js} +1 -1
  42. package/dist/interface/assets/CuiCameraCard-Cjltc6jX.js +1 -0
  43. package/dist/interface/assets/{CuiCameraPipCard-KUBxGPoU.js → CuiCameraPipCard-Fqb-8bT0.js} +1 -1
  44. package/dist/interface/assets/CuiCameraRecordings-8rROz71S.js +1 -0
  45. package/dist/interface/assets/{CuiCameraShares-BCMYN11A.js → CuiCameraShares-CVqgvvb9.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraSnapshot-DTtvEMy1.js → CuiCameraSnapshot-CDqd-Ncv.js} +1 -1
  47. package/dist/interface/assets/{CuiCameraTable-B7g53tPM.js → CuiCameraTable-CZI750xd.js} +1 -1
  48. package/dist/interface/assets/CuiDataTable-N4GSbqxH.js +1 -0
  49. package/dist/interface/assets/CuiDataTable-W68cyoLf.css +1 -0
  50. package/dist/interface/assets/{CuiFloatingButton-B5YMdr0X.js → CuiFloatingButton-PyVdoOUT.js} +1 -1
  51. package/dist/interface/assets/{CuiImage-B97QDAl7.js → CuiImage-kthY6BIz.js} +1 -1
  52. package/dist/interface/assets/{CuiMenu-Ds6GufVn.js → CuiMenu-9X-MfyCk.js} +1 -1
  53. package/dist/interface/assets/{CuiPluginCard-D1SylQbM.js → CuiPluginCard-CN3TW6AC.js} +2 -2
  54. package/dist/interface/assets/CuiPluginCategoryChip-CwNmRXlc.js +1 -0
  55. package/dist/interface/assets/{CuiPluginOAuthButton-X8ZGFPwW.js → CuiPluginOAuthButton-BBHNQ3Jp.js} +2 -2
  56. package/dist/interface/assets/{CuiPluginTrustBadge-YhfqGTyR.js → CuiPluginTrustBadge-DX-P6_uN.js} +1 -1
  57. package/dist/interface/assets/{CuiQRCode-D_31ri5b.js → CuiQRCode-C6O_MBni.js} +1 -1
  58. package/dist/interface/assets/{CuiRecordingsGrid-CzMzhUXb.js → CuiRecordingsGrid-CwKCU5_u.js} +1 -1
  59. package/dist/interface/assets/{CuiSchema-CfqOJmDH.js → CuiSchema-VI2Luf-k.js} +1 -1
  60. package/dist/interface/assets/{CuiTopNavbarItem-Q7M4nMw5.js → CuiTopNavbarItem-Ds70WyHx.js} +1 -1
  61. package/dist/interface/assets/{CuiTopbarSlot-ac4GLLbf.js → CuiTopbarSlot-B9Et-Pj7.js} +1 -1
  62. package/dist/interface/assets/{Faces-IVmqcGuF.js → Faces-lzakFq5o.js} +1 -1
  63. package/dist/interface/assets/{FirstSteps-Boec1bzd.js → FirstSteps-Bqmgm_iz.js} +1 -1
  64. package/dist/interface/assets/{Instances-kmkRiBrV.js → Instances-qk8oD08W.js} +1 -1
  65. package/dist/interface/assets/{Logs-DzR8mmLu.js → Logs-72k5RAn7.js} +1 -1
  66. package/dist/interface/assets/{Menu-Cl-biyd7.js → Menu-1_PvQcZH.js} +1 -1
  67. package/dist/interface/assets/{OAuthDeviceFlow-Cp9uZWm1.js → OAuthDeviceFlow-DuZPGhPb.js} +1 -1
  68. package/dist/interface/assets/Plugin-CoIr19GV.js +1 -0
  69. package/dist/interface/assets/Plugin-DHhrlRqP.css +1 -0
  70. package/dist/interface/assets/{PluginConsole-BdbmROpF.js → PluginConsole-CnqDVu4K.js} +1 -1
  71. package/dist/interface/assets/PluginDetail-BSao1Bk3.js +2 -0
  72. package/dist/interface/assets/PluginDetail-L1Vtmr5x.css +1 -0
  73. package/dist/interface/assets/{PluginSchema-CWcq67pj.js → PluginSchema-BNB_PpKf.js} +1 -1
  74. package/dist/interface/assets/PluginSearch-Cq0r9Usy.js +2 -0
  75. package/dist/interface/assets/{PluginSearch-XjGr5qdW.css → PluginSearch-NuKgD1r3.css} +1 -1
  76. package/dist/interface/assets/PluginSearch-ZRpBJ3RH.js +1 -0
  77. package/dist/interface/assets/{Plugins-DMLQY_6J.js → Plugins-Bm0cyXcG.js} +1 -1
  78. package/dist/interface/assets/Recordings-BArCkOPF.js +1 -0
  79. package/dist/interface/assets/{Settings-BljKDhYY.js → Settings-CcwljkEU.js} +1 -1
  80. package/dist/interface/assets/SettingsAccount-UGedhV9S.js +1 -0
  81. package/dist/interface/assets/{SettingsAccount-DKHO4mDj.js → SettingsAccount-g0Xg9CEA.js} +1 -1
  82. package/dist/interface/assets/{SettingsAppearance-V5aeQ9c8.js → SettingsAppearance-D7vpw4Pf.js} +1 -1
  83. package/dist/interface/assets/SettingsAppearance-dUmIIO1_.js +1 -0
  84. package/dist/interface/assets/SettingsBackup-DDMNMyGv.js +1 -0
  85. package/dist/interface/assets/{SettingsNotifications-BZ1IXj0a.js → SettingsNotifications-DHXDTw47.js} +1 -1
  86. package/dist/interface/assets/{SettingsRecordings-BsJ9z-RE.js → SettingsRecordings-B8pVTT97.js} +1 -1
  87. package/dist/interface/assets/{SettingsRemote-Bf8bqXYs.js → SettingsRemote-Cm72h9O2.js} +1 -1
  88. package/dist/interface/assets/{SettingsSystem-obAYrm8J.js → SettingsSystem-IU5zzJ8r.js} +2 -2
  89. package/dist/interface/assets/{SettingsUsers-Ciu1ry18.js → SettingsUsers-Wgu60ci9.js} +1 -1
  90. package/dist/interface/assets/{Terminal-CD9he5xW.js → Terminal-D1CRBDlt.js} +1 -1
  91. package/dist/interface/assets/{VariableInput-CFs-kzqd.js → VariableInput-D5330Mfo.js} +1 -1
  92. package/dist/interface/assets/{VariableSuggestions-PEzupqiE.js → VariableSuggestions-BYRGZZhC.js} +1 -1
  93. package/dist/interface/assets/VersionsHandler-hDdaLt6c.js +7 -0
  94. package/dist/interface/assets/Workers-De7GyYLY.js +2 -0
  95. package/dist/interface/assets/{Workers-DCx1wSq5.css → Workers-E6LM_yAl.css} +1 -1
  96. package/dist/interface/assets/api-CEmKJS_k.js +2 -0
  97. package/dist/interface/assets/{api-CbBOEbKQ.js → api-CniTJ7zF.js} +1 -1
  98. package/dist/interface/assets/api-D7tGlI-z.css +2 -0
  99. package/dist/interface/assets/{auth-cdPNNpNC.js → auth-XrGrvKJw.js} +1 -1
  100. package/dist/interface/assets/{automations-E7vwN3kw.js → automations-BTNkOZVN.js} +1 -1
  101. package/dist/interface/assets/{automations-C309DNNg.js → automations-DBL-AVqV.js} +1 -1
  102. package/dist/interface/assets/backup-DCACCZlp.js +1 -0
  103. package/dist/interface/assets/{cameras-CvJDLEZ3.js → cameras-BU1ZCguU.js} +1 -1
  104. package/dist/interface/assets/{cameras.schema-Clwro_L9.js → cameras.schema-xccbs98C.js} +1 -1
  105. package/dist/interface/assets/cloudHandoff-l8EehWAq.js +1 -0
  106. package/dist/interface/assets/{lightbulb-outline-B0CFho4y.js → cog-outline-DUNHSyxs.js} +1 -1
  107. package/dist/interface/assets/{deviceId-OXLTtG-_.js → deviceId-BDIV3wVa.js} +1 -1
  108. package/dist/interface/assets/download-D5N3Bjsy.js +1 -0
  109. package/dist/interface/assets/{hasPermission-P1TgpAur.js → hasPermission-Dt66r7m6.js} +1 -1
  110. package/dist/interface/assets/{instances-DwnEOXk1.js → instances-Cm2uvc3I.js} +1 -1
  111. package/dist/interface/assets/lightbulb-outline-CSHur8g1.js +1 -0
  112. package/dist/interface/assets/{locale-BWvy9Nlz.js → locale-DHFGj38b.js} +1 -1
  113. package/dist/interface/assets/main-BpXAVhDw.js +3 -0
  114. package/dist/interface/assets/{main-DudyqPaR.css → main-DYLy_5Pn.css} +1 -1
  115. package/dist/interface/assets/nodeDefinitions-BvHN6Rgq.js +1 -0
  116. package/dist/interface/assets/{notifications-DHmx6O_s.js → notifications-CcPAq-AU.js} +1 -1
  117. package/dist/interface/assets/{plugins-NVAodP6s.js → plugins-Byvz--5u.js} +1 -1
  118. package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +1 -0
  119. package/dist/interface/assets/{round-restart-alt-c8MQjhLh.js → round-restart-alt-wY5ZWF_I.js} +1 -1
  120. package/dist/interface/assets/router-BI5yR4wx.js +2 -0
  121. package/dist/interface/assets/{router-BUTKN1yM.css → router-qrIK2v9X.css} +1 -1
  122. package/dist/interface/assets/{routerState-dQtObsFs.js → routerState-1OSE3RrK.js} +1 -1
  123. package/dist/interface/assets/{server-CRxodRik.js → server-BZ6moxcL.js} +1 -1
  124. package/dist/interface/assets/{shares-4w6GDwjp.js → shares-Dnb9ln4i.js} +1 -1
  125. package/dist/interface/assets/{theme-DhaXe7yA.js → theme-CMPHpEel.js} +1 -1
  126. package/dist/interface/assets/{types-6RvFwckU.js → types-CxqXp8-9.js} +1 -1
  127. package/dist/interface/assets/types-Dhfpp18Q.js +1 -0
  128. package/dist/interface/assets/{ui-DrzKhUXW.js → ui-DoqHmuEp.js} +1 -1
  129. package/dist/interface/assets/{useBiometricCredentials-BGRyKe48.js → useBiometricCredentials-D0zMU6nI.js} +1 -1
  130. package/dist/interface/assets/{useCameraOptions-CO1HD_gL.js → useCameraOptions-ICvT3348.js} +1 -1
  131. package/dist/interface/assets/{useCuiCameraDrawer-DnN9lwiy.js → useCuiCameraDrawer-Cz6XoSl4.js} +1 -1
  132. package/dist/interface/assets/{useCuiDialog-DHktK-mZ.js → useCuiDialog-D3TnoSLA.js} +1 -1
  133. package/dist/interface/assets/{useFileDownload-Cp1oH80I.js → useFileDownload-s0dzBJ-h.js} +1 -1
  134. package/dist/interface/assets/{useLogsSocket-OnTDnkPr.js → useLogsSocket-GhBHm7PL.js} +1 -1
  135. package/dist/interface/assets/{useSharedComposables-gpJ--qZh.js → useSharedComposables-BwzJuqID.js} +1 -1
  136. package/dist/interface/assets/{useStreamStatus-N--czepD.js → useStreamStatus-DffcpWzm.js} +1 -1
  137. package/dist/interface/assets/{useUserOptions-CPkl1O0A.js → useUserOptions-Cvb_O9Oh.js} +1 -1
  138. package/dist/interface/assets/{users.schema-BIL9DqRo.js → users.schema-Csh8aGMQ.js} +1 -1
  139. package/dist/interface/assets/{vendor-cameraui-DgSMexWY.js → vendor-cameraui-DQVBM-Sz.js} +38 -38
  140. package/dist/interface/assets/{vendor-core-BKHiXSX7.js → vendor-core-C5n49w0D.js} +1 -1
  141. package/dist/interface/assets/{vendor-primevue-7iEzPOvf.js → vendor-primevue-CCUVk9_F.js} +1 -1
  142. package/dist/interface/assets/{view-grid-B0KB2pRf.js → view-grid-CK2x8Wqf.js} +1 -1
  143. package/dist/interface/index.html +46 -45
  144. package/dist/interface/sw.js +1 -1
  145. package/dist/server/package.json +3 -3
  146. package/dist/server/requirements.txt +1 -1
  147. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +3 -1
  148. package/dist/server/src/api/controllers/backup.controller.d.ts +7 -1
  149. package/dist/server/src/api/controllers/backup.controller.js +65 -1
  150. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  151. package/dist/server/src/api/database/index.d.ts +1 -1
  152. package/dist/server/src/api/database/index.js +5 -5
  153. package/dist/server/src/api/database/index.js.map +1 -1
  154. package/dist/server/src/api/database/types.d.ts +18 -0
  155. package/dist/server/src/api/routes/backup.routes.js +54 -1
  156. package/dist/server/src/api/routes/backup.routes.js.map +1 -1
  157. package/dist/server/src/api/schemas/backup.schema.d.ts +28 -25
  158. package/dist/server/src/api/schemas/backup.schema.js +23 -60
  159. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  160. package/dist/server/src/api/schemas/cameras.schema.d.ts +8 -0
  161. package/dist/server/src/api/schemas/cameras.schema.js +2 -0
  162. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  163. package/dist/server/src/api/services/backup.service.d.ts +1 -1
  164. package/dist/server/src/api/services/backup.service.js +2 -1
  165. package/dist/server/src/api/services/backup.service.js.map +1 -1
  166. package/dist/server/src/api/services/backupScheduler.service.d.ts +31 -0
  167. package/dist/server/src/api/services/backupScheduler.service.js +203 -0
  168. package/dist/server/src/api/services/backupScheduler.service.js.map +1 -0
  169. package/dist/server/src/api/types/index.d.ts +7 -1
  170. package/dist/server/src/api/websocket/nsp/notifications.js +3 -3
  171. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  172. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +13 -1
  173. package/dist/server/src/camera/decoder/detection-coordinator.js +242 -242
  174. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  175. package/dist/server/src/camera/decoder/event-manager.js +41 -18
  176. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  177. package/dist/server/src/camera/decoder/frame-scaler.d.ts +1 -0
  178. package/dist/server/src/camera/decoder/frame-scaler.js +2 -2
  179. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  180. package/dist/server/src/camera/decoder/frame-source.js +2 -1
  181. package/dist/server/src/camera/decoder/frame-source.js.map +1 -1
  182. package/dist/server/src/camera/decoder/snapshot-source.d.ts +49 -0
  183. package/dist/server/src/camera/decoder/snapshot-source.js +279 -0
  184. package/dist/server/src/camera/decoder/snapshot-source.js.map +1 -0
  185. package/dist/server/src/camera/decoder/worker.d.ts +1 -0
  186. package/dist/server/src/camera/decoder/worker.js +27 -4
  187. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  188. package/dist/server/src/go2rtc/index.js +3 -2
  189. package/dist/server/src/go2rtc/index.js.map +1 -1
  190. package/dist/server/src/main.d.ts +1 -0
  191. package/dist/server/src/main.js +11 -0
  192. package/dist/server/src/main.js.map +1 -1
  193. package/dist/server/src/manager/downloadManager.js +2 -2
  194. package/dist/server/src/manager/downloadManager.js.map +1 -1
  195. package/dist/server/src/plugins/runtime/python/child.py +11 -0
  196. package/dist/server/src/plugins/runtime/python/namespaces.py +4 -0
  197. package/dist/server/src/plugins/runtime/python/proxy/download_manager.py +12 -2
  198. package/dist/server/src/plugins/runtime/python/proxy/file_serve.py +49 -0
  199. package/dist/server/src/plugins/worker.js +14 -4
  200. package/dist/server/src/plugins/worker.js.map +1 -1
  201. package/dist/server/src/remote/tunnel/client.js +3 -2
  202. package/dist/server/src/remote/tunnel/client.js.map +1 -1
  203. package/dist/server/src/rpc/server.d.ts +0 -1
  204. package/dist/server/src/rpc/server.js +8 -7
  205. package/dist/server/src/rpc/server.js.map +1 -1
  206. package/dist/server/src/shutdown-state.d.ts +3 -0
  207. package/dist/server/src/shutdown-state.js +11 -0
  208. package/dist/server/src/shutdown-state.js.map +1 -0
  209. package/dist/server/src/workers/agent.js +4 -4
  210. package/dist/server/src/workers/agent.js.map +1 -1
  211. package/dist/server/src/workers/capabilities/plugin-host.js +5 -4
  212. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  213. package/package.json +3 -3
  214. package/dist/interface/assets/Automation-D0ps_z9e.js +0 -2
  215. package/dist/interface/assets/Console-DrDqDUtO.js +0 -1
  216. package/dist/interface/assets/CuiBottomSheet-DKUg_g5x.js +0 -1
  217. package/dist/interface/assets/CuiCameraCard-IyJNZMGs.js +0 -1
  218. package/dist/interface/assets/CuiCameraRecordings-iWAFGo8e.js +0 -1
  219. package/dist/interface/assets/CuiDataTable-DWuXg9Zg.css +0 -1
  220. package/dist/interface/assets/CuiDataTable-saRt0sBc.js +0 -1
  221. package/dist/interface/assets/CuiPluginCategoryChip-rfdhCEi-.js +0 -1
  222. package/dist/interface/assets/Plugin-CeLrucXT.js +0 -1
  223. package/dist/interface/assets/Plugin-Yv0ZmTNZ.css +0 -1
  224. package/dist/interface/assets/PluginDetail-DKywYzmS.js +0 -2
  225. package/dist/interface/assets/PluginDetail-DbYxVe3g.css +0 -1
  226. package/dist/interface/assets/PluginSearch-BC1L0-VN.js +0 -1
  227. package/dist/interface/assets/PluginSearch-DCuLwE3v.js +0 -2
  228. package/dist/interface/assets/Recordings--XaVJZJi.js +0 -1
  229. package/dist/interface/assets/SettingsAccount-DFMOh1ci.js +0 -1
  230. package/dist/interface/assets/SettingsAppearance-DzG2tlwK.js +0 -1
  231. package/dist/interface/assets/SettingsBackup-CfOHDar8.js +0 -1
  232. package/dist/interface/assets/VersionsHandler-Dpo-L314.js +0 -7
  233. package/dist/interface/assets/Workers-DiIBLgfr.js +0 -2
  234. package/dist/interface/assets/api-aSYFKxo6.js +0 -2
  235. package/dist/interface/assets/api-vCJ1T8Ow.css +0 -2
  236. package/dist/interface/assets/backup-Co1bwdSv.js +0 -1
  237. package/dist/interface/assets/cloudHandoff-Bym-XqR1.js +0 -1
  238. package/dist/interface/assets/main-CIorSaV7.js +0 -3
  239. package/dist/interface/assets/nodeDefinitions-Dvawtk76.js +0 -1
  240. package/dist/interface/assets/round-restart-alt-fCNtJi_k.css +0 -1
  241. package/dist/interface/assets/router-i0r3QZvk.js +0 -2
  242. package/dist/interface/assets/types-BXo-JDGR.js +0 -1
@@ -1,13 +1,17 @@
1
- import { readFile } from 'node:fs';
1
+ import { createReadStream, readFile } from 'node:fs';
2
+ import { stat } from 'node:fs/promises';
3
+ import { basename } from 'node:path';
2
4
  import { container } from 'tsyringe';
3
5
  import { BackupService } from '../services/backup.service.js';
4
6
  export class BackupController {
5
7
  app;
6
8
  logger;
7
9
  service;
10
+ scheduler;
8
11
  constructor(app) {
9
12
  this.app = app;
10
13
  this.logger = container.resolve('logger');
14
+ this.scheduler = container.resolve('backupScheduler');
11
15
  this.service = new BackupService();
12
16
  }
13
17
  async download(req, reply) {
@@ -54,5 +58,65 @@ export class BackupController {
54
58
  });
55
59
  }
56
60
  }
61
+ async getScheduler(_req, reply) {
62
+ try {
63
+ const settings = this.scheduler.getSettings();
64
+ const backups = await this.scheduler.listBackups();
65
+ return reply.code(200).send({
66
+ settings,
67
+ backups,
68
+ defaultDestination: this.scheduler.defaultDestination,
69
+ });
70
+ }
71
+ catch (error) {
72
+ return reply.code(500).send({ statusCode: 500, message: error.message });
73
+ }
74
+ }
75
+ async patchScheduler(req, reply) {
76
+ try {
77
+ const settings = await this.scheduler.updateSettings(req.body);
78
+ return reply.code(200).send(settings);
79
+ }
80
+ catch (error) {
81
+ return reply.code(400).send({ statusCode: 400, message: error.message });
82
+ }
83
+ }
84
+ async runScheduler(_req, reply) {
85
+ try {
86
+ const lastRun = await this.scheduler.runNow();
87
+ return reply.code(lastRun.status === 'success' ? 201 : 500).send(lastRun);
88
+ }
89
+ catch (error) {
90
+ return reply.code(409).send({ statusCode: 409, message: error.message });
91
+ }
92
+ }
93
+ async downloadScheduledBackup(req, reply) {
94
+ try {
95
+ const filePath = await this.scheduler.resolveBackupFile(req.params.filename);
96
+ if (!filePath) {
97
+ return reply.code(404).send({ statusCode: 404, message: 'Backup not found' });
98
+ }
99
+ const info = await stat(filePath);
100
+ reply.header('Content-Type', 'application/gzip');
101
+ reply.header('Content-Disposition', `attachment; filename="${basename(filePath)}"`);
102
+ reply.header('Content-Length', info.size);
103
+ return reply.send(createReadStream(filePath));
104
+ }
105
+ catch (error) {
106
+ return reply.code(500).send({ statusCode: 500, message: error.message });
107
+ }
108
+ }
109
+ async deleteScheduledBackup(req, reply) {
110
+ try {
111
+ const deleted = await this.scheduler.deleteBackup(req.params.filename);
112
+ if (!deleted) {
113
+ return reply.code(404).send({ statusCode: 404, message: 'Backup not found' });
114
+ }
115
+ return reply.code(204).send();
116
+ }
117
+ catch (error) {
118
+ return reply.code(500).send({ statusCode: 500, message: error.message });
119
+ }
120
+ }
57
121
  }
58
122
  //# sourceMappingURL=backup.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/backup.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAM9D,MAAM,OAAO,gBAAgB;IAIP;IAHZ,MAAM,CAAgB;IACtB,OAAO,CAAgB;IAE/B,YAAoB,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;QACtC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAgB,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,GAA2D,EAAE,KAAmB;QACpG,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEtE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBAChD,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YACzD,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YAErF,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAA4D,EAAE,KAAmB;QACpG,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,UAAU,EAAE,GAAG;oBACf,OAAO,EAAE,kBAAkB;iBAC5B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE5D,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;YAE3B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"backup.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/backup.controller.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,9 @@ export declare class Database {
23
23
  private lowdb;
24
24
  private migrationRunner;
25
25
  private selfCheck;
26
+ private closed;
26
27
  private configService;
27
28
  private logger;
28
- private api?;
29
29
  constructor(workerMode?: boolean);
30
30
  initialize(): Promise<void>;
31
31
  close(): Promise<void>;
@@ -1,5 +1,4 @@
1
1
  import { sleep } from '@camera.ui/common/utils';
2
- import { API_EVENT } from '@camera.ui/sdk';
3
2
  import { open } from 'lmdb';
4
3
  import { createHmac, randomBytes, randomUUID } from 'node:crypto';
5
4
  import semver from 'semver';
@@ -31,9 +30,9 @@ export class Database {
31
30
  lowdb;
32
31
  migrationRunner;
33
32
  selfCheck;
33
+ closed = false;
34
34
  configService;
35
35
  logger;
36
- api;
37
36
  constructor(workerMode = false) {
38
37
  this.workerMode = workerMode;
39
38
  container.registerInstance('dbs', this);
@@ -49,7 +48,6 @@ export class Database {
49
48
  this.logger.debug('Worker database opened!');
50
49
  return;
51
50
  }
52
- this.api = container.resolve('api');
53
51
  this.tokensDB = this.lowdb.openDB({ name: TOKENS_ID });
54
52
  this.camerasDB = this.lowdb.openDB({ name: CAMERAS_ID });
55
53
  this.pluginsDB = this.lowdb.openDB({ name: PLUGINS_ID });
@@ -68,8 +66,6 @@ export class Database {
68
66
  this.selfCheck = new SelfCheck();
69
67
  this.migrationRunner = new MigrationRunner(this);
70
68
  this.logger.debug('Databases opened!');
71
- this.api.setMaxListeners(this.api.getMaxListeners() + 1);
72
- this.api.once(API_EVENT.SHUTDOWN, this.close.bind(this));
73
69
  }
74
70
  async initialize() {
75
71
  if (this.workerMode) {
@@ -87,6 +83,10 @@ export class Database {
87
83
  this.logger.debug('Database initialized!');
88
84
  }
89
85
  async close() {
86
+ if (this.closed) {
87
+ return;
88
+ }
89
+ this.closed = true;
90
90
  await this.lowdb.close();
91
91
  this.logger.debug('Databases closed!');
92
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/database/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/database/index.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,29 @@ export interface DBUser {
27
27
  preferences: DBUserPreferences;
28
28
  twoFactor?: DBUserTwoFactor;
29
29
  }
30
+ export interface DBBackupSchedulerLastRun {
31
+ timestamp: number;
32
+ status: 'success' | 'error';
33
+ message?: string;
34
+ filename?: string;
35
+ durationMs?: number;
36
+ }
37
+ export interface DBBackupSchedulerSettings {
38
+ enabled: boolean;
39
+ interval: 'daily' | 'weekly' | 'monthly';
40
+ time: string;
41
+ weekday: number;
42
+ dayOfMonth: number;
43
+ retention: number;
44
+ destinationPath: string;
45
+ lastRun?: DBBackupSchedulerLastRun;
46
+ }
30
47
  export interface DBSettings {
31
48
  version: string;
32
49
  knownWorkers?: DBKnownWorker[];
33
50
  workerCredentials?: DBWorkerCredential[];
34
51
  workerPairings?: DBWorkerPairing[];
52
+ backupScheduler?: DBBackupSchedulerSettings;
35
53
  }
36
54
  export interface DBKnownWorker {
37
55
  agentId: string;
@@ -1,7 +1,7 @@
1
1
  import { BackupController } from '../controllers/backup.controller.js';
2
2
  import { onlyAdminCanDoThisAction } from '../middlewares/authPermission.middleware.js';
3
3
  import { validJWTNeeded } from '../middlewares/authValidation.middleware.js';
4
- import { downloadBackupSchema } from '../schemas/backup.schema.js';
4
+ import { downloadBackupSchema, patchBackupSchedulerSettingsSchema, scheduledBackupParamsSchema } from '../schemas/backup.schema.js';
5
5
  export const BackupRoute = async (app) => {
6
6
  const backupController = new BackupController(app);
7
7
  app.withTypeProvider().route({
@@ -25,5 +25,58 @@ export const BackupRoute = async (app) => {
25
25
  summary: 'Restore a backup from an uploaded archive',
26
26
  },
27
27
  });
28
+ app.route({
29
+ url: '/scheduler',
30
+ method: 'GET',
31
+ preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
32
+ handler: backupController.getScheduler.bind(backupController),
33
+ schema: {
34
+ tags: ['Backup'],
35
+ summary: 'Get backup scheduler settings and existing scheduled backups',
36
+ },
37
+ });
38
+ app.withTypeProvider().route({
39
+ url: '/scheduler',
40
+ method: 'PATCH',
41
+ preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
42
+ handler: backupController.patchScheduler.bind(backupController),
43
+ schema: {
44
+ tags: ['Backup'],
45
+ summary: 'Update backup scheduler settings',
46
+ body: patchBackupSchedulerSettingsSchema,
47
+ },
48
+ });
49
+ app.route({
50
+ url: '/scheduler/run',
51
+ method: 'POST',
52
+ preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
53
+ handler: backupController.runScheduler.bind(backupController),
54
+ schema: {
55
+ tags: ['Backup'],
56
+ summary: 'Run a scheduled backup immediately',
57
+ },
58
+ });
59
+ app.withTypeProvider().route({
60
+ url: '/scheduler/backups/:filename',
61
+ method: 'GET',
62
+ preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
63
+ handler: backupController.downloadScheduledBackup.bind(backupController),
64
+ schema: {
65
+ tags: ['Backup'],
66
+ summary: 'Download a scheduled backup archive',
67
+ params: scheduledBackupParamsSchema,
68
+ },
69
+ });
70
+ app.withTypeProvider().route({
71
+ url: '/scheduler/backups/:filename',
72
+ method: 'DELETE',
73
+ preValidation: [validJWTNeeded, onlyAdminCanDoThisAction],
74
+ handler: backupController.deleteScheduledBackup.bind(backupController),
75
+ schema: {
76
+ tags: ['Backup'],
77
+ summary: 'Delete a scheduled backup archive',
78
+ params: scheduledBackupParamsSchema,
79
+ },
80
+ });
28
81
  };
29
82
  //# sourceMappingURL=backup.routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.routes.js","sourceRoot":"","sources":["../../../../../src/api/routes/backup.routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAKnE,MAAM,CAAC,MAAM,WAAW,GAAuB,KAAK,EAAE,GAAoB,EAAiB,EAAE;IAC3F,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAEnD,GAAG,CAAC,gBAAgB,EAAmB,CAAC,KAAK,CAAC;QAC5C,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;QACzD,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACzD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EAAE,oBAAoB;SAC3B;KACF,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,CAAC;QACR,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,CAAC,cAAc,EAAE,wBAAwB,CAAC;QACzD,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACxD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,2CAA2C;SACrD;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"backup.routes.js","sourceRoot":"","sources":["../../../../../src/api/routes/backup.routes.ts"],"names":[],"mappings":"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"}
@@ -3,34 +3,37 @@ export declare const ACCEPTED_BACKUP_TYPES: string[];
3
3
  export declare const MAX_BACKUP_FILE_SIZE: number;
4
4
  export declare const downloadBackupSchema: zod.ZodObject<{
5
5
  localStorage: zod.ZodOptional<zod.ZodObject<{
6
- ui: zod.ZodOptional<zod.ZodDefault<zod.ZodOptional<zod.ZodObject<{
7
- cameras: zod.ZodOptional<zod.ZodObject<{
8
- showEvents: zod.ZodBoolean;
9
- }, zod.z.core.$strict>>;
10
- camview: zod.ZodOptional<zod.ZodObject<{
11
- dragDisabled: zod.ZodOptional<zod.ZodBoolean>;
12
- viewid: zod.ZodOptional<zod.ZodString>;
13
- }, zod.z.core.$strict>>;
14
- config: zod.ZodOptional<zod.ZodObject<{
15
- zoom: zod.ZodNumber;
16
- }, zod.z.core.$strict>>;
17
- console: zod.ZodOptional<zod.ZodObject<{
18
- zoom: zod.ZodNumber;
19
- }, zod.z.core.$strict>>;
20
- interface: zod.ZodOptional<zod.ZodObject<{
21
- showBottomBarOnMobile: zod.ZodBoolean;
22
- selectedSettingsView: zod.ZodString;
23
- }, zod.z.core.$strip>>;
24
- }, zod.z.core.$strict>>>>;
25
- theme: zod.ZodOptional<zod.ZodDefault<zod.ZodOptional<zod.ZodObject<{
26
- theme: zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<"light">, zod.ZodLiteral<"dark">]>>;
27
- autoMode: zod.ZodOptional<zod.ZodBoolean>;
28
- }, zod.z.core.$strict>>>>;
29
- locale: zod.ZodOptional<zod.ZodDefault<zod.ZodOptional<zod.ZodUnion<readonly [zod.ZodLiteral<"de">, zod.ZodLiteral<"en">]>>>>;
30
- }, zod.z.core.$strict>>;
6
+ ui: zod.ZodOptional<zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>>;
7
+ theme: zod.ZodOptional<zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>>;
8
+ locale: zod.ZodOptional<zod.ZodOptional<zod.ZodString>>;
9
+ }, zod.z.core.$loose>>;
31
10
  }, zod.z.core.$strict>;
32
11
  export declare const restoreBackupSchema: zod.ZodObject<{
33
12
  upload: zod.ZodType<import("@fastify/multipart").MultipartFile, unknown, zod.z.core.$ZodTypeInternals<import("@fastify/multipart").MultipartFile, unknown>>;
34
13
  }, zod.z.core.$strip>;
14
+ export declare const backupSchedulerSettingsSchema: zod.ZodObject<{
15
+ enabled: zod.ZodDefault<zod.ZodBoolean>;
16
+ interval: zod.ZodDefault<zod.ZodUnion<readonly [zod.ZodLiteral<"daily">, zod.ZodLiteral<"weekly">, zod.ZodLiteral<"monthly">]>>;
17
+ time: zod.ZodDefault<zod.ZodString>;
18
+ weekday: zod.ZodDefault<zod.ZodNumber>;
19
+ dayOfMonth: zod.ZodDefault<zod.ZodNumber>;
20
+ retention: zod.ZodDefault<zod.ZodNumber>;
21
+ destinationPath: zod.ZodDefault<zod.ZodString>;
22
+ }, zod.z.core.$strict>;
23
+ export declare const patchBackupSchedulerSettingsSchema: zod.ZodObject<{
24
+ enabled: zod.ZodOptional<zod.ZodDefault<zod.ZodBoolean>>;
25
+ interval: zod.ZodOptional<zod.ZodDefault<zod.ZodUnion<readonly [zod.ZodLiteral<"daily">, zod.ZodLiteral<"weekly">, zod.ZodLiteral<"monthly">]>>>;
26
+ time: zod.ZodOptional<zod.ZodDefault<zod.ZodString>>;
27
+ weekday: zod.ZodOptional<zod.ZodDefault<zod.ZodNumber>>;
28
+ dayOfMonth: zod.ZodOptional<zod.ZodDefault<zod.ZodNumber>>;
29
+ retention: zod.ZodOptional<zod.ZodDefault<zod.ZodNumber>>;
30
+ destinationPath: zod.ZodOptional<zod.ZodDefault<zod.ZodString>>;
31
+ }, zod.z.core.$strict>;
32
+ export declare const scheduledBackupParamsSchema: zod.ZodObject<{
33
+ filename: zod.ZodString;
34
+ }, zod.z.core.$strict>;
35
35
  export type DownloadBackupInput = zod.output<typeof downloadBackupSchema>;
36
36
  export type RestoreBackupInput = zod.output<typeof restoreBackupSchema>;
37
+ export type BackupSchedulerSettingsInput = zod.output<typeof backupSchedulerSettingsSchema>;
38
+ export type PatchBackupSchedulerSettingsInput = zod.output<typeof patchBackupSchedulerSettingsSchema>;
39
+ export type ScheduledBackupParamsInput = zod.output<typeof scheduledBackupParamsSchema>;
@@ -2,74 +2,37 @@ import * as zod from 'zod';
2
2
  import { uploadSchema } from '../utils/upload.js';
3
3
  export const ACCEPTED_BACKUP_TYPES = ['application/gzip', 'application/x-gzip', 'application/x-tar'];
4
4
  export const MAX_BACKUP_FILE_SIZE = 1024 * 1024 * 200;
5
- const supportedThemesSchema = zod.union([zod.literal('light'), zod.literal('dark')]);
6
- const supportedLanguageAbbreviatonsSchema = zod.union([zod.literal('de'), zod.literal('en')]);
7
- const themeLocalStorageSchema = zod
8
- .object({
9
- theme: supportedThemesSchema,
10
- autoMode: zod.boolean(),
11
- })
12
- .strict();
13
- const camerasSchema = zod
14
- .object({
15
- showEvents: zod.boolean(),
16
- })
17
- .strict();
18
- const camviewSchema = zod
19
- .object({
20
- dragDisabled: zod.boolean().optional(),
21
- viewid: zod.string().optional(),
22
- })
23
- .strict();
24
- const configSchema = zod
25
- .object({
26
- zoom: zod.number().min(8, 'Minimum 8').max(20, 'Maximum 20'),
27
- })
28
- .strict();
29
- const consoleSchema = zod
30
- .object({
31
- zoom: zod.number().min(8, 'Minimum 8').max(20, 'Maximum 20'),
32
- })
33
- .strict();
34
- const interfaceSchema = zod.object({
35
- showBottomBarOnMobile: zod.boolean(),
36
- selectedSettingsView: zod.string(),
5
+ const uiLocalStorageSchema = zod.looseObject({
6
+ ui: zod.record(zod.string(), zod.unknown()).optional(),
7
+ theme: zod.record(zod.string(), zod.unknown()).optional(),
8
+ locale: zod.string().optional(),
37
9
  });
38
- const uiSettingsLocalStorageSchema = zod
10
+ export const downloadBackupSchema = zod
39
11
  .object({
40
- cameras: camerasSchema,
41
- camview: camviewSchema,
42
- config: configSchema,
43
- console: consoleSchema,
44
- interface: interfaceSchema,
12
+ localStorage: uiLocalStorageSchema.partial().optional(),
45
13
  })
46
14
  .strict();
47
- const uiLocalStorageSchema = zod
15
+ export const restoreBackupSchema = zod.object({
16
+ upload: uploadSchema(MAX_BACKUP_FILE_SIZE, ACCEPTED_BACKUP_TYPES, 'Max file size is 200MB', '.tar.* files are accepted'),
17
+ });
18
+ export const backupSchedulerSettingsSchema = zod
48
19
  .object({
49
- ui: uiSettingsLocalStorageSchema
50
- .partial()
51
- .optional()
52
- .default({
53
- config: {
54
- zoom: 12,
55
- },
56
- console: {
57
- zoom: 12,
58
- },
59
- }),
60
- theme: themeLocalStorageSchema.partial().optional().default({
61
- theme: 'light',
62
- autoMode: false,
63
- }),
64
- locale: supportedLanguageAbbreviatonsSchema.optional().default('en'),
20
+ enabled: zod.boolean().default(false),
21
+ interval: zod.union([zod.literal('daily'), zod.literal('weekly'), zod.literal('monthly')]).default('daily'),
22
+ time: zod
23
+ .string()
24
+ .regex(/^([01]\d|2[0-3]):[0-5]\d$/, 'Invalid time, expected HH:mm')
25
+ .default('03:00'),
26
+ weekday: zod.number().int().min(0).max(6).default(0),
27
+ dayOfMonth: zod.number().int().min(1).max(28).default(1),
28
+ retention: zod.number().int().min(1, 'Minimum 1').max(60, 'Maximum 60').default(7),
29
+ destinationPath: zod.string().trim().default(''),
65
30
  })
66
31
  .strict();
67
- export const downloadBackupSchema = zod
32
+ export const patchBackupSchedulerSettingsSchema = backupSchedulerSettingsSchema.partial().strict();
33
+ export const scheduledBackupParamsSchema = zod
68
34
  .object({
69
- localStorage: uiLocalStorageSchema.partial().optional(),
35
+ filename: zod.string().regex(/^camera\.ui-backup-\d+\.tar\.gz$/, 'Invalid backup filename'),
70
36
  })
71
37
  .strict();
72
- export const restoreBackupSchema = zod.object({
73
- upload: uploadSchema(MAX_BACKUP_FILE_SIZE, ACCEPTED_BACKUP_TYPES, 'Max file size is 200MB', '.tar.* files are accepted'),
74
- });
75
38
  //# sourceMappingURL=backup.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backup.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/backup.schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAEtD,MAAM,qBAAqB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAErF,MAAM,mCAAmC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9F,MAAM,uBAAuB,GAAG,GAAG;KAChC,MAAM,CAAC;IACN,KAAK,EAAE,qBAAqB;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE;CACxB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,aAAa,GAAG,GAAG;KACtB,MAAM,CAAC;IACN,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE;CAC1B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,aAAa,GAAG,GAAG;KACtB,MAAM,CAAC;IACN,YAAY,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,YAAY,GAAG,GAAG;KACrB,MAAM,CAAC;IACN,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC;CAC7D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,aAAa,GAAG,GAAG;KACtB,MAAM,CAAC;IACN,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC;CAC7D,CAAC;KAED,MAAM,EAAE,CAAC;AAEZ,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;IACjC,qBAAqB,EAAE,GAAG,CAAC,OAAO,EAAE;IACpC,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,GAAG;KACrC,MAAM,CAAC;IACN,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,eAAe;CAC3B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,oBAAoB,GAAG,GAAG;KAC7B,MAAM,CAAC;IACN,EAAE,EAAE,4BAA4B;SAC7B,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC;QACP,MAAM,EAAE;YACN,IAAI,EAAE,EAAE;SACT;QACD,OAAO,EAAE;YACP,IAAI,EAAE,EAAE;SACT;KACF,CAAC;IAEJ,KAAK,EAAE,uBAAuB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QAC1D,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,MAAM,EAAE,mCAAmC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACrE,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG;KACpC,MAAM,CAAC;IACN,YAAY,EAAE,oBAAoB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,YAAY,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,2BAA2B,CAAC;CACzH,CAAC,CAAC"}
1
+ {"version":3,"file":"backup.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/backup.schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAEtD,MAAM,oBAAoB,GAAG,GAAG,CAAC,WAAW,CAAC;IAC3C,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG;KACpC,MAAM,CAAC;IACN,YAAY,EAAE,oBAAoB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,YAAY,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,2BAA2B,CAAC;CACzH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG;KAC7C,MAAM,CAAC;IACN,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC3G,IAAI,EAAE,GAAG;SACN,MAAM,EAAE;SACR,KAAK,CAAC,2BAA2B,EAAE,8BAA8B,CAAC;SAClE,OAAO,CAAC,OAAO,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,kCAAkC,GAAG,6BAA6B,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;AAEnG,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG;KAC3C,MAAM,CAAC;IACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kCAAkC,EAAE,yBAAyB,CAAC;CAC5F,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -159,6 +159,7 @@ export declare const streamingModeSchema: zod.ZodType<VideoStreamingMode>;
159
159
  export declare const aspectRatioSchema: zod.ZodType<CameraAspectRatio>;
160
160
  export declare const frameWorkerSettingsSchema: zod.ZodObject<{
161
161
  fps: zod.ZodNumber;
162
+ hqSnapshots: zod.ZodDefault<zod.ZodBoolean>;
162
163
  }, zod.z.core.$strip>;
163
164
  export declare const cameraTypeSchema: zod.ZodUnion<readonly [zod.ZodLiteral<"camera">, zod.ZodLiteral<"doorbell">]>;
164
165
  export declare const interfaceSettingsSchema: zod.ZodObject<{
@@ -343,6 +344,7 @@ export declare const createCameraBaseSchema: zod.ZodObject<{
343
344
  }, zod.z.core.$strip>>;
344
345
  frameWorkerSettings: zod.ZodDefault<zod.ZodObject<{
345
346
  fps: zod.ZodNumber;
347
+ hqSnapshots: zod.ZodDefault<zod.ZodBoolean>;
346
348
  }, zod.z.core.$strip>>;
347
349
  }, zod.z.core.$strict>;
348
350
  export declare const createCameraSchema: zod.ZodPipe<zod.ZodObject<{
@@ -505,6 +507,7 @@ export declare const createCameraSchema: zod.ZodPipe<zod.ZodObject<{
505
507
  }, zod.z.core.$strip>>;
506
508
  frameWorkerSettings: zod.ZodDefault<zod.ZodObject<{
507
509
  fps: zod.ZodNumber;
510
+ hqSnapshots: zod.ZodDefault<zod.ZodBoolean>;
508
511
  }, zod.z.core.$strip>>;
509
512
  }, zod.z.core.$strict>, zod.ZodTransform<{
510
513
  isCloud: boolean;
@@ -661,6 +664,7 @@ export declare const createCameraSchema: zod.ZodPipe<zod.ZodObject<{
661
664
  };
662
665
  frameWorkerSettings: {
663
666
  fps: number;
667
+ hqSnapshots: boolean;
664
668
  };
665
669
  nativeId?: string | undefined;
666
670
  pluginInfo?: {
@@ -822,6 +826,7 @@ export declare const createCameraSchema: zod.ZodPipe<zod.ZodObject<{
822
826
  };
823
827
  frameWorkerSettings: {
824
828
  fps: number;
829
+ hqSnapshots: boolean;
825
830
  };
826
831
  nativeId?: string | undefined;
827
832
  pluginInfo?: {
@@ -983,6 +988,7 @@ export declare const patchCameraSchema: zod.ZodPipe<zod.ZodObject<{
983
988
  }, zod.z.core.$strip>>;
984
989
  frameWorkerSettings: zod.ZodOptional<zod.ZodObject<{
985
990
  fps: zod.ZodOptional<zod.ZodNumber>;
991
+ hqSnapshots: zod.ZodOptional<zod.ZodDefault<zod.ZodBoolean>>;
986
992
  }, zod.z.core.$strip>>;
987
993
  }, zod.z.core.$strict>, zod.ZodTransform<{
988
994
  disabled?: boolean | undefined;
@@ -1138,6 +1144,7 @@ export declare const patchCameraSchema: zod.ZodPipe<zod.ZodObject<{
1138
1144
  } | undefined;
1139
1145
  frameWorkerSettings?: {
1140
1146
  fps?: number | undefined;
1147
+ hqSnapshots?: boolean | undefined;
1141
1148
  } | undefined;
1142
1149
  }, {
1143
1150
  disabled?: boolean | undefined;
@@ -1293,6 +1300,7 @@ export declare const patchCameraSchema: zod.ZodPipe<zod.ZodObject<{
1293
1300
  } | undefined;
1294
1301
  frameWorkerSettings?: {
1295
1302
  fps?: number | undefined;
1303
+ hqSnapshots?: boolean | undefined;
1296
1304
  } | undefined;
1297
1305
  }>>;
1298
1306
  export declare const previewCameraSchema: zod.ZodObject<{
@@ -232,6 +232,7 @@ export const aspectRatioSchema = zod.union([
232
232
  ]);
233
233
  export const frameWorkerSettingsSchema = zod.object({
234
234
  fps: zod.number().min(0, 'Minimum 0 fps').max(30, 'Maximum 30 fps'),
235
+ hqSnapshots: zod.boolean().default(false),
235
236
  });
236
237
  export const cameraTypeSchema = zod.union([zod.literal('camera'), zod.literal('doorbell')]);
237
238
  export const interfaceSettingsSchema = zod.object({
@@ -357,6 +358,7 @@ export const createCameraBaseSchema = zod
357
358
  ptzAutotrack: ptzAutotrackSettingsSchema.default(DEFAULT_PTZ_AUTOTRACK_SETTINGS),
358
359
  frameWorkerSettings: frameWorkerSettingsSchema.default({
359
360
  fps: 10,
361
+ hqSnapshots: false,
360
362
  }),
361
363
  })
362
364
  .strict();