@camera.ui/server 0.0.14 → 0.0.16

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 (152) hide show
  1. package/dist/interface/{@tanstack.Cvca3GsJ.0.0.14.js → @tanstack.BjdVg-TE.0.0.16.js} +1 -1
  2. package/dist/interface/{@vee-validate.Dhm2s2jJ.0.0.14.js → @vee-validate.BY4_2lEs.0.0.16.js} +1 -1
  3. package/dist/interface/{@vueform.wl5SN6Kr.0.0.14.js → @vueform.DFvJBWIi.0.0.16.js} +1 -1
  4. package/dist/interface/{@vueuse.GozpFDMZ.0.0.14.js → @vueuse.CGN12qog.0.0.16.js} +1 -1
  5. package/dist/interface/{Account.CHpD0y6M.0.0.14.js → Account.CfJ0_AE8.0.0.16.js} +1 -1
  6. package/dist/interface/{Adminpanel.CelMh8wU.0.0.14.js → Adminpanel.FTycvGGP.0.0.16.js} +2 -2
  7. package/dist/interface/{Appearance.B0X5775O.0.0.14.js → Appearance.DZdFEn29.0.0.16.js} +1 -1
  8. package/dist/interface/{Backup.CciVdmKI.0.0.14.js → Backup.C63DnD6l.0.0.16.js} +1 -1
  9. package/dist/interface/{Camera.Bc0p6JVD.0.0.14.js → Camera.ClZr_XH5.0.0.16.js} +1 -1
  10. package/dist/interface/{Cameras.CDqjsGuM.0.0.14.js → Cameras.Du8aeeME.0.0.16.js} +1 -1
  11. package/dist/interface/{Camview.BCifNo-Z.0.0.14.js → Camview.Bo4mLtoT.0.0.16.js} +1 -1
  12. package/dist/interface/{Config.DaY-PxVq.0.0.14.js → Config.XeCgFEoY.0.0.16.js} +1 -1
  13. package/dist/interface/{Console.D6g6zVMZ.0.0.14.js → Console.8oN5H7vV.0.0.16.js} +1 -1
  14. package/dist/interface/{FirstSteps.BlXdIB1-.0.0.14.js → FirstSteps.mXqKiWM8.0.0.16.js} +1 -1
  15. package/dist/interface/{NewCamera.C6ceI-8A.0.0.14.js → NewCamera.0K90OojR.0.0.16.js} +1 -1
  16. package/dist/interface/{Plugin.B8sGxdo1.0.0.14.js → Plugin.BR9zmMja.0.0.16.js} +1 -1
  17. package/dist/interface/{Plugins.BTbLmvva.0.0.14.js → Plugins.49uEjmzr.0.0.16.js} +1 -1
  18. package/dist/interface/Recordings.Bi4EWX-j.0.0.16.js +1 -0
  19. package/dist/interface/Recordings.Ce60GFcU.0.0.16.js +1 -0
  20. package/dist/interface/{Settings.DcwLAKtn.0.0.14.js → Settings.LCEZwyhh.0.0.16.js} +1 -1
  21. package/dist/interface/{System.Dc0iwshQ.0.0.14.js → System.BLePSJ80.0.0.16.js} +1 -1
  22. package/dist/interface/{User.g2U_tFY3.0.0.14.js → User.C2qVrMxN.0.0.16.js} +1 -1
  23. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.EikqU5ed.0.0.14.js → VConfigEditor.vue_vue_type_script_setup_true_lang.J5gKGR9C.0.0.16.js} +2 -2
  24. package/dist/interface/{VConsole.CQqki9g1.0.0.14.js → VConsole.BStq4qh-.0.0.16.js} +1 -1
  25. package/dist/interface/{VPlayer.BdDvEUtF.0.0.14.js → VPlayer.B3YorBp_.0.0.16.js} +1 -1
  26. package/dist/interface/{VPluginCard.UxjDX7aw.0.0.14.js → VPluginCard.DR63SC8V.0.0.16.js} +1 -1
  27. package/dist/interface/{ace-builds.CFQYSvlz.0.0.14.js → ace-builds.BhnhUUTY.0.0.16.js} +1 -1
  28. package/dist/interface/{dnd-core.yQYwh7nE.0.0.14.js → dnd-core.B69q2Tfk.0.0.16.js} +1 -1
  29. package/dist/interface/{draggabilly.DVAyE9_D.0.0.14.js → draggabilly.DKBJ_DRn.0.0.16.js} +1 -1
  30. package/dist/interface/{engine.io-client.Co7SlJ1E.0.0.14.js → engine.io-client.D47Vn3PY.0.0.16.js} +1 -1
  31. package/dist/interface/{ev-emitter.Bw9npPB3.0.0.14.js → ev-emitter.CO554XzW.0.0.16.js} +1 -1
  32. package/dist/interface/{fast-deep-equal.BHyMOnnP.0.0.14.js → fast-deep-equal.CjfEj15C.0.0.16.js} +1 -1
  33. package/dist/interface/{highlight.js.Bcczinar.0.0.14.js → highlight.js.CsG_3GKA.0.0.16.js} +1 -1
  34. package/dist/interface/index.html +33 -33
  35. package/dist/interface/{linkify-it.BUeGIfuB.0.0.14.js → linkify-it.D-Re04U7.0.0.16.js} +1 -1
  36. package/dist/interface/{main.BKyGw-1O.0.0.14.js → main.CySWzYoy.0.0.16.js} +3 -3
  37. package/dist/interface/{markdown-it.DOljZfaF.0.0.14.js → markdown-it.BSj0kuDJ.0.0.16.js} +1 -1
  38. package/dist/interface/{nprogress.y4ho8UN3.0.0.14.js → nprogress.CN7SpneM.0.0.16.js} +1 -1
  39. package/dist/interface/{pinia.81SobSxK.0.0.14.js → pinia.DHXyXuKc.0.0.16.js} +1 -1
  40. package/dist/interface/{plugins.XWRvgFHD.0.0.14.js → plugins.FSy44vXn.0.0.16.js} +1 -1
  41. package/dist/interface/{qrcode.CZ-rkxD4.0.0.14.js → qrcode.DjqZuH8F.0.0.16.js} +1 -1
  42. package/dist/interface/{react-dnd-touch-backend.Due7_SmB.0.0.14.js → react-dnd-touch-backend.Cecw_0Kl.0.0.16.js} +1 -1
  43. package/dist/interface/{rxjs.Cn6mAcb0.0.0.14.js → rxjs.tqVqva9T.0.0.16.js} +1 -1
  44. package/dist/interface/{socket.io-client.wHwPn3iN.0.0.14.js → socket.io-client.BFAMFJUC.0.0.16.js} +1 -1
  45. package/dist/interface/{socket.io-parser.CPmU8U6u.0.0.14.js → socket.io-parser.B5BeMqb6.0.0.16.js} +1 -1
  46. package/dist/interface/sw.js +1 -1
  47. package/dist/interface/{system.CTvBwGOj.0.0.14.js → system.DlYVX2qG.0.0.16.js} +1 -1
  48. package/dist/interface/{ui.ltvMH1es.0.0.14.js → ui.CcXHo2vy.0.0.16.js} +1 -1
  49. package/dist/interface/{unidragger.CrbQd6Tw.0.0.14.js → unidragger.B3Aj7lJB.0.0.16.js} +1 -1
  50. package/dist/interface/{v-calendar.nDfqON1B.0.0.14.js → v-calendar.y5PNpUm6.0.0.16.js} +1 -1
  51. package/dist/interface/{vee-validate.DQ8f4ION.0.0.14.js → vee-validate.VFk2ifr-.0.0.16.js} +1 -1
  52. package/dist/interface/{vue-i18n.B4qiXH_H.0.0.14.js → vue-i18n.BRzZ63Xi.0.0.16.js} +1 -1
  53. package/dist/interface/{vue-inline-svg.DV5nngF9.0.0.14.js → vue-inline-svg.De0HvU9m.0.0.16.js} +1 -1
  54. package/dist/interface/{vue-router.BcAjblcv.0.0.14.js → vue-router.Cr6qPC8Y.0.0.16.js} +1 -1
  55. package/dist/interface/{vue3-apexcharts.DVRtMG4m.0.0.14.js → vue3-apexcharts.BMb8nnby.0.0.16.js} +1 -1
  56. package/dist/interface/{vue3-dnd.CMRbSVyw.0.0.14.js → vue3-dnd.SEoyozNj.0.0.16.js} +1 -1
  57. package/dist/interface/{vue3-toastify.CfJCs4au.0.0.14.js → vue3-toastify.DUisHb3e.0.0.16.js} +1 -1
  58. package/dist/interface/{vuetify.C9swI1mp.0.0.14.js → vuetify.DByERR9S.0.0.16.js} +1 -1
  59. package/dist/server/package.json +2 -1
  60. package/dist/server/src/api/controllers/plugins.controller.js +2 -2
  61. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  62. package/dist/server/src/api/controllers/system.controller.js +1 -6
  63. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  64. package/dist/server/src/api/database/index.d.ts +0 -2
  65. package/dist/server/src/api/database/index.js +1 -11
  66. package/dist/server/src/api/database/index.js.map +1 -1
  67. package/dist/server/src/api/schemas/users.schema.js +2 -2
  68. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  69. package/dist/server/src/camera/streaming/werift-session.d.ts +1 -1
  70. package/dist/server/src/camera/streaming/werift-session.js.map +1 -1
  71. package/dist/server/src/plugins/index.js +0 -2
  72. package/dist/server/src/plugins/index.js.map +1 -1
  73. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +3 -2
  74. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +8 -12
  75. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +1 -1
  76. package/dist/server/src/polyglot/node/plugins/child.d.ts +1 -0
  77. package/dist/server/src/polyglot/node/plugins/child.js +16 -3
  78. package/dist/server/src/polyglot/node/plugins/child.js.map +1 -1
  79. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +3 -2
  80. package/dist/server/src/polyglot/node/plugins/pluginApi.js +3 -3
  81. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +1 -1
  82. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +3 -1
  83. package/dist/server/src/polyglot/node/plugins/storageController.js +4 -2
  84. package/dist/server/src/polyglot/node/plugins/storageController.js.map +1 -1
  85. package/dist/server/src/polyglot/python/decoder/child.py +5 -4
  86. package/dist/server/src/polyglot/python/plugins/camera_storage.py +9 -39
  87. package/dist/server/src/polyglot/python/plugins/child.py +30 -6
  88. package/dist/server/src/polyglot/python/plugins/plugin_api.py +5 -1
  89. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +8 -8
  90. package/dist/server/src/polyglot/python/plugins/storage_controller.py +5 -3
  91. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +19 -0
  92. package/dist/server/src/polyglot/python/utilities/object_path.py +1 -1
  93. package/dist/server/src/polyglot/python/utilities/utils.py +12 -0
  94. package/dist/server/src/services/config/index.d.ts +2 -1
  95. package/dist/server/src/services/config/index.js +46 -1
  96. package/dist/server/src/services/config/index.js.map +1 -1
  97. package/package.json +2 -1
  98. package/dist/interface/Recordings.CujQWqIE.0.0.14.js +0 -1
  99. package/dist/interface/Recordings.DocHADaV.0.0.14.js +0 -1
  100. /package/dist/interface/{@babel.l0sNRNKZ.0.0.14.js → @babel.l0sNRNKZ.0.0.16.js} +0 -0
  101. /package/dist/interface/{@intlify.YW_pt133.0.0.14.js → @intlify.YW_pt133.0.0.16.js} +0 -0
  102. /package/dist/interface/{@mdi.jq8isxax.0.0.14.js → @mdi.jq8isxax.0.0.16.js} +0 -0
  103. /package/dist/interface/{@popperjs.BQBsAJpH.0.0.14.js → @popperjs.BQBsAJpH.0.0.16.js} +0 -0
  104. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.14.js → @react-dnd.CcwRs9xb.0.0.16.js} +0 -0
  105. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.14.js → @socket.io.Dkula2eQ.0.0.16.js} +0 -0
  106. /package/dist/interface/{@vue.CIFymae3.0.0.14.js → @vue.CIFymae3.0.0.16.js} +0 -0
  107. /package/dist/interface/{@xterm.DJzQYeiB.0.0.14.js → @xterm.UN9r0Y94.0.0.16.js} +0 -0
  108. /package/dist/interface/assets/{@vueform.0.0.14.h7tNX9p6.css → @vueform.0.0.16.h7tNX9p6.css} +0 -0
  109. /package/dist/interface/assets/{@xterm.0.0.14.CGrrDQr5.css → @xterm.0.0.16.CGrrDQr5.css} +0 -0
  110. /package/dist/interface/assets/{Account.0.0.14.2KfYXKTQ.css → Account.0.0.16.2KfYXKTQ.css} +0 -0
  111. /package/dist/interface/assets/{Adminpanel.0.0.14.A2JXV1Ib.css → Adminpanel.0.0.16.A2JXV1Ib.css} +0 -0
  112. /package/dist/interface/assets/{Backup.0.0.14.BIwaSlv3.css → Backup.0.0.16.BIwaSlv3.css} +0 -0
  113. /package/dist/interface/assets/{Camera.0.0.14.BDtUJ-lA.css → Camera.0.0.16.BDtUJ-lA.css} +0 -0
  114. /package/dist/interface/assets/{Cameras.0.0.14.D7bnvH42.css → Cameras.0.0.16.D7bnvH42.css} +0 -0
  115. /package/dist/interface/assets/{Camview.0.0.14.cgjDTjXy.css → Camview.0.0.16.cgjDTjXy.css} +0 -0
  116. /package/dist/interface/assets/{Config.0.0.14.BQJF6s_V.css → Config.0.0.16.BQJF6s_V.css} +0 -0
  117. /package/dist/interface/assets/{Console.0.0.14.DWrfRWs9.css → Console.0.0.16.DWrfRWs9.css} +0 -0
  118. /package/dist/interface/assets/{FirstSteps.0.0.14.DFSydMqk.css → FirstSteps.0.0.16.DFSydMqk.css} +0 -0
  119. /package/dist/interface/assets/{NewCamera.0.0.14.CMzSwwHn.css → NewCamera.0.0.16.CMzSwwHn.css} +0 -0
  120. /package/dist/interface/assets/{Plugin.0.0.14.BGZE7hpr.css → Plugin.0.0.16.BGZE7hpr.css} +0 -0
  121. /package/dist/interface/assets/{Plugins.0.0.14.Cwu0aGUO.css → Plugins.0.0.16.Cwu0aGUO.css} +0 -0
  122. /package/dist/interface/assets/{Settings.0.0.14.DTxcLhIY.css → Settings.0.0.16.DTxcLhIY.css} +0 -0
  123. /package/dist/interface/assets/{User.0.0.14.CXUSYt8i.css → User.0.0.16.CXUSYt8i.css} +0 -0
  124. /package/dist/interface/assets/{VConsole.0.0.14.BZT1WyS-.css → VConsole.0.0.16.BZT1WyS-.css} +0 -0
  125. /package/dist/interface/assets/{VPlayer.0.0.14.CzZme_fu.css → VPlayer.0.0.16.CzZme_fu.css} +0 -0
  126. /package/dist/interface/assets/{VPluginCard.0.0.14.C2OqX7DJ.css → VPluginCard.0.0.16.C2OqX7DJ.css} +0 -0
  127. /package/dist/interface/assets/{highlight.0.0.14.DgoK_Xib.css → highlight.0.0.16.DgoK_Xib.css} +0 -0
  128. /package/dist/interface/assets/{logo-256.0.0.14.BCQk9H1-.png → logo-256.0.0.16.BCQk9H1-.png} +0 -0
  129. /package/dist/interface/assets/{logo-512.0.0.14.DLKVOU2S.png → logo-512.0.0.16.DLKVOU2S.png} +0 -0
  130. /package/dist/interface/assets/{logo.0.0.14.DmEiRk0z.png → logo.0.0.16.DmEiRk0z.png} +0 -0
  131. /package/dist/interface/assets/{main.0.0.14.DYbE3rQA.css → main.0.0.16.DYbE3rQA.css} +0 -0
  132. /package/dist/interface/assets/{mode-json.0.0.14.Br7xisR1.js → mode-json.0.0.16.Br7xisR1.js} +0 -0
  133. /package/dist/interface/assets/{mode-yaml.0.0.14.CIYL8U3d.js → mode-yaml.0.0.16.CIYL8U3d.js} +0 -0
  134. /package/dist/interface/assets/{v-calendar.0.0.14.CtSuDYZU.css → v-calendar.0.0.16.CtSuDYZU.css} +0 -0
  135. /package/dist/interface/assets/{vue3-toastify.0.0.14.DTY1DMRs.css → vue3-toastify.0.0.16.DTY1DMRs.css} +0 -0
  136. /package/dist/interface/assets/{vuetify.0.0.14.DPyVfAPv.css → vuetify.0.0.16.DPyVfAPv.css} +0 -0
  137. /package/dist/interface/{axios.BI2i94Vb.0.0.14.js → axios.BI2i94Vb.0.0.16.js} +0 -0
  138. /package/dist/interface/{compare-versions.DqEOhma6.0.0.14.js → compare-versions.DqEOhma6.0.0.16.js} +0 -0
  139. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.14.js → dijkstrajs.D_NXgYpA.0.0.16.js} +0 -0
  140. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.14.js → engine.io-parser.BiEtp6m2.0.0.16.js} +0 -0
  141. /package/dist/interface/{entities.C20TfXL6.0.0.14.js → entities.C20TfXL6.0.0.16.js} +0 -0
  142. /package/dist/interface/{get-size.D1dS-IaP.0.0.14.js → get-size.D1dS-IaP.0.0.16.js} +0 -0
  143. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.14.js → mdurl.k9Sl0PQj.0.0.16.js} +0 -0
  144. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.14.js → punycode.js.Dj65hjkv.0.0.16.js} +0 -0
  145. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.14.js → react-dnd-html5-backend.1HQjlkwI.0.0.16.js} +0 -0
  146. /package/dist/interface/{redux.CuxFRhX_.0.0.14.js → redux.CuxFRhX_.0.0.16.js} +0 -0
  147. /package/dist/interface/{tslib.9k7AwCpt.0.0.14.js → tslib.9k7AwCpt.0.0.16.js} +0 -0
  148. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.14.js → uc.micro.kMc2yuuw.0.0.16.js} +0 -0
  149. /package/dist/interface/{utils.BvINh1mj.0.0.14.js → utils.BvINh1mj.0.0.16.js} +0 -0
  150. /package/dist/interface/{uuid.DvF23Exx.0.0.14.js → uuid.DvF23Exx.0.0.16.js} +0 -0
  151. /package/dist/interface/{vue.l0sNRNKZ.0.0.14.js → vue.l0sNRNKZ.0.0.16.js} +0 -0
  152. /package/dist/interface/{zod.BaF2dDCd.0.0.14.js → zod.BaF2dDCd.0.0.16.js} +0 -0
