@camera.ui/browser 0.0.79 → 0.0.80

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 (56) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/types/packages/client/browser/src/proxy/cameraDevice.d.ts +17 -3
  3. package/dist/types/packages/client/browser/src/proxy/deviceManager.d.ts +4 -0
  4. package/dist/types/packages/client/browser/src/socket.d.ts +2 -3
  5. package/dist/types/packages/client/browser/src/types.d.ts +0 -1
  6. package/dist/types/server/src/api/controllers/users.controller.d.ts +9 -3
  7. package/dist/types/server/src/api/database/index.d.ts +9 -2
  8. package/dist/types/server/src/api/database/types.d.ts +24 -23
  9. package/dist/types/server/src/api/go2rtc/api/streams.d.ts +2 -2
  10. package/dist/types/server/src/api/go2rtc/types.d.ts +5 -2
  11. package/dist/types/server/src/api/index.d.ts +7 -8
  12. package/dist/types/server/src/api/middlewares/pagination.middleware.d.ts +1 -1
  13. package/dist/types/server/src/api/plugins/logger.plugin.d.ts +7 -0
  14. package/dist/types/server/src/api/routes/index.d.ts +1 -2
  15. package/dist/types/server/src/api/schemas/backup.schema.d.ts +53 -155
  16. package/dist/types/server/src/api/schemas/cameras.schema.d.ts +215 -215
  17. package/dist/types/server/src/api/schemas/config.schema.d.ts +22 -22
  18. package/dist/types/server/src/api/schemas/go2rtc.schema.d.ts +66 -66
  19. package/dist/types/server/src/api/schemas/users.schema.d.ts +242 -136
  20. package/dist/types/server/src/api/services/cameras.service.d.ts +9 -7
  21. package/dist/types/server/src/api/services/users.service.d.ts +6 -2
  22. package/dist/types/server/src/api/types/index.d.ts +34 -6
  23. package/dist/types/server/src/api/websocket/nsp/status.d.ts +1 -1
  24. package/dist/types/server/src/camera/controller.d.ts +17 -10
  25. package/dist/types/server/src/camera/device.d.ts +5 -13
  26. package/dist/types/server/src/camera/index.d.ts +17 -10
  27. package/dist/types/server/src/camera/interfaces/audioDetection.d.ts +10 -0
  28. package/dist/types/server/src/camera/interfaces/camera.d.ts +19 -0
  29. package/dist/types/server/src/camera/interfaces/motionDetection.d.ts +10 -0
  30. package/dist/types/server/src/camera/interfaces/objectDetection.d.ts +10 -0
  31. package/dist/types/server/src/camera/interfaces/prebuffer.d.ts +11 -0
  32. package/dist/types/server/src/camera/interfaces/ptz.d.ts +13 -0
  33. package/dist/types/server/src/camera/streaming/webrtc-connection.d.ts +2 -1
  34. package/dist/types/server/src/camera/streaming/{streaming-session.d.ts → werift-session.d.ts} +1 -1
  35. package/dist/types/server/src/camera/types.d.ts +53 -15
  36. package/dist/types/server/src/decoder/worker.d.ts +1 -1
  37. package/dist/types/server/src/nats/index.d.ts +1 -1
  38. package/dist/types/server/src/nats/proxy/cameraDevice.d.ts +30 -34
  39. package/dist/types/server/src/nats/proxy/deviceManager.d.ts +1 -1
  40. package/dist/types/server/src/nats/proxy/pluginsManager.d.ts +1 -1
  41. package/dist/types/server/src/nats/proxy/systemManager.d.ts +1 -1
  42. package/dist/types/server/src/nats/types.d.ts +20 -45
  43. package/dist/types/server/src/nats/websocket.d.ts +1 -5
  44. package/dist/types/server/src/plugins/base.d.ts +2 -3
  45. package/dist/types/server/src/plugins/types.d.ts +22 -5
  46. package/dist/types/server/src/plugins/worker.d.ts +1 -0
  47. package/dist/types/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +28 -6
  48. package/dist/types/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +3 -3
  49. package/dist/types/server/src/polyglot/node/plugins/proxy/pluginsManager.d.ts +3 -3
  50. package/dist/types/server/src/polyglot/node/plugins/proxy/systemManager.d.ts +3 -3
  51. package/dist/types/server/src/polyglot/node/plugins/schema.d.ts +2 -1
  52. package/dist/types/server/src/services/config/index.d.ts +29 -36
  53. package/dist/types/server/src/services/config/types.d.ts +1 -1
  54. package/dist/types/server/src/types.d.ts +4 -0
  55. package/dist/types/shared/types/index.d.ts +5 -0
  56. package/package.json +10 -10
