camera.ui3 0.0.34-alpha.1 → 0.0.34-alpha.2

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/@tanstack.DaYhomXG.0.0.34-alpha.2.js +1 -0
  2. package/dist/interface/{@vee-validate.BYAqeMXW.0.0.34-alpha.1.js → @vee-validate.BgfhJ3tv.0.0.34-alpha.2.js} +1 -1
  3. package/dist/interface/@vue.D0DP0v6_.0.0.34-alpha.2.js +17 -0
  4. package/dist/interface/{@vueform.BsJeH1VL.0.0.34-alpha.1.js → @vueform.B9nWZDbJ.0.0.34-alpha.2.js} +1 -1
  5. package/dist/interface/{@vueuse.C89QVsKq.0.0.34-alpha.1.js → @vueuse.Di3-85fa.0.0.34-alpha.2.js} +1 -1
  6. package/dist/interface/{Account.Dl_h4WcJ.0.0.34-alpha.1.js → Account.Dt2M2G9T.0.0.34-alpha.2.js} +1 -1
  7. package/dist/interface/{Adminpanel.B2CrHAQm.0.0.34-alpha.1.js → Adminpanel.C3sidzLi.0.0.34-alpha.2.js} +2 -2
  8. package/dist/interface/{Appearance.8KGURqrg.0.0.34-alpha.1.js → Appearance.DcUS-yy7.0.0.34-alpha.2.js} +1 -1
  9. package/dist/interface/{Backup.ByUwt7pB.0.0.34-alpha.1.js → Backup.DDEr-2_6.0.0.34-alpha.2.js} +1 -1
  10. package/dist/interface/Camera.CLxaywAi.0.0.34-alpha.2.js +1 -0
  11. package/dist/interface/Cameras.CKQTl7Gl.0.0.34-alpha.2.js +1 -0
  12. package/dist/interface/Camview.BuKRBlZg.0.0.34-alpha.2.js +1 -0
  13. package/dist/interface/{Config.n7S8GG-f.0.0.34-alpha.1.js → Config.B9PNvDV2.0.0.34-alpha.2.js} +1 -1
  14. package/dist/interface/Console.DnRRAJB4.0.0.34-alpha.2.js +4 -0
  15. package/dist/interface/{FirstSteps.DBHaCFiB.0.0.34-alpha.1.js → FirstSteps.YGowg836.0.0.34-alpha.2.js} +1 -1
  16. package/dist/interface/{NewCamera.DXZTbw6t.0.0.34-alpha.1.js → NewCamera.fxgE3DwM.0.0.34-alpha.2.js} +2 -2
  17. package/dist/interface/Plugin.CKc5qj6D.0.0.34-alpha.2.js +1 -0
  18. package/dist/interface/Plugins.DjzGLIs2.0.0.34-alpha.2.js +1 -0
  19. package/dist/interface/Recordings.MD4_BOBv.0.0.34-alpha.2.js +1 -0
  20. package/dist/interface/Recordings.jFnATBbC.0.0.34-alpha.2.js +1 -0
  21. package/dist/interface/{Settings.Brji5kRj.0.0.34-alpha.1.js → Settings.CNd6al6p.0.0.34-alpha.2.js} +1 -1
  22. package/dist/interface/{System.DYvfAoEM.0.0.34-alpha.1.js → System.BjAkow0D.0.0.34-alpha.2.js} +1 -1
  23. package/dist/interface/{User.Mr1DinvX.0.0.34-alpha.1.js → User.BtpdbtGz.0.0.34-alpha.2.js} +1 -1
  24. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.DaPxq8EI.0.0.34-alpha.1.js → VConfigEditor.vue_vue_type_script_setup_true_lang.DYl7B603.0.0.34-alpha.2.js} +2 -2
  25. package/dist/interface/{VConsole.sVPWAfNY.0.0.34-alpha.1.js → VConsole.BA0SOrQC.0.0.34-alpha.2.js} +1 -1
  26. package/dist/interface/VPlayer.CSx272u1.0.0.34-alpha.2.js +4 -0
  27. package/dist/interface/VPluginCard.Bump1l-o.0.0.34-alpha.2.js +4 -0
  28. package/dist/interface/{ace-builds.Cnj3uJ-i.0.0.34-alpha.1.js → ace-builds.CRQWwDGY.0.0.34-alpha.2.js} +1 -1
  29. package/dist/interface/{apexcharts.CMLplPnj.0.0.34-alpha.1.js → apexcharts.DXGZ805q.0.0.34-alpha.2.js} +1 -1
  30. package/dist/interface/assets/Cameras.0.0.34-alpha.2.CF0l3cIy.css +1 -0
  31. package/dist/interface/assets/Console.0.0.34-alpha.2.DJvMOm8N.css +1 -0
  32. package/dist/interface/assets/{VPlayer.0.0.34-alpha.1.DmbaAA_3.css → VPlayer.0.0.34-alpha.2.Pcy9j9b5.css} +1 -1
  33. package/dist/interface/assets/VPluginCard.0.0.34-alpha.2.W0BxyDkV.css +1 -0
  34. package/dist/interface/assets/main.0.0.34-alpha.2.D6i_pncP.css +1 -0
  35. package/dist/interface/{dnd-core.DXuprW1u.0.0.34-alpha.1.js → dnd-core.CsRU4im_.0.0.34-alpha.2.js} +1 -1
  36. package/dist/interface/{draggabilly.B4gt8cuQ.0.0.34-alpha.1.js → draggabilly.l2s5eYjI.0.0.34-alpha.2.js} +1 -1
  37. package/dist/interface/{engine.io-client.C6Wzx_jT.0.0.34-alpha.1.js → engine.io-client.Dwbs-ZkK.0.0.34-alpha.2.js} +1 -1
  38. package/dist/interface/{ev-emitter.CCoflQaJ.0.0.34-alpha.1.js → ev-emitter.DepL03rS.0.0.34-alpha.2.js} +1 -1
  39. package/dist/interface/{fast-deep-equal.A6REbYuf.0.0.34-alpha.1.js → fast-deep-equal.CmcaBmI9.0.0.34-alpha.2.js} +1 -1
  40. package/dist/interface/{highlight.js.ChQi-SWt.0.0.34-alpha.1.js → highlight.js.DZ1tIawt.0.0.34-alpha.2.js} +1 -1
  41. package/dist/interface/index.html +31 -31
  42. package/dist/interface/{linkify-it.V_1DZtim.0.0.34-alpha.1.js → linkify-it.BGRcCXsE.0.0.34-alpha.2.js} +1 -1
  43. package/dist/interface/main.CHr8NDgU.0.0.34-alpha.2.js +5 -0
  44. package/dist/interface/{markdown-it.BSp5IUES.0.0.34-alpha.1.js → markdown-it.BuMckFhq.0.0.34-alpha.2.js} +1 -1
  45. package/dist/interface/{nprogress.BMn57QX7.0.0.34-alpha.1.js → nprogress.CKm3qYbh.0.0.34-alpha.2.js} +1 -1
  46. package/dist/interface/{pinia.C5B5h5W-.0.0.34-alpha.1.js → pinia.CgXasWeS.0.0.34-alpha.2.js} +1 -1
  47. package/dist/interface/plugins.OB3Qt6a7.0.0.34-alpha.2.js +1 -0
  48. package/dist/interface/{qrcode.CoLGEQa3.0.0.34-alpha.1.js → qrcode.xTmFSDRr.0.0.34-alpha.2.js} +1 -1
  49. package/dist/interface/{react-dnd-touch-backend.CC-llxq1.0.0.34-alpha.1.js → react-dnd-touch-backend.pfTbNVbd.0.0.34-alpha.2.js} +1 -1
  50. package/dist/interface/{rxjs.DhS72WZW.0.0.34-alpha.1.js → rxjs.D38gERkL.0.0.34-alpha.2.js} +1 -1
  51. package/dist/interface/{socket.io-client.DA70sIzA.0.0.34-alpha.1.js → socket.io-client.DyznceoQ.0.0.34-alpha.2.js} +1 -1
  52. package/dist/interface/{socket.io-parser.Lr_NuxFX.0.0.34-alpha.1.js → socket.io-parser.DxT7zcFX.0.0.34-alpha.2.js} +1 -1
  53. package/dist/interface/sw.js +1 -1
  54. package/dist/interface/system.DZXlNuRR.0.0.34-alpha.2.js +1 -0
  55. package/dist/interface/{unidragger.B5ZpJ0o9.0.0.34-alpha.1.js → unidragger.D0z7py8V.0.0.34-alpha.2.js} +1 -1
  56. package/dist/interface/{v-calendar.BP5jhivB.0.0.34-alpha.1.js → v-calendar.B8iX5lRb.0.0.34-alpha.2.js} +1 -1
  57. package/dist/interface/{vee-validate.dtT7hUg2.0.0.34-alpha.1.js → vee-validate.DKbtKMvz.0.0.34-alpha.2.js} +1 -1
  58. package/dist/interface/{vue-i18n.CISOas5G.0.0.34-alpha.1.js → vue-i18n.BH1Ai61X.0.0.34-alpha.2.js} +1 -1
  59. package/dist/interface/{vue-inline-svg.DY4V2SdK.0.0.34-alpha.1.js → vue-inline-svg.DuJxxmO_.0.0.34-alpha.2.js} +1 -1
  60. package/dist/interface/{vue-router.CA6UHABl.0.0.34-alpha.1.js → vue-router.C0Bd386U.0.0.34-alpha.2.js} +1 -1
  61. package/dist/interface/{vue3-apexcharts.D_2v4auN.0.0.34-alpha.1.js → vue3-apexcharts.BvLojs3t.0.0.34-alpha.2.js} +1 -1
  62. package/dist/interface/{vue3-dnd.CcvZ77YQ.0.0.34-alpha.1.js → vue3-dnd.DMur3pq_.0.0.34-alpha.2.js} +1 -1
  63. package/dist/interface/{vue3-toastify.BnsRFQgq.0.0.34-alpha.1.js → vue3-toastify.CQn1aNYZ.0.0.34-alpha.2.js} +1 -1
  64. package/dist/interface/vuetify.BawD4IXx.0.0.34-alpha.2.js +5 -0
  65. package/dist/server/bin/cameraui.d.ts +3 -2
  66. package/dist/server/bin/cameraui.js +59 -76
  67. package/dist/server/bin/cameraui.js.map +1 -1
  68. package/dist/server/bin/fork.js +1 -4
  69. package/dist/server/bin/fork.js.map +1 -1
  70. package/dist/server/bin/installer/win32.js +3 -3
  71. package/dist/server/bin/installer/win32.js.map +1 -1
  72. package/dist/server/bin/logger.d.ts +3 -2
  73. package/dist/server/bin/logger.js +33 -20
  74. package/dist/server/bin/logger.js.map +1 -1
  75. package/dist/server/package.json +15 -11
  76. package/dist/server/requirements.txt +3 -2
  77. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -0
  78. package/dist/server/src/api/controllers/cameras.controller.js +67 -11
  79. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  80. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  81. package/dist/server/src/api/controllers/frameWorkers.controller.js +14 -6
  82. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  83. package/dist/server/src/api/controllers/plugins.controller.d.ts +2 -0
  84. package/dist/server/src/api/controllers/plugins.controller.js +61 -2
  85. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  86. package/dist/server/src/api/controllers/system.controller.d.ts +2 -2
  87. package/dist/server/src/api/controllers/system.controller.js +18 -40
  88. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  89. package/dist/server/src/api/database/checks.d.ts +55 -0
  90. package/dist/server/src/api/database/checks.js +183 -0
  91. package/dist/server/src/api/database/checks.js.map +1 -0
  92. package/dist/server/src/api/database/index.d.ts +2 -1
  93. package/dist/server/src/api/database/index.js +6 -2
  94. package/dist/server/src/api/database/index.js.map +1 -1
  95. package/dist/server/src/api/database/migration.d.ts +1 -0
  96. package/dist/server/src/api/database/migration.js +17 -0
  97. package/dist/server/src/api/database/migration.js.map +1 -1
  98. package/dist/server/src/api/database/selfcheck.d.ts +48 -0
  99. package/dist/server/src/api/database/selfcheck.js +398 -0
  100. package/dist/server/src/api/database/selfcheck.js.map +1 -0
  101. package/dist/server/src/api/routes/cameras.routes.js +12 -0
  102. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  103. package/dist/server/src/api/routes/plugins.routes.js +24 -0
  104. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  105. package/dist/server/src/api/schemas/cameras.schema.d.ts +13 -13
  106. package/dist/server/src/api/schemas/cameras.schema.js +2 -2
  107. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  108. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  109. package/dist/server/src/api/services/cameras.service.js +13 -2
  110. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  111. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  112. package/dist/server/src/api/services/plugins.service.js +8 -3
  113. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  114. package/dist/server/src/api/types/index.d.ts +0 -5
  115. package/dist/server/src/api/websocket/index.js +1 -0
  116. package/dist/server/src/api/websocket/index.js.map +1 -1
  117. package/dist/server/src/api/websocket/nsp/logs.d.ts +7 -1
  118. package/dist/server/src/api/websocket/nsp/logs.js +70 -51
  119. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  120. package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
  121. package/dist/server/src/api/websocket/nsp/metrics.js +15 -13
  122. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  123. package/dist/server/src/api/websocket/nsp/plugins.js +3 -3
  124. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  125. package/dist/server/src/api/websocket/nsp/status.d.ts +1 -1
  126. package/dist/server/src/api/websocket/nsp/status.js +8 -6
  127. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  128. package/dist/server/src/api.d.ts +5 -14
  129. package/dist/server/src/api.js +43 -24
  130. package/dist/server/src/api.js.map +1 -1
  131. package/dist/server/src/camera/controller.d.ts +16 -3
  132. package/dist/server/src/camera/controller.js +105 -17
  133. package/dist/server/src/camera/controller.js.map +1 -1
  134. package/dist/server/src/{decoder/worker.d.ts → camera/frameWorker.d.ts} +8 -5
  135. package/dist/server/src/{decoder/worker.js → camera/frameWorker.js} +124 -50
  136. package/dist/server/src/camera/frameWorker.js.map +1 -0
  137. package/dist/server/src/go2rtc/index.js +18 -5
  138. package/dist/server/src/go2rtc/index.js.map +1 -1
  139. package/dist/server/src/main.js +23 -51
  140. package/dist/server/src/main.js.map +1 -1
  141. package/dist/server/src/nats/index.js +1 -0
  142. package/dist/server/src/nats/index.js.map +1 -1
  143. package/dist/server/src/nats/proxy/cameraDevice.js +34 -42
  144. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  145. package/dist/server/src/nats/server.js +29 -18
  146. package/dist/server/src/nats/server.js.map +1 -1
  147. package/dist/server/src/plugins/index.d.ts +2 -4
  148. package/dist/server/src/plugins/index.js +22 -29
  149. package/dist/server/src/plugins/index.js.map +1 -1
  150. package/dist/server/src/plugins/plugin.d.ts +5 -0
  151. package/dist/server/src/plugins/plugin.js +40 -6
  152. package/dist/server/src/plugins/plugin.js.map +1 -1
  153. package/dist/server/src/plugins/worker.d.ts +16 -2
  154. package/dist/server/src/plugins/worker.js +180 -40
  155. package/dist/server/src/plugins/worker.js.map +1 -1
  156. package/dist/server/src/services/config/constants.d.ts +1 -0
  157. package/dist/server/src/services/config/constants.js +3 -2
  158. package/dist/server/src/services/config/constants.js.map +1 -1
  159. package/dist/server/src/services/config/index.d.ts +11 -2
  160. package/dist/server/src/services/config/index.js +53 -6
  161. package/dist/server/src/services/config/index.js.map +1 -1
  162. package/dist/server/src/services/config/types.d.ts +7 -0
  163. package/dist/server/src/services/config/types.js.map +1 -1
  164. package/localdeps.txt +1 -0
  165. package/package.json +15 -11
  166. package/dist/interface/@tanstack.CxmCad5b.0.0.34-alpha.1.js +0 -1
  167. package/dist/interface/@vue.DNK0rzTJ.0.0.34-alpha.1.js +0 -17
  168. package/dist/interface/Camera.DdT22vMP.0.0.34-alpha.1.js +0 -1
  169. package/dist/interface/Cameras.BsZY_8-0.0.0.34-alpha.1.js +0 -1
  170. package/dist/interface/Camview.BgyUqS9_.0.0.34-alpha.1.js +0 -1
  171. package/dist/interface/Console.C5qRkDn7.0.0.34-alpha.1.js +0 -4
  172. package/dist/interface/Plugin.9gJauF_V.0.0.34-alpha.1.js +0 -1
  173. package/dist/interface/Plugins.Ek1Yocg_.0.0.34-alpha.1.js +0 -1
  174. package/dist/interface/Recordings.BIdhE95Q.0.0.34-alpha.1.js +0 -1
  175. package/dist/interface/Recordings.DVu_tzMT.0.0.34-alpha.1.js +0 -1
  176. package/dist/interface/VPlayer.DlJrYynC.0.0.34-alpha.1.js +0 -1
  177. package/dist/interface/VPluginCard.BXrvS7zB.0.0.34-alpha.1.js +0 -4
  178. package/dist/interface/assets/Cameras.0.0.34-alpha.1.BgZN27ly.css +0 -1
  179. package/dist/interface/assets/Console.0.0.34-alpha.1.Cjiivzet.css +0 -1
  180. package/dist/interface/assets/VPluginCard.0.0.34-alpha.1.BpMChOJT.css +0 -1
  181. package/dist/interface/assets/main.0.0.34-alpha.1.Degnpyky.css +0 -1
  182. package/dist/interface/main.bKEuHXmK.0.0.34-alpha.1.js +0 -5
  183. package/dist/interface/plugins.BbNP66vO.0.0.34-alpha.1.js +0 -1
  184. package/dist/interface/system.BkLh9FNA.0.0.34-alpha.1.js +0 -1
  185. package/dist/interface/vuetify.DiAVhTT5.0.0.34-alpha.1.js +0 -5
  186. package/dist/server/src/decoder/index.d.ts +0 -11
  187. package/dist/server/src/decoder/index.js +0 -32
  188. package/dist/server/src/decoder/index.js.map +0 -1
  189. package/dist/server/src/decoder/types.d.ts +0 -7
  190. package/dist/server/src/decoder/types.js +0 -2
  191. package/dist/server/src/decoder/types.js.map +0 -1
  192. package/dist/server/src/decoder/worker.js.map +0 -1
  193. /package/dist/interface/{@babel.l0sNRNKZ.0.0.34-alpha.1.js → @babel.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  194. /package/dist/interface/{@intlify.sEJX3RNi.0.0.34-alpha.1.js → @intlify.sEJX3RNi.0.0.34-alpha.2.js} +0 -0
  195. /package/dist/interface/{@mdi.C1UTQKuc.0.0.34-alpha.1.js → @mdi.C1UTQKuc.0.0.34-alpha.2.js} +0 -0
  196. /package/dist/interface/{@popperjs.l0sNRNKZ.0.0.34-alpha.1.js → @popperjs.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  197. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.34-alpha.1.js → @react-dnd.CcwRs9xb.0.0.34-alpha.2.js} +0 -0
  198. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.34-alpha.1.js → @socket.io.Dkula2eQ.0.0.34-alpha.2.js} +0 -0
  199. /package/dist/interface/{@turf.l0sNRNKZ.0.0.34-alpha.1.js → @turf.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  200. /package/dist/interface/{@xterm.CEvrn8WJ.0.0.34-alpha.1.js → @xterm.Dv6b8EJg.0.0.34-alpha.2.js} +0 -0
  201. /package/dist/interface/assets/{@vueform.0.0.34-alpha.1.h7tNX9p6.css → @vueform.0.0.34-alpha.2.h7tNX9p6.css} +0 -0
  202. /package/dist/interface/assets/{@xterm.0.0.34-alpha.1.CGrrDQr5.css → @xterm.0.0.34-alpha.2.CGrrDQr5.css} +0 -0
  203. /package/dist/interface/assets/{Account.0.0.34-alpha.1.Ce3OmKrC.css → Account.0.0.34-alpha.2.Ce3OmKrC.css} +0 -0
  204. /package/dist/interface/assets/{Adminpanel.0.0.34-alpha.1.BCpVV7QL.css → Adminpanel.0.0.34-alpha.2.BCpVV7QL.css} +0 -0
  205. /package/dist/interface/assets/{Backup.0.0.34-alpha.1.BIwaSlv3.css → Backup.0.0.34-alpha.2.BIwaSlv3.css} +0 -0
  206. /package/dist/interface/assets/{Camera.0.0.34-alpha.1.D49XscoW.css → Camera.0.0.34-alpha.2.D49XscoW.css} +0 -0
  207. /package/dist/interface/assets/{Camview.0.0.34-alpha.1.BdTE1Iny.css → Camview.0.0.34-alpha.2.BdTE1Iny.css} +0 -0
  208. /package/dist/interface/assets/{Config.0.0.34-alpha.1.BtdZEuQO.css → Config.0.0.34-alpha.2.BtdZEuQO.css} +0 -0
  209. /package/dist/interface/assets/{FirstSteps.0.0.34-alpha.1.CCo2y-sU.css → FirstSteps.0.0.34-alpha.2.CCo2y-sU.css} +0 -0
  210. /package/dist/interface/assets/{NewCamera.0.0.34-alpha.1.W16dakdJ.css → NewCamera.0.0.34-alpha.2.W16dakdJ.css} +0 -0
  211. /package/dist/interface/assets/{Plugin.0.0.34-alpha.1.BtRA6zDt.css → Plugin.0.0.34-alpha.2.BtRA6zDt.css} +0 -0
  212. /package/dist/interface/assets/{Plugins.0.0.34-alpha.1.Cwu0aGUO.css → Plugins.0.0.34-alpha.2.Cwu0aGUO.css} +0 -0
  213. /package/dist/interface/assets/{Settings.0.0.34-alpha.1.DTRm1psP.css → Settings.0.0.34-alpha.2.DTRm1psP.css} +0 -0
  214. /package/dist/interface/assets/{User.0.0.34-alpha.1.DPDcJbx8.css → User.0.0.34-alpha.2.DPDcJbx8.css} +0 -0
  215. /package/dist/interface/assets/{VConsole.0.0.34-alpha.1.e0RL6-05.css → VConsole.0.0.34-alpha.2.e0RL6-05.css} +0 -0
  216. /package/dist/interface/assets/{highlight.0.0.34-alpha.1.DgoK_Xib.css → highlight.0.0.34-alpha.2.DgoK_Xib.css} +0 -0
  217. /package/dist/interface/assets/{logo-256.0.0.34-alpha.1.BCQk9H1-.png → logo-256.0.0.34-alpha.2.BCQk9H1-.png} +0 -0
  218. /package/dist/interface/assets/{logo-512.0.0.34-alpha.1.DLKVOU2S.png → logo-512.0.0.34-alpha.2.DLKVOU2S.png} +0 -0
  219. /package/dist/interface/assets/{logo.0.0.34-alpha.1.DmEiRk0z.png → logo.0.0.34-alpha.2.DmEiRk0z.png} +0 -0
  220. /package/dist/interface/assets/{mode-json.0.0.34-alpha.1.Br7xisR1.js → mode-json.0.0.34-alpha.2.Br7xisR1.js} +0 -0
  221. /package/dist/interface/assets/{mode-yaml.0.0.34-alpha.1.CIYL8U3d.js → mode-yaml.0.0.34-alpha.2.CIYL8U3d.js} +0 -0
  222. /package/dist/interface/assets/{vue3-toastify.0.0.34-alpha.1.DTY1DMRs.css → vue3-toastify.0.0.34-alpha.2.DTY1DMRs.css} +0 -0
  223. /package/dist/interface/assets/{vuetify.0.0.34-alpha.1.B_k2Rcut.css → vuetify.0.0.34-alpha.2.B_k2Rcut.css} +0 -0
  224. /package/dist/interface/{axios.C-n2IhIP.0.0.34-alpha.1.js → axios.C-n2IhIP.0.0.34-alpha.2.js} +0 -0
  225. /package/dist/interface/{compare-versions.DqEOhma6.0.0.34-alpha.1.js → compare-versions.DqEOhma6.0.0.34-alpha.2.js} +0 -0
  226. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.34-alpha.1.js → dijkstrajs.D_NXgYpA.0.0.34-alpha.2.js} +0 -0
  227. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.34-alpha.1.js → engine.io-parser.BiEtp6m2.0.0.34-alpha.2.js} +0 -0
  228. /package/dist/interface/{entities.C20TfXL6.0.0.34-alpha.1.js → entities.C20TfXL6.0.0.34-alpha.2.js} +0 -0
  229. /package/dist/interface/{get-size.D1dS-IaP.0.0.34-alpha.1.js → get-size.D1dS-IaP.0.0.34-alpha.2.js} +0 -0
  230. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.34-alpha.1.js → mdurl.k9Sl0PQj.0.0.34-alpha.2.js} +0 -0
  231. /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.34-alpha.1.js → point-in-polygon-hao.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  232. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.34-alpha.1.js → punycode.js.Dj65hjkv.0.0.34-alpha.2.js} +0 -0
  233. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.1.js → react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.2.js} +0 -0
  234. /package/dist/interface/{redux.CuxFRhX_.0.0.34-alpha.1.js → redux.CuxFRhX_.0.0.34-alpha.2.js} +0 -0
  235. /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.34-alpha.1.js → sweepline-intersections.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  236. /package/dist/interface/{tslib.9k7AwCpt.0.0.34-alpha.1.js → tslib.9k7AwCpt.0.0.34-alpha.2.js} +0 -0
  237. /package/dist/interface/{types.Cz9TaZAP.0.0.34-alpha.1.js → types.Cz9TaZAP.0.0.34-alpha.2.js} +0 -0
  238. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.34-alpha.1.js → uc.micro.kMc2yuuw.0.0.34-alpha.2.js} +0 -0
  239. /package/dist/interface/{utils.mAKpSMLY.0.0.34-alpha.1.js → utils.mAKpSMLY.0.0.34-alpha.2.js} +0 -0
  240. /package/dist/interface/{uuid.DvF23Exx.0.0.34-alpha.1.js → uuid.DvF23Exx.0.0.34-alpha.2.js} +0 -0
  241. /package/dist/interface/{vue.l0sNRNKZ.0.0.34-alpha.1.js → vue.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  242. /package/dist/interface/{zod.DnW1_kUe.0.0.34-alpha.1.js → zod.DnW1_kUe.0.0.34-alpha.2.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "camera.ui3",
3
- "version": "0.0.34-alpha.1",
3
+ "version": "0.0.34-alpha.2",
4
4
  "description": "camera.ui",
5
5
  "author": "seydx (https://github.com/seydx/camera.ui)",
6
6
  "bin": {
@@ -16,28 +16,31 @@
16
16
  "type": "module",
17
17
  "scripts": {
18
18
  "build": "rimraf ./dist/server && tsc && copyfiles package.json dist/server && copyfiles requirements.txt ./dist/server",
19
+ "check": "tsc --noEmit",
19
20
  "format": "prettier --write 'src/' 'bin/' --ignore-unknown --no-error-on-unmatched-pattern",
20
21
  "install-updates": "npm i --save",
21
22
  "lint": "eslint --fix --ext .js,.ts .",
22
23
  "update": "updates --update ./",
23
- "watch": "nodemon",
24
+ "watch": "nodemon bin/cameraui.ts -H ../.camera.ui run --stdout",
24
25
  "prepublishOnly": "node -e \"if(!process.env.SAFE_PUBLISH){console.error('Error: Use npm run publish:latest or npm run publish:alpha to publish');process.exit(1)}\"",
25
26
  "publish:latest": "npm run lint && npm run format && npm run build && tsx ../scripts/publish.ts -p ./ -m ./localdeps.txt --cameraui",
26
27
  "publish:alpha": "npm run lint && npm run format && npm run build && tsx ../scripts/publish.ts -p ./ -m ./localdeps.txt --cameraui --npm-args --tag alpha"
27
28
  },
28
29
  "dependencies": {
29
- "@camera.ui/common": "^0.0.21",
30
+ "@camera.ui/common": "^0.0.22",
31
+ "@camera.ui/ffmpeg": "^0.0.4",
30
32
  "@camera.ui/go2rtc": "^0.0.23",
31
- "@camera.ui/nats": "^0.0.13",
32
- "@camera.ui/plugineer": "^0.0.21",
33
- "@camera.ui/types": "^0.0.76",
33
+ "@camera.ui/nats": "^0.0.14",
34
+ "@camera.ui/plugineer": "^0.0.23",
35
+ "@camera.ui/types": "^0.0.77",
34
36
  "@fastify/cors": "^10.0.1",
35
37
  "@fastify/formbody": "^8.0.1",
36
38
  "@fastify/helmet": "^12.0.1",
37
39
  "@fastify/multipart": "^9.0.1",
38
- "@fastify/static": "^8.0.1",
40
+ "@fastify/static": "^8.0.2",
39
41
  "@isaacs/ttlcache": "^1.4.1",
40
42
  "@scrypted/node-pty": "^1.0.18",
43
+ "ansi-regex": "^6.1.0",
41
44
  "ansicolor": "^2.0.3",
42
45
  "commander": "^12.1.0",
43
46
  "compare-versions": "^6.1.1",
@@ -46,7 +49,7 @@
46
49
  "fastify": "^5.0.0",
47
50
  "fastify-plugin": "^5.0.1",
48
51
  "fastify-type-provider-zod": "^4.0.2",
49
- "ffmpeg-for-homebridge": "^2.1.3",
52
+ "fkill": "^9.0.0",
50
53
  "fs-extra": "^11.2.0",
51
54
  "get-port": "^7.1.0",
52
55
  "js-yaml": "^4.1.0",
@@ -57,6 +60,7 @@
57
60
  "node-forge": "^1.3.1",
58
61
  "object-path": "^0.11.8",
59
62
  "ora": "^8.1.0",
63
+ "ps-list": "^8.1.1",
60
64
  "qs": "^6.13.0",
61
65
  "reflect-metadata": "^0.2.2",
62
66
  "rxjs": "^7.8.1",
@@ -79,7 +83,7 @@
79
83
  "@types/fs-extra": "^11.0.4",
80
84
  "@types/js-yaml": "^4.0.9",
81
85
  "@types/jsonwebtoken": "^9.0.7",
82
- "@types/node": "^22.7.5",
86
+ "@types/node": "^22.7.6",
83
87
  "@types/node-forge": "^1.3.11",
84
88
  "@types/object-path": "^0.11.4",
85
89
  "@types/safe-timers": "^1.1.2",
@@ -88,8 +92,8 @@
88
92
  "@types/tar": "^6.1.13",
89
93
  "@types/uuid": "^10.0.0",
90
94
  "@types/ws": "^8.5.12",
91
- "@typescript-eslint/eslint-plugin": "^8.8.1",
92
- "@typescript-eslint/parser": "^8.8.1",
95
+ "@typescript-eslint/eslint-plugin": "^8.10.0",
96
+ "@typescript-eslint/parser": "^8.10.0",
93
97
  "assemblyscript": "^0.27.30",
94
98
  "copyfiles": "^2.4.1",
95
99
  "cross-env": "^7.0.3",
@@ -8,6 +8,7 @@ lmdb==1.5.1
8
8
  typing-extensions==4.12.2
9
9
  cachetools==5.5.0
10
10
  msgpack==1.1.0
11
- aiohttp==3.10.9
12
- Pillow==10.4.0
11
+ aiohttp==3.10.10
12
+ Pillow==11.0.0
13
13
  virtualenv==20.26.6
14
+ setproctitle==1.3.3
@@ -26,6 +26,8 @@ export declare class CamerasController {
26
26
  preview(req: FastifyRequest<AuthLoginRequest & CamerasPreviewRequest>, reply: FastifyReply): Promise<FastifyReply>;
27
27
  list(req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | DBCamera[];
28
28
  patchByName(req: FastifyRequest<AuthLoginRequest & CamerasParamsRequest & CamerasPatchRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
29
+ clearLog(req: FastifyRequest<AuthLoginRequest & CamerasParamsRequest>, reply: FastifyReply): FastifyReply | void;
30
+ downloadLog(req: FastifyRequest<AuthLoginRequest & CamerasParamsRequest>, reply: FastifyReply): FastifyReply | void;
29
31
  enableExtensionByName(req: FastifyRequest<AuthLoginRequest & CamerasExtensionsParamsRequest & CamerasExtensionsRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
30
32
  disableExtensionByName(req: FastifyRequest<AuthLoginRequest & CamerasExtensionsParamsRequest & CamerasExtensionsRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
31
33
  addExtensionByName(req: FastifyRequest<AuthLoginRequest & CamerasExtensionsParamsRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
@@ -1,4 +1,6 @@
1
1
  import { orderBy } from '@camera.ui/common/utils';
2
+ import { createReadStream, truncate } from 'node:fs';
3
+ import { Readable } from 'node:stream';
2
4
  import { container } from 'tsyringe';
3
5
  import { CamerasService } from '../services/cameras.service.js';
4
6
  import { PluginsService } from '../services/plugins.service.js';
@@ -266,14 +268,14 @@ export class CamerasController {
266
268
  async probeSourceByName(req, reply) {
267
269
  try {
268
270
  const camera = this.service.findByName(req.params.cameraname) || this.service.findById(req.params.cameraname);
269
- const cameraDevice = this.api.getCamera(camera?._id || '');
270
- if (!camera || !cameraDevice) {
271
+ const cameraController = this.api.getCamera(camera?._id || '');
272
+ if (!camera || !cameraController) {
271
273
  return reply.code(404).send({
272
274
  statusCode: 404,
273
275
  message: 'Camera not exists',
274
276
  });
275
277
  }
276
- const source = cameraDevice.controller.sources.find((s) => s.name === req.params.sourcename);
278
+ const source = cameraController.sources.find((s) => s.name === req.params.sourcename);
277
279
  if (!source) {
278
280
  return reply.code(404).send({
279
281
  statusCode: 404,
@@ -293,15 +295,14 @@ export class CamerasController {
293
295
  async getSnapshotByName(req, reply) {
294
296
  try {
295
297
  const camera = this.service.findByName(req.params.cameraname) || this.service.findById(req.params.cameraname);
296
- const cameraMap = this.api.getCamera(camera?._id || '');
297
- const cameraDevice = cameraMap?.controller;
298
- if (!camera || !cameraDevice) {
298
+ const cameraController = this.api.getCamera(camera?._id || '');
299
+ if (!camera || !cameraController) {
299
300
  return reply.code(404).send({
300
301
  statusCode: 404,
301
302
  message: 'Camera not exists',
302
303
  });
303
304
  }
304
- const snapshot = await cameraDevice.snapshot(req.query.forceNew);
305
+ const snapshot = await cameraController.snapshot(req.query.forceNew);
305
306
  const base64string = snapshot ? Buffer.from(snapshot).toString('base64') : undefined;
306
307
  reply.header('Content-Type', 'image/jpeg');
307
308
  return reply.code(200).send(base64string);
@@ -316,15 +317,14 @@ export class CamerasController {
316
317
  async getSnapshotById(req, reply) {
317
318
  try {
318
319
  const camera = this.service.findById(req.params.cameraid);
319
- const cameraMap = this.api.getCamera(camera?._id || '');
320
- const cameraDevice = cameraMap?.controller;
321
- if (!camera || !cameraDevice) {
320
+ const cameraController = this.api.getCamera(camera?._id || '');
321
+ if (!camera || !cameraController) {
322
322
  return reply.code(404).send({
323
323
  statusCode: 404,
324
324
  message: 'Camera not exists',
325
325
  });
326
326
  }
327
- const snapshot = await cameraDevice.snapshot();
327
+ const snapshot = await cameraController.snapshot();
328
328
  const base64string = snapshot ? Buffer.from(snapshot).toString('base64') : undefined;
329
329
  reply.header('Content-Type', 'image/jpeg');
330
330
  return reply.code(200).send(base64string);
@@ -424,6 +424,62 @@ export class CamerasController {
424
424
  });
425
425
  }
426
426
  }
427
+ clearLog(req, reply) {
428
+ try {
429
+ const cameraController = this.api.getCamera(req.params.cameraname);
430
+ if (!cameraController) {
431
+ return reply.code(404).send({
432
+ statusCode: 404,
433
+ message: 'Camera not exists',
434
+ });
435
+ }
436
+ truncate(cameraController.logPath, (error) => {
437
+ if (error) {
438
+ return reply.code(500).send({
439
+ statusCode: 500,
440
+ message: error.message,
441
+ });
442
+ }
443
+ this.app.io.of('/logs').emit('clear-camera-log', cameraController.name);
444
+ return reply.code(204).send();
445
+ });
446
+ }
447
+ catch (error) {
448
+ return reply.code(500).send({
449
+ statusCode: 500,
450
+ message: error.message,
451
+ });
452
+ }
453
+ }
454
+ downloadLog(req, reply) {
455
+ try {
456
+ const cameraController = this.api.getCamera(req.params.cameraname);
457
+ if (!cameraController) {
458
+ return reply.code(404).send({
459
+ statusCode: 404,
460
+ message: 'Camera not exists',
461
+ });
462
+ }
463
+ const buffer = new Readable();
464
+ buffer._read = () => { };
465
+ const readStream = createReadStream(cameraController.logPath);
466
+ readStream.on('data', (data) => {
467
+ buffer.push(data.toString('utf8').replace(/\x1b\[[0-9;]*m/g, ''));
468
+ });
469
+ readStream.on('end', () => {
470
+ buffer.push(null);
471
+ });
472
+ reply.header('Content-Type', 'application/octet-stream');
473
+ reply.header('Content-Disposition', `attachment; filename=camera.ui.${cameraController.name.replace(/ /g, '_')}.log.txt`);
474
+ return reply.code(200).send(buffer);
475
+ }
476
+ catch (error) {
477
+ return reply.code(500).send({
478
+ statusCode: 500,
479
+ message: error.message,
480
+ });
481
+ }
482
+ }
427
483
  async enableExtensionByName(req, reply) {
428
484
  try {
429
485
  const camera = this.service.findByName(req.params.cameraname) || this.service.findById(req.params.cameraname);
@@ -1 +1 @@
1
- {"version":3,"file":"cameras.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/cameras.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cameras.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/cameras.controller.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
2
2
  import type { AuthLoginRequest, FrameWorker, FrameWorkerParamsNameRequest, PaginationRequest } from '../types/index.js';
3
3
  export declare class FrameWorkersController {
4
4
  private app;
5
- private frameManager;
5
+ private api;
6
6
  constructor(app: FastifyInstance);
7
7
  list(req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | FrameWorker[];
8
8
  restartByName(req: FastifyRequest<AuthLoginRequest & FrameWorkerParamsNameRequest>, reply: FastifyReply): Promise<FastifyReply>;
@@ -2,14 +2,16 @@ import { orderBy } from '@camera.ui/common/utils';
2
2
  import { container } from 'tsyringe';
3
3
  export class FrameWorkersController {
4
4
  app;
5
- frameManager;
5
+ api;
6
6
  constructor(app) {
7
7
  this.app = app;
8
- this.frameManager = container.resolve('frameManager');
8
+ this.api = container.resolve('api');
9
9
  }
10
10
  list(req, reply) {
11
11
  try {
12
- const frameWorkers = Array.from(this.frameManager.frameWorkers.values()).map((frameWorker) => {
12
+ const cameraControllers = this.api.getCameras();
13
+ const frameWorkers = cameraControllers.map((cameraController) => {
14
+ const frameWorker = cameraController.frameWorker;
13
15
  return {
14
16
  name: frameWorker.name,
15
17
  status: frameWorker.status,
@@ -26,7 +28,9 @@ export class FrameWorkersController {
26
28
  }
27
29
  async restartByName(req, reply) {
28
30
  try {
29
- const frameWorker = Array.from(this.frameManager.frameWorkers.values()).find((frameWorker) => frameWorker.name === req.params.frameworkername);
31
+ const cameraControllers = this.api.getCameras();
32
+ const cameraController = cameraControllers.find((cameraController) => cameraController.frameWorker.name === req.params.frameworkername);
33
+ const frameWorker = cameraController?.frameWorker;
30
34
  if (!frameWorker) {
31
35
  return reply.code(404).send({
32
36
  statusCode: 404,
@@ -45,7 +49,9 @@ export class FrameWorkersController {
45
49
  }
46
50
  async startByName(req, reply) {
47
51
  try {
48
- const frameWorker = Array.from(this.frameManager.frameWorkers.values()).find((frameWorker) => frameWorker.name === req.params.frameworkername);
52
+ const cameraControllers = this.api.getCameras();
53
+ const cameraController = cameraControllers.find((cameraController) => cameraController.frameWorker.name === req.params.frameworkername);
54
+ const frameWorker = cameraController?.frameWorker;
49
55
  if (!frameWorker) {
50
56
  return reply.code(404).send({
51
57
  statusCode: 404,
@@ -64,7 +70,9 @@ export class FrameWorkersController {
64
70
  }
65
71
  async stopByName(req, reply) {
66
72
  try {
67
- const frameWorker = Array.from(this.frameManager.frameWorkers.values()).find((frameWorker) => frameWorker.name === req.params.frameworkername);
73
+ const cameraControllers = this.api.getCameras();
74
+ const cameraController = cameraControllers.find((cameraController) => cameraController.frameWorker.name === req.params.frameworkername);
75
+ const frameWorker = cameraController?.frameWorker;
68
76
  if (!frameWorker) {
69
77
  return reply.code(404).send({
70
78
  statusCode: 404,
@@ -1 +1 @@
1
- {"version":3,"file":"frameWorkers.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/frameWorkers.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameWorkers.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/frameWorkers.controller.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,8 @@ export declare class PluginsController {
32
32
  listExtensions(req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | PluginExtension[];
33
33
  patchConfigJsonByName(req: FastifyRequest<AuthLoginRequest & PluginsParamsNameRequest & PluginsConfigPatchRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
34
34
  restartByName(req: FastifyRequest<AuthLoginRequest & PluginsParamsNameRequest>, reply: FastifyReply): Promise<FastifyReply>;
35
+ clearLog(req: FastifyRequest<AuthLoginRequest & PluginsParamsNameRequest>, reply: FastifyReply): FastifyReply | void;
36
+ downloadLog(req: FastifyRequest<AuthLoginRequest & PluginsParamsNameRequest>, reply: FastifyReply): FastifyReply | void;
35
37
  search(req: FastifyRequest<AuthLoginRequest & PluginsQueryRequest & PaginationRequest>, reply: FastifyReply): Promise<FastifyReply | CameraUiPlugin[]>;
36
38
  startByName(req: FastifyRequest<AuthLoginRequest & PluginsParamsNameRequest>, reply: FastifyReply): Promise<FastifyReply>;
37
39
  stopByName(req: FastifyRequest<AuthLoginRequest & PluginsParamsNameRequest>, reply: FastifyReply): Promise<FastifyReply>;
@@ -4,16 +4,17 @@ import { spawn as spawnPty } from '@scrypted/node-pty';
4
4
  import { cyan, green, red, yellow } from 'ansicolor';
5
5
  import { ensureDir, move, pathExists, readJSON, readJson, remove, writeJson } from 'fs-extra/esm';
6
6
  import { createHash } from 'node:crypto';
7
- import { constants, readFile as readFileSync } from 'node:fs';
7
+ import { constants, createReadStream, readFile as readFileSync, truncate } from 'node:fs';
8
8
  import { access, mkdtemp, readFile, rmdir, unlink, writeFile } from 'node:fs/promises';
9
9
  import { platform, tmpdir, userInfo } from 'node:os';
10
10
  import { basename, dirname, join } from 'node:path';
11
+ import { Readable } from 'node:stream';
11
12
  import { gt, parse as parseVersion, satisfies } from 'semver';
12
13
  import sharp from 'sharp';
13
14
  import { x as extract } from 'tar';
14
15
  import { container } from 'tsyringe';
15
- import { APP_NAME } from '../../services/config/constants.js';
16
16
  import { PluginManager } from '../../plugins/index.js';
17
+ import { APP_NAME } from '../../services/config/constants.js';
17
18
  import { ConfigService } from '../../services/config/index.js';
18
19
  import { CamerasService } from '../services/cameras.service.js';
19
20
  import { PluginsService } from '../services/plugins.service.js';
@@ -633,6 +634,64 @@ export class PluginsController {
633
634
  });
634
635
  }
635
636
  }
637
+ clearLog(req, reply) {
638
+ try {
639
+ const pluginName = this.resolvePluginName(req.params);
640
+ const plugin = this.service.getPluginByName(pluginName);
641
+ if (!plugin) {
642
+ return reply.code(404).send({
643
+ statusCode: 404,
644
+ message: 'Plugin not exists',
645
+ });
646
+ }
647
+ truncate(plugin.logPath, (error) => {
648
+ if (error) {
649
+ return reply.code(500).send({
650
+ statusCode: 500,
651
+ message: error.message,
652
+ });
653
+ }
654
+ this.app.io.of('/logs').emit('clear-plugin-log', pluginName);
655
+ return reply.code(204).send();
656
+ });
657
+ }
658
+ catch (error) {
659
+ return reply.code(500).send({
660
+ statusCode: 500,
661
+ message: error.message,
662
+ });
663
+ }
664
+ }
665
+ downloadLog(req, reply) {
666
+ try {
667
+ const pluginName = this.resolvePluginName(req.params);
668
+ const plugin = this.service.getPluginByName(pluginName);
669
+ if (!plugin) {
670
+ return reply.code(404).send({
671
+ statusCode: 404,
672
+ message: 'Plugin not exists',
673
+ });
674
+ }
675
+ const buffer = new Readable();
676
+ buffer._read = () => { };
677
+ const readStream = createReadStream(plugin.logPath);
678
+ readStream.on('data', (data) => {
679
+ buffer.push(data.toString('utf8').replace(/\x1b\[[0-9;]*m/g, ''));
680
+ });
681
+ readStream.on('end', () => {
682
+ buffer.push(null);
683
+ });
684
+ reply.header('Content-Type', 'application/octet-stream');
685
+ reply.header('Content-Disposition', `attachment; filename=camera.ui.${plugin.pluginName}.log.txt`);
686
+ return reply.code(200).send(buffer);
687
+ }
688
+ catch (error) {
689
+ return reply.code(500).send({
690
+ statusCode: 500,
691
+ message: error.message,
692
+ });
693
+ }
694
+ }
636
695
  async search(req, reply) {
637
696
  try {
638
697
  const query = req.query.pluginname || '';