@@ -1,4 +1,3 @@
1
- import { open } from 'lmdb';
2
1
  import objectPath from 'object-path';
3
2
  import { API_EVENT } from '../../../api.js';
4
3
  import { isEqual, mergeWith, structuredClone } from '../../../utils/utils.js';
@@ -7,17 +6,15 @@ export class CameraStorage {
7
6
  cameraId;
8
7
  instance;
9
8
  api;
10
- db;
9
+ pluginDb;
11
10
  schema;
12
11
  values = {};
13
- constructor(api, instance, cameraId, schema = {}) {
12
+ constructor(api, pluginDb, instance, cameraId, schema = {}) {
14
13
  this.api = api;
14
+ this.pluginDb = pluginDb;
15
15
  this.instance = instance;
16
16
  this.cameraId = cameraId;
17
17
  this.schema = schema;
18
- this.db = open(`${this.api.storagePath}/volume`, {
19
- name: `${cameraId}-config`,
20
- });
21
18
  this.api.deviceManager.once('cameraDeselected', (cameraId) => {
22
19
  if (cameraId === this.cameraId) {
23
20
  this.removeDb();
@@ -30,7 +27,7 @@ export class CameraStorage {
30
27
  * This will load the configuration from the database.
31
28
  */
32
29
  initializeStorage() {
33
- const config = this.db.get('config') || {};
30
+ const config = this.pluginDb.get('config') || {};
34
31
  const cameraConfig = config[this.cameraId] || {};
35
32
  const schemaConfig = generateJsonFromRootSchema({ schema: this.schema });
36
33
  this.values = mergeWith(schemaConfig, cameraConfig, (objValue, srcValue) => {
@@ -283,20 +280,19 @@ export class CameraStorage {
283
280
  return false;
284
281
  }
285
282
  saveDb() {
286
- const config = this.db.get('config') || {};
283
+ const config = this.pluginDb.get('config') || {};
287
284
  const storableConfig = this.filterStorableValues(this.schema);
288
285
  config[this.cameraId] = storableConfig;
289
- this.db.putSync('config', config);
286
+ this.pluginDb.putSync('config', config);
290
287
  }
291
288
  removeDb() {
292
- const config = this.db.get('config') || {};
289
+ const config = this.pluginDb.get('config') || {};
293
290
  delete config[this.cameraId];
294
- this.db.putSync('config', config);
291
+ this.pluginDb.putSync('config', config);
295
292
  }
296
293
  async close() {
297
294
  try {
298
295
  this.saveDb();
299
- await this.db.close();
300
296
  }
301
297
  catch {
302
298
  //
@@ -1 +1 @@
1
- {"version":3,"file":"cameraStorage.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/cameraStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cameraStorage.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/cameraStorage.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export declare class PluginChild {
3
3
  private api?;
4
4
  private plugin?;
5
5
  private logger;
6
+ private pluginDb?;
6
7
  private publisher?;
7
8
  private subscriber?;
8
9
  private pluginSubscriber?;
@@ -1,10 +1,13 @@
1
1
  // process.title = `camera.ui - ${process.argv[2]}`;
2
2
  import { fileURLToPath } from 'node:url';
3
+ import { open } from 'lmdb';
3
4
  import { API_EVENT } from '../../../api.js';
5
+ import { Database } from '../../../api/database/index.js';
4
6
  import { ProxyConnection } from '../../../nats/connection.js';
5
7
  import { MessageQueue } from '../../../nats/messageQueue.js';
6
8
  import { PLUGIN_COMMAND, PLUGIN_STATUS } from '../../../plugins/types.js';
7
9
  import { unpack } from '../../../utils/packer.js';
10
+ import { sleep } from '../../../utils/utils.js';
8
11
  import { API } from './pluginApi.js';
9
12
  import { PluginLogger } from './pluginLogger.js';
10
13
  import { CameraDeviceProxy } from './proxy/cameraDevice.js';
@@ -13,6 +16,7 @@ export class PluginChild {
13
16
  api;
14
17
  plugin;
15
18
  logger;
19
+ pluginDb;
16
20
  publisher;
17
21
  subscriber;
18
22
  pluginSubscriber;
@@ -52,14 +56,21 @@ export class PluginChild {
52
56
  const configFile = data.storage.configFile;
53
57
  const pluginInfo = data.plugin;
54
58
  const cameras = data.cameras;
55
- this.api = new API(pluginInfo, storagePath, configFile, this.logger, this.proxyEndpoints, this.auth);
59
+ this.pluginDb = open(`${storagePath}/volume`, {
60
+ name: Database.USERS_ID,
61
+ });
62
+ const pluginConfig = this.pluginDb.get('config');
63
+ if (!pluginConfig) {
64
+ await this.pluginDb.put('config', {});
65
+ }
66
+ this.api = new API(pluginInfo, storagePath, configFile, this.logger, this.proxyEndpoints, this.auth, this.pluginDb);
67
+ const pluginConstructor = await this.loadPlugin();
68
+ this.plugin = new pluginConstructor(this.logger, this.api);
56
69
  const coreManager = this.api.coreManager;
57
70
  const deviceManager = this.api.deviceManager;
58
71
  await Promise.all([deviceManager.init(), coreManager.init()]);
59
72
  const camerasDevices = cameras.map((camera) => new CameraDeviceProxy(this.api, this.logger, camera, data.plugin, this.proxyEndpoints, this.auth));
60
73
  await Promise.all(camerasDevices.map((cameraDevice) => cameraDevice.init()));
61
- const pluginConstructor = await this.loadPlugin();
62
- this.plugin = new pluginConstructor(this.logger, this.api);
63
74
  deviceManager.configureCameras(camerasDevices);
64
75
  this.plugin.configureCameras(camerasDevices);
65
76
  this.sendMessage({ type: PLUGIN_STATUS.STARTED });
@@ -78,6 +89,8 @@ export class PluginChild {
78
89
  this.messageQueue?.abortQueue();
79
90
  await this.publisher?.close();
80
91
  this.api?.emit(API_EVENT.SHUTDOWN);
92
+ await sleep(500);
93
+ await this.pluginDb?.close();
81
94
  }
82
95
  async loadPlugin() {
83
96
  const { default: pluginConstructor } = await import(process.env.MODULE_PATH);
@@ -1 +1 @@
1
- {"version":3,"file":"child.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/child.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/child.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import { PluginConfigService } from './configService.js';
3
3
  import { StorageController } from './storageController.js';
4
+ import type { RootDatabase } from 'lmdb';
4
5
  import type { AuthConfig } from '../../../decoder/types.js';
5
6
  import type { PluginInfo } from '../../../plugins/types.js';
6
7
  import type { PluginLogger } from './pluginLogger.js';
7
- import { type CoreManager } from './proxy/coreManager.js';
8
+ import type { CoreManager } from './proxy/coreManager.js';
8
9
  import type { DeviceManager } from './proxy/deviceManager.js';
9
10
  export declare interface PluginAPI {
10
11
  on(event: 'finishLaunching', listener: () => void): this;
@@ -30,5 +31,5 @@ export declare class API extends EventEmitter implements PluginAPI {
30
31
  readonly configService: PluginConfigService;
31
32
  readonly storagePath: string;
32
33
  readonly configFile: string;
33
- constructor(plugin: PluginInfo, storagePath: string, configFile: string, logger: PluginLogger, proxyEndpoints: string[], auth: AuthConfig);
34
+ constructor(plugin: PluginInfo, storagePath: string, configFile: string, logger: PluginLogger, proxyEndpoints: string[], auth: AuthConfig, pluginDb: RootDatabase<Record<string, any>, 'config'>);
34
35
  }
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import { PluginConfigService } from './configService.js';
3
+ import { CoreManagerProxy } from './proxy/coreManager.js';
3
4
  import { DeviceManagerProxy } from './proxy/deviceManager.js';
4
5
  import { StorageController } from './storageController.js';
5
- import { CoreManagerProxy } from './proxy/coreManager.js';
6
6
  export class API extends EventEmitter {
7
7
  coreManager;
8
8
  deviceManager;
@@ -10,12 +10,12 @@ export class API extends EventEmitter {
10
10
  configService;
11
11
  storagePath;
12
12
  configFile;
13
- constructor(plugin, storagePath, configFile, logger, proxyEndpoints, auth) {
13
+ constructor(plugin, storagePath, configFile, logger, proxyEndpoints, auth, pluginDb) {
14
14
  super();
15
15
  this.storagePath = storagePath;
16
16
  this.configFile = configFile;
17
17
  this.configService = new PluginConfigService(configFile);
18
- this.storageController = new StorageController(this);
18
+ this.storageController = new StorageController(this, pluginDb);
19
19
  this.coreManager = new CoreManagerProxy(this, logger, plugin, proxyEndpoints, auth);
20
20
  this.deviceManager = new DeviceManagerProxy(this, logger, plugin, proxyEndpoints, auth);
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pluginApi.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/pluginApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D,OAAO,EAAE,gBAAgB,EAAoB,MAAM,wBAAwB,CAAC;AA0B5E,MAAM,OAAO,GAAI,SAAQ,YAAY;IAC1B,WAAW,CAAc;IACzB,aAAa,CAAgB;IAC7B,iBAAiB,CAAoB;IACrC,aAAa,CAAsB;IACnC,WAAW,CAAS;IACpB,UAAU,CAAS;IAE5B,YAAY,MAAkB,EAAE,WAAmB,EAAE,UAAkB,EAAE,MAAoB,EAAE,cAAwB,EAAE,IAAgB;QACvI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;CACF"}
1
+ {"version":3,"file":"pluginApi.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/pluginApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAgC3D,MAAM,OAAO,GAAI,SAAQ,YAAY;IAC1B,WAAW,CAAc;IACzB,aAAa,CAAgB;IAC7B,iBAAiB,CAAoB;IACrC,aAAa,CAAsB;IACnC,WAAW,CAAS;IACpB,UAAU,CAAS;IAE5B,YACE,MAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,MAAoB,EACpB,cAAwB,EACxB,IAAgB,EAChB,QAAqD;QAErD,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1F,CAAC;CACF"}
@@ -1,10 +1,12 @@
1
1
  import { CameraStorage } from './cameraStorage.js';
2
+ import type { RootDatabase } from 'lmdb';
2
3
  import type { JsonSchemaForm } from '../../../plugins/types.js';
3
4
  import type { API } from './pluginApi.js';
4
5
  export declare class StorageController {
5
6
  private api;
7
+ private pluginDb;
6
8
  private cameraStorages;
7
- constructor(api: API);
9
+ constructor(api: API, pluginDb: RootDatabase<Record<string, any>, 'config'>);
8
10
  /**
9
11
  * Create a camera storage instance
10
12
  *
@@ -1,9 +1,11 @@
1
1
  import { CameraStorage } from './cameraStorage.js';
2
2
  export class StorageController {
3
3
  api;
4
+ pluginDb;
4
5
  cameraStorages = new Map();
5
- constructor(api) {
6
+ constructor(api, pluginDb) {
6
7
  this.api = api;
8
+ this.pluginDb = pluginDb;
7
9
  }
8
10
  /**
9
11
  * Create a camera storage instance
@@ -13,7 +15,7 @@ export class StorageController {
13
15
  * @param schema - The plugin schema
14
16
  */
15
17
  createCameraStorage(instance, cameraId, schema = {}) {
16
- const cameraStorage = this.cameraStorages.get(cameraId) || new CameraStorage(this.api, instance, cameraId, schema);
18
+ const cameraStorage = this.cameraStorages.get(cameraId) || new CameraStorage(this.api, this.pluginDb, instance, cameraId, schema);
17
19
  cameraStorage.initializeStorage();
18
20
  this.cameraStorages.set(cameraId, cameraStorage);
19
21
  return cameraStorage;
@@ -1 +1 @@
1
- {"version":3,"file":"storageController.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/storageController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKnD,MAAM,OAAO,iBAAiB;IACpB,GAAG,CAAM;IACT,cAAc,GAAoC,IAAI,GAAG,EAAE,CAAC;IAEpE,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAsD,QAAa,EAAE,QAAgB,EAAE,SAAyB,EAAE;QAC1I,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,aAAa,CAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtH,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAElC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAsD,QAAgB;QAC3F,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,QAAgB;QACzC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"storageController.js","sourceRoot":"","sources":["../../../../../../src/polyglot/node/plugins/storageController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,MAAM,OAAO,iBAAiB;IACpB,GAAG,CAAM;IACT,QAAQ,CAA8C;IACtD,cAAc,GAAoC,IAAI,GAAG,EAAE,CAAC;IAEpE,YAAY,GAAQ,EAAE,QAAqD;QACzE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAsD,QAAa,EAAE,QAAgB,EAAE,SAAyB,EAAE;QAC1I,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,aAAa,CAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrI,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAElC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAsD,QAAgB;QAC3F,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,QAAgB;QACzC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -93,7 +93,7 @@ class FrameWorkerChild:
93
93
  self.closed = False
94
94
  self.restarting = False
95
95
  self.clients: dict[str, FrameWorkerClient] = {}
96
- self.tasks: TaskSet = TaskSet(f"{self.camera_name} FrameWorkerChild")
96
+ self.tasks: TaskSet = TaskSet(f"{self.config['cameraName']} FrameWorkerChild")
97
97
 
98
98
  self.prebuffer_full = False
99
99
  self.prebuffer_duration = 7
@@ -118,7 +118,7 @@ class FrameWorkerChild:
118
118
 
119
119
  @property
120
120
  def log_prefix(self) -> str:
121
- return f"{self.camera_name}:"
121
+ return f"{self.config['cameraName']}:"
122
122
 
123
123
  @property
124
124
  async def metadata(self) -> FrameMetadata:
@@ -699,7 +699,7 @@ class FrameWorkerChild:
699
699
  message = main_message["message"]
700
700
 
701
701
  if message == "setCameraName":
702
- self.camera_name = main_message["data"]["cameraName"]
702
+ self.config["cameraName"] = main_message["data"]["cameraName"]
703
703
  elif message == "recoverClients":
704
704
  await self.recover_clients(main_message["data"]["clients"])
705
705
 
@@ -870,4 +870,5 @@ class FrameWorkerChild:
870
870
 
871
871
  if __name__ == "__main__":
872
872
  worker = FrameWorkerChild()
873
- asyncio.run(worker.listen(), debug=True)
873
+ asyncio.run(worker.listen())
874
+ # asyncio.run(worker.listen(), debug=True)
@@ -1,8 +1,6 @@
1
1
  import inspect
2
- import json
3
2
  from contextlib import suppress
4
3
  from copy import deepcopy
5
- from pathlib import Path
6
4
  from typing import Any, Optional, TypeVar, Union, cast
7
5
 
8
6
  from camera_ui_types import (
@@ -24,42 +22,16 @@ from schema import (
24
22
  )
25
23
  from typing_extensions import Literal, overload
26
24
  from utilities.object_path import ObjectPath
27
- from utilities.utils import merge_with
25
+ from utilities.utils import merge, merge_with
28
26
 
29
27
  P = TypeVar("P", str, int, float, bool, dict[Any, Any], list[Any], None)
30
28
 
31
29
 
32
- def merge(
33
- obj_value: Any,
34
- src_value: Any,
35
- key: Union[str, int],
36
- object: Union[dict[str, Any], list[Any]],
37
- source: Union[dict[str, Any], list[Any]],
38
- stack: list[Any],
39
- ) -> Any:
40
- if isinstance(obj_value, list):
41
- return src_value
42
-
43
-
44
- class JsonLmdb(Lmdb[Literal["config"], dict[str, Any]]):
45
- def _pre_key(self, key: Literal["config"]) -> bytes:
46
- return key.encode("utf-8")
47
-
48
- def _post_key(self, key: bytes) -> Literal["config"]:
49
- _key: Any = key.decode("utf-8")
50
- return _key
51
-
52
- def _pre_value(self, value: dict[str, Any]) -> bytes:
53
- return json.dumps(value).encode("utf-8")
54
-
55
- def _post_value(self, value: bytes) -> dict[str, Any]:
56
- return json.loads(value.decode("utf-8"))
57
-
58
-
59
30
  class CameraStorage:
60
31
  def __init__(
61
32
  self,
62
33
  api: PluginAPI,
34
+ plugin_db: Lmdb[Literal["config"], dict[str, Any]],
63
35
  instance: Any,
64
36
  camera_id: str,
65
37
  schema: Optional[JsonSchemaForm] = None,
@@ -67,14 +39,12 @@ class CameraStorage:
67
39
  if schema is None:
68
40
  schema = {}
69
41
  self.__api = api
42
+ self.__plugin_db = plugin_db
70
43
  self.__instance = instance
71
44
  self.__camera_id = camera_id
72
45
  self.schema: JsonSchemaForm = schema or {}
73
46
  self.values: dict[str, Any] = {}
74
47
 
75
- db_path = Path(api.storage_path) / "volume"
76
- self.__db: Lmdb[Literal["config"], dict[str, Any]] = JsonLmdb.open(file=str(db_path), flag="c")
77
-
78
48
  self.__api.device_manager.once("cameraDeselected", self.__deselected)
79
49
  self.__api.once("shutdown", self.__close)
80
50
 
@@ -87,7 +57,7 @@ class CameraStorage:
87
57
  camera_config: dict[str, Any] = {}
88
58
 
89
59
  try:
90
- config: Any = self.__db.get("config") or {}
60
+ config: Any = self.__plugin_db.get("config") or {}
91
61
  camera_config = config.get(self.__camera_id, {})
92
62
  except: # noqa: E722
93
63
  pass
@@ -417,19 +387,19 @@ class CameraStorage:
417
387
  return False
418
388
 
419
389
  def __save_db(self) -> None:
420
- config: Any = self.__db.get("config") or {}
390
+ config: Any = self.__plugin_db.get("config") or {}
421
391
  storable_config = self.__filter_storable_values(self.schema)
422
392
 
423
393
  config[self.__camera_id] = storable_config
424
394
 
425
- self.__db.update({"config": config})
395
+ self.__plugin_db.update({"config": config})
426
396
 
427
397
  def __remove_db(self) -> None:
428
- config: Any = self.__db.get("config") or {}
398
+ config: Any = self.__plugin_db.get("config") or {}
429
399
 
430
400
  if self.__camera_id in config:
431
401
  del config[self.__camera_id]
432
- self.__db.update(config)
402
+ self.__plugin_db.update(config)
433
403
 
434
404
  def __deselected(self, id: str) -> None:
435
405
  if id == self.__camera_id:
@@ -438,4 +408,4 @@ class CameraStorage:
438
408
  def __close(self) -> None:
439
409
  with suppress(Exception):
440
410
  self.__save_db()
441
- self.__db.close()
411
+ self.__plugin_db.close()
@@ -7,11 +7,13 @@ import sys
7
7
  import traceback
8
8
  from asyncio import AbstractEventLoop
9
9
  from contextlib import suppress
10
+ from pathlib import Path
10
11
  from types import ModuleType
11
- from typing import Any, Optional, cast
12
+ from typing import Any, Literal, Optional, cast
12
13
 
13
14
  from camera_ui_types import BasePlugin, CameraDevice
14
15
  from decoder.typings import AuthConfig
16
+ from lmdbm import Lmdb
15
17
  from message_queue import MessageQueue
16
18
  from nats.aio.msg import Msg
17
19
  from plugin_api import PluginAPI
@@ -27,6 +29,7 @@ from typings import (
27
29
  ProxyMessageStructure,
28
30
  )
29
31
  from utilities.connection import ProxyConnection
32
+ from utilities.json_lmdb import JsonLmdb
30
33
  from utilities.packer import unpack
31
34
  from utilities.subscriptions import ProxySubscription
32
35
  from utilities.task import TaskSet
@@ -88,6 +91,7 @@ class PluginChild:
88
91
 
89
92
  self.display_name = sys.argv[1] if len(sys.argv) > 1 else "PluginChild"
90
93
  self.logger = PluginLogger(self.display_name, os.environ["LOGGER_DISABLE_TIMESTAMPS"] == "true")
94
+ self.plugin_db: Optional[Lmdb[Literal["config"], dict[str, Any]]] = None
91
95
 
92
96
  self.subject = f"{os.environ['WORKER_ID']}.ipc.subscriber"
93
97
  self.plugin_subject = f"{os.environ['PLUGIN_ID']}.child"
@@ -136,10 +140,28 @@ class PluginChild:
136
140
  plugin_info = data["plugin"]
137
141
  cameras = data["cameras"]
138
142
 
143
+ db_path = Path(storage_path) / "volume"
144
+ Path(db_path).mkdir(parents=True, exist_ok=True)
145
+
146
+ self.plugin_db = JsonLmdb.open(file=str(db_path), flag="c")
147
+
148
+ config: Any = self.plugin_db.get("config")
149
+ if config is None:
150
+ self.plugin_db.update({"config": {}})
151
+
139
152
  self.api = PluginAPI(
140
- plugin_info, storage_path, config_file, self.logger, self.proxy_endpoints, self.auth
153
+ plugin_info,
154
+ storage_path,
155
+ config_file,
156
+ self.logger,
157
+ self.proxy_endpoints,
158
+ self.auth,
159
+ self.plugin_db,
141
160
  )
142
161
 
162
+ plugin_constructor = self.load_plugin()
163
+ self.plugin = cast(BasePlugin, plugin_constructor(self.logger, self.api))
164
+
143
165
  await asyncio.gather(
144
166
  self.api.core_manager.init(),
145
167
  self.api.device_manager.init(),
@@ -159,9 +181,6 @@ class PluginChild:
159
181
 
160
182
  await asyncio.gather(*(camera_device.init() for camera_device in cameras_devices))
161
183
 
162
- plugin_constructor = self.load_plugin()
163
- self.plugin = cast(BasePlugin, plugin_constructor(self.logger, self.api))
164
-
165
184
  self.api.device_manager.configure_cameras(cameras_devices)
166
185
  self.plugin.configure_cameras(cast(list[CameraDevice], cameras_devices))
167
186
 
@@ -185,6 +204,10 @@ class PluginChild:
185
204
  if self.api:
186
205
  self.api.emit("shutdown")
187
206
 
207
+ if self.plugin_db:
208
+ await asyncio.sleep(1)
209
+ self.plugin_db.close()
210
+
188
211
  self.shutdown_event.set()
189
212
 
190
213
  def load_plugin(self) -> Any:
@@ -313,4 +336,5 @@ class PluginChild:
313
336
 
314
337
  if __name__ == "__main__":
315
338
  plugin_child = PluginChild()
316
- asyncio.run(plugin_child.run(), debug=True)
339
+ asyncio.run(plugin_child.run())
340
+ # asyncio.run(plugin_child.run(), debug=True)
@@ -1,5 +1,8 @@
1
+ from typing import Any, Literal
2
+
1
3
  from config_service import PluginConfigService
2
4
  from decoder.typings import AuthConfig
5
+ from lmdbm import Lmdb
3
6
  from plugin_logger import PluginLogger
4
7
  from pyeecui.asyncio import AsyncIOEventEmitter
5
8
  from typings import PluginInfo
@@ -14,6 +17,7 @@ class PluginAPI(AsyncIOEventEmitter):
14
17
  logger: PluginLogger,
15
18
  proxy_endpoints: list[str],
16
19
  auth: AuthConfig,
20
+ plugin_db: Lmdb[Literal["config"], dict[str, Any]],
17
21
  ) -> None:
18
22
  super().__init__()
19
23
 
@@ -25,6 +29,6 @@ class PluginAPI(AsyncIOEventEmitter):
25
29
  self.config_file = config_file
26
30
 
27
31
  self.config_service = PluginConfigService(config_file)
28
- self.storage_controller = StorageController(self)
32
+ self.storage_controller = StorageController(self, plugin_db)
29
33
  self.core_manager = CoreManager(self, logger, plugin, proxy_endpoints, auth)
30
34
  self.device_manager = DeviceManager(self, logger, plugin, proxy_endpoints, auth)
@@ -41,10 +41,10 @@ class CoreManager(AsyncIOEventEmitter):
41
41
  self.cm_subject = "coreManager.subscriber"
42
42
 
43
43
  self.publisher: Optional[ProxyConnection] = None
44
- self.dm_publisher: Optional[ProxyConnection] = None
44
+ self.cm_publisher: Optional[ProxyConnection] = None
45
45
 
46
46
  self.subscriber: Optional[ProxySubscription] = None
47
- self.dm_subscriber: Optional[ProxySubscription] = None
47
+ self.cm_subscriber: Optional[ProxySubscription] = None
48
48
 
49
49
  self.tasks: TaskSet = TaskSet(f"{self.plugin['name']} CoreManager")
50
50
  self.message_queue: Optional[MessageQueue] = None
@@ -64,8 +64,8 @@ class CoreManager(AsyncIOEventEmitter):
64
64
  self.publisher = ProxyConnection(self.subject, servers, self.auth)
65
65
  await self.publisher.connect()
66
66
 
67
- self.dm_publisher = ProxyConnection(self.cm_subject, servers, self.auth)
68
- await self.dm_publisher.connect()
67
+ self.cm_publisher = ProxyConnection(self.cm_subject, servers, self.auth)
68
+ await self.cm_publisher.connect()
69
69
 
70
70
  self.subscriber = await self.publisher.subscribe(subject=self.subject)
71
71
  self.message_queue = MessageQueue(
@@ -75,8 +75,8 @@ class CoreManager(AsyncIOEventEmitter):
75
75
  self.__request_handler,
76
76
  )
77
77
 
78
- self.dm_subscriber = await self.dm_publisher.subscribe(subject=self.cm_subject)
79
- self.dm_subscriber.on("message", self.__on_proxy_message)
78
+ self.cm_subscriber = await self.cm_publisher.subscribe(subject=self.cm_subject)
79
+ self.cm_subscriber.on("message", self.__on_proxy_message)
80
80
 
81
81
  async def get_ffmpeg_path(self) -> str:
82
82
  return await self.__on_request("getFFmpegPath")
@@ -141,5 +141,5 @@ class CoreManager(AsyncIOEventEmitter):
141
141
  if self.publisher:
142
142
  await self.publisher.close()
143
143
 
144
- if self.dm_publisher:
145
- await self.dm_publisher.close()
144
+ if self.cm_publisher:
145
+ await self.cm_publisher.close()
@@ -1,14 +1,16 @@
1
- from typing import Any, Optional
1
+ from typing import Any, Literal, Optional
2
2
 
3
3
  from camera_storage import CameraStorage
4
4
  from camera_ui_types import JsonSchemaForm
5
+ from lmdbm import Lmdb
5
6
  from plugin_api import PluginAPI
6
7
 
7
8
 
8
9
  class StorageController:
9
- def __init__(self, api: PluginAPI) -> None:
10
+ def __init__(self, api: PluginAPI, plugin_db: Lmdb[Literal["config"], dict[str, Any]]) -> None:
10
11
  self.__api = api
11
12
  self.__camera_storages: dict[str, CameraStorage] = {}
13
+ self.__plugin_db = plugin_db
12
14
 
13
15
  def create_camera_storage(
14
16
  self,
@@ -28,7 +30,7 @@ class StorageController:
28
30
  schema = {}
29
31
 
30
32
  camera_storage = self.__camera_storages.get(camera_id) or CameraStorage(
31
- self.__api, instance, camera_id, schema
33
+ self.__api, self.__plugin_db, instance, camera_id, schema
32
34
  )
33
35
 
34
36
  camera_storage.initializeStorage()