@@ -1,13 +1,25 @@
1
1
  import { BaseCameraDevice } from '../../../../../server/src/camera/index.js';
2
+ import { CameraAudioDetectionInterface } from '../../../../../server/src/camera/interfaces/audioDetection.js';
3
+ import { CameraMotionDetectionInterface } from '../../../../../server/src/camera/interfaces/motionDetection.js';
4
+ import { CameraObjectDetectionInterface } from '../../../../../server/src/camera/interfaces/objectDetection.js';
5
+ import { CameraPrebufferInterface } from '../../../../../server/src/camera/interfaces/prebuffer.js';
6
+ import { CameraPTZInterface } from '../../../../../server/src/camera/interfaces/ptz.js';
2
7
  import { Go2RTCSession } from '../streaming/go2rts-session.js';
3
- import type { BaseLogger, Camera, CameraSource, IceServer, SetValues } from '../../../../../shared/types/index.js';
8
+ import type { BaseLogger, Camera, CameraConfigInputSettings, CameraSource, IceServer, SetValues } from '../../../../../shared/types/index.js';
4
9
  import type { SocketService } from '../socket.js';
5
10
  import type { CameraDevice, Go2RTCSessionOptions } from '../types.js';
6
11
  export declare class CameraDeviceProxy extends BaseCameraDevice implements CameraDevice {
7
12
  private socketService;
8
13
  private socket;
14
+ private pluginName;
15
+ private subject;
9
16
  private _started;
10
17
  get started(): boolean;
18
+ protected prebufferDelegate: CameraPrebufferInterface;
19
+ ptzDelegate: CameraPTZInterface;
20
+ audioDetectorDelegate: CameraAudioDetectionInterface;
21
+ motionDetectorDelegate: CameraMotionDetectionInterface;
22
+ objectDetectorDelegate: CameraObjectDetectionInterface;
11
23
  get sources(): CameraSource[];
12
24
  constructor(camera: Camera, socketService: SocketService, logger: BaseLogger);
13
25
  start(): Promise<void>;
@@ -15,12 +27,14 @@ export declare class CameraDeviceProxy extends BaseCameraDevice implements Camer
15
27
  close(): void;
16
28
  connect(): Promise<void>;
17
29
  disconnect(): Promise<void>;
18
- reboot(): Promise<void>;
19
30
  getIceServers(): Promise<IceServer[]>;
20
- snapshot(forceNew?: boolean): Promise<ArrayBuffer>;
21
31
  createSession(options: Go2RTCSessionOptions): Go2RTCSession;
22
32
  updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T]): Promise<void>;
33
+ addCameraSource(source: CameraConfigInputSettings): Promise<void>;
34
+ updateCameraSource(sourceId: string, source: Partial<CameraConfigInputSettings>): Promise<void>;
35
+ removeCameraSource(sourceId: string): Promise<void>;
23
36
  refreshStates(): Promise<void>;
24
37
  cleanup(): Promise<void>;
25
38
  private listenToMessages;
39
+ private onRequest;
26
40
  }
@@ -7,9 +7,13 @@ interface DeviceManagerBrowserProxyMethods {
7
7
  }
8
8
  export declare class DeviceManager implements DeviceManagerBrowserProxyMethods {
9
9
  private socketService;
10
+ private socket;
10
11
  private logger;
12
+ private pluginName;
13
+ private subject;
11
14
  constructor(socketService: SocketService, logger: BaseLogger);
12
15
  getCameraById(id: string): Promise<CameraDevice | undefined>;
13
16
  getCameraByName(name: string): Promise<CameraDevice | undefined>;
17
+ private onRequest;
14
18
  }
15
19
  export {};
