@evercam/api 1.0.0-ae46ef99c → 1.0.0-api-fixes-bdf31a1d5

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 (92) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +170 -5
  3. package/dist/api/api/adminApi.d.ts +170 -99
  4. package/dist/api/api/aiApi.d.ts +99 -82
  5. package/dist/api/api/authzApi.d.ts +31 -15
  6. package/dist/api/api/client/axios.d.ts +2 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  8. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  9. package/dist/api/api/evercamApi.d.ts +158 -116
  10. package/dist/api/api/evercamLabsApi.d.ts +6 -4
  11. package/dist/api/api/exNvrApi.d.ts +1 -1
  12. package/dist/api/api/ingestApi.d.ts +119 -33
  13. package/dist/api/api/ptzApi.d.ts +12 -3
  14. package/dist/api/api/videoWallApi.d.ts +7 -7
  15. package/dist/api/api/weatherApi.d.ts +2 -2
  16. package/dist/api/types/360.d.ts +208 -7
  17. package/dist/api/types/aconex.d.ts +106 -7
  18. package/dist/api/types/admin.d.ts +67 -0
  19. package/dist/api/types/aiConfigs.d.ts +154 -0
  20. package/dist/api/types/analytics.d.ts +172 -41
  21. package/dist/api/types/anpr.d.ts +52 -13
  22. package/dist/api/types/auditLogs.d.ts +63 -38
  23. package/dist/api/types/authz.d.ts +61 -0
  24. package/dist/api/types/autodesk.d.ts +7 -7
  25. package/dist/api/types/automation.d.ts +86 -1
  26. package/dist/api/types/axios.d.ts +28 -7
  27. package/dist/api/types/bim.d.ts +77 -43
  28. package/dist/api/types/camera.d.ts +165 -135
  29. package/dist/api/types/comments.d.ts +43 -21
  30. package/dist/api/types/company.d.ts +91 -11
  31. package/dist/api/types/compare.d.ts +40 -21
  32. package/dist/api/types/connector.d.ts +4 -5
  33. package/dist/api/types/coolify.d.ts +20 -2
  34. package/dist/api/types/copilot.d.ts +11 -6
  35. package/dist/api/types/countries.d.ts +0 -7
  36. package/dist/api/types/credentials.d.ts +1 -0
  37. package/dist/api/types/detections.d.ts +23 -34
  38. package/dist/api/types/drone.d.ts +96 -6
  39. package/dist/api/types/errors.d.ts +12 -0
  40. package/dist/api/types/gateReport.d.ts +50 -158
  41. package/dist/api/types/gateReportManagement.d.ts +175 -0
  42. package/dist/api/types/hdd.d.ts +76 -17
  43. package/dist/api/types/index.d.ts +12 -1
  44. package/dist/api/types/ingest.d.ts +104 -3
  45. package/dist/api/types/kit.d.ts +71 -12
  46. package/dist/api/types/map.d.ts +12 -0
  47. package/dist/api/types/media.d.ts +21 -2
  48. package/dist/api/types/notification.d.ts +50 -14
  49. package/dist/api/types/nvr.d.ts +28 -0
  50. package/dist/api/types/oauth.d.ts +63 -0
  51. package/dist/api/types/planner.d.ts +101 -1
  52. package/dist/api/types/posthog.d.ts +15 -0
  53. package/dist/api/types/procore.d.ts +23 -16
  54. package/dist/api/types/progressPhoto.d.ts +30 -41
  55. package/dist/api/types/project.d.ts +182 -20
  56. package/dist/api/types/recording.d.ts +11 -14
  57. package/dist/api/types/recycleBin.d.ts +14 -0
  58. package/dist/api/types/ring.d.ts +53 -0
  59. package/dist/api/types/roi.d.ts +4 -3
  60. package/dist/api/types/routeParams.d.ts +2 -1
  61. package/dist/api/types/router.d.ts +43 -3
  62. package/dist/api/types/shared.d.ts +81 -53
  63. package/dist/api/types/shares.d.ts +6 -144
  64. package/dist/api/types/sim.d.ts +6 -9
  65. package/dist/api/types/siteAnalytics.d.ts +194 -48
  66. package/dist/api/types/siteView.d.ts +73 -0
  67. package/dist/api/types/smartSeach.d.ts +5 -0
  68. package/dist/api/types/snapshots.d.ts +108 -7
  69. package/dist/api/types/sso.d.ts +55 -0
  70. package/dist/api/types/storageProvider.d.ts +31 -0
  71. package/dist/api/types/storyblok.d.ts +40 -0
  72. package/dist/api/types/streaming.d.ts +4 -5
  73. package/dist/api/types/tag.d.ts +1 -1
  74. package/dist/api/types/time.d.ts +4 -18
  75. package/dist/api/types/timelapse.d.ts +46 -17
  76. package/dist/api/types/user.d.ts +174 -88
  77. package/dist/api/types/videoWall.d.ts +47 -14
  78. package/dist/api/types/weather.d.ts +151 -11
  79. package/dist/api/types/widget.d.ts +143 -54
  80. package/dist/api/types/xweather.d.ts +4 -4
  81. package/dist/index.js +2206 -1029
  82. package/dist/index.js.map +1 -1
  83. package/dist/index.umd.cjs +1 -1
  84. package/dist/index.umd.cjs.map +1 -1
  85. package/dist/shared/types/components.d.ts +163 -18
  86. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  87. package/dist/shared/types/imagePlayer.d.ts +10 -3
  88. package/dist/shared/types/index.d.ts +2 -0
  89. package/dist/shared/types/rbac.d.ts +67 -0
  90. package/dist/shared/types/timeline.d.ts +2 -1
  91. package/package.json +7 -4
  92. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,4 +1,4 @@
