@camera.ui/browser 0.0.1

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 (241) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE.md +22 -0
  3. package/README.md +1 -0
  4. package/dist/bundle.browser.js +1 -0
  5. package/dist/client/node/src/api.d.ts +5 -0
  6. package/dist/client/node/src/api.js +27 -0
  7. package/dist/client/node/src/api.js.map +1 -0
  8. package/dist/client/node/src/client.d.ts +20 -0
  9. package/dist/client/node/src/client.js +106 -0
  10. package/dist/client/node/src/client.js.map +1 -0
  11. package/dist/client/node/src/index.d.ts +2 -0
  12. package/dist/client/node/src/index.js +19 -0
  13. package/dist/client/node/src/index.js.map +1 -0
  14. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.browser.d.ts +48 -0
  15. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.browser.js +176 -0
  16. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.browser.js.map +1 -0
  17. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.mock.d.ts +1 -0
  18. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.mock.js +3 -0
  19. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.mock.js.map +1 -0
  20. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.node.d.ts +11 -0
  21. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.node.js +51 -0
  22. package/dist/client/node/src/proxy/cameraDevice/cameraDevice.node.js.map +1 -0
  23. package/dist/client/node/src/proxy/cameraDevice/index.d.ts +6 -0
  24. package/dist/client/node/src/proxy/cameraDevice/index.js +11 -0
  25. package/dist/client/node/src/proxy/cameraDevice/index.js.map +1 -0
  26. package/dist/client/node/src/proxy/deviceManager.d.ts +15 -0
  27. package/dist/client/node/src/proxy/deviceManager.js +67 -0
  28. package/dist/client/node/src/proxy/deviceManager.js.map +1 -0
  29. package/dist/client/node/src/proxy/index.d.ts +4 -0
  30. package/dist/client/node/src/proxy/index.js +21 -0
  31. package/dist/client/node/src/proxy/index.js.map +1 -0
  32. package/dist/client/node/src/proxy/pluginsManager.d.ts +9 -0
  33. package/dist/client/node/src/proxy/pluginsManager.js +25 -0
  34. package/dist/client/node/src/proxy/pluginsManager.js.map +1 -0
  35. package/dist/client/node/src/proxy/systemManager.d.ts +9 -0
  36. package/dist/client/node/src/proxy/systemManager.js +25 -0
  37. package/dist/client/node/src/proxy/systemManager.js.map +1 -0
  38. package/dist/client/node/src/socket.d.ts +9 -0
  39. package/dist/client/node/src/socket.js +45 -0
  40. package/dist/client/node/src/socket.js.map +1 -0
  41. package/dist/client/node/src/types.d.ts +22 -0
  42. package/dist/client/node/src/types.js +3 -0
  43. package/dist/client/node/src/types.js.map +1 -0
  44. package/dist/package.json +149 -0
  45. package/dist/shared/common/utils.d.ts +6 -0
  46. package/dist/shared/common/utils.js +66 -0
  47. package/dist/shared/common/utils.js.map +1 -0
  48. package/dist/shared/types/index.d.ts +8 -0
  49. package/dist/shared/types/index.js +23 -0
  50. package/dist/shared/types/index.js.map +1 -0
  51. package/dist/src/api/database/index.d.ts +25 -0
  52. package/dist/src/api/database/index.js +203 -0
  53. package/dist/src/api/database/index.js.map +1 -0
  54. package/dist/src/api/database/types.d.ts +153 -0
  55. package/dist/src/api/database/types.js +3 -0
  56. package/dist/src/api/database/types.js.map +1 -0
  57. package/dist/src/api/go2rtc/api/application.d.ts +8 -0
  58. package/dist/src/api/go2rtc/api/application.js +32 -0
  59. package/dist/src/api/go2rtc/api/application.js.map +1 -0
  60. package/dist/src/api/go2rtc/api/index.d.ts +3 -0
  61. package/dist/src/api/go2rtc/api/index.js +33 -0
  62. package/dist/src/api/go2rtc/api/index.js.map +1 -0
  63. package/dist/src/api/go2rtc/api/snapshot.d.ts +6 -0
  64. package/dist/src/api/go2rtc/api/snapshot.js +22 -0
  65. package/dist/src/api/go2rtc/api/snapshot.js.map +1 -0
  66. package/dist/src/api/go2rtc/api/streams.d.ts +10 -0
  67. package/dist/src/api/go2rtc/api/streams.js +32 -0
  68. package/dist/src/api/go2rtc/api/streams.js.map +1 -0
  69. package/dist/src/api/go2rtc/index.d.ts +3 -0
  70. package/dist/src/api/go2rtc/index.js +13 -0
  71. package/dist/src/api/go2rtc/index.js.map +1 -0
  72. package/dist/src/api/go2rtc/types.d.ts +43 -0
  73. package/dist/src/api/go2rtc/types.js +3 -0
  74. package/dist/src/api/go2rtc/types.js.map +1 -0
  75. package/dist/src/api/middlewares/socketAuth.middleware.d.ts +41 -0
  76. package/dist/src/api/middlewares/socketAuth.middleware.js +90 -0
  77. package/dist/src/api/middlewares/socketAuth.middleware.js.map +1 -0
  78. package/dist/src/api/schemas/backup.schema.d.ts +220 -0
  79. package/dist/src/api/schemas/backup.schema.js +94 -0
  80. package/dist/src/api/schemas/backup.schema.js.map +1 -0
  81. package/dist/src/api/schemas/cameras.schema.d.ts +316 -0
  82. package/dist/src/api/schemas/cameras.schema.js +124 -0
  83. package/dist/src/api/schemas/cameras.schema.js.map +1 -0
  84. package/dist/src/api/schemas/config.schema.d.ts +202 -0
  85. package/dist/src/api/schemas/config.schema.js +94 -0
  86. package/dist/src/api/schemas/config.schema.js.map +1 -0
  87. package/dist/src/api/schemas/go2rtc.schema.d.ts +604 -0
  88. package/dist/src/api/schemas/go2rtc.schema.js +204 -0
  89. package/dist/src/api/schemas/go2rtc.schema.js.map +1 -0
  90. package/dist/src/api/schemas/users.schema.d.ts +515 -0
  91. package/dist/src/api/schemas/users.schema.js +131 -0
  92. package/dist/src/api/schemas/users.schema.js.map +1 -0
  93. package/dist/src/api/services/auth.service.d.ts +20 -0
  94. package/dist/src/api/services/auth.service.js +104 -0
  95. package/dist/src/api/services/auth.service.js.map +1 -0
  96. package/dist/src/api/services/cameras.service.d.ts +40 -0
  97. package/dist/src/api/services/cameras.service.js +535 -0
  98. package/dist/src/api/services/cameras.service.js.map +1 -0
  99. package/dist/src/api/services/plugins.service.d.ts +23 -0
  100. package/dist/src/api/services/plugins.service.js +115 -0
  101. package/dist/src/api/services/plugins.service.js.map +1 -0
  102. package/dist/src/api/services/users.service.d.ts +13 -0
  103. package/dist/src/api/services/users.service.js +54 -0
  104. package/dist/src/api/services/users.service.js.map +1 -0
  105. package/dist/src/api/types/index.d.ts +522 -0
  106. package/dist/src/api/types/index.js +12 -0
  107. package/dist/src/api/types/index.js.map +1 -0
  108. package/dist/src/api/utils/cert.d.ts +17 -0
  109. package/dist/src/api/utils/cert.js +437 -0
  110. package/dist/src/api/utils/cert.js.map +1 -0
  111. package/dist/src/api/ws/index.d.ts +15 -0
  112. package/dist/src/api/ws/index.js +89 -0
  113. package/dist/src/api/ws/index.js.map +1 -0
  114. package/dist/src/api/ws/nsp/logs.d.ts +11 -0
  115. package/dist/src/api/ws/nsp/logs.js +121 -0
  116. package/dist/src/api/ws/nsp/logs.js.map +1 -0
  117. package/dist/src/api/ws/nsp/main.d.ts +9 -0
  118. package/dist/src/api/ws/nsp/main.js +49 -0
  119. package/dist/src/api/ws/nsp/main.js.map +1 -0
  120. package/dist/src/api/ws/nsp/metrics.d.ts +33 -0
  121. package/dist/src/api/ws/nsp/metrics.js +225 -0
  122. package/dist/src/api/ws/nsp/metrics.js.map +1 -0
  123. package/dist/src/api/ws/nsp/notifications.d.ts +11 -0
  124. package/dist/src/api/ws/nsp/notifications.js +39 -0
  125. package/dist/src/api/ws/nsp/notifications.js.map +1 -0
  126. package/dist/src/api/ws/nsp/plugins.d.ts +13 -0
  127. package/dist/src/api/ws/nsp/plugins.js +33 -0
  128. package/dist/src/api/ws/nsp/plugins.js.map +1 -0
  129. package/dist/src/api/ws/nsp/status.d.ts +12 -0
  130. package/dist/src/api/ws/nsp/status.js +41 -0
  131. package/dist/src/api/ws/nsp/status.js.map +1 -0
  132. package/dist/src/api/ws/nsp/streams.d.ts +30 -0
  133. package/dist/src/api/ws/nsp/streams.js +140 -0
  134. package/dist/src/api/ws/nsp/streams.js.map +1 -0
  135. package/dist/src/api/ws/types.d.ts +82 -0
  136. package/dist/src/api/ws/types.js +3 -0
  137. package/dist/src/api/ws/types.js.map +1 -0
  138. package/dist/src/api.d.ts +60 -0
  139. package/dist/src/api.js +66 -0
  140. package/dist/src/api.js.map +1 -0
  141. package/dist/src/camera/index.d.ts +54 -0
  142. package/dist/src/camera/index.js +210 -0
  143. package/dist/src/camera/index.js.map +1 -0
  144. package/dist/src/camera/streaming/peer-connection.d.ts +31 -0
  145. package/dist/src/camera/streaming/peer-connection.js +157 -0
  146. package/dist/src/camera/streaming/peer-connection.js.map +1 -0
  147. package/dist/src/camera/streaming/streaming-session.d.ts +32 -0
  148. package/dist/src/camera/streaming/streaming-session.js +172 -0
  149. package/dist/src/camera/streaming/streaming-session.js.map +1 -0
  150. package/dist/src/camera/streaming/webrtc-connection.d.ts +33 -0
  151. package/dist/src/camera/streaming/webrtc-connection.js +156 -0
  152. package/dist/src/camera/streaming/webrtc-connection.js.map +1 -0
  153. package/dist/src/camera/subscribed.d.ts +6 -0
  154. package/dist/src/camera/subscribed.js +14 -0
  155. package/dist/src/camera/subscribed.js.map +1 -0
  156. package/dist/src/camera/types.d.ts +130 -0
  157. package/dist/src/camera/types.js +3 -0
  158. package/dist/src/camera/types.js.map +1 -0
  159. package/dist/src/go2rtc/index.d.ts +24 -0
  160. package/dist/src/go2rtc/index.js +220 -0
  161. package/dist/src/go2rtc/index.js.map +1 -0
  162. package/dist/src/go2rtc/types.d.ts +14 -0
  163. package/dist/src/go2rtc/types.js +76 -0
  164. package/dist/src/go2rtc/types.js.map +1 -0
  165. package/dist/src/plugins/base.d.ts +19 -0
  166. package/dist/src/plugins/base.js +26 -0
  167. package/dist/src/plugins/base.js.map +1 -0
  168. package/dist/src/plugins/cameraStorage.d.ts +97 -0
  169. package/dist/src/plugins/cameraStorage.js +290 -0
  170. package/dist/src/plugins/cameraStorage.js.map +1 -0
  171. package/dist/src/plugins/child.d.ts +18 -0
  172. package/dist/src/plugins/child.js +140 -0
  173. package/dist/src/plugins/child.js.map +1 -0
  174. package/dist/src/plugins/config.d.ts +113 -0
  175. package/dist/src/plugins/config.js +234 -0
  176. package/dist/src/plugins/config.js.map +1 -0
  177. package/dist/src/plugins/index.d.ts +36 -0
  178. package/dist/src/plugins/index.js +328 -0
  179. package/dist/src/plugins/index.js.map +1 -0
  180. package/dist/src/plugins/plugin.d.ts +47 -0
  181. package/dist/src/plugins/plugin.js +215 -0
  182. package/dist/src/plugins/plugin.js.map +1 -0
  183. package/dist/src/plugins/schema.d.ts +268 -0
  184. package/dist/src/plugins/schema.js +717 -0
  185. package/dist/src/plugins/schema.js.map +1 -0
  186. package/dist/src/plugins/storage.d.ts +28 -0
  187. package/dist/src/plugins/storage.js +45 -0
  188. package/dist/src/plugins/storage.js.map +1 -0
  189. package/dist/src/plugins/types.d.ts +162 -0
  190. package/dist/src/plugins/types.js +21 -0
  191. package/dist/src/plugins/types.js.map +1 -0
  192. package/dist/src/plugins/worker.d.ts +27 -0
  193. package/dist/src/plugins/worker.js +236 -0
  194. package/dist/src/plugins/worker.js.map +1 -0
  195. package/dist/src/proxy/client/cameraDevice.d.ts +29 -0
  196. package/dist/src/proxy/client/cameraDevice.js +171 -0
  197. package/dist/src/proxy/client/cameraDevice.js.map +1 -0
  198. package/dist/src/proxy/client/deviceManager.d.ts +40 -0
  199. package/dist/src/proxy/client/deviceManager.js +239 -0
  200. package/dist/src/proxy/client/deviceManager.js.map +1 -0
  201. package/dist/src/proxy/client/index.d.ts +4 -0
  202. package/dist/src/proxy/client/index.js +21 -0
  203. package/dist/src/proxy/client/index.js.map +1 -0
  204. package/dist/src/proxy/client/pluginsManager.d.ts +35 -0
  205. package/dist/src/proxy/client/pluginsManager.js +237 -0
  206. package/dist/src/proxy/client/pluginsManager.js.map +1 -0
  207. package/dist/src/proxy/client/systemManager.d.ts +29 -0
  208. package/dist/src/proxy/client/systemManager.js +163 -0
  209. package/dist/src/proxy/client/systemManager.js.map +1 -0
  210. package/dist/src/proxy/index.d.ts +20 -0
  211. package/dist/src/proxy/index.js +98 -0
  212. package/dist/src/proxy/index.js.map +1 -0
  213. package/dist/src/proxy/proxies/camera.d.ts +26 -0
  214. package/dist/src/proxy/proxies/camera.js +72 -0
  215. package/dist/src/proxy/proxies/camera.js.map +1 -0
  216. package/dist/src/proxy/proxies/plugin.d.ts +30 -0
  217. package/dist/src/proxy/proxies/plugin.js +110 -0
  218. package/dist/src/proxy/proxies/plugin.js.map +1 -0
  219. package/dist/src/proxy/proxies/server.d.ts +34 -0
  220. package/dist/src/proxy/proxies/server.js +92 -0
  221. package/dist/src/proxy/proxies/server.js.map +1 -0
  222. package/dist/src/proxy/types.d.ts +189 -0
  223. package/dist/src/proxy/types.js +3 -0
  224. package/dist/src/proxy/types.js.map +1 -0
  225. package/dist/src/proxy/utils/generateKeys.d.ts +5 -0
  226. package/dist/src/proxy/utils/generateKeys.js +13 -0
  227. package/dist/src/proxy/utils/generateKeys.js.map +1 -0
  228. package/dist/src/proxy/ws/index.d.ts +21 -0
  229. package/dist/src/proxy/ws/index.js +75 -0
  230. package/dist/src/proxy/ws/index.js.map +1 -0
  231. package/dist/src/services/config/index.d.ts +60 -0
  232. package/dist/src/services/config/index.js +319 -0
  233. package/dist/src/services/config/index.js.map +1 -0
  234. package/dist/src/services/config/types.d.ts +153 -0
  235. package/dist/src/services/config/types.js +13 -0
  236. package/dist/src/services/config/types.js.map +1 -0
  237. package/dist/src/services/logger/index.d.ts +37 -0
  238. package/dist/src/services/logger/index.js +181 -0
  239. package/dist/src/services/logger/index.js.map +1 -0
  240. package/package.json +46 -0
  241. package/webpack.config.js +29 -0
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cameraDevice"), exports);
18
+ __exportStar(require("./deviceManager"), exports);
19
+ __exportStar(require("./pluginsManager"), exports);
20
+ __exportStar(require("./systemManager"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../node/src/proxy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC;AACjC,kDAAgC"}
@@ -0,0 +1,9 @@
1
+ import type { SocketService } from '../socket';
2
+ import type { PluginsManagerProxyMethods, PluginsManagerProxyEventCallbacks } from '../../../../shared/types';
3
+ export declare class PluginsManagerClient implements PluginsManagerProxyMethods {
4
+ private socketService;
5
+ constructor(socketService: SocketService);
6
+ listen<E extends keyof PluginsManagerProxyEventCallbacks>(eventType: E, callback: PluginsManagerProxyEventCallbacks[E]): void;
7
+ removeListener<E extends keyof PluginsManagerProxyEventCallbacks>(eventType: E, callback: PluginsManagerProxyEventCallbacks[E]): void;
8
+ removeAllListeners<E extends keyof PluginsManagerProxyEventCallbacks>(eventType?: E): void;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PluginsManagerClient = void 0;
4
+ class PluginsManagerClient {
5
+ socketService;
6
+ constructor(socketService) {
7
+ this.socketService = socketService;
8
+ }
9
+ listen(eventType, callback) {
10
+ this.socketService.getSocket().on(eventType, callback);
11
+ }
12
+ removeListener(eventType, callback) {
13
+ this.socketService.getSocket().off(eventType, callback);
14
+ }
15
+ removeAllListeners(eventType) {
16
+ if (eventType) {
17
+ this.socketService.getSocket().off(eventType);
18
+ }
19
+ else {
20
+ this.socketService.getSocket().removeAllListeners();
21
+ }
22
+ }
23
+ }
24
+ exports.PluginsManagerClient = PluginsManagerClient;
25
+ //# sourceMappingURL=pluginsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginsManager.js","sourceRoot":"","sources":["../../../../../../node/src/proxy/pluginsManager.ts"],"names":[],"mappings":";;;AAGA,MAAa,oBAAoB;IACvB,aAAa,CAAgB;IAErC,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEM,MAAM,CAAoD,SAAY,EAAE,QAA8C;QAC3H,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,SAAmB,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAEM,cAAc,CAAoD,SAAY,EAAE,QAA8C;QACnI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAmB,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEM,kBAAkB,CAAoD,SAAa;QACxF,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAmB,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAtBD,oDAsBC"}
@@ -0,0 +1,9 @@
1
+ import type { SocketService } from '../socket';
2
+ import type { SystemManagerProxyMethods, SystemManagerProxyEventCallbacks } from '../../../../shared/types';
3
+ export declare class SystemManagerClient implements SystemManagerProxyMethods {
4
+ private socketService;
5
+ constructor(socketService: SocketService);
6
+ listen<E extends keyof SystemManagerProxyEventCallbacks>(eventType: E, callback: SystemManagerProxyEventCallbacks[E]): void;
7
+ removeListener<E extends keyof SystemManagerProxyEventCallbacks>(eventType: E, callback: SystemManagerProxyEventCallbacks[E]): void;
8
+ removeAllListeners<E extends keyof SystemManagerProxyEventCallbacks>(eventType?: E): void;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SystemManagerClient = void 0;
4
+ class SystemManagerClient {
5
+ socketService;
6
+ constructor(socketService) {
7
+ this.socketService = socketService;
8
+ }
9
+ listen(eventType, callback) {
10
+ this.socketService.getSocket().on(eventType, callback);
11
+ }
12
+ removeListener(eventType, callback) {
13
+ this.socketService.getSocket().off(eventType, callback);
14
+ }
15
+ removeAllListeners(eventType) {
16
+ if (eventType) {
17
+ this.socketService.getSocket().off(eventType);
18
+ }
19
+ else {
20
+ this.socketService.getSocket().removeAllListeners();
21
+ }
22
+ }
23
+ }
24
+ exports.SystemManagerClient = SystemManagerClient;
25
+ //# sourceMappingURL=systemManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemManager.js","sourceRoot":"","sources":["../../../../../../node/src/proxy/systemManager.ts"],"names":[],"mappings":";;;AAGA,MAAa,mBAAmB;IACtB,aAAa,CAAgB;IAErC,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEM,MAAM,CAAmD,SAAY,EAAE,QAA6C;QACzH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,SAAmB,EAAE,QAAQ,CAAC,CAAC;IACnE,CAAC;IAEM,cAAc,CAAmD,SAAY,EAAE,QAA6C;QACjI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAmB,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEM,kBAAkB,CAAmD,SAAa;QACvF,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAmB,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAtBD,kDAsBC"}
@@ -0,0 +1,9 @@
1
+ import { Manager, type Socket } from 'socket.io-client';
2
+ export declare class SocketService {
3
+ manager: Manager;
4
+ private token;
5
+ constructor(endpoint: string, token: string);
6
+ sendRequest(managerType: string, methodName: string, args: any[]): Promise<any>;
7
+ getSocket(): Socket;
8
+ close(): void;
9
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SocketService = void 0;
4
+ const socket_io_client_1 = require("socket.io-client");
5
+ class SocketService {
6
+ manager;
7
+ token;
8
+ constructor(endpoint, token) {
9
+ const wsEndpoint = endpoint.replace('https://', 'wss://').replace('http://', 'ws://');
10
+ this.token = token;
11
+ this.manager = new socket_io_client_1.Manager(wsEndpoint, {
12
+ reconnection: true,
13
+ reconnectionDelay: 500,
14
+ rejectUnauthorized: false,
15
+ autoConnect: true,
16
+ transports: ['websocket'],
17
+ });
18
+ }
19
+ sendRequest(managerType, methodName, args) {
20
+ return new Promise((resolve, reject) => {
21
+ this.getSocket().emit(`${managerType}Request`, { method: methodName, args }, (response) => {
22
+ if (response.success) {
23
+ resolve(response.data);
24
+ }
25
+ else {
26
+ reject(response.error);
27
+ }
28
+ });
29
+ });
30
+ }
31
+ getSocket() {
32
+ return this.manager.socket('/proxy', {
33
+ auth: {
34
+ token: `Bearer ${this.token}`,
35
+ },
36
+ });
37
+ }
38
+ close() {
39
+ this.getSocket().emit('end');
40
+ this.getSocket().removeAllListeners();
41
+ this.getSocket().disconnect();
42
+ }
43
+ }
44
+ exports.SocketService = SocketService;
45
+ //# sourceMappingURL=socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../../node/src/socket.ts"],"names":[],"mappings":";;;AAAA,uDAAwD;AAExD,MAAa,aAAa;IACjB,OAAO,CAAU;IAEhB,KAAK,CAAS;IAEtB,YAAY,QAAgB,EAAE,KAAa;QACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,0BAAO,CAAC,UAAU,EAAE;YACrC,YAAY,EAAE,IAAI;YAClB,iBAAiB,EAAE,GAAG;YACtB,kBAAkB,EAAE,KAAK;YACzB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,CAAC,WAAW,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,WAAmB,EAAE,UAAkB,EAAE,IAAW;QACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,WAAW,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,QAAa,EAAE,EAAE;gBAC7F,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACnC,IAAI,EAAE;gBACJ,KAAK,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;aAC9B;SACF,CAAC,CAAC;IACL,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC,kBAAkB,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;CACF;AA3CD,sCA2CC"}
@@ -0,0 +1,22 @@
1
+ import type { DeviceManagerClient, PluginsManagerClient, SystemManagerClient } from './proxy';
2
+ export type { BasicPeerConnection, CameraConfig, CameraDevice, Camera, CameraInput, Go2RtcIceCandidateMessage, Go2RtcOfferMessage, Go2RtcAnswerMessage, Go2RtcIncomingMessage, Go2RtcOutgoingMessage, LightState, MotionState, AudioState, ObjectState, DoorbellState, SirenState, } from '../../../shared/types';
3
+ export type CameraUiClientConfig = WithCredentials | WithToken;
4
+ export interface API {
5
+ deviceManager: DeviceManagerClient;
6
+ pluginsManager: PluginsManagerClient;
7
+ systemManager: SystemManagerClient;
8
+ }
9
+ type WithCredentials = {
10
+ endpoint: string;
11
+ skipCheck?: boolean;
12
+ username: string;
13
+ password: string;
14
+ token?: never;
15
+ };
16
+ type WithToken = {
17
+ endpoint: string;
18
+ skipCheck?: boolean;
19
+ username?: never;
20
+ password?: never;
21
+ token: string;
22
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../node/src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,149 @@
1
+ {
2
+ "name": "@camera.ui/cui",
3
+ "version": "3.0.0-alpha.73",
4
+ "description": "camera.ui",
5
+ "author": "SeydX (https://github.com/SeydX/camera.ui)",
6
+ "main": "./dist/src/index.js",
7
+ "types": "./dist/src/index.d.ts",
8
+ "bin": {
9
+ "camera.ui": "dist/bin/cui.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "default": "./dist/src/index.js",
14
+ "types": "./dist/src/index.d.ts"
15
+ }
16
+ },
17
+ "scripts": {
18
+ "build": "concurrently \"npm run build:server\" \"npm run build:ui\"",
19
+ "build:ui": "npm run build --prefix ui",
20
+ "build:server": "rimraf dist && tsc",
21
+ "format": "concurrently \"npm run format:server\" \"npm run format:ui\"",
22
+ "format:server": "prettier --write 'src/' 'bin/' --ignore-path /ui --ignore-unknown --no-error-on-unmatched-pattern",
23
+ "format:ui": "npm run format --prefix ui",
24
+ "install-updates": "concurrently \"npm run install-updates:server\" \"npm run install-updates:ui\"",
25
+ "install-updates:server": "npm i --save",
26
+ "install-updates:ui": "npm i --save --prefix ui",
27
+ "lint": "concurrently \"npm run lint:server\" \"npm run lint:ui\"",
28
+ "lint:server": "eslint --fix --ext .js,.ts .",
29
+ "lint:ui": "npm run lint --prefix ui",
30
+ "update": "concurrently \"npm run update:server\" \"npm run update:ui\"",
31
+ "update:server": "updates --update ./",
32
+ "update:ui": "npm run update --prefix ui",
33
+ "watch": "concurrently \"npm run watch:server\" \"npm run watch:ui\"",
34
+ "watch:server": "nodemon",
35
+ "watch:ui": "npm run dev --prefix ui",
36
+ "prepublishOnly": "npm run lint && npm run format && npm run build"
37
+ },
38
+ "dependencies": {
39
+ "@camera.ui/client": "^0.0.21",
40
+ "@camera.ui/go2rtc": "^0.0.3",
41
+ "@fastify/cors": "^8.5.0",
42
+ "@fastify/formbody": "^7.4.0",
43
+ "@fastify/helmet": "^11.1.1",
44
+ "@fastify/middie": "^8.3.0",
45
+ "@fastify/multipart": "^8.1.0",
46
+ "@fastify/static": "^6.12.0",
47
+ "@homebridge/camera-utils": "^2.2.4",
48
+ "@homebridge/node-pty-prebuilt-multiarch": "0.11.13-beta.0",
49
+ "@seydx/fix-path": "3.0.1",
50
+ "ansi-parser": "^3.2.10",
51
+ "axios": "^1.6.5",
52
+ "bash-color": "^0.0.4",
53
+ "chalk": "4.1.2",
54
+ "commander": "^11.1.0",
55
+ "compare-versions": "^6.1.0",
56
+ "dotenv": "^16.3.1",
57
+ "express-useragent": "^1.0.15",
58
+ "fastify": "4.25.2",
59
+ "fastify-plugin": "^4.5.1",
60
+ "fastify-type-provider-zod": "^1.1.9",
61
+ "fs-extra": "^11.2.0",
62
+ "js-yaml": "^4.1.0",
63
+ "jsonwebtoken": "^9.0.2",
64
+ "lodash.clonedeep": "^4.5.0",
65
+ "lodash.mergewith": "^4.6.2",
66
+ "lodash.orderby": "^4.6.0",
67
+ "moment": "^2.30.1",
68
+ "node-cache": "^5.1.2",
69
+ "node-forge": "^1.3.1",
70
+ "object-path": "^0.11.8",
71
+ "pouchdb": "^8.0.1",
72
+ "pouchdb-adapter-memory": "^8.0.1",
73
+ "qs": "^6.11.2",
74
+ "reflect-metadata": "^0.2.1",
75
+ "safe-timers": "^1.1.0",
76
+ "semver": "^7.5.4",
77
+ "socket.io": "^4.7.3",
78
+ "systeminformation": "^5.21.22",
79
+ "tail": "^2.2.6",
80
+ "tar": "^6.2.0",
81
+ "tsyringe": "^4.8.0",
82
+ "uuid": "^9.0.1",
83
+ "validator": "^13.11.0",
84
+ "werift": "^0.19.0",
85
+ "ws": "^8.16.0",
86
+ "zeromq": "^6.0.0-beta.19",
87
+ "zod": "^3.22.4"
88
+ },
89
+ "devDependencies": {
90
+ "@rushstack/eslint-patch": "^1.6.1",
91
+ "@types/express-useragent": "^1.0.5",
92
+ "@types/fs-extra": "^11.0.4",
93
+ "@types/js-yaml": "^4.0.9",
94
+ "@types/jsonwebtoken": "^9.0.5",
95
+ "@types/lodash.clonedeep": "^4.5.9",
96
+ "@types/lodash.mergewith": "^4.6.9",
97
+ "@types/lodash.orderby": "^4.6.9",
98
+ "@types/node": "^20.10.6",
99
+ "@types/node-forge": "^1.3.11",
100
+ "@types/object-path": "^0.11.4",
101
+ "@types/pouchdb": "^6.4.2",
102
+ "@types/safe-timers": "^1.1.2",
103
+ "@types/tail": "^2.2.3",
104
+ "@types/tar": "^6.1.10",
105
+ "@types/unzipper": "^0.10.9",
106
+ "@types/uuid": "^9.0.7",
107
+ "@types/validator": "^13.11.7",
108
+ "@types/ws": "^8.5.10",
109
+ "@typescript-eslint/eslint-plugin": "^6.18.0",
110
+ "@typescript-eslint/parser": "^6.18.0",
111
+ "concurrently": "^8.2.2",
112
+ "cross-env": "^7.0.3",
113
+ "eslint": "^8.56.0",
114
+ "eslint-config-prettier": "^9.1.0",
115
+ "eslint-plugin-prettier": "^5.1.2",
116
+ "nodemon": "^3.0.2",
117
+ "prettier": "^3.1.1",
118
+ "rimraf": "^5.0.5",
119
+ "ts-node": "^10.9.2",
120
+ "tsconfig-paths": "^4.2.0",
121
+ "typescript": "^5.3.3",
122
+ "updates": "^15.1.1"
123
+ },
124
+ "overrides": {
125
+ "leveldown": "^6.1.1",
126
+ "levelup": "^5.1.1"
127
+ },
128
+ "bugs": {
129
+ "url": "https://github.com/SeydX/camera.ui/issues"
130
+ },
131
+ "engines": {
132
+ "node": ">=18.12.0"
133
+ },
134
+ "homepage": "https://github.com/SeydX/camera.ui#readme",
135
+ "keywords": [
136
+ "camera.ui",
137
+ "motion detection",
138
+ "user interface",
139
+ "rekognition",
140
+ "interface",
141
+ "webapp",
142
+ "nvr"
143
+ ],
144
+ "license": "MIT",
145
+ "repository": {
146
+ "type": "git",
147
+ "url": "git+https://github.com/SeydX/camera.ui.git"
148
+ }
149
+ }
@@ -0,0 +1,6 @@
1
+ import type { JwtTokenDecoded } from '../types';
2
+ export declare const dataToQuery: (data: any) => string;
3
+ export declare const queryToData: (query: string) => Record<string, any>;
4
+ export declare const isJson: (str: any) => boolean;
5
+ export declare const parseJwt: (access_token: string) => JwtTokenDecoded;
6
+ export declare const sleep: (ms: number) => Promise<void>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sleep = exports.parseJwt = exports.isJson = exports.queryToData = exports.dataToQuery = void 0;
4
+ const dataToQuery = (data) => {
5
+ let query = '';
6
+ if (typeof data === 'object' && !Array.isArray(data)) {
7
+ for (const [key, value] of Object.entries(data)) {
8
+ if (query === '') {
9
+ query += `?${key}=${value}`;
10
+ }
11
+ else {
12
+ query += `&${key}=${value}`;
13
+ }
14
+ }
15
+ }
16
+ return query;
17
+ };
18
+ exports.dataToQuery = dataToQuery;
19
+ const queryToData = (query) => {
20
+ const params = new URLSearchParams(query);
21
+ const result = {};
22
+ params.forEach((value, key) => {
23
+ if (value === 'true' || value === 'false' || value === '') {
24
+ result[key] = value === 'true' || value === '';
25
+ }
26
+ else if (value === 'null') {
27
+ result[key] = null;
28
+ }
29
+ else if (value === 'undefined') {
30
+ result[key] = undefined;
31
+ }
32
+ else if (!isNaN(Number(value))) {
33
+ result[key] = Number(value);
34
+ }
35
+ else {
36
+ result[key] = value;
37
+ }
38
+ });
39
+ return result;
40
+ };
41
+ exports.queryToData = queryToData;
42
+ const isJson = (str) => {
43
+ try {
44
+ JSON.parse(str);
45
+ }
46
+ catch {
47
+ return false;
48
+ }
49
+ return true;
50
+ };
51
+ exports.isJson = isJson;
52
+ const parseJwt = (access_token) => {
53
+ const base64Url = access_token.split('.')[1];
54
+ const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
55
+ const jsonPayload = decodeURIComponent(atob(base64)
56
+ .split('')
57
+ .map((c) => {
58
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
59
+ })
60
+ .join(''));
61
+ return JSON.parse(jsonPayload);
62
+ };
63
+ exports.parseJwt = parseJwt;
64
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
65
+ exports.sleep = sleep;
66
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../shared/common/utils.ts"],"names":[],"mappings":";;;AAEO,MAAM,WAAW,GAAG,CAAC,IAAS,EAAU,EAAE;IAC/C,IAAI,KAAK,GAAW,EAAE,CAAC;IAEvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,WAAW,eActB;AAEK,MAAM,WAAW,GAAG,CAAC,KAAa,EAAuB,EAAE;IAChE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,EAAE,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAnBW,QAAA,WAAW,eAmBtB;AAEK,MAAM,MAAM,GAAG,CAAC,GAAQ,EAAW,EAAE;IAC1C,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AARW,QAAA,MAAM,UAQjB;AAEK,MAAM,QAAQ,GAAG,CAAC,YAAoB,EAAmB,EAAE;IAChE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAW,kBAAkB,CAC5C,IAAI,CAAC,MAAM,CAAC;SACT,KAAK,CAAC,EAAE,CAAC;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;IAEF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC,CAAC;AAdW,QAAA,QAAQ,YAcnB;AAEK,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAAzF,QAAA,KAAK,SAAoF"}
@@ -0,0 +1,8 @@
1
+ export * from '../../src/api/types';
2
+ export * from '../../src/services/config/types';
3
+ export * from '../../src/api/database/types';
4
+ export * from '../../src/plugins/types';
5
+ export * from '../../src/api/ws/types';
6
+ export * from '../../src/go2rtc/types';
7
+ export type * from '../../src/camera/types';
8
+ export type * from '../../src/proxy/types';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../../src/api/types"), exports);
18
+ __exportStar(require("../../src/services/config/types"), exports);
19
+ __exportStar(require("../../src/api/database/types"), exports);
20
+ __exportStar(require("../../src/plugins/types"), exports);
21
+ __exportStar(require("../../src/api/ws/types"), exports);
22
+ __exportStar(require("../../src/go2rtc/types"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../shared/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,kEAAgD;AAChD,+DAA6C;AAC7C,0DAAwC;AACxC,yDAAuC;AACvC,yDAAuC"}
@@ -0,0 +1,25 @@
1
+ /// <reference types="pouchdb-find" />
2
+ /// <reference types="pouchdb-core" />
3
+ /// <reference types="pouchdb-mapreduce" />
4
+ /// <reference types="pouchdb-replication" />
5
+ import type { FastifyInstance } from 'fastify';
6
+ import type { DBTokens, DBCameras, DBUsers, DBSettings, DBPlugins } from './types';
7
+ import type { Plugin } from '../../plugins/plugin';
8
+ export declare class Database {
9
+ private _db;
10
+ private _tokensDb;
11
+ private _initialized;
12
+ private _closed;
13
+ private app;
14
+ private configService;
15
+ constructor(app: FastifyInstance);
16
+ get db(): PouchDB.Database<DBCameras | DBUsers | DBSettings | DBPlugins>;
17
+ get tokensDb(): PouchDB.Database<DBTokens>;
18
+ close(): Promise<void>;
19
+ initialize(): Promise<Database>;
20
+ updateCameras(): Promise<void>;
21
+ createPluginDatabase(plugin: Plugin): Promise<void>;
22
+ private ensureDatabases;
23
+ private updateConfig;
24
+ private generateAdmin;
25
+ }