@@ -1,12 +1,11 @@
1
- import { Manager, type Socket } from 'socket.io-client';
2
- import type { ManagerNames, WebsocketClientRequest } from '../../../../shared/types/index.js';
1
+ import { Manager } from 'socket.io-client';
2
+ import type { Socket } from 'socket.io-client';
3
3
  export declare class SocketService {
4
4
  socket: Socket;
5
5
  private token;
6
6
  private endpoint;
7
7
  private socketList;
8
8
  constructor(endpoint: string, token: string);
9
- sendRequest<T extends ManagerNames>(data: WebsocketClientRequest<T>, socket?: Socket): Promise<any>;
10
9
  close(): void;
11
10
  getSocket(id: string, forceNew?: boolean): {
12
11
  manager: Manager;
@@ -23,7 +23,6 @@ export interface CameraDevice extends BaseCameraDevice {
23
23
  start(): Promise<void>;
24
24
  stop(): void;
25
25
  close(): void;
26
- snapshot(forceNew?: boolean): Promise<ArrayBuffer>;
27
26
  createSession(options: Go2RTCSessionOptions): Go2RTCSession;
28
27
  }
29
28
  export interface Go2RTCSessionOptions {
@@ -1,15 +1,21 @@
1
1
  import type { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
2
- import type { DBUser } from '../database/types.js';
3
- import type { AuthLoginRequest, AuthParamsRequest, PaginationRequest, UsersInsertRequest, UsersParamsRequest, UsersPatchRequest } from '../types/index.js';
2
+ import type { DBCamviewLayout, DBUser } from '../database/types.js';
3
+ import type { AuthLoginRequest, AuthParamsRequest, PaginationRequest, UsersInsertRequest, UsersParamsRequest, UsersPatchRequest, ViewsInsertRequest, ViewsParamsRequest, ViewsPatchRequest } from '../types/index.js';
4
4
  export declare class UsersController {
5
5
  private app;
6
6
  private configService;
7
7
  private service;
8
8
  constructor(app: FastifyInstance);
9
- getByName(req: FastifyRequest<AuthLoginRequest & AuthParamsRequest & UsersParamsRequest>, reply: FastifyReply): FastifyReply;
10
9
  insert(req: FastifyRequest<AuthLoginRequest & UsersInsertRequest>, reply: FastifyReply): Promise<FastifyReply>;
10
+ getByName(req: FastifyRequest<AuthLoginRequest & AuthParamsRequest & UsersParamsRequest>, reply: FastifyReply): FastifyReply;
11
11
  list(req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | Partial<DBUser>[];
12
12
  patchByName(req: FastifyRequest<AuthLoginRequest & AuthParamsRequest & UsersParamsRequest & UsersPatchRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
13
13
  removeByName(req: FastifyRequest<AuthLoginRequest & UsersParamsRequest>, reply: FastifyReply): Promise<FastifyReply>;
14
14
  removeAll(req: FastifyRequest<AuthLoginRequest>, reply: FastifyReply): Promise<FastifyReply>;
15
+ insertView(req: FastifyRequest<AuthLoginRequest & AuthParamsRequest & UsersParamsRequest & ViewsInsertRequest>, reply: FastifyReply): Promise<FastifyReply>;
16
+ getViewById(req: FastifyRequest<AuthLoginRequest & AuthParamsRequest & UsersParamsRequest & ViewsParamsRequest>, reply: FastifyReply): FastifyReply;
17
+ listViews(req: FastifyRequest<AuthLoginRequest & PaginationRequest & AuthParamsRequest & UsersParamsRequest & ViewsParamsRequest>, reply: FastifyReply): FastifyReply | Partial<DBUser>[];
18
+ patchViewById(req: FastifyRequest<AuthLoginRequest & AuthParamsRequest & UsersParamsRequest & ViewsParamsRequest & ViewsPatchRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
19
+ removeViewById(req: FastifyRequest<AuthLoginRequest & PaginationRequest & UsersParamsRequest & ViewsParamsRequest>, reply: FastifyReply): Promise<FastifyReply | DBCamviewLayout[]>;
20
+ removeAllViews(req: FastifyRequest<AuthLoginRequest & PaginationRequest & AuthParamsRequest & UsersParamsRequest>, reply: FastifyReply): Promise<FastifyReply | DBCamviewLayout[]>;
15
21
  }
@@ -3,19 +3,26 @@ import type { Database as DB, RootDatabase as RootDB } from 'lmdb';
3
3
  import type { Plugin } from '../../plugins/plugin.js';
4
4
  import type { DBAuth, DBCamera, DBPlugin, DBSettings, DBUser } from './types.js';
5
5
  export declare class Database {
6
- private db;
6
+ readonly CAMERAS_ID = "cameras";
7
+ readonly DATABASE_ID = "database";
8
+ readonly PLUGINS_ID = "plugins";
9
+ readonly USER_PLUGINS_ID = "user-plugins";
10
+ readonly SETTINGS_ID = "settings";
11
+ readonly USERS_ID = "users";
12
+ readonly TOKENS_ID = "tokens";
7
13
  authDB: RootDB<DBAuth, 'auth'>;
8
14
  camerasDB: DB<DBCamera[], 'cameras'>;
9
15
  pluginsDB: DB<DBPlugin[], 'plugins'>;
10
16
  settingsDB: DB<DBSettings, 'settings'>;
11
17
  usersDB: DB<DBUser[], 'users'>;
12
18
  private initialized;
19
+ private db;
13
20
  private app;
14
21
  private configService;
15
22
  private logger;
16
23
  constructor(app: FastifyInstance);
24
+ initialize(): Promise<void>;
17
25
  close(): Promise<void>;
18
- initialize(): Promise<Database>;
19
26
  updateCameras(): Promise<void>;
20
27
  createPluginDatabase(plugin: Plugin): Promise<void>;
21
28
  private ensureDatabases;
@@ -1,5 +1,5 @@
1
1
  import type { DetectionZone, ObjectClass } from '../../camera/types.js';
2
- import type { ClientData, JwtTokenEncoded } from '../types/index.js';
2
+ import type { CamviewSettingsLayoutMode, ClientData, JwtTokenEncoded } from '../types/index.js';
3
3
  export interface DBAuth {
4
4
  tokens: JwtTokenEncoded[];
5
5
  clients: ClientData[];
@@ -32,16 +32,19 @@ export interface DBUser {
32
32
  export type DBRoles = 'admin' | 'user';
33
33
  export interface DBUserPreferences {
34
34
  camview: {
35
- grids: DBCamviewLayout[];
35
+ views: DBCamviewLayout[];
36
36
  };
37
37
  }
38
+ export type DBCamviewViewSize = 1 | 4 | 6 | 7 | 9 | 10 | 12 | 13 | 15 | 16 | 20 | 26;
38
39
  export interface DBCamviewLayout {
39
40
  readonly _id: string;
40
41
  name: string;
42
+ viewSize: DBCamviewViewSize;
41
43
  cameras: DBCamviewLayoutCamera[];
44
+ type: CamviewSettingsLayoutMode;
42
45
  }
43
46
  export interface DBCamviewLayoutCamera {
44
- readonly _id: string;
47
+ index: number;
45
48
  name: string;
46
49
  }
47
50
  export interface DBPluginStorage {
@@ -75,7 +78,6 @@ export interface Camera extends Omit<BaseCamera, 'activityZones'> {
75
78
  hasObjectDetector: boolean;
76
79
  hasPtz: boolean;
77
80
  hasPrebuffer: boolean;
78
- hasIntercom: boolean;
79
81
  sources: CameraInput[];
80
82
  activityZones: DetectionZone[];
81
83
  }
@@ -130,7 +132,6 @@ export interface CameraExtensions {
130
132
  motionDetection?: string;
131
133
  audioDetection?: string;
132
134
  objectDetection?: string;
133
- intercom?: string;
134
135
  ptz?: string;
135
136
  plugins: string[];
136
137
  }
@@ -144,30 +145,30 @@ export interface CameraInputSettings {
144
145
  urls: string[];
145
146
  }
146
147
  export interface Go2RtcRTSPSource {
147
- single: string;
148
- default: string;
149
- mp4: string;
148
+ readonly single: string;
149
+ readonly default: string;
150
+ readonly mp4: string;
150
151
  }
151
152
  export interface Go2RtcEndpoint {
152
- webrtc: string;
153
- mse: string;
154
- lmp4: string;
155
- mmp4: string;
156
- mp4: string;
157
- mp4Snapshot: string;
158
- jpegSnapshot: string;
159
- lHlsTs: string;
160
- lHlsFmp4: string;
161
- mHlsFmp4: string;
162
- mjpeg: string;
163
- mjpegHtml: string;
153
+ readonly webrtc: string;
154
+ readonly mse: string;
155
+ readonly lmp4: string;
156
+ readonly mmp4: string;
157
+ readonly mp4: string;
158
+ readonly mp4Snapshot: string;
159
+ readonly jpegSnapshot: string;
160
+ readonly lHlsTs: string;
161
+ readonly lHlsFmp4: string;
162
+ readonly mHlsFmp4: string;
163
+ readonly mjpeg: string;
164
+ readonly mjpegHtml: string;
164
165
  }
165
166
  export interface Go2RtcFFMPEGSource {
166
- aac: string;
167
- opus: string;
167
+ readonly aac: string;
168
+ readonly opus: string;
168
169
  }
169
170
  export interface Go2RtcWSSource {
170
- webrtc: string;
171
+ readonly webrtc: string;
171
172
  }
172
173
  export interface StreamUrls {
173
174
  ws: Go2RtcWSSource;
@@ -1,10 +1,10 @@
1
1
  import type { RequestQueue } from '../queue.js';
2
- import type { SourceData, StreamData } from '../types.js';
2
+ import type { NameData, SourceData, StreamData } from '../types.js';
3
3
  export declare class StreamsApi {
4
4
  private requestQueue;
5
5
  constructor(requestQueue: RequestQueue);
6
6
  createStream(data: StreamData): Promise<void>;
7
- deleteStream(data: SourceData): Promise<void>;
7
+ deleteStream(data: NameData): Promise<void>;
8
8
  getStreamInfo(data: SourceData): Promise<any>;
9
9
  updateStreamSource(data: StreamData): Promise<void>;
10
10
  }
@@ -44,14 +44,17 @@ export interface OnvifSource {
44
44
  export interface ExitData {
45
45
  code: number;
46
46
  }
47
+ export interface NameData {
48
+ name: string;
49
+ }
47
50
  export interface SourceData {
48
51
  src: string;
49
52
  }
50
53
  export interface StreamData {
51
- src: string;
52
54
  name: string;
55
+ src?: string | string[];
53
56
  }
54
57
  export interface IntercomData {
55
- src: string;
58
+ name: string;
56
59
  dst: string;
57
60
  }
@@ -1,6 +1,6 @@
1
1
  export declare class Server {
2
- private secureApp?;
3
- private insecureApp?;
2
+ private app?;
3
+ private localApp?;
4
4
  private api;
5
5
  private logger;
6
6
  private configService;
@@ -8,16 +8,15 @@ export declare class Server {
8
8
  register(): Promise<void>;
9
9
  listen(): Promise<void>;
10
10
  close(): Promise<void>;
11
- private setupSecureAppListeners;
12
- private setupInsecureAppListeners;
13
- private registerSecureAppPlugins;
14
- private registerInsecureAppPlugins;
11
+ private setupListeners;
12
+ private registerPlugins;
15
13
  private registerRouters;
16
14
  private get corsOptions();
17
15
  private get helmetOptions();
18
16
  private get multipartOptions();
19
- private get insecureServerOptions();
20
- private get secureServerOptions();
17
+ private get serverOptions();
18
+ private get localServerOptions();
19
+ private qsParser;
21
20
  private get socketOptions();
22
21
  private get staticOptions();
23
22
  }
@@ -1,3 +1,3 @@
1
- import { type AuthLoginRequest, type PaginationRequest, type PaginationResponse } from '../types/index.js';
2
1
  import type { FastifyReply, FastifyRequest } from 'fastify';
2
+ import type { AuthLoginRequest, PaginationRequest, PaginationResponse } from '../types/index.js';
3
3
  export declare const pages: (req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply, payload: any) => Promise<PaginationResponse | void>;
@@ -0,0 +1,7 @@
1
+ import type { FastifyPluginAsync } from 'fastify';
2
+ declare module 'fastify' {
3
+ interface FastifyReply {
4
+ startTime: number;
5
+ }
6
+ }
7
+ export declare const LoggerPlugin: FastifyPluginAsync;
@@ -2,6 +2,5 @@ import type { FastifyInstance } from 'fastify';
2
2
  export declare class FastifyRoutes {
3
3
  private app;
4
4
  constructor(app: FastifyInstance<any, any, any, any>);
5
- register(): Promise<void>;
6
- registerInsecure(): Promise<void>;
5
+ register(local?: boolean): Promise<void>;
7
6
  }
@@ -4,98 +4,36 @@ export declare const ACCEPTED_BACKUP_TYPES: string[];
4
4
  export declare const MAX_BACKUP_FILE_SIZE = 50000000;
5
5
  export declare const downloadBackupSchema: zod.ZodObject<{
6
6
  localStorage: zod.ZodOptional<zod.ZodObject<{
7
- layout: zod.ZodOptional<zod.ZodOptional<zod.ZodObject<{
8
- currentLayout: zod.ZodOptional<zod.ZodObject<{
9
- _id: zod.ZodString;
10
- name: zod.ZodString;
11
- cameras: zod.ZodArray<zod.ZodObject<{
12
- _id: zod.ZodString;
13
- name: zod.ZodString;
14
- }, "strict", zod.ZodTypeAny, {
15
- _id: string;
16
- name: string;
17
- }, {
18
- _id: string;
19
- name: string;
20
- }>, "many">;
7
+ ui: zod.ZodOptional<zod.ZodDefault<zod.ZodOptional<zod.ZodObject<{
8
+ config: zod.ZodOptional<zod.ZodObject<{
9
+ zoom: zod.ZodNumber;
21
10
  }, "strict", zod.ZodTypeAny, {
22
- _id: string;
23
- name: string;
24
- cameras: {
25
- _id: string;
26
- name: string;
27
- }[];
11
+ zoom: number;
28
12
  }, {
29
- _id: string;
30
- name: string;
31
- cameras: {
32
- _id: string;
33
- name: string;
34
- }[];
13
+ zoom: number;
35
14
  }>>;
36
- preferences: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
37
- _id: zod.ZodString;
38
- name: zod.ZodString;
39
- cameras: zod.ZodArray<zod.ZodObject<{
40
- _id: zod.ZodString;
41
- name: zod.ZodString;
42
- }, "strict", zod.ZodTypeAny, {
43
- _id: string;
44
- name: string;
45
- }, {
46
- _id: string;
47
- name: string;
48
- }>, "many">;
15
+ console: zod.ZodOptional<zod.ZodObject<{
16
+ zoom: zod.ZodNumber;
49
17
  }, "strict", zod.ZodTypeAny, {
50
- _id: string;
51
- name: string;
52
- cameras: {
53
- _id: string;
54
- name: string;
55
- }[];
18
+ zoom: number;
56
19
  }, {
57
- _id: string;
58
- name: string;
59
- cameras: {
60
- _id: string;
61
- name: string;
62
- }[];
63
- }>, "many">>;
20
+ zoom: number;
21
+ }>>;
64
22
  }, "strict", zod.ZodTypeAny, {
65
- currentLayout?: {
66
- _id: string;
67
- name: string;
68
- cameras: {
69
- _id: string;
70
- name: string;
71
- }[];
23
+ config?: {
24
+ zoom: number;
25
+ } | undefined;
26
+ console?: {
27
+ zoom: number;
72
28
  } | undefined;
73
- preferences?: {
74
- _id: string;
75
- name: string;
76
- cameras: {
77
- _id: string;
78
- name: string;
79
- }[];
80
- }[] | undefined;
81
29
  }, {
82
- currentLayout?: {
83
- _id: string;
84
- name: string;
85
- cameras: {
86
- _id: string;
87
- name: string;
88
- }[];
30
+ config?: {
31
+ zoom: number;
32
+ } | undefined;
33
+ console?: {
34
+ zoom: number;
89
35
  } | undefined;
90
- preferences?: {
91
- _id: string;
92
- name: string;
93
- cameras: {
94
- _id: string;
95
- name: string;
96
- }[];
97
- }[] | undefined;
98
- }>>>;
36
+ }>>>>;
99
37
  theme: zod.ZodOptional<zod.ZodDefault<zod.ZodOptional<zod.ZodObject<{
100
38
  theme: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"light">, zod.ZodLiteral<"dark">]>>;
101
39
  autoMode: zod.ZodOptional<zod.ZodBoolean>;
@@ -108,104 +46,64 @@ export declare const downloadBackupSchema: zod.ZodObject<{
108
46
  }>>>>;
109
47
  locale: zod.ZodOptional<zod.ZodDefault<zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"de">, zod.ZodLiteral<"en">]>>>>;
110
48
  }, "strict", zod.ZodTypeAny, {
49
+ ui?: {
50
+ config?: {
51
+ zoom: number;
52
+ } | undefined;
53
+ console?: {
54
+ zoom: number;
55
+ } | undefined;
56
+ } | undefined;
111
57
  theme?: {
112
58
  theme?: "light" | "dark" | undefined;
113
59
  autoMode?: boolean | undefined;
114
60
  } | undefined;
115
- layout?: {
116
- currentLayout?: {
117
- _id: string;
118
- name: string;
119
- cameras: {
120
- _id: string;
121
- name: string;
122
- }[];
123
- } | undefined;
124
- preferences?: {
125
- _id: string;
126
- name: string;
127
- cameras: {
128
- _id: string;
129
- name: string;
130
- }[];
131
- }[] | undefined;
132
- } | undefined;
133
61
  locale?: "de" | "en" | undefined;
134
62
  }, {
63
+ ui?: {
64
+ config?: {
65
+ zoom: number;
66
+ } | undefined;
67
+ console?: {
68
+ zoom: number;
69
+ } | undefined;
70
+ } | undefined;
135
71
  theme?: {
136
72
  theme?: "light" | "dark" | undefined;
137
73
  autoMode?: boolean | undefined;
138
74
  } | undefined;
139
- layout?: {
140
- currentLayout?: {
141
- _id: string;
142
- name: string;
143
- cameras: {
144
- _id: string;
145
- name: string;
146
- }[];
147
- } | undefined;
148
- preferences?: {
149
- _id: string;
150
- name: string;
151
- cameras: {
152
- _id: string;
153
- name: string;
154
- }[];
155
- }[] | undefined;
156
- } | undefined;
157
75
  locale?: "de" | "en" | undefined;
158
76
  }>>;
159
77
  }, "strict", zod.ZodTypeAny, {
160
78
  localStorage?: {
79
+ ui?: {
80
+ config?: {
81
+ zoom: number;
82
+ } | undefined;
83
+ console?: {
84
+ zoom: number;
85
+ } | undefined;
86
+ } | undefined;
161
87
  theme?: {
162
88
  theme?: "light" | "dark" | undefined;
163
89
  autoMode?: boolean | undefined;
164
90
  } | undefined;
165
- layout?: {
166
- currentLayout?: {
167
- _id: string;
168
- name: string;
169
- cameras: {
170
- _id: string;
171
- name: string;
172
- }[];
173
- } | undefined;
174
- preferences?: {
175
- _id: string;
176
- name: string;
177
- cameras: {
178
- _id: string;
179
- name: string;
180
- }[];
181
- }[] | undefined;
182
- } | undefined;
183
91
  locale?: "de" | "en" | undefined;
184
92
  } | undefined;
185
93
  }, {
186
94
  localStorage?: {
95
+ ui?: {
96
+ config?: {
97
+ zoom: number;
98
+ } | undefined;
99
+ console?: {
100
+ zoom: number;
101
+ } | undefined;
102
+ } | undefined;
187
103
  theme?: {
188
104
  theme?: "light" | "dark" | undefined;
189
105
  autoMode?: boolean | undefined;
190
106
  } | undefined;
191
- layout?: {
192
- currentLayout?: {
193
- _id: string;
194
- name: string;
195
- cameras: {
196
- _id: string;
197
- name: string;
198
- }[];
199
- } | undefined;
200
- preferences?: {
201
- _id: string;
202
- name: string;
203
- cameras: {
204
- _id: string;
205
- name: string;
206
- }[];
207
- }[] | undefined;
208
- } | undefined;
209
107
  locale?: "de" | "en" | undefined;
210
108
  } | undefined;
211
109
  }>;