1
- import { Kit } from "@/types/kit";
1
+ import { Kit } from "@evercam/api/types/kit";
2
2
  export type Tag<T = string> = {
3
3
  id?: number;
4
4
  name: T;
@@ -1,21 +1,7 @@
1
1
  import { Moment } from "moment-timezone";
2
2
  export type DateType = Date | string | number;
3
3
  export type ExtendedDateType = Moment | DateType;
4
- type YYYY = number;
5
- type MM = number;
6
- type DD = number;
7
- type HH = number;
8
- type mm = number;
9
- type ss = number;
10
- type microS = number;
11
- export type Date_YYYY = `${YYYY}` | string;
12
- export type Date_YYYY_MM = `${YYYY}-${MM}` | string;
13
- export type Date_YYYY_MM_DD = `${YYYY}-${MM}-${DD}` | string;
14
- export type Time_HH_mm_ss = `${HH}:${mm}:${ss}` | string;
15
- export type Date_HH = `${HH}` | string;
16
- export type DateTime = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}` | string;
17
- export type DateTime_tz = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}${"+" | "-"}${HH}:${mm}` | string;
18
- export type DateTime_Z = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}Z` | string;
19
- export type DateTime_Z_micros = `${Date_YYYY_MM_DD}T${Time_HH_mm_ss}.${microS}Z` | string;
20
- export type DateTimeSpaceSeparated = `${Date_YYYY_MM_DD} ${Time_HH_mm_ss}` | string;
21
- export {};
4
+ export type DateRangeFilter = {
5
+ fromDate: DateType;
6
+ toDate: DateType;
7
+ };
@@ -1,4 +1,4 @@
1
- import { DateType, Schedule } from "@/types";
1
+ import { DateType, Point2D, Schedule } from "@evercam/api/types";
2
2
  export declare enum TimelapseStatus {
3
3
  Pending = 11,
4
4
  Completed = 5,
@@ -7,7 +7,8 @@ export declare enum TimelapseStatus {
7
7
  export declare enum TimelapseDuration {
8
8
  ThirtySeconds = 30,
9
9
  SixtySeconds = 60,
10
- NintySeconds = 90
10
+ NintySeconds = 90,
11
+ TwoMinutes = 120
11
12
  }
12
13
  export type TimelapseVideoOptions = {
13
14
  width?: number;
@@ -15,7 +16,9 @@ export type TimelapseVideoOptions = {
15
16
  removeTimestamp: boolean;
16
17
  smoothTransition: boolean;
17
18
  evercamWatermark: boolean;
19
+ sectionBlur?: boolean;
18
20
  timestampPosition?: TimestampPositionCoordinates;
21
+ blurRegions?: BlurRegionCoordinates[];
19
22
  };
20
23
  export type TimestampPositionCoordinates = {
21
24
  x: number;
@@ -23,14 +26,14 @@ export type TimestampPositionCoordinates = {
23
26
  w: number;
24
27
  h: number;
25
28
  };
29
+ export type BlurRegionCoordinates = Point2D[];
26
30
  export type TimelapseLogoOptions = {
27
- id: number;
31
+ id?: number;
28
32
  x: number;
29
33
  y: number;
30
34
  width: number;
31
35
  height: number;
32
36
  };
33
- export type TimelapseSchedules = string | Schedule;
34
37
  export declare enum TimelapseScheduleType {
35
38
  Continuous = "continuous",
36
39
  WorkingHours = "workingHours",
@@ -56,7 +59,7 @@ export type TimelapseFilterQueryParams = {
56
59
  to?: DateType;
57
60
  period?: TimelapsePeriod;
58
61
  duration?: number;
59
- schedule?: TimelapseSchedules;
62
+ schedule?: Schedule;
60
63
  };
61
64
  export type TimelapseCreationRequestPayload = {
62
65
  title: string;
@@ -67,20 +70,46 @@ export type TimelapseCreationRequestPayload = {
67
70
  schedule: Schedule;
68
71
  videoOptions: TimelapseVideoOptions;
69
72
  logo?: TimelapseLogoOptions;
73
+ public?: boolean;
70
74
  };
71
75
  export type TimelapseCreationResponsePayload = {
72
- Timelapse: {
73
- camera: string;
74
- createdAt: string;
75
- fromDate: string;
76
- id: number;
77
- duration: number;
78
- requestor: string;
79
- schedule: Schedule;
80
- status: number;
81
- toDate: string;
82
- updatedAt: string;
83
- };
76
+ id: number;
77
+ exid: string;
78
+ camera: string;
79
+ fromDate: string;
80
+ toDate: string;
81
+ duration: number;
82
+ schedule: Schedule;
83
+ status: number;
84
+ requestor: string;
85
+ createdAt: string;
86
+ updatedAt: string;
87
+ notes?: string | null;
88
+ category?: string | null;
89
+ isUrgent?: boolean | null;
90
+ };
91
+ export type TimelapseArchiveResponse = {
92
+ id: number;
93
+ exid: string;
94
+ cameraExid: string;
95
+ title: string;
96
+ fromDate: string;
97
+ toDate: string;
98
+ createdAt: string;
99
+ status: string;
100
+ requesterName: string;
101
+ requesterEmail: string;
102
+ public: boolean;
103
+ type: string;
104
+ format: string;
105
+ thumbnailUrl: string;
106
+ completedAt: string | null;
107
+ notes: string | null;
108
+ category: string | null;
109
+ isUrgent: boolean | null;
110
+ bucket: string;
111
+ sourceProduct: string | null;
112
+ featureType: string | null;
84
113
  };
85
114
  export type TimelapseSnapshotRequestPayload = {
86
115
  from: string;
@@ -1,4 +1,5 @@
1
- import type { DateTime, PaginationParams } from "@/types";
1
+ import type { CameraExid, PaginationParams } from "@evercam/api/types";
2
+ import { Role, RoleSubRole } from "@evercam/api/types/authz";
2
3
  export type User = {
3
4
  id?: number;
4
5
  fullname?: string;
@@ -9,10 +10,16 @@ export type User = {
9
10
  country: string;
10
11
  isAdmin: boolean;
11
12
  persona: Persona;
12
- companyId?: string;
13
+ companyId?: string | number;
13
14
  companyName?: string;
14
15
  companyExid?: string;
15
16
  features?: Array<UserFeatureFlag>;
17
+ confirmedAt?: string;
18
+ createdAt?: string;
19
+ lastLoginAt?: string;
20
+ token?: string;
21
+ updatedAt?: string;
22
+ evercamAccount?: boolean;
16
23
  };
17
24
  export type AdminUser = {
18
25
  id: number;
@@ -22,7 +29,7 @@ export type AdminUser = {
22
29
  telephone: string;
23
30
  country: string;
24
31
  isAdmin: boolean;
25
- companyId: string;
32
+ companyId: number;
26
33
  companyName: string;
27
34
  companyExid: string;
28
35
  features: Array<UserFeatureFlag>;
@@ -32,9 +39,9 @@ export type AdminUser = {
32
39
  camerasOwned: number;
33
40
  countryId: number;
34
41
  countryName: string;
35
- createdAt: DateTime;
42
+ createdAt: string;
36
43
  integrations: string[];
37
- lastSeenAt: DateTime;
44
+ lastSeenAt: string;
38
45
  lastLoginAt: string;
39
46
  lastname: string;
40
47
  persona: string;
@@ -48,7 +55,6 @@ export declare enum UserFeatureFlag {
48
55
  CompanyAdmin = "company-admin",
49
56
  VideoWalls = "video-walls",
50
57
  MassCameraSharing = "mass-camera-sharing",
51
- Copilot = "copilot",
52
58
  ProjectSharing = "project-sharing"
53
59
  }
54
60
  export type ProjectUser = User & {
@@ -59,6 +65,10 @@ export type ProjectUser = User & {
59
65
  cameraExid: string;
60
66
  cameraRights: string;
61
67
  };
68
+ export declare enum ContactRole {
69
+ SalesExecutive = "Sales Executive",
70
+ CustomerSuccessManager = "Customer Success Manager"
71
+ }
62
72
  export declare enum Persona {
63
73
  HQ = "HQ",
64
74
  PM = "PM",
@@ -85,26 +95,53 @@ export type RemotePasswordUpdateRequestPayload = {
85
95
  currentPassword: string;
86
96
  newPassword: string;
87
97
  };
88
- export type LoginResponsePayload = {
89
- confirmedAt?: string;
90
- country?: string;
91
- createdAt?: string;
92
- email?: string;
93
- firstname?: string;
94
- id?: string;
95
- isAdmin?: boolean;
96
- lastLoginAt?: string;
97
- lastname?: string;
98
- persona?: Persona;
99
- telephone?: string;
100
- token?: string;
101
- updatedAt?: string;
102
- evercamAccount?: string;
98
+ export type AuthPasswordOption = {
99
+ type: "password";
100
+ };
101
+ export type AuthSsoOption = {
102
+ type: "sso";
103
+ name: string;
104
+ scope: string;
105
+ prompt: string | null;
106
+ exid: string;
107
+ clientId: string;
108
+ iconUrl: string;
109
+ loginUrl: string;
110
+ responseType: string;
111
+ };
112
+ export type AuthOption = AuthPasswordOption | AuthSsoOption;
113
+ export type AuthOptionsResponsePayload = {
114
+ options: AuthOption[];
115
+ };
116
+ export type AuthProviderConfigPayload = {
117
+ name: string;
118
+ scope: string;
119
+ prompt: string | null;
120
+ exid: string;
121
+ clientId: string;
122
+ iconUrl: string;
123
+ loginUrl: string;
124
+ responseType: string;
103
125
  };
104
126
  export type LogoutParams = {
105
127
  token: string;
106
128
  fromAdmin?: boolean;
107
129
  };
130
+ export type ConfirmUserRequestPayload = {
131
+ c: string;
132
+ };
133
+ export type DeleteActiveSessionRequestPayload = {
134
+ authorization: string;
135
+ };
136
+ export declare enum UserSessionType {
137
+ Password = "password",
138
+ Impersonation = "impersonation",
139
+ Sso = "sso",
140
+ Widget = "widget",
141
+ ApiKey = "api_key",
142
+ OauthAccess = "oauth_access",
143
+ OauthRefresh = "oauth_refresh"
144
+ }
108
145
  export type UserSession = {
109
146
  browser: string;
110
147
  createdAt: string;
@@ -113,6 +150,8 @@ export type UserSession = {
113
150
  isCurrent: boolean;
114
151
  lastUsedAt: string;
115
152
  os: string;
153
+ type: UserSessionType;
154
+ impersonatedBy: string | null;
116
155
  };
117
156
  export type SessionsListRequestPayload = {
118
157
  authorization: string;
@@ -123,32 +162,28 @@ export type SessionsListRequestPayload = {
123
162
  limit: number;
124
163
  page: number;
125
164
  };
126
- export type SessionActivityCamSettingsDetail = {
127
- new: any;
128
- old: any;
129
- };
130
- export type SessionActivityDetail = {
131
- agent: string;
132
- camSettings: SessionActivityCamSettingsDetail;
133
- country: string;
134
- countryCode: string;
135
- ip: string;
136
- };
137
165
  export type SessionActivity = {
138
- cameraExid: string;
139
- details: SessionActivityDetail;
140
- insertedAt: string;
141
- type: string;
166
+ id: number;
142
167
  who: string;
168
+ action: string;
169
+ entity: string | null;
170
+ insertedAt: string;
171
+ userDetails: Record<string, unknown> | null;
172
+ details: Record<string, unknown> | null;
143
173
  };
144
174
  export type SessionActivitiesListRequestPayload = {
145
- limit: number;
146
- from: string;
147
- to: string;
175
+ action?: string;
176
+ entity?: string[];
177
+ from?: string;
178
+ to?: string;
179
+ cameraId?: number;
180
+ routerId?: string;
181
+ sort?: string;
182
+ page?: number;
183
+ limit?: number;
148
184
  };
149
185
  export type SignupUserRequestPayload = {
150
186
  telephone: string;
151
- token: string;
152
187
  firstname: string;
153
188
  lastname: string;
154
189
  email: string;
@@ -168,10 +203,22 @@ export type UserUpdateRequestPayload = {
168
203
  };
169
204
  export type UserDeleteRequestPayload = {
170
205
  verifEmail: string;
206
+ newOwnerEmail?: string;
171
207
  };
172
208
  export type GoogleAuthRequestPayload = {
173
- code: string;
174
- redirectUri: string;
209
+ code?: string;
210
+ redirectUri?: string;
211
+ idToken?: string;
212
+ };
213
+ export type ProjectContact = {
214
+ name: string;
215
+ role: ContactRole | string;
216
+ email?: string;
217
+ phone?: string | null;
218
+ photo?: string;
219
+ };
220
+ export type ProjectContactsResponsePayload = {
221
+ data: ProjectContact[];
175
222
  };
176
223
  export type UserStatsResponse = {
177
224
  data: {
@@ -193,79 +240,118 @@ export type UserProject = {
193
240
  id: number;
194
241
  exid: string;
195
242
  name: string;
196
- startedAt: DateTime;
243
+ status?: string;
244
+ startedAt?: string;
245
+ insertedAt?: string;
246
+ endDate?: string | null;
247
+ timezone?: string;
248
+ archiveTier?: string | null;
249
+ featureFlags?: string[];
250
+ companyId?: number | null;
251
+ camerasCount?: number;
252
+ camerasRestrictionType?: string | null;
253
+ geographicBounds?: unknown | null;
254
+ owner?: {
255
+ id: number;
256
+ name: string;
257
+ email: string;
258
+ };
197
259
  };
198
260
  export type UserProjectResponse = {
199
261
  data: UserProject[];
200
262
  };
201
263
  export type AdminUserUpdateRequestPayload = {
202
- companyId: string;
203
- email: string;
204
- persona: Persona;
205
- country: string;
206
- features: UserFeatureFlag[];
264
+ companyId?: number;
265
+ email?: string;
266
+ persona?: Persona;
267
+ country?: string;
268
+ features?: UserFeatureFlag[];
207
269
  };
208
270
  export type AdminQueryParams = PaginationParams & {
209
- email: string;
210
- fullname: string;
271
+ email?: string;
272
+ fullname?: string;
273
+ roles?: number[];
274
+ sort?: string;
211
275
  };
212
276
  export type Admin = {
213
277
  id: number;
214
278
  fullname: string;
215
279
  email: string;
216
- createdAt: DateTime;
217
- updatedAt: DateTime;
218
- lastSignInAt: DateTime;
280
+ createdAt: string;
281
+ updatedAt: string;
282
+ lastSignInAt: string;
219
283
  signInCount: number;
220
284
  lastSignInIp: string;
221
285
  apiId: string;
222
286
  apiKey: string;
287
+ roles?: string[];
223
288
  };
224
289
  export type ImpersonateUserResponse = {
225
- id: string;
226
- firstname: string;
227
- lastname: string;
228
- telephone: string;
229
- email: string;
230
- is_admin: boolean;
231
- persona: Persona;
232
- country: string;
233
- companyId: number;
234
- companyExid: string;
235
- companyName: string;
236
- evercamAccount: boolean;
237
- createdAt: DateTime;
238
- updatedAt: DateTime;
239
- confirmedAt: DateTime;
240
- last_loginAt: DateTime;
241
- features: UserFeatureFlag[];
242
290
  token: string;
243
291
  };
244
292
  export type AdminUserQueryParams = PaginationParams & {
245
- fullname: string;
246
- email: string;
247
- telephone: string;
248
- persona: Persona;
249
- companyName: string;
250
- camerasCount: string;
251
- projectsCount: string;
252
- snapmailCount: string;
253
- camerasOwned: string;
254
- cameraShares: string;
255
- createdAtDate: string;
256
- lastLoginAtDate: string;
257
- integrations: "procore" | "aconex" | "autodesk";
258
- features: UserFeatureFlag.ProjectSharing | UserFeatureFlag.VideoWalls;
293
+ fullname?: string;
294
+ email?: string;
295
+ telephone?: string;
296
+ persona?: Persona;
297
+ companyName?: string;
298
+ camerasCount?: string;
299
+ projectsCount?: string;
300
+ snapmailCount?: string;
301
+ camerasOwned?: string;
302
+ cameraShares?: string;
303
+ createdAtDate?: string;
304
+ lastLoginAtDate?: string;
305
+ integrations?: "procore" | "aconex" | "autodesk";
306
+ features?: UserFeatureFlag.ProjectSharing | UserFeatureFlag.VideoWalls;
307
+ countryId?: number;
259
308
  };
260
309
  export type SuppressionsQueryParams = PaginationParams & {
310
+ id?: number;
311
+ email?: string;
312
+ source?: string;
313
+ };
314
+ export type Suppression = {
261
315
  id: number;
262
316
  email: string;
263
317
  source: string;
318
+ insertedAt: string;
319
+ updatedAt: string;
264
320
  };
265
- export type Suppression = {
321
+ type Email = string;
322
+ export type WsAccessRestrictionUpdate = {
323
+ camera_id: CameraExid;
324
+ is_access_restricted: boolean;
325
+ };
326
+ export type WsUserRestrictionItem = {
327
+ user_id: number;
328
+ camera_id: CameraExid;
329
+ is_user_access_restricted: boolean;
330
+ };
331
+ export type WsUserRestrictionUpdate = WsUserRestrictionItem[];
332
+ /**
333
+ * Backend WebSocket event payload:
334
+ * {
335
+ * user: {
336
+ * "someone@domain.com": {camera_id, is_access_restricted} OR [{...}, {...}]
337
+ * }
338
+ * }
339
+ */
340
+ export type WsRestrictionChangedPayload = {
341
+ user: Record<Email, WsAccessRestrictionUpdate | WsUserRestrictionUpdate>;
342
+ };
343
+ export type ProjectUserWithRole = {
266
344
  id: number;
267
345
  email: string;
268
- source: string;
269
- insertedAt: DateTime;
270
- updatedAt: DateTime;
346
+ fullname: string;
347
+ company: {
348
+ id: number;
349
+ name: string;
350
+ exid: string;
351
+ };
352
+ persona: Persona;
353
+ permissions: string[];
354
+ role: Role;
355
+ subRoles: RoleSubRole[];
271
356
  };
357
+ export {};
@@ -1,25 +1,16 @@
1
- import { Camera, Media } from "@/types";
1
+ import { Camera, Media, PaginationParams } from "@evercam/api/types";
2
2
  export declare enum VideoWallItemType {
3
3
  LiveView = "live",
4
4
  Video = "video",
5
5
  Image = "image"
6
6
  }
7
- export type VideoWallItem<T extends Camera | Media> = {
7
+ export type VideoWallItem<T extends Camera | Media = Camera> = {
8
8
  value: T;
9
9
  type: VideoWallItemType;
10
10
  };
11
- export type VideoWallPresetItemConfig = {
12
- camera: Camera;
13
- h: number;
14
- i: string | number;
15
- moved: boolean;
16
- w: number;
17
- x: number;
18
- y: number;
19
- };
20
- export type VideoWallPreset = {
21
- name?: string;
22
- configuration: Array<VideoWallPresetItemConfig>;
11
+ export type VideoWallPresetGridConfig = {
12
+ items: VideoWallPresetItem[];
13
+ meta?: VideoWallPresetMeta;
23
14
  };
24
15
  export type VideoWallPresetItem = {
25
16
  i: string | number;
@@ -30,4 +21,46 @@ export type VideoWallPresetItem = {
30
21
  camera: Camera;
31
22
  weather?: Record<string, unknown>;
32
23
  media?: Media;
24
+ moved?: boolean;
25
+ };
26
+ export type VideoWallPresetMeta = {
27
+ colNum: number;
28
+ rowCount: number;
29
+ tile: number;
30
+ template: string;
31
+ gridSize: number;
32
+ };
33
+ export type VideoWallSource = "default" | "widget";
34
+ export type VideoWall = {
35
+ id: number;
36
+ exid: string;
37
+ name: string;
38
+ config: Record<string, unknown>;
39
+ insertedAt: string;
40
+ updatedAt: string;
41
+ source?: VideoWallSource;
42
+ user?: {
43
+ id: number;
44
+ firstname: string;
45
+ lastname: string;
46
+ email: string;
47
+ };
48
+ };
49
+ export type VideoWallListParams = PaginationParams & {
50
+ projectExid?: string;
51
+ id?: number;
52
+ exid?: string;
53
+ projectId?: number;
54
+ userId?: number;
55
+ name?: string;
56
+ project?: string;
57
+ user?: string;
58
+ source?: VideoWallSource;
59
+ };
60
+ export type VideoWallCreateUpdatePayload = {
61
+ projectExid?: string;
62
+ name: string;
63
+ source?: VideoWallSource;
64
+ config?: Record<string, unknown>;
65
+ scope?: string;
33
66
  };