@camera.ui/server 0.0.24 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/{@tanstack.Brod2Ybu.0.0.24.js → @tanstack.DJCGsne4.0.0.26.js} +1 -1
- package/dist/interface/{@vee-validate.DFvcFg4-.0.0.24.js → @vee-validate.CYhlCcNP.0.0.26.js} +1 -1
- package/dist/interface/{@vue.CZrUPDnV.0.0.24.js → @vue.Cu2HxZV7.0.0.26.js} +1 -1
- package/dist/interface/{@vueform.DrDt7F-J.0.0.24.js → @vueform.C7JEqnXC.0.0.26.js} +1 -1
- package/dist/interface/{@vueuse.6ik9__Sg.0.0.24.js → @vueuse.DO1d3ism.0.0.26.js} +1 -1
- package/dist/interface/{Account.qEhMT5qS.0.0.24.js → Account.Das-6fa8.0.0.26.js} +1 -1
- package/dist/interface/{Adminpanel.DVWP7fNm.0.0.24.js → Adminpanel.CQNcuAgA.0.0.26.js} +2 -2
- package/dist/interface/{Appearance.woY2p417.0.0.24.js → Appearance.BmNGcBen.0.0.26.js} +1 -1
- package/dist/interface/Backup.C1ASk6dv.0.0.26.js +1 -0
- package/dist/interface/{Camera.PZhMgVdL.0.0.24.js → Camera.DtbyyoJC.0.0.26.js} +1 -1
- package/dist/interface/{Cameras.CcLtQbSg.0.0.24.js → Cameras.CX1NqDwG.0.0.26.js} +1 -1
- package/dist/interface/{Camview.5MKB21Un.0.0.24.js → Camview.v15FLZXq.0.0.26.js} +1 -1
- package/dist/interface/{Config.BI5USYb2.0.0.24.js → Config.CWt06h2X.0.0.26.js} +1 -1
- package/dist/interface/{Console.CHAHbcXQ.0.0.24.js → Console.C2sjIz21.0.0.26.js} +1 -1
- package/dist/interface/{FirstSteps.DdDaftg6.0.0.24.js → FirstSteps.B7FDMk7d.0.0.26.js} +1 -1
- package/dist/interface/{NewCamera.DMVsLsfC.0.0.24.js → NewCamera.BF6yEx1f.0.0.26.js} +1 -1
- package/dist/interface/{Plugin.BRVK5lIh.0.0.24.js → Plugin.1GWAcsXP.0.0.26.js} +1 -1
- package/dist/interface/{Plugins.Cr2QZIFU.0.0.24.js → Plugins.CqSYRGne.0.0.26.js} +1 -1
- package/dist/interface/Recordings.C7FLjcYq.0.0.26.js +1 -0
- package/dist/interface/Recordings.D9Ayjfgb.0.0.26.js +1 -0
- package/dist/interface/{Settings.8SeiQi3H.0.0.24.js → Settings.BUdYXlXh.0.0.26.js} +1 -1
- package/dist/interface/{System.hZ404f4-.0.0.24.js → System.B4JtkYI_.0.0.26.js} +1 -1
- package/dist/interface/{User.Dt7tAUpt.0.0.24.js → User.GqvDPCjA.0.0.26.js} +1 -1
- package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.CQxyt9_s.0.0.24.js → VConfigEditor.vue_vue_type_script_setup_true_lang.OBEy-QGk.0.0.26.js} +2 -2
- package/dist/interface/{VConsole.C4yFmpqV.0.0.24.js → VConsole.D_UEEJ6M.0.0.26.js} +1 -1
- package/dist/interface/{VPlayer.CmNngrGK.0.0.24.js → VPlayer.B6WqugHB.0.0.26.js} +1 -1
- package/dist/interface/{VPluginCard.HNbxJ5iB.0.0.24.js → VPluginCard.C4BMJXfJ.0.0.26.js} +1 -1
- package/dist/interface/{ace-builds.DWDaZbtr.0.0.24.js → ace-builds.Dsuirs4t.0.0.26.js} +1 -1
- package/dist/interface/{apexcharts.CyHHMliU.0.0.24.js → apexcharts.70ahpMeg.0.0.26.js} +1 -1
- package/dist/interface/{dnd-core.BWank57U.0.0.24.js → dnd-core.Bew5Znjn.0.0.26.js} +1 -1
- package/dist/interface/{draggabilly.fpaEJgQW.0.0.24.js → draggabilly.KFYMFvtP.0.0.26.js} +1 -1
- package/dist/interface/{engine.io-client.5Lur8oxX.0.0.24.js → engine.io-client.D0YIUKPI.0.0.26.js} +1 -1
- package/dist/interface/{ev-emitter.CPe2cieg.0.0.24.js → ev-emitter.BGKk8Npt.0.0.26.js} +1 -1
- package/dist/interface/{fast-deep-equal.8DAofeix.0.0.24.js → fast-deep-equal.CH01muHZ.0.0.26.js} +1 -1
- package/dist/interface/{highlight.js.BH62uHDb.0.0.24.js → highlight.js.DblKxZcW.0.0.26.js} +1 -1
- package/dist/interface/index.html +32 -32
- package/dist/interface/{linkify-it.tu7M533P.0.0.24.js → linkify-it.ea_mK3sQ.0.0.26.js} +1 -1
- package/dist/interface/{main.BTP9tknh.0.0.24.js → main.DB5nYXhv.0.0.26.js} +4 -17
- package/dist/interface/{markdown-it.BNQ-bDZB.0.0.24.js → markdown-it.BCllNUuD.0.0.26.js} +1 -1
- package/dist/interface/{nprogress.RzoIQk6G.0.0.24.js → nprogress.fQbeXJrK.0.0.26.js} +1 -1
- package/dist/interface/{pinia.Cfe5W3g9.0.0.24.js → pinia.DkA0HdC3.0.0.26.js} +1 -1
- package/dist/interface/{plugins.pQkkDJnl.0.0.24.js → plugins.DrB02-ft.0.0.26.js} +1 -1
- package/dist/interface/pwa/pwa-120x120.png +0 -0
- package/dist/interface/pwa/pwa-144x144.png +0 -0
- package/dist/interface/pwa/pwa-152x152.png +0 -0
- package/dist/interface/pwa/pwa-167x167.png +0 -0
- package/dist/interface/pwa/pwa-192x192.png +0 -0
- package/dist/interface/pwa/pwa-24x24.png +0 -0
- package/dist/interface/pwa/pwa-36x36.png +0 -0
- package/dist/interface/pwa/pwa-48x48.png +0 -0
- package/dist/interface/pwa/pwa-50x50.png +0 -0
- package/dist/interface/pwa/pwa-64x64.png +0 -0
- package/dist/interface/pwa/pwa-72x72.png +0 -0
- package/dist/interface/pwa/pwa-88x88.png +0 -0
- package/dist/interface/pwa/pwa-96x96.png +0 -0
- package/dist/interface/{qrcode.C7XzdSOo.0.0.24.js → qrcode.1Tp-NRCM.0.0.26.js} +1 -1
- package/dist/interface/{react-dnd-touch-backend.Db30gkOn.0.0.24.js → react-dnd-touch-backend.CSaaplcX.0.0.26.js} +1 -1
- package/dist/interface/{rxjs.P_oAaRZt.0.0.24.js → rxjs.DEaSL0qY.0.0.26.js} +1 -1
- package/dist/interface/{socket.io-client.D--yaORK.0.0.24.js → socket.io-client.DhAFK5pR.0.0.26.js} +1 -1
- package/dist/interface/{socket.io-parser.DO2HYu-6.0.0.24.js → socket.io-parser.Dqc-wAWR.0.0.26.js} +1 -1
- package/dist/interface/sw.js +1 -1
- package/dist/interface/{system.DcSO1y02.0.0.24.js → system.BqgtQ929.0.0.26.js} +1 -1
- package/dist/interface/{unidragger.Cno_0q19.0.0.24.js → unidragger.fEgB1fdV.0.0.26.js} +1 -1
- package/dist/interface/{vee-validate.DUSi9FX2.0.0.24.js → vee-validate.DXISFe7B.0.0.26.js} +1 -1
- package/dist/interface/{vue-i18n.wVktXvsd.0.0.24.js → vue-i18n.CAWS_WIh.0.0.26.js} +1 -1
- package/dist/interface/{vue-inline-svg.7NrowM-V.0.0.24.js → vue-inline-svg.DsruHAXy.0.0.26.js} +1 -1
- package/dist/interface/{vue-router.Bom3O23T.0.0.24.js → vue-router._vC8MBv6.0.0.26.js} +1 -1
- package/dist/interface/{vue3-apexcharts.Ce4WIjBr.0.0.24.js → vue3-apexcharts.D6Esrb5D.0.0.26.js} +1 -1
- package/dist/interface/{vue3-dnd.eIheGvf3.0.0.24.js → vue3-dnd.CGPq3PI6.0.0.26.js} +1 -1
- package/dist/interface/{vue3-toastify.BhHGk418.0.0.24.js → vue3-toastify.B3TQOJuV.0.0.26.js} +1 -1
- package/dist/interface/{vuetify.Dl3lq6rT.0.0.24.js → vuetify.DZjXMjFB.0.0.26.js} +1 -1
- package/dist/server/package.json +5 -5
- package/dist/server/src/api/controllers/backup.controller.js +10 -2
- package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.js +22 -3
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/users.controller.js +8 -5
- package/dist/server/src/api/controllers/users.controller.js.map +1 -1
- package/dist/server/src/api/go2rtc/api/index.js +2 -1
- package/dist/server/src/api/go2rtc/api/index.js.map +1 -1
- package/dist/server/src/api/index.d.ts +0 -1
- package/dist/server/src/api/index.js +1 -13
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/schemas/backup.schema.d.ts +94 -1
- package/dist/server/src/api/schemas/backup.schema.js +19 -1
- package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +16 -16
- package/dist/server/src/api/schemas/plugins.schema.d.ts +3 -3
- package/dist/server/src/api/schemas/plugins.schema.js +3 -3
- package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +1 -1
- package/dist/server/src/api/schemas/users.schema.js +1 -1
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/services/backup.service.d.ts +3 -4
- package/dist/server/src/api/services/backup.service.js +18 -31
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +7 -0
- package/dist/server/src/api/utils/moveFiles.d.ts +4 -1
- package/dist/server/src/api/utils/moveFiles.js +24 -34
- package/dist/server/src/api/utils/moveFiles.js.map +1 -1
- package/package.json +5 -5
- package/dist/interface/Backup.D8uWEIqq.0.0.24.js +0 -1
- package/dist/interface/Recordings.BioH7tC4.0.0.24.js +0 -1
- package/dist/interface/Recordings.CMf25vOm.0.0.24.js +0 -1
- package/localdeps.txt +0 -6
- /package/dist/interface/{@babel.l0sNRNKZ.0.0.24.js → @babel.l0sNRNKZ.0.0.26.js} +0 -0
- /package/dist/interface/{@intlify.DXtFJcML.0.0.24.js → @intlify.DXtFJcML.0.0.26.js} +0 -0
- /package/dist/interface/{@mdi.C1UTQKuc.0.0.24.js → @mdi.C1UTQKuc.0.0.26.js} +0 -0
- /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.24.js → @react-dnd.CcwRs9xb.0.0.26.js} +0 -0
- /package/dist/interface/{@socket.io.Dkula2eQ.0.0.24.js → @socket.io.Dkula2eQ.0.0.26.js} +0 -0
- /package/dist/interface/{@turf.l0sNRNKZ.0.0.24.js → @turf.l0sNRNKZ.0.0.26.js} +0 -0
- /package/dist/interface/{@xterm.Diw68p_A.0.0.24.js → @xterm.5Sbl1ahh.0.0.26.js} +0 -0
- /package/dist/interface/assets/{@vueform.0.0.24.CroAHJs8.css → @vueform.0.0.26.CroAHJs8.css} +0 -0
- /package/dist/interface/assets/{@xterm.0.0.24.CFbL2ovg.css → @xterm.0.0.26.CFbL2ovg.css} +0 -0
- /package/dist/interface/assets/{Account.0.0.24.J7oAjogS.css → Account.0.0.26.J7oAjogS.css} +0 -0
- /package/dist/interface/assets/{Adminpanel.0.0.24.a3t1v3MB.css → Adminpanel.0.0.26.a3t1v3MB.css} +0 -0
- /package/dist/interface/assets/{Backup.0.0.24.CX0rT0QJ.css → Backup.0.0.26.CX0rT0QJ.css} +0 -0
- /package/dist/interface/assets/{Camera.0.0.24.D1I-fW4q.css → Camera.0.0.26.D1I-fW4q.css} +0 -0
- /package/dist/interface/assets/{Cameras.0.0.24.Buf1Dgce.css → Cameras.0.0.26.Buf1Dgce.css} +0 -0
- /package/dist/interface/assets/{Camview.0.0.24.B7Cja2ry.css → Camview.0.0.26.B7Cja2ry.css} +0 -0
- /package/dist/interface/assets/{Config.0.0.24.DNGo2krN.css → Config.0.0.26.DNGo2krN.css} +0 -0
- /package/dist/interface/assets/{Console.0.0.24.Bh8l9QnM.css → Console.0.0.26.Bh8l9QnM.css} +0 -0
- /package/dist/interface/assets/{FirstSteps.0.0.24.sPEcItZ6.css → FirstSteps.0.0.26.sPEcItZ6.css} +0 -0
- /package/dist/interface/assets/{NewCamera.0.0.24.Cq8GzeJ7.css → NewCamera.0.0.26.Cq8GzeJ7.css} +0 -0
- /package/dist/interface/assets/{Plugin.0.0.24.DJbgaQc1.css → Plugin.0.0.26.DJbgaQc1.css} +0 -0
- /package/dist/interface/assets/{Plugins.0.0.24.DXSoO9M1.css → Plugins.0.0.26.DXSoO9M1.css} +0 -0
- /package/dist/interface/assets/{Settings.0.0.24.CVmui2kE.css → Settings.0.0.26.CVmui2kE.css} +0 -0
- /package/dist/interface/assets/{User.0.0.24.BiGtIFqt.css → User.0.0.26.BiGtIFqt.css} +0 -0
- /package/dist/interface/assets/{VConsole.0.0.24.BCqKHpmJ.css → VConsole.0.0.26.BCqKHpmJ.css} +0 -0
- /package/dist/interface/assets/{VPlayer.0.0.24.DNtDNhfg.css → VPlayer.0.0.26.DNtDNhfg.css} +0 -0
- /package/dist/interface/assets/{VPluginCard.0.0.24.C8Lj6X-J.css → VPluginCard.0.0.26.C8Lj6X-J.css} +0 -0
- /package/dist/interface/assets/{highlight.0.0.24.Ch2EwETz.css → highlight.0.0.26.Ch2EwETz.css} +0 -0
- /package/dist/interface/assets/{logo-256.0.0.24.BCQk9H1-.png → logo-256.0.0.26.BCQk9H1-.png} +0 -0
- /package/dist/interface/assets/{logo-512.0.0.24.DLKVOU2S.png → logo-512.0.0.26.DLKVOU2S.png} +0 -0
- /package/dist/interface/assets/{logo.0.0.24.DmEiRk0z.png → logo.0.0.26.DmEiRk0z.png} +0 -0
- /package/dist/interface/assets/{main.0.0.24.DNhh__S1.css → main.0.0.26.DNhh__S1.css} +0 -0
- /package/dist/interface/assets/{mode-json.0.0.24.Br7xisR1.js → mode-json.0.0.26.Br7xisR1.js} +0 -0
- /package/dist/interface/assets/{mode-yaml.0.0.24.CIYL8U3d.js → mode-yaml.0.0.26.CIYL8U3d.js} +0 -0
- /package/dist/interface/assets/{vue3-toastify.0.0.24.DHXAGmwn.css → vue3-toastify.0.0.26.DHXAGmwn.css} +0 -0
- /package/dist/interface/assets/{vuetify.0.0.24.CgGsw6iO.css → vuetify.0.0.26.CgGsw6iO.css} +0 -0
- /package/dist/interface/{axios.C-n2IhIP.0.0.24.js → axios.C-n2IhIP.0.0.26.js} +0 -0
- /package/dist/interface/{birpc.l0sNRNKZ.0.0.24.js → birpc.l0sNRNKZ.0.0.26.js} +0 -0
- /package/dist/interface/{compare-versions.DqEOhma6.0.0.24.js → compare-versions.DqEOhma6.0.0.26.js} +0 -0
- /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.24.js → dijkstrajs.D_NXgYpA.0.0.26.js} +0 -0
- /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.24.js → engine.io-parser.BiEtp6m2.0.0.26.js} +0 -0
- /package/dist/interface/{entities.C20TfXL6.0.0.24.js → entities.C20TfXL6.0.0.26.js} +0 -0
- /package/dist/interface/{get-size.D1dS-IaP.0.0.24.js → get-size.D1dS-IaP.0.0.26.js} +0 -0
- /package/dist/interface/{hookable.B8xFkYCm.0.0.24.js → hookable.B8xFkYCm.0.0.26.js} +0 -0
- /package/dist/interface/{mdurl.k9Sl0PQj.0.0.24.js → mdurl.k9Sl0PQj.0.0.26.js} +0 -0
- /package/dist/interface/{perfect-debounce.Cp2ysxOb.0.0.24.js → perfect-debounce.Cp2ysxOb.0.0.26.js} +0 -0
- /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.24.js → point-in-polygon-hao.l0sNRNKZ.0.0.26.js} +0 -0
- /package/dist/interface/{punycode.js.Dj65hjkv.0.0.24.js → punycode.js.Dj65hjkv.0.0.26.js} +0 -0
- /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.24.js → react-dnd-html5-backend.1HQjlkwI.0.0.26.js} +0 -0
- /package/dist/interface/{redux.CuxFRhX_.0.0.24.js → redux.CuxFRhX_.0.0.26.js} +0 -0
- /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.24.js → sweepline-intersections.l0sNRNKZ.0.0.26.js} +0 -0
- /package/dist/interface/{tslib.9k7AwCpt.0.0.24.js → tslib.9k7AwCpt.0.0.26.js} +0 -0
- /package/dist/interface/{types.Cz9TaZAP.0.0.24.js → types.Cz9TaZAP.0.0.26.js} +0 -0
- /package/dist/interface/{uc.micro.kMc2yuuw.0.0.24.js → uc.micro.kMc2yuuw.0.0.26.js} +0 -0
- /package/dist/interface/{utils.mAKpSMLY.0.0.24.js → utils.mAKpSMLY.0.0.26.js} +0 -0
- /package/dist/interface/{uuid.Ch9TGLTe.0.0.24.js → uuid.Ch9TGLTe.0.0.26.js} +0 -0
- /package/dist/interface/{vue.l0sNRNKZ.0.0.24.js → vue.l0sNRNKZ.0.0.26.js} +0 -0
- /package/dist/interface/{zod.DnW1_kUe.0.0.24.js → zod.DnW1_kUe.0.0.26.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import zod from 'zod';
|
|
2
2
|
export const ACCEPTED_BACKUP_TYPES = ['application/x-tar'];
|
|
3
|
-
export const MAX_BACKUP_FILE_SIZE =
|
|
3
|
+
export const MAX_BACKUP_FILE_SIZE = 1024 * 1024 * 200; // 200mb
|
|
4
4
|
const supportedThemesSchema = zod.union([zod.literal('light'), zod.literal('dark')]);
|
|
5
5
|
const supportedLanguageAbbreviatonsSchema = zod.union([zod.literal('de'), zod.literal('en')]);
|
|
6
6
|
const themeLocalStorageSchema = zod
|
|
@@ -9,6 +9,17 @@ const themeLocalStorageSchema = zod
|
|
|
9
9
|
autoMode: zod.boolean(),
|
|
10
10
|
})
|
|
11
11
|
.strict();
|
|
12
|
+
const camerasSchema = zod
|
|
13
|
+
.object({
|
|
14
|
+
showEvents: zod.boolean(),
|
|
15
|
+
})
|
|
16
|
+
.strict();
|
|
17
|
+
const camviewSchema = zod
|
|
18
|
+
.object({
|
|
19
|
+
dragDisabled: zod.boolean().optional(),
|
|
20
|
+
viewid: zod.string().optional(),
|
|
21
|
+
})
|
|
22
|
+
.strict();
|
|
12
23
|
const configSchema = zod
|
|
13
24
|
.object({
|
|
14
25
|
zoom: zod.number().min(8).max(20),
|
|
@@ -19,10 +30,17 @@ const consoleSchema = zod
|
|
|
19
30
|
zoom: zod.number().min(8).max(20),
|
|
20
31
|
})
|
|
21
32
|
.strict();
|
|
33
|
+
const interfaceSchema = zod.object({
|
|
34
|
+
showBottomBarOnMobile: zod.boolean(),
|
|
35
|
+
selectedSettingsView: zod.string(),
|
|
36
|
+
});
|
|
22
37
|
const uiSettingsLocalStorageSchema = zod
|
|
23
38
|
.object({
|
|
39
|
+
cameras: camerasSchema,
|
|
40
|
+
camview: camviewSchema,
|
|
24
41
|
config: configSchema,
|
|
25
42
|
console: consoleSchema,
|
|
43
|
+
interface: interfaceSchema,
|
|
26
44
|
})
|
|
27
45
|
.strict();
|
|
28
46
|
const uiLocalStorageSchema = zod
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/backup.schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAItB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"backup.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/backup.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -491,6 +491,10 @@ export declare const createCameraSchema: zod.ZodObject<{
|
|
|
491
491
|
supportUrl?: string | undefined;
|
|
492
492
|
};
|
|
493
493
|
name: string;
|
|
494
|
+
interface: {
|
|
495
|
+
streamingMode: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp";
|
|
496
|
+
streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
|
|
497
|
+
};
|
|
494
498
|
_id: string;
|
|
495
499
|
pluginId: string;
|
|
496
500
|
disabled: boolean;
|
|
@@ -519,10 +523,6 @@ export declare const createCameraSchema: zod.ZodObject<{
|
|
|
519
523
|
recording: {
|
|
520
524
|
enabled: boolean;
|
|
521
525
|
};
|
|
522
|
-
interface: {
|
|
523
|
-
streamingMode: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp";
|
|
524
|
-
streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
|
|
525
|
-
};
|
|
526
526
|
activityZones: {
|
|
527
527
|
name: string;
|
|
528
528
|
regions: {
|
|
@@ -569,6 +569,10 @@ export declare const createCameraSchema: zod.ZodObject<{
|
|
|
569
569
|
firmwareVersion?: string | undefined;
|
|
570
570
|
supportUrl?: string | undefined;
|
|
571
571
|
} | undefined;
|
|
572
|
+
interface?: {
|
|
573
|
+
streamingMode: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp";
|
|
574
|
+
streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
|
|
575
|
+
} | undefined;
|
|
572
576
|
_id?: string | undefined;
|
|
573
577
|
nativeId?: string | undefined;
|
|
574
578
|
pluginId?: string | undefined;
|
|
@@ -591,10 +595,6 @@ export declare const createCameraSchema: zod.ZodObject<{
|
|
|
591
595
|
recording?: {
|
|
592
596
|
enabled?: boolean | undefined;
|
|
593
597
|
} | undefined;
|
|
594
|
-
interface?: {
|
|
595
|
-
streamingMode: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp";
|
|
596
|
-
streamingSource: "high-resolution" | "mid-resolution" | "low-resolution";
|
|
597
|
-
} | undefined;
|
|
598
598
|
activityZones?: {
|
|
599
599
|
name: string;
|
|
600
600
|
regions: {
|
|
@@ -843,6 +843,10 @@ export declare const patchCameraSchema: zod.ZodObject<{
|
|
|
843
843
|
supportUrl?: string | undefined;
|
|
844
844
|
} | undefined;
|
|
845
845
|
name?: string | undefined;
|
|
846
|
+
interface?: {
|
|
847
|
+
streamingMode?: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
|
|
848
|
+
streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
|
|
849
|
+
} | undefined;
|
|
846
850
|
disabled?: boolean | undefined;
|
|
847
851
|
snapshotTTL?: number | undefined;
|
|
848
852
|
sources?: {
|
|
@@ -864,10 +868,6 @@ export declare const patchCameraSchema: zod.ZodObject<{
|
|
|
864
868
|
recording?: {
|
|
865
869
|
enabled?: boolean | undefined;
|
|
866
870
|
} | undefined;
|
|
867
|
-
interface?: {
|
|
868
|
-
streamingMode?: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
|
|
869
|
-
streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
|
|
870
|
-
} | undefined;
|
|
871
871
|
activityZones?: {
|
|
872
872
|
name: string;
|
|
873
873
|
regions: {
|
|
@@ -906,6 +906,10 @@ export declare const patchCameraSchema: zod.ZodObject<{
|
|
|
906
906
|
supportUrl?: string | undefined;
|
|
907
907
|
} | undefined;
|
|
908
908
|
name?: string | undefined;
|
|
909
|
+
interface?: {
|
|
910
|
+
streamingMode?: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
|
|
911
|
+
streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
|
|
912
|
+
} | undefined;
|
|
909
913
|
disabled?: boolean | undefined;
|
|
910
914
|
snapshotTTL?: number | undefined;
|
|
911
915
|
sources?: {
|
|
@@ -927,10 +931,6 @@ export declare const patchCameraSchema: zod.ZodObject<{
|
|
|
927
931
|
recording?: {
|
|
928
932
|
enabled?: boolean | undefined;
|
|
929
933
|
} | undefined;
|
|
930
|
-
interface?: {
|
|
931
|
-
streamingMode?: "mp4" | "hls" | "mjpeg" | "webrtc" | "mse" | "webrtc/tcp" | undefined;
|
|
932
|
-
streamingSource?: "high-resolution" | "mid-resolution" | "low-resolution" | undefined;
|
|
933
|
-
} | undefined;
|
|
934
934
|
activityZones?: {
|
|
935
935
|
name: string;
|
|
936
936
|
regions: {
|
|
@@ -2,11 +2,11 @@ import zod from 'zod';
|
|
|
2
2
|
import type { AudioMetadata, ImageMetadata } from '@camera.ui/types';
|
|
3
3
|
import type { MultipartFile } from '@fastify/multipart';
|
|
4
4
|
export declare const ACCEPTED_OBJECT_IMAGE_TYPES: string[];
|
|
5
|
-
export declare const MAX_OBJECT_FILE_SIZE
|
|
5
|
+
export declare const MAX_OBJECT_FILE_SIZE: number;
|
|
6
6
|
export declare const ACCEPTED_MOTION_VIDEO_TYPES: string[];
|
|
7
|
-
export declare const MAX_MOTION_FILE_SIZE
|
|
7
|
+
export declare const MAX_MOTION_FILE_SIZE: number;
|
|
8
8
|
export declare const ACCEPTED_AUDIO_TYPES: string[];
|
|
9
|
-
export declare const MAX_AUDIO_FILE_SIZE
|
|
9
|
+
export declare const MAX_AUDIO_FILE_SIZE: number;
|
|
10
10
|
export declare const installPluginSchema: zod.ZodObject<{
|
|
11
11
|
pluginname: zod.ZodEffects<zod.ZodString, string, string>;
|
|
12
12
|
pluginversion: zod.ZodDefault<zod.ZodOptional<zod.ZodString>>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import zod from 'zod';
|
|
2
2
|
import { PLUGIN_IDENTIFIER_PATTERN } from '../../plugins/types.js';
|
|
3
3
|
export const ACCEPTED_OBJECT_IMAGE_TYPES = ['image/jpeg', 'image/png'];
|
|
4
|
-
export const MAX_OBJECT_FILE_SIZE =
|
|
4
|
+
export const MAX_OBJECT_FILE_SIZE = 1024 * 1024 * 2; // 2mb
|
|
5
5
|
export const ACCEPTED_MOTION_VIDEO_TYPES = ['video/mp4', 'video/quicktime'];
|
|
6
|
-
export const MAX_MOTION_FILE_SIZE =
|
|
6
|
+
export const MAX_MOTION_FILE_SIZE = 1024 * 1024 * 10; // 10mb
|
|
7
7
|
export const ACCEPTED_AUDIO_TYPES = ['audio/mpeg', 'audio/wav', 'audio/ogg'];
|
|
8
|
-
export const MAX_AUDIO_FILE_SIZE =
|
|
8
|
+
export const MAX_AUDIO_FILE_SIZE = 1024 * 1024 * 2; // 2mb
|
|
9
9
|
export const installPluginSchema = zod
|
|
10
10
|
.object({
|
|
11
11
|
pluginname: zod.string().refine((pluginname) => PLUGIN_IDENTIFIER_PATTERN.test(pluginname), 'Not a valid plugin name'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/plugins.schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAKnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"plugins.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/plugins.schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAKnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM;AAE3D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,OAAO;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM;AAM1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG;KACnC,MAAM,CAAC;IACN,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACtH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;CACzD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG;KAClC,MAAM,CAAC;IACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE;CACnB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,GAAG;SACR,MAAM,EAAwB;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,eAAe,GAAG,CAAC,CAAM,EAAsB,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEjF,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,UAAU,CAAE,IAAY,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,IAAI,IAAI,oBAAoB,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,uBAAuB,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,eAAe,GAAG,CAAC,CAAM,EAAsB,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEjF,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,EAAE,mCAAmC,CAA+B;IACvE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAA0C;IAC3C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAgD;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,GAAG;SACR,MAAM,EAAwB;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,eAAe,GAAG,CAAC,CAAM,EAAsB,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEjF,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,UAAU,CAAE,IAAY,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,uBAAuB,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,eAAe,GAAG,CAAC,CAAM,EAAsB,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEjF,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,EAAE,wCAAwC,CAA+B;IAC5E,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAyB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnE,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAA0C;IAC3C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAgD;CAClD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,GAAG;SACR,MAAM,EAAwB;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,eAAe,GAAG,CAAC,CAAM,EAAsB,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEjF,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,UAAU,CAAE,IAAY,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,IAAI,IAAI,oBAAoB,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,uBAAuB,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,eAAe,GAAG,CAAC,CAAM,EAAsB,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEjF,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,EAAE,yBAAyB,CAA+B;IAC7D,MAAM,EAAE,GAAG,CAAC,MAAM,EAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAgD;CAClD,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import zod from 'zod';
|
|
2
2
|
import type { MultipartFile } from '@fastify/multipart';
|
|
3
3
|
export declare const ACCEPTED_IMAGE_TYPES: string[];
|
|
4
|
-
export declare const MAX_IMAGE_FILE_SIZE
|
|
4
|
+
export declare const MAX_IMAGE_FILE_SIZE: number;
|
|
5
5
|
export declare const userPreferencesCamviewViewsLayoutCameras: zod.ZodObject<{
|
|
6
6
|
index: zod.ZodNumber;
|
|
7
7
|
cameraId: zod.ZodString;
|
|
@@ -2,7 +2,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
2
2
|
import zod from 'zod';
|
|
3
3
|
import { coordsSchema } from './cameras.schema.js';
|
|
4
4
|
export const ACCEPTED_IMAGE_TYPES = ['image/jpeg', 'image/jpg', 'image/png'];
|
|
5
|
-
export const MAX_IMAGE_FILE_SIZE =
|
|
5
|
+
export const MAX_IMAGE_FILE_SIZE = 1024 * 1024 * 5;
|
|
6
6
|
export const userPreferencesCamviewViewsLayoutCameras = zod.object({
|
|
7
7
|
index: zod.number(),
|
|
8
8
|
cameraId: zod.string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/users.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"users.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/users.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { MultipartFile } from '@fastify/multipart';
|
|
2
|
-
import type {
|
|
2
|
+
import type { BackupStorage, UiLocalStorage } from '../types/index.js';
|
|
3
3
|
export declare class BackupService {
|
|
4
4
|
private logger;
|
|
5
5
|
private configService;
|
|
6
|
-
private socketService;
|
|
7
6
|
constructor();
|
|
8
|
-
createBackup(localStorage?: Partial<UiLocalStorage>): Promise<
|
|
7
|
+
createBackup(localStorage?: Partial<UiLocalStorage>): Promise<BackupStorage>;
|
|
9
8
|
restoreBackup(file: MultipartFile): Promise<any>;
|
|
10
|
-
removeBackup(backup:
|
|
9
|
+
removeBackup(backup: BackupStorage): Promise<void>;
|
|
11
10
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { cyan } from 'ansicolor';
|
|
2
1
|
import { copy, pathExists, readJson, remove, writeJson } from 'fs-extra/esm';
|
|
3
2
|
import { lstat, mkdtemp, writeFile } from 'node:fs/promises';
|
|
4
3
|
import { platform, tmpdir } from 'node:os';
|
|
5
|
-
import {
|
|
4
|
+
import { join } from 'node:path';
|
|
6
5
|
import { c, x } from 'tar';
|
|
7
6
|
import { container } from 'tsyringe';
|
|
8
7
|
import { ConfigService } from '../../services/config/index.js';
|
|
@@ -10,22 +9,18 @@ import { moveFiles } from '../utils/moveFiles.js';
|
|
|
10
9
|
export class BackupService {
|
|
11
10
|
logger;
|
|
12
11
|
configService;
|
|
13
|
-
socketService;
|
|
14
12
|
constructor() {
|
|
15
13
|
this.logger = container.resolve('logger');
|
|
16
14
|
this.configService = container.resolve('configService');
|
|
17
|
-
this.socketService = container.resolve('socketService');
|
|
18
15
|
}
|
|
19
16
|
async createBackup(localStorage = {}) {
|
|
17
|
+
const timestamp = Date.now();
|
|
20
18
|
const backupDirectory = await mkdtemp(join(tmpdir(), 'camera.ui-backup-'));
|
|
21
|
-
const backupFileName =
|
|
19
|
+
const backupFileName = `camera.ui-backup-${timestamp}.tar.gz`;
|
|
22
20
|
const backupFile = join(backupDirectory, backupFileName);
|
|
23
|
-
this.logger.log(
|
|
21
|
+
this.logger.log('Creating new backup...');
|
|
24
22
|
await copy(this.configService.STORAGE_PATH, join(backupDirectory, 'storage'), {
|
|
25
23
|
filter: async (filePath) => {
|
|
26
|
-
if (['camera.ui.log'].includes(basename(filePath))) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
24
|
try {
|
|
30
25
|
const stat = await lstat(filePath);
|
|
31
26
|
return stat.isDirectory() || stat.isFile();
|
|
@@ -35,14 +30,15 @@ export class BackupService {
|
|
|
35
30
|
}
|
|
36
31
|
},
|
|
37
32
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
timestamp: new Date().toISOString(),
|
|
33
|
+
const info = {
|
|
34
|
+
timestamp,
|
|
41
35
|
platform: platform(),
|
|
42
36
|
node: process.version,
|
|
43
37
|
version: ConfigService.VERSION,
|
|
44
38
|
localStorage: localStorage,
|
|
45
|
-
}
|
|
39
|
+
};
|
|
40
|
+
// create a info.json
|
|
41
|
+
await writeJson(join(backupDirectory, 'info.json'), info);
|
|
46
42
|
// create a tar with the copied files
|
|
47
43
|
await c({
|
|
48
44
|
portable: true,
|
|
@@ -57,6 +53,7 @@ export class BackupService {
|
|
|
57
53
|
return true;
|
|
58
54
|
},
|
|
59
55
|
}, ['storage', 'info.json']);
|
|
56
|
+
this.logger.log('Backup was successfully created');
|
|
60
57
|
return {
|
|
61
58
|
backupDirectory,
|
|
62
59
|
backupFile,
|
|
@@ -68,41 +65,31 @@ export class BackupService {
|
|
|
68
65
|
const backupFileName = file.filename;
|
|
69
66
|
const backupFile = join(backupDirectory, backupFileName);
|
|
70
67
|
const fileBuffer = await file.toBuffer();
|
|
71
|
-
this.logger.
|
|
68
|
+
this.logger.attention('Starting backup restore...');
|
|
72
69
|
await writeFile(backupFile, fileBuffer);
|
|
73
70
|
// extract the tar
|
|
74
71
|
await x({
|
|
75
72
|
cwd: backupDirectory,
|
|
76
73
|
file: backupFile,
|
|
77
74
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
throw new Error('Uploaded file is not a valid camera.ui Backup Archive.');
|
|
82
|
-
}
|
|
83
|
-
// check storage exists
|
|
84
|
-
if (!(await pathExists(join(backupDirectory, 'storage')))) {
|
|
75
|
+
const infoPath = join(backupDirectory, 'info.json');
|
|
76
|
+
const storagePath = join(backupDirectory, 'storage');
|
|
77
|
+
if (!(await pathExists(infoPath)) || !(await pathExists(storagePath))) {
|
|
85
78
|
await remove(backupDirectory);
|
|
86
79
|
throw new Error('Uploaded file is not a valid camera.ui Backup Archive.');
|
|
87
80
|
}
|
|
88
81
|
const infoFile = await readJson(`${backupDirectory}/info.json`);
|
|
89
|
-
|
|
90
|
-
this.socketService.io.of('/logs').emit('stdout', cyan('Backup Archive Information\r\n'));
|
|
91
|
-
this.socketService.io.of('/logs').emit('stdout', `Source Node.js Version: ${infoFile.node}\r\n`);
|
|
92
|
-
this.socketService.io.of('/logs').emit('stdout', `Source camera.ui Version: v${infoFile.version}\r\n`);
|
|
93
|
-
this.socketService.io.of('/logs').emit('stdout', `Source Platform: ${infoFile.platform}\r\n`);
|
|
94
|
-
this.socketService.io.of('/logs').emit('stdout', `Created: ${infoFile.timestamp}\r\n\r\n`);
|
|
82
|
+
this.logger.debug('Backup Archive Information:', infoFile);
|
|
95
83
|
// move the content to desired directories
|
|
96
|
-
|
|
97
|
-
|
|
84
|
+
await moveFiles(storagePath, this.configService.STORAGE_PATH, {
|
|
85
|
+
overwrite: true,
|
|
86
|
+
});
|
|
98
87
|
// remove tmp
|
|
99
|
-
this.logger.debug('Removing unnecessary files...');
|
|
100
88
|
await remove(backupDirectory);
|
|
101
89
|
this.logger.log('Backup was successfully restored');
|
|
102
90
|
return infoFile.localStorage;
|
|
103
91
|
}
|
|
104
92
|
async removeBackup(backup) {
|
|
105
|
-
this.logger.log(`Removing temporary backup directory at ${backup.backupDirectory}`);
|
|
106
93
|
await remove(backup.backupDirectory);
|
|
107
94
|
}
|
|
108
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.service.js","sourceRoot":"","sources":["../../../../../src/api/services/backup.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"backup.service.js","sourceRoot":"","sources":["../../../../../src/api/services/backup.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -394,6 +394,13 @@ export interface BackupCreateRequest {
|
|
|
394
394
|
};
|
|
395
395
|
}
|
|
396
396
|
export interface BackupInfo {
|
|
397
|
+
timestamp: number;
|
|
398
|
+
platform: string;
|
|
399
|
+
node: string;
|
|
400
|
+
version: string;
|
|
401
|
+
localStorage: Partial<UiLocalStorage>;
|
|
402
|
+
}
|
|
403
|
+
export interface BackupStorage {
|
|
397
404
|
backupDirectory: string;
|
|
398
405
|
backupFile: string;
|
|
399
406
|
backupFileName: string;
|
|
@@ -1,39 +1,29 @@
|
|
|
1
1
|
import { move } from 'fs-extra/esm';
|
|
2
|
-
import {
|
|
2
|
+
import { lstat, readdir } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (error) {
|
|
18
|
-
_reject(error);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
_resolve();
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
else if (stat.isFile()) {
|
|
25
|
-
rename(oldPath, newPath, (error) => {
|
|
26
|
-
if (error) {
|
|
27
|
-
_reject(error);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
if (files.indexOf(file) === files.length - 1) {
|
|
31
|
-
_resolve();
|
|
32
|
-
}
|
|
4
|
+
export async function moveFiles(sourceDir, targetDir, options = { overwrite: true }) {
|
|
5
|
+
try {
|
|
6
|
+
await lstat(sourceDir);
|
|
7
|
+
await lstat(targetDir);
|
|
8
|
+
const files = await readdir(sourceDir);
|
|
9
|
+
await Promise.all(files.map(async (file) => {
|
|
10
|
+
const sourcePath = join(sourceDir, file);
|
|
11
|
+
const targetPath = join(targetDir, file);
|
|
12
|
+
try {
|
|
13
|
+
const stat = await lstat(sourcePath);
|
|
14
|
+
if (stat.isDirectory() || stat.isFile()) {
|
|
15
|
+
await move(sourcePath, targetPath, {
|
|
16
|
+
overwrite: options.overwrite,
|
|
33
17
|
});
|
|
34
18
|
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
throw new Error(`Failed to move ${file}: ${error.message}`);
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw new Error(`File operation failed: ${error.message}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
39
29
|
//# sourceMappingURL=moveFiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moveFiles.js","sourceRoot":"","sources":["../../../../../src/api/utils/moveFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"moveFiles.js","sourceRoot":"","sources":["../../../../../src/api/utils/moveFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,SAAiB,EAAE,UAAuB,EAAE,SAAS,EAAE,IAAI,EAAE;IAC9G,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;QAEvC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;gBAErC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;oBACxC,MAAM,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE;wBACjC,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camera.ui/server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.26",
|
|
4
4
|
"description": "camera.ui",
|
|
5
5
|
"author": "seydx (https://github.com/seydx/camera.ui)",
|
|
6
6
|
"type": "module",
|
|
@@ -62,14 +62,14 @@
|
|
|
62
62
|
"tail": "^2.2.6",
|
|
63
63
|
"tar": "^7.4.3",
|
|
64
64
|
"tsyringe": "^4.8.0",
|
|
65
|
-
"uuid": "^11.0.
|
|
65
|
+
"uuid": "^11.0.2",
|
|
66
66
|
"werift": "^0.20.0",
|
|
67
67
|
"ws": "^8.18.0",
|
|
68
68
|
"zod": "^3.23.8"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@stylistic/eslint-plugin": "^2.9.0",
|
|
72
|
-
"@types/adm-zip": "^0.5.
|
|
72
|
+
"@types/adm-zip": "^0.5.6",
|
|
73
73
|
"@types/express-useragent": "^1.0.5",
|
|
74
74
|
"@types/fs-extra": "^11.0.4",
|
|
75
75
|
"@types/js-yaml": "^4.0.9",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"@types/tar": "^6.1.13",
|
|
84
84
|
"@types/uuid": "^10.0.0",
|
|
85
85
|
"@types/ws": "^8.5.12",
|
|
86
|
-
"@typescript-eslint/parser": "^8.
|
|
86
|
+
"@typescript-eslint/parser": "^8.12.0",
|
|
87
87
|
"assemblyscript": "^0.27.30",
|
|
88
88
|
"copyfiles": "^2.4.1",
|
|
89
89
|
"cross-env": "^7.0.3",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"prettier": "^3.3.3",
|
|
93
93
|
"rimraf": "^6.0.1",
|
|
94
94
|
"typescript": "^5.6.3",
|
|
95
|
-
"typescript-eslint": "^8.
|
|
95
|
+
"typescript-eslint": "^8.12.0",
|
|
96
96
|
"updates": "^16.4.0"
|
|
97
97
|
},
|
|
98
98
|
"bugs": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{x as O,X as R,w as T}from"./main.BTP9tknh.0.0.24.js";import{G as j,t as U,r as f,b as v,d as I,f as a,R as g,ab as k,a9 as r,u,k as C,aa as F,p as b,a7 as B,a4 as J,i as E}from"./@vue.CZrUPDnV.0.0.24.js";import{i as D}from"./vue3-toastify.BhHGk418.0.0.24.js";import{r as M}from"./system.DcSO1y02.0.0.24.js";import{aD as X,X as A}from"./@mdi.C1UTQKuc.0.0.24.js";import{e as L,a1 as G,b as z,n as q}from"./vuetify.Dl3lq6rT.0.0.24.js";import{u as H}from"./vue-i18n.wVktXvsd.0.0.24.js";import"./axios.C-n2IhIP.0.0.24.js";import"./@tanstack.Brod2Ybu.0.0.24.js";import"./pinia.Cfe5W3g9.0.0.24.js";import"./vue-router.Bom3O23T.0.0.24.js";import"./@vueuse.6ik9__Sg.0.0.24.js";import"./nprogress.RzoIQk6G.0.0.24.js";import"./@xterm.Diw68p_A.0.0.24.js";import"./vee-validate.DUSi9FX2.0.0.24.js";import"./@vee-validate.DFvcFg4-.0.0.24.js";import"./zod.DnW1_kUe.0.0.24.js";import"./uuid.Ch9TGLTe.0.0.24.js";import"./socket.io-client.D--yaORK.0.0.24.js";import"./engine.io-client.5Lur8oxX.0.0.24.js";import"./engine.io-parser.BiEtp6m2.0.0.24.js";import"./@socket.io.Dkula2eQ.0.0.24.js";import"./socket.io-parser.DO2HYu-6.0.0.24.js";import"./rxjs.P_oAaRZt.0.0.24.js";import"./tslib.9k7AwCpt.0.0.24.js";import"./vue-inline-svg.7NrowM-V.0.0.24.js";import"./@intlify.DXtFJcML.0.0.24.js";import"./perfect-debounce.Cp2ysxOb.0.0.24.js";import"./hookable.B8xFkYCm.0.0.24.js";const K=async w=>(await O.post("/backup/download",{localStorage:w},{responseType:"arraybuffer"})).data,P=async w=>(await O.post("/backup/restore",w)).data,Q={class:"w-full"},W={class:"flex flex-col justify-center items-center mb-5"},Y={for:"restoreInput",class:"cursor-pointer text-center"},Z=["accept"],ee={key:0,class:"text-red"},te={class:"mx-2"},oe={class:"disabled-text"},se=j({__name:"VUploadFiles",props:{multiple:{type:Boolean,default:!1},accept:{},icon:{default:X}},emits:["files-uploaded"],setup(w,{expose:x,emit:V}){const p=V,S=w,{accept:y,multiple:h}=U(S),$=f(!1),_=f(!1),i=f([]),e=f(null),s=n=>{const t=i.value.findIndex(l=>l.name===n);t>-1&&(i.value.splice(t,1),o())},d=n=>{if($.value=!1,_.value=!1,i.value=[],console.log(n),n.dataTransfer)if(!h.value&&n.dataTransfer.files.length>1)_.value=!0;else{for(const[,t]of Object.entries(n.dataTransfer.files))i.value.push(t);p("files-uploaded",i.value)}},m=n=>{var l;_.value=!1,i.value=[];const t=n.target;if(t&&t.files)if(!h.value&&((l=t.files)==null?void 0:l.length)>1)_.value=!0;else{for(const[,N]of Object.entries(t.files))i.value.push(N);p("files-uploaded",i.value)}},o=()=>{e.value&&(e.value.value="")};return x({reset:()=>{i.value=[],o()}}),(n,t)=>(v(),I("div",{class:"file-upload-box p-4",onDrop:t[0]||(t[0]=b(l=>d(l),["prevent"])),onDragover:t[1]||(t[1]=b(l=>$.value=!0,["prevent"])),onDragenter:t[2]||(t[2]=b(l=>$.value=!0,["prevent"])),onDragleave:t[3]||(t[3]=b(l=>$.value=!1,["prevent"]))},[a("div",Q,[a("div",W,[g(L,{class:"mt-5",size:"60"},{default:k(()=>[B(r(n.icon),1)]),_:1}),a("label",Y,r(n.$t("components.upload_files.drop_or_select_file")),1),a("input",{id:"restoreInput",ref_key:"fileInput",ref:e,type:"file",class:"d-none",accept:u(y),onChange:m},null,40,Z),u(_)?(v(),I("p",ee,r(n.$t("components.upload_files.only_one_file_allowed")),1)):C("",!0)]),u(i).length>0?(v(),F(G,{key:0,items:u(i),"max-height":"150","item-height":"50"},{default:k(({item:l})=>[(v(),I("div",{key:l.name,class:"w-full flex flex-row items-center justify-start p-2"},[g(z,{size:"28",variant:"text",color:"red",rounded:"",onClick:b(N=>s(l.name),["stop"])},{default:k(()=>[g(L,{size:"20"},{default:k(()=>[B(r(u(A)),1)]),_:1})]),_:2},1032,["onClick"]),a("b",te,r(l.name),1),a("span",oe,"("+r(l.size)+" bytes)",1)])),u(i).length>1?(v(),F(q,{key:0})):C("",!0)]),_:1},8,["items"])):C("",!0)])],32))}}),ae={key:0,class:"flex w-full h-full justify-center items-center fixed top-0 left-0",style:{"z-index":"9000"}},le={class:"subview-title text-color"},ne={class:"inner-component p-4 flex flex-col"},re={class:"text-sm"},ie={class:"subview-title text-color"},ce={class:"inner-component p-4 flex flex-col"},ue={class:"text-sm"},pe={class:"subview-title text-color"},de={class:"inner-component p-4"},me={class:"text-sm"},Xe=j({__name:"Backup",setup(w){const{t:x}=H(),V=f(null),p=f(!1),S=f(!1),y=f(!1),h=f([]),$=async()=>{var e,s,d,m;p.value=!0;try{const o={};if(localStorage.getItem("ui")){const l=localStorage.getItem("ui");o.ui=JSON.parse(l)}if(localStorage.getItem("locale")){const l=localStorage.getItem("locale");o.locale=l}if(localStorage.getItem("theme")){const l=localStorage.getItem("theme");o.theme=JSON.parse(l)}const c=await K(o),n=window.URL.createObjectURL(new Blob([c])),t=document.createElement("a");t.href=n,t.setAttribute("download","cameraui-backup.tar.gz"),document.body.appendChild(t),t.click(),t.remove()}catch(o){console.error(((s=(e=o.response)==null?void 0:e.data)==null?void 0:s.message)??o.message??o),D.error(((m=(d=o.response)==null?void 0:d.data)==null?void 0:m.message)??o.message??o)}p.value=!1},_=async()=>{var e,s,d,m,o;p.value=!0;try{const c=new FormData;c.append("upload",h.value[0]);const n=await P(c);i(n),(e=V.value)==null||e.reset(),D.success(x("components.toast.backup_restored")),S.value=!0,M()}catch(c){console.error(((d=(s=c.response)==null?void 0:s.data)==null?void 0:d.message)??c.message??c),D.error(((o=(m=c.response)==null?void 0:m.data)==null?void 0:o.message)??c.message??c),p.value=!1,S.value=!1}},i=e=>{e.theme&&localStorage.setItem("theme",JSON.stringify(e.theme)),e.locale&&localStorage.setItem("locale",e.locale),e.ui&&localStorage.setItem("ui",JSON.stringify(e.ui))};return(e,s)=>{const d=R,m=T;return v(),I("div",null,[(v(),F(J,{to:".app"},[u(S)?(v(),I("div",ae,[g(d,{reload:""})])):C("",!0)])),a("div",null,[a("span",le,r(e.$t("views.settings.create_backup")),1),a("div",ne,[a("span",re,r(e.$t("views.settings.create_backup_info")),1),s[4]||(s[4]=a("br",null,null,-1)),g(z,{loading:u(p),class:"mt-5 ml-auto",color:"#df2a4c",onClick:b($,["prevent"])},{default:k(()=>[B(r(e.$t("components.form.button.download_backup_archive")),1)]),_:1},8,["loading"])])]),s[5]||(s[5]=a("div",{class:"my-8"},null,-1)),a("div",null,[a("span",ie,r(e.$t("views.settings.restore_backup")),1),a("div",ce,[a("span",ue,r(e.$t("views.settings.restore_backup_info")),1),g(se,{ref_key:"input",ref:V,class:"mt-5",accept:"application/gzip, .tar, .tar.gz",onFilesUploaded:s[0]||(s[0]=o=>h.value=o)},null,512),g(z,{loading:u(p),disabled:!u(h).length,class:"mt-5 ml-auto",color:"#df2a4c",onClick:s[1]||(s[1]=b(o=>y.value=!0,["prevent"]))},{default:k(()=>[B(r(e.$t("components.form.button.restore_backup_archive")),1)]),_:1},8,["loading","disabled"])])]),s[6]||(s[6]=a("div",{class:"my-8"},null,-1)),a("div",null,[a("span",pe,r(e.$t("views.settings.sheduled_backup")),1),a("div",de,[a("span",me,r(e.$t("views.settings.sheduled_backup_info")),1)])]),g(m,{modelValue:u(y),"onUpdate:modelValue":s[2]||(s[2]=o=>E(y)?y.value=o:null),title:e.$t("components.dialog.title.confirm"),"confirm-text":"components.form.button.restore_and_restart",loading:u(p),onConfirm:s[3]||(s[3]=o=>_())},{content:k(()=>[a("span",null,r(e.$t("components.dialog.message.confirm_restore")),1)]),_:1},8,["modelValue","title","loading"])])}}});export{Xe as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as p}from"./main.BTP9tknh.0.0.24.js";import{G as m,b as s,d as a,f as r,a9 as l,g as i,u as e}from"./@vue.CZrUPDnV.0.0.24.js";import"./vue3-toastify.BhHGk418.0.0.24.js";import"./vue-i18n.wVktXvsd.0.0.24.js";import"./@intlify.DXtFJcML.0.0.24.js";import"./axios.C-n2IhIP.0.0.24.js";import"./@tanstack.Brod2Ybu.0.0.24.js";import"./pinia.Cfe5W3g9.0.0.24.js";import"./vue-router.Bom3O23T.0.0.24.js";import"./@vueuse.6ik9__Sg.0.0.24.js";import"./nprogress.RzoIQk6G.0.0.24.js";import"./@xterm.Diw68p_A.0.0.24.js";import"./vuetify.Dl3lq6rT.0.0.24.js";import"./@mdi.C1UTQKuc.0.0.24.js";import"./vee-validate.DUSi9FX2.0.0.24.js";import"./@vee-validate.DFvcFg4-.0.0.24.js";import"./zod.DnW1_kUe.0.0.24.js";import"./uuid.Ch9TGLTe.0.0.24.js";import"./socket.io-client.D--yaORK.0.0.24.js";import"./engine.io-client.5Lur8oxX.0.0.24.js";import"./engine.io-parser.BiEtp6m2.0.0.24.js";import"./@socket.io.Dkula2eQ.0.0.24.js";import"./socket.io-parser.DO2HYu-6.0.0.24.js";import"./rxjs.P_oAaRZt.0.0.24.js";import"./tslib.9k7AwCpt.0.0.24.js";import"./vue-inline-svg.7NrowM-V.0.0.24.js";import"./perfect-debounce.Cp2ysxOb.0.0.24.js";import"./hookable.B8xFkYCm.0.0.24.js";const n={class:"page-title"},H=m({__name:"Recordings",setup(c){const{smallMobileActive:t}=p();return(o,f)=>(s(),a("main",{class:i(["w-full h-full",{"px-0":e(t)}])},[r("div",{class:i(["flex w-full items-center",{"px-2":e(t)}]),style:{height:"30px"}},[r("h1",n,l(o.$t(`views.${String(o.$route.name).toLowerCase()}.title`)),1)],2)],2))}});export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as r}from"./main.BTP9tknh.0.0.24.js";import{b as o,d as t}from"./@vue.CZrUPDnV.0.0.24.js";import"./vue3-toastify.BhHGk418.0.0.24.js";import"./vue-i18n.wVktXvsd.0.0.24.js";import"./@intlify.DXtFJcML.0.0.24.js";import"./axios.C-n2IhIP.0.0.24.js";import"./@tanstack.Brod2Ybu.0.0.24.js";import"./pinia.Cfe5W3g9.0.0.24.js";import"./vue-router.Bom3O23T.0.0.24.js";import"./@vueuse.6ik9__Sg.0.0.24.js";import"./nprogress.RzoIQk6G.0.0.24.js";import"./@xterm.Diw68p_A.0.0.24.js";import"./vuetify.Dl3lq6rT.0.0.24.js";import"./@mdi.C1UTQKuc.0.0.24.js";import"./vee-validate.DUSi9FX2.0.0.24.js";import"./@vee-validate.DFvcFg4-.0.0.24.js";import"./zod.DnW1_kUe.0.0.24.js";import"./uuid.Ch9TGLTe.0.0.24.js";import"./socket.io-client.D--yaORK.0.0.24.js";import"./engine.io-client.5Lur8oxX.0.0.24.js";import"./engine.io-parser.BiEtp6m2.0.0.24.js";import"./@socket.io.Dkula2eQ.0.0.24.js";import"./socket.io-parser.DO2HYu-6.0.0.24.js";import"./rxjs.P_oAaRZt.0.0.24.js";import"./tslib.9k7AwCpt.0.0.24.js";import"./vue-inline-svg.7NrowM-V.0.0.24.js";import"./perfect-debounce.Cp2ysxOb.0.0.24.js";import"./hookable.B8xFkYCm.0.0.24.js";const i={};function m(p,e){return o(),t("div",null,"Test")}const G=r(i,[["render",m]]);export{G as default};
|
package/localdeps.txt
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/interface/assets/{@vueform.0.0.24.CroAHJs8.css → @vueform.0.0.26.CroAHJs8.css}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/interface/assets/{Adminpanel.0.0.24.a3t1v3MB.css → Adminpanel.0.0.26.a3t1v3MB.css}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|