@evercam/api 1.0.0-e03a0c41b → 1.0.0-e13c64fc3

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 (128) hide show
  1. package/README.md +5 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +27 -0
  3. package/dist/api/api/adminApi.d.ts +366 -0
  4. package/dist/api/api/aiApi.d.ts +127 -0
  5. package/dist/api/api/authzApi.d.ts +38 -0
  6. package/dist/api/{client → api/client}/axios.d.ts +2 -1
  7. package/dist/api/{client → api/client}/customErrors.d.ts +10 -0
  8. package/dist/api/{client → api/client}/interceptors.d.ts +3 -2
  9. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  10. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  11. package/dist/api/api/evercamApi.d.ts +329 -0
  12. package/dist/api/api/evercamLabsApi.d.ts +46 -0
  13. package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
  14. package/dist/api/api/index.d.ts +13 -0
  15. package/dist/api/api/ingestApi.d.ts +147 -0
  16. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +13 -4
  17. package/dist/api/api/videoWallApi.d.ts +9 -0
  18. package/dist/api/api/weatherApi.d.ts +9 -0
  19. package/dist/api/index.d.ts +3 -13
  20. package/dist/api/types/360.d.ts +276 -0
  21. package/dist/api/types/aconex.d.ts +143 -0
  22. package/dist/api/types/admin.d.ts +51 -0
  23. package/dist/{types → api/types}/analytics.d.ts +214 -103
  24. package/dist/{types → api/types}/anpr.d.ts +35 -19
  25. package/dist/{types → api/types}/auditLogs.d.ts +1 -1
  26. package/dist/api/types/authz.d.ts +60 -0
  27. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  28. package/dist/api/types/automation.d.ts +95 -0
  29. package/dist/{types → api/types}/axios.d.ts +22 -2
  30. package/dist/{types → api/types}/bim.d.ts +11 -5
  31. package/dist/{types → api/types}/camera.d.ts +110 -125
  32. package/dist/api/types/comments.d.ts +55 -0
  33. package/dist/api/types/company.d.ts +115 -0
  34. package/dist/{types → api/types}/compare.d.ts +20 -5
  35. package/dist/{types → api/types}/connector.d.ts +9 -6
  36. package/dist/api/types/coolify.d.ts +36 -0
  37. package/dist/{types → api/types}/copilot.d.ts +19 -13
  38. package/dist/{types → api/types}/countries.d.ts +0 -7
  39. package/dist/{types → api/types}/credentials.d.ts +1 -0
  40. package/dist/api/types/detections.d.ts +121 -0
  41. package/dist/{types → api/types}/errors.d.ts +13 -0
  42. package/dist/{types → api/types}/gateReport.d.ts +46 -150
  43. package/dist/api/types/hdd.d.ts +88 -0
  44. package/dist/{types → api/types}/index.d.ts +15 -2
  45. package/dist/api/types/ingest.d.ts +134 -0
  46. package/dist/{types → api/types}/kit.d.ts +94 -6
  47. package/dist/{types → api/types}/media.d.ts +2 -1
  48. package/dist/api/types/notification.d.ts +57 -0
  49. package/dist/{types → api/types}/nvr.d.ts +2 -1
  50. package/dist/api/types/oauth.d.ts +62 -0
  51. package/dist/{types/sitePlanner.d.ts → api/types/planner.d.ts} +11 -2
  52. package/dist/api/types/posthog.d.ts +33 -0
  53. package/dist/api/types/procore.d.ts +229 -0
  54. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  55. package/dist/api/types/project.d.ts +242 -0
  56. package/dist/{types → api/types}/recording.d.ts +3 -4
  57. package/dist/api/types/recycleBin.d.ts +14 -0
  58. package/dist/api/types/ring.d.ts +53 -0
  59. package/dist/{types → api/types}/roi.d.ts +2 -1
  60. package/dist/{types → api/types}/routeParams.d.ts +4 -2
  61. package/dist/{types → api/types}/router.d.ts +20 -1
  62. package/dist/{types → api/types}/shared.d.ts +14 -21
  63. package/dist/api/types/shares.d.ts +58 -0
  64. package/dist/{types → api/types}/sim.d.ts +6 -6
  65. package/dist/api/types/siteAnalytics.d.ts +287 -0
  66. package/dist/api/types/smartSeach.d.ts +5 -0
  67. package/dist/{types → api/types}/snapshots.d.ts +10 -1
  68. package/dist/api/types/sso.d.ts +55 -0
  69. package/dist/api/types/storyblok.d.ts +40 -0
  70. package/dist/api/types/streaming.d.ts +97 -0
  71. package/dist/api/types/systemCheck.d.ts +11 -0
  72. package/dist/api/types/tag.d.ts +12 -0
  73. package/dist/api/types/time.d.ts +7 -0
  74. package/dist/{types → api/types}/timelapse.d.ts +18 -4
  75. package/dist/{types → api/types}/user.d.ts +105 -35
  76. package/dist/api/types/videoWall.d.ts +66 -0
  77. package/dist/api/types/weather.d.ts +153 -0
  78. package/dist/{types → api/types}/widget.d.ts +103 -20
  79. package/dist/api/types/xweather.d.ts +12 -0
  80. package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
  81. package/dist/index.d.ts +2 -3
  82. package/dist/index.js +1741 -960
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.umd.cjs +1 -1
  85. package/dist/index.umd.cjs.map +1 -1
  86. package/dist/shared/api/index.d.ts +3 -0
  87. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  88. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  89. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  90. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  91. package/dist/shared/types/components.d.ts +270 -0
  92. package/dist/shared/types/imagePlayer.d.ts +34 -0
  93. package/dist/shared/types/index.d.ts +4 -0
  94. package/dist/shared/types/timeline.d.ts +10 -0
  95. package/package.json +8 -7
  96. package/dist/api/3dFirebaseApi.d.ts +0 -9
  97. package/dist/api/adminApi.d.ts +0 -289
  98. package/dist/api/aiApi.d.ts +0 -76
  99. package/dist/api/authzApi.d.ts +0 -21
  100. package/dist/api/evercamApi.d.ts +0 -266
  101. package/dist/api/evercamLabsApi.d.ts +0 -50
  102. package/dist/api/ingestApi.d.ts +0 -65
  103. package/dist/api/videoWallApi.d.ts +0 -9
  104. package/dist/api/weatherApi.d.ts +0 -25
  105. package/dist/types/360.d.ts +0 -83
  106. package/dist/types/aconex.d.ts +0 -45
  107. package/dist/types/automation.d.ts +0 -6
  108. package/dist/types/comments.d.ts +0 -36
  109. package/dist/types/company.d.ts +0 -46
  110. package/dist/types/detections.d.ts +0 -70
  111. package/dist/types/devices.d.ts +0 -228
  112. package/dist/types/ingest.d.ts +0 -43
  113. package/dist/types/notification.d.ts +0 -27
  114. package/dist/types/procore.d.ts +0 -76
  115. package/dist/types/project.d.ts +0 -120
  116. package/dist/types/shares.d.ts +0 -192
  117. package/dist/types/siteAnalytics.d.ts +0 -5
  118. package/dist/types/streaming.d.ts +0 -119
  119. package/dist/types/time.d.ts +0 -19
  120. package/dist/types/videoWall.d.ts +0 -33
  121. package/dist/types/weather.d.ts +0 -83
  122. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  123. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  124. /package/dist/{types → api/types}/drone.d.ts +0 -0
  125. /package/dist/{types → api/types}/map.d.ts +0 -0
  126. /package/dist/{types → api/types}/storageServers.d.ts +0 -0
  127. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  128. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
@@ -0,0 +1,12 @@
1
+ import { Kit } from "@evercam/api/types/kit";
2
+ export type Tag<T = string> = {
3
+ id?: number;
4
+ name: T;
5
+ description?: string;
6
+ createdAt?: string;
7
+ updatedAt?: string;
8
+ };
9
+ export type KitTag = {
10
+ kit: Kit;
11
+ tag: Tag;
12
+ };
@@ -0,0 +1,7 @@
1
+ import { Moment } from "moment-timezone";
2
+ export type DateType = Date | string | number;
3
+ export type ExtendedDateType = Moment | DateType;
4
+ export type DateRangeFilter = {
5
+ fromDate: DateType;
6
+ toDate: DateType;
7
+ };
@@ -1,4 +1,4 @@
1
- import { DateType, Schedule } from "@/types";
1
+ import { DateType, Schedule } from "@evercam/api/types";
2
2
  export declare enum TimelapseStatus {
3
3
  Pending = 11,
4
4
  Completed = 5,
@@ -15,15 +15,21 @@ export type TimelapseVideoOptions = {
15
15
  removeTimestamp: boolean;
16
16
  smoothTransition: boolean;
17
17
  evercamWatermark: boolean;
18
+ timestampPosition?: TimestampPositionCoordinates;
19
+ };
20
+ export type TimestampPositionCoordinates = {
21
+ x: number;
22
+ y: number;
23
+ w: number;
24
+ h: number;
18
25
  };
19
26
  export type TimelapseLogoOptions = {
20
- id: number;
27
+ id?: number;
21
28
  x: number;
22
29
  y: number;
23
30
  width: number;
24
31
  height: number;
25
32
  };
26
- export type TimelapseSchedules = string | Schedule;
27
33
  export declare enum TimelapseScheduleType {
28
34
  Continuous = "continuous",
29
35
  WorkingHours = "workingHours",
@@ -36,12 +42,20 @@ export declare enum TimelapsePeriod {
36
42
  WholeProject = "whole_project",
37
43
  Custom = "custom"
38
44
  }
45
+ export declare enum TimelapseType {
46
+ Hour = "hour",
47
+ Day = "day",
48
+ Week = "week",
49
+ Month = "month",
50
+ Year = "year",
51
+ FullProject = "full_project"
52
+ }
39
53
  export type TimelapseFilterQueryParams = {
40
54
  from?: DateType;
41
55
  to?: DateType;
42
56
  period?: TimelapsePeriod;
43
57
  duration?: number;
44
- schedule?: TimelapseSchedules;
58
+ schedule?: Schedule;
45
59
  };
46
60
  export type TimelapseCreationRequestPayload = {
47
61
  title: 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;
@@ -32,14 +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
- lastEventBrowser: string;
38
- lastEvenCreatedAt: DateTime;
39
- lastEventId: number;
40
- lastEventIpAddress: string;
41
- lastEventName: string;
42
- lastEventOs: string;
44
+ lastSeenAt: string;
43
45
  lastLoginAt: string;
44
46
  lastname: string;
45
47
  persona: string;
@@ -64,6 +66,10 @@ export type ProjectUser = User & {
64
66
  cameraExid: string;
65
67
  cameraRights: string;
66
68
  };
69
+ export declare enum ContactRole {
70
+ SalesExecutive = "Sales Executive",
71
+ CustomerSuccessManager = "Customer Success Manager"
72
+ }
67
73
  export declare enum Persona {
68
74
  HQ = "HQ",
69
75
  PM = "PM",
@@ -90,26 +96,44 @@ export type RemotePasswordUpdateRequestPayload = {
90
96
  currentPassword: string;
91
97
  newPassword: string;
92
98
  };
93
- export type LoginResponsePayload = {
94
- confirmedAt?: string;
95
- country?: string;
96
- createdAt?: string;
97
- email?: string;
98
- firstname?: string;
99
- id?: string;
100
- isAdmin?: boolean;
101
- lastLoginAt?: string;
102
- lastname?: string;
103
- persona?: Persona;
104
- telephone?: string;
105
- token?: string;
106
- updatedAt?: string;
107
- evercamAccount?: string;
99
+ export type AuthPasswordOption = {
100
+ type: "password";
101
+ };
102
+ export type AuthSsoOption = {
103
+ type: "sso";
104
+ name: string;
105
+ scope: string;
106
+ prompt: string | null;
107
+ exid: string;
108
+ clientId: string;
109
+ iconUrl: string;
110
+ loginUrl: string;
111
+ responseType: string;
112
+ };
113
+ export type AuthOption = AuthPasswordOption | AuthSsoOption;
114
+ export type AuthOptionsResponsePayload = {
115
+ options: AuthOption[];
116
+ };
117
+ export type AuthProviderConfigPayload = {
118
+ name: string;
119
+ scope: string;
120
+ prompt: string | null;
121
+ exid: string;
122
+ clientId: string;
123
+ iconUrl: string;
124
+ loginUrl: string;
125
+ responseType: string;
108
126
  };
109
127
  export type LogoutParams = {
110
128
  token: string;
111
129
  fromAdmin?: boolean;
112
130
  };
131
+ export type ConfirmUserRequestPayload = {
132
+ c: string;
133
+ };
134
+ export type DeleteActiveSessionRequestPayload = {
135
+ authorization: string;
136
+ };
113
137
  export type UserSession = {
114
138
  browser: string;
115
139
  createdAt: string;
@@ -178,6 +202,16 @@ export type GoogleAuthRequestPayload = {
178
202
  code: string;
179
203
  redirectUri: string;
180
204
  };
205
+ export type ProjectContact = {
206
+ name: string;
207
+ role: ContactRole | string;
208
+ email?: string;
209
+ phone?: string;
210
+ photo?: string;
211
+ };
212
+ export type ProjectContactsResponsePayload = {
213
+ data: ProjectContact[];
214
+ };
181
215
  export type UserStatsResponse = {
182
216
  data: {
183
217
  userStats: AdminUser;
@@ -198,7 +232,7 @@ export type UserProject = {
198
232
  id: number;
199
233
  exid: string;
200
234
  name: string;
201
- startedAt: DateTime;
235
+ startedAt: string;
202
236
  };
203
237
  export type UserProjectResponse = {
204
238
  data: UserProject[];
@@ -218,9 +252,9 @@ export type Admin = {
218
252
  id: number;
219
253
  fullname: string;
220
254
  email: string;
221
- createdAt: DateTime;
222
- updatedAt: DateTime;
223
- lastSignInAt: DateTime;
255
+ createdAt: string;
256
+ updatedAt: string;
257
+ lastSignInAt: string;
224
258
  signInCount: number;
225
259
  lastSignInIp: string;
226
260
  apiId: string;
@@ -232,17 +266,17 @@ export type ImpersonateUserResponse = {
232
266
  lastname: string;
233
267
  telephone: string;
234
268
  email: string;
235
- is_admin: boolean;
269
+ isAdmin: boolean;
236
270
  persona: Persona;
237
271
  country: string;
238
272
  companyId: number;
239
273
  companyExid: string;
240
274
  companyName: string;
241
275
  evercamAccount: boolean;
242
- createdAt: DateTime;
243
- updatedAt: DateTime;
244
- confirmedAt: DateTime;
245
- last_loginAt: DateTime;
276
+ createdAt: string;
277
+ updatedAt: string;
278
+ confirmedAt: string;
279
+ lastLoginAt: string;
246
280
  features: UserFeatureFlag[];
247
281
  token: string;
248
282
  };
@@ -271,6 +305,42 @@ export type Suppression = {
271
305
  id: number;
272
306
  email: string;
273
307
  source: string;
274
- insertedAt: DateTime;
275
- updatedAt: DateTime;
308
+ insertedAt: string;
309
+ updatedAt: string;
310
+ };
311
+ type Email = string;
312
+ export type WsAccessRestrictionUpdate = {
313
+ camera_id: CameraExid;
314
+ is_access_restricted: boolean;
315
+ };
316
+ export type WsUserRestrictionItem = {
317
+ user_id: number;
318
+ camera_id: CameraExid;
319
+ is_user_access_restricted: boolean;
320
+ };
321
+ export type WsUserRestrictionUpdate = WsUserRestrictionItem[];
322
+ /**
323
+ * Backend WebSocket event payload:
324
+ * {
325
+ * user: {
326
+ * "someone@domain.com": {camera_id, is_access_restricted} OR [{...}, {...}]
327
+ * }
328
+ * }
329
+ */
330
+ export type WsRestrictionChangedPayload = {
331
+ user: Record<Email, WsAccessRestrictionUpdate | WsUserRestrictionUpdate>;
332
+ };
333
+ export type ProjectUserWithRole = {
334
+ id: number;
335
+ email: string;
336
+ fullname: string;
337
+ company: {
338
+ id: number;
339
+ name: string;
340
+ exid: string;
341
+ };
342
+ permissions: string[];
343
+ role: Role;
344
+ subRoles: RoleSubRole[];
276
345
  };
346
+ export {};
@@ -0,0 +1,66 @@
1
+ import { Camera, Media, PaginationParams } from "@evercam/api/types";
2
+ export declare enum VideoWallItemType {
3
+ LiveView = "live",
4
+ Video = "video",
5
+ Image = "image"
6
+ }
7
+ export type VideoWallItem<T extends Camera | Media = Camera> = {
8
+ value: T;
9
+ type: VideoWallItemType;
10
+ };
11
+ export type VideoWallPresetGridConfig = {
12
+ items: VideoWallPresetItem[];
13
+ meta?: VideoWallPresetMeta;
14
+ };
15
+ export type VideoWallPresetItem = {
16
+ i: string | number;
17
+ x: number;
18
+ y: number;
19
+ w: number;
20
+ h: number;
21
+ camera: Camera;
22
+ weather?: Record<string, unknown>;
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 interface VideoWall {
35
+ id: number;
36
+ exid: string;
37
+ name: string;
38
+ source: VideoWallSource;
39
+ config: Record<string, any>;
40
+ insertedAt: string;
41
+ updatedAt: string;
42
+ user: {
43
+ id: number;
44
+ firstname: string;
45
+ lastname: string;
46
+ email: string;
47
+ };
48
+ }
49
+ export interface VideoWallListParams extends 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;
66
+ };
@@ -0,0 +1,153 @@
1
+ import { DateType } from "@evercam/api/types/time";
2
+ export type HistoryWeatherRequestPayload = {
3
+ day: string;
4
+ provider: WeatherProvider;
5
+ };
6
+ export type WeatherReportParams = {
7
+ startDate: string;
8
+ endDate: string;
9
+ weatherConditionIds?: number[];
10
+ minMinTemp?: number;
11
+ maxMinTemp?: number;
12
+ minMaxTemp?: number;
13
+ maxMaxTemp?: number;
14
+ minMinPrecip?: number;
15
+ maxMinPrecip?: number;
16
+ minMaxPrecip?: number;
17
+ maxMaxPrecip?: number;
18
+ minMinWindSpeed?: number;
19
+ maxMinWindSpeed?: number;
20
+ minMaxWindSpeed?: number;
21
+ maxMaxWindSpeed?: number;
22
+ minMinHumidity?: number;
23
+ maxMinHumidity?: number;
24
+ minMaxHumidity?: number;
25
+ maxMaxHumidity?: number;
26
+ minMinPressure?: number;
27
+ maxMinPressure?: number;
28
+ minMaxPressure?: number;
29
+ maxMaxPressure?: number;
30
+ minMinClouds?: number;
31
+ maxMinClouds?: number;
32
+ minMaxClouds?: number;
33
+ maxMaxClouds?: number;
34
+ minMaxUvIndex?: number;
35
+ maxMaxUvIndex?: number;
36
+ };
37
+ export declare enum WeatherReportScope {
38
+ Daily = "daily"
39
+ }
40
+ export type WeatherReportRequestPayload = WeatherReportParams & {
41
+ scope: WeatherReportScope;
42
+ includeRecent: boolean;
43
+ };
44
+ export type CurrentWeatherRequestPayload = {
45
+ provider: WeatherProvider;
46
+ includeForecast?: boolean;
47
+ forecastDays?: number;
48
+ };
49
+ export type WeatherHourlyItem = {
50
+ chanceoffog: number;
51
+ chanceoffrost: number;
52
+ chanceofhightemp: number;
53
+ chanceofovercast: number;
54
+ chanceofrain: number;
55
+ chanceofremdry: number;
56
+ chanceofsnow: number;
57
+ chanceofsunshine: number;
58
+ chanceofthunder: number;
59
+ chanceofwindy: number;
60
+ clouds?: number;
61
+ dewpoint: number;
62
+ feelsLike?: number;
63
+ heatindex: number;
64
+ hour?: number;
65
+ humidity?: number;
66
+ isRequestedWeather?: boolean;
67
+ precip: number;
68
+ pressure?: number;
69
+ rain?: HourlyReading;
70
+ snow?: HourlyReading;
71
+ source: string;
72
+ temp?: number;
73
+ uvIndex: number;
74
+ weather?: WeatherSummary;
75
+ windchill: number;
76
+ windDegree?: number;
77
+ windDir: string;
78
+ windgust: number;
79
+ windSpeed?: number;
80
+ wind?: {
81
+ speed: number;
82
+ };
83
+ };
84
+ export type WeatherResponsePayload = Array<WeatherHourlyItem>;
85
+ export type WeatherSummary = {
86
+ id?: number;
87
+ main?: string;
88
+ description?: string;
89
+ temperature?: number;
90
+ icon?: string | string[];
91
+ weatherIndex?: number;
92
+ rain?: HourlyReading;
93
+ };
94
+ export type HourlyReading = {
95
+ "1h"?: number;
96
+ "3h"?: number;
97
+ };
98
+ export declare enum WeatherProvider {
99
+ WeatherStack = "weather_stack",
100
+ XWeather = "xweather"
101
+ }
102
+ export type Weatherstatus = {
103
+ description: string;
104
+ hour: DateType;
105
+ id: number;
106
+ temp: number;
107
+ };
108
+ export type WeatherDataResponse = {
109
+ minFeelsLike: number;
110
+ id: number;
111
+ sunhour: number;
112
+ maxFeelsLike: number;
113
+ minWindchill: number;
114
+ minPressure: number;
115
+ minWindDegree: number;
116
+ minDewpoint: number;
117
+ maxClouds: number;
118
+ maxWindgust: number;
119
+ minWindSpeed: number;
120
+ astro: {
121
+ moonIllumination: number;
122
+ moonPhase: string;
123
+ moonrise: string;
124
+ moonset: string;
125
+ sunrise: string;
126
+ sunset: string;
127
+ };
128
+ insertedAt: string;
129
+ maxDewpoint: number;
130
+ maxTemp: number;
131
+ minClouds: number;
132
+ weather: Weatherstatus[];
133
+ minHeatindex: number;
134
+ minPrecip: number;
135
+ maxWindDegree: number;
136
+ maxUvIndex: number;
137
+ minHumidity: number;
138
+ maxWindSpeed: number;
139
+ minWindgust: number;
140
+ updatedAt: DateType;
141
+ maxPrecip: number;
142
+ uvIndex: number;
143
+ maxHeatindex: number;
144
+ minTemp: number;
145
+ date: string;
146
+ totalsnow: number;
147
+ maxPressure: number;
148
+ maxWindchill: number;
149
+ maxHumidity: number;
150
+ avgtemp: number;
151
+ projectId: number;
152
+ minUvIndex: number;
153
+ };
@@ -1,9 +1,10 @@
1
- import type { DateTime } from "@evercam/api/types/time";
2
- import { VideoWallPresetItemConfig } from "@evercam/api/types/videoWall";
1
+ import { CameraExid, PaginationParams } from "@evercam/api/types";
2
+ import type { JsonObject } from "@evercam/api/types";
3
+ import { VideoWallPresetGridConfig } from "@evercam/api/types/videoWall";
3
4
  export declare enum DelayUnit {
4
- Minute = "minute",
5
- Hour = "hour",
6
- Day = "day"
5
+ Minute = "Minutes",
6
+ Hour = "Hours",
7
+ Day = "Days"
7
8
  }
8
9
  export declare enum CommonWidgetSettingsKeys {
9
10
  Width = "width",
@@ -52,6 +53,19 @@ export declare enum VideoWallWidgetSettingsKeys {
52
53
  Height = "height",
53
54
  HeightResolution = "heightResolution"
54
55
  }
56
+ export declare enum ThreeSixtyKeys {
57
+ DateId = "dateId",
58
+ DateLocked = "dateLocked",
59
+ FloorId = "floorId",
60
+ FloorLocked = "floorLocked",
61
+ Marker = "markerId",
62
+ MarkerLocked = "markerLocked",
63
+ MediaLocked = "mediaLocked",
64
+ Width = "width",
65
+ WidthResolution = "resolution",
66
+ Height = "height",
67
+ HeightResolution = "heightResolution"
68
+ }
55
69
  export type CommonWidgetSettings = {
56
70
  width: number;
57
71
  resolution: string;
@@ -64,6 +78,8 @@ export type RecordingsWidgetSettings = CommonWidgetSettings & {
64
78
  hasDelay: boolean;
65
79
  delay: number;
66
80
  delayUnit: DelayUnit;
81
+ hasRange: boolean;
82
+ dateRange: [string, string] | null;
67
83
  };
68
84
  export type LiveViewWidgetSettings = CommonWidgetSettings & {
69
85
  fullscreen: boolean;
@@ -76,29 +92,43 @@ export type BimCompareWidgetSettings = CommonWidgetSettings & {
76
92
  timeline: boolean;
77
93
  darkMode: boolean;
78
94
  };
79
- export type VideoWallWidgetSettings = CommonWidgetSettings & {
80
- preset: VideoWallPresetItemConfig;
95
+ export type VideoWallWidgetSettingsObject = CommonWidgetSettings & {
96
+ preset: VideoWallPresetGridConfig;
81
97
  refreshRate: number;
98
+ allowCellFullscreen: boolean;
99
+ allowFitContent: boolean;
100
+ allowForceAspectRatio: boolean;
101
+ allowFullscreen: boolean;
102
+ cameras: CameraExid[];
103
+ description: string;
104
+ global: boolean;
105
+ visibility: string;
106
+ };
107
+ export type ThreeSixtyWidgetSettings = CommonWidgetSettings & {
108
+ dateId: string;
109
+ floorId: string;
110
+ markerId: string;
82
111
  };
83
- export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettings;
112
+ export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettingsObject | ThreeSixtyWidgetSettings;
84
113
  export declare enum WidgetType {
85
114
  LiveWidget = "Live View",
86
115
  Recording = "Recordings",
87
116
  BimCompare = "BIM Compare",
88
- VideoWall = "Video Wall"
117
+ VideoWall = "Video Wall",
118
+ ThreeSixty = "360"
89
119
  }
90
- export declare const RessourceByType: {
120
+ export declare const WidgetTypesByResource: {
91
121
  camera: WidgetType[];
92
122
  project: WidgetType[];
93
123
  };
94
- export type WidgetsListRequestPayload = {
124
+ export type WidgetsListRequestPayload = PaginationParams & {
95
125
  userId: number;
96
126
  projectId: number;
97
127
  cameraId: number;
98
128
  active: boolean;
99
129
  settings: WidgetSettings;
100
130
  widgetType: WidgetType;
101
- isPublic: boolean;
131
+ domainRestricted: boolean;
102
132
  allowedOrigin: string;
103
133
  };
104
134
  export type Widget = {
@@ -118,14 +148,16 @@ export type Widget = {
118
148
  widgetType: WidgetType;
119
149
  settings: WidgetSettings;
120
150
  allowedOrigin: string;
121
- isPublic: boolean;
151
+ domainRestricted: boolean;
122
152
  active: boolean;
123
153
  user: {
124
154
  id: number;
125
155
  email: string;
156
+ firstname: string;
157
+ lastname: string;
126
158
  };
127
- insertedAt: DateTime;
128
- updatedAt: DateTime;
159
+ insertedAt: string;
160
+ updatedAt: string;
129
161
  };
130
162
  export type WidgetFull = {
131
163
  id: number;
@@ -150,11 +182,62 @@ export type WidgetFull = {
150
182
  email: string;
151
183
  };
152
184
  settings: WidgetSettings;
153
- sessionSettings: any;
185
+ sessionSettings: JsonObject | null;
154
186
  allowedOrigin: string;
155
- isPublic: boolean;
156
- insertedAt: DateTime;
157
- updatedAt: DateTime;
187
+ domainRestricted: boolean;
188
+ insertedAt: string;
189
+ updatedAt: string;
190
+ };
191
+ export type WidgetSessionSettingsPayload = {
192
+ sessionSettings: JsonObject;
193
+ };
194
+ export type AdminWidgetResourceCamera = {
195
+ id: number;
196
+ exid: string;
197
+ name: string;
198
+ };
199
+ export type AdminWidgetResourceProject = {
200
+ id: number;
201
+ exid: string;
202
+ name: string;
203
+ featureFlags: string[];
204
+ };
205
+ export type AdminWidgetResourcePreset = {
206
+ id: number;
207
+ name: string;
208
+ exid: string;
209
+ config: JsonObject;
210
+ };
211
+ export type AdminWidgetResources = {
212
+ camera?: AdminWidgetResourceCamera | null;
213
+ project?: AdminWidgetResourceProject | null;
214
+ preset?: AdminWidgetResourcePreset | null;
215
+ };
216
+ export type AdminWidgetUser = {
217
+ id: number;
218
+ email: string;
219
+ firstname: string;
220
+ lastname: string;
221
+ };
222
+ export type AdminWidget = {
223
+ id: number;
224
+ active: boolean;
225
+ public: boolean;
226
+ user: AdminWidgetUser;
227
+ description: string | null;
228
+ insertedAt: string;
229
+ updatedAt: string;
230
+ settings: WidgetSettings;
231
+ ressources: AdminWidgetResources;
232
+ seenAt?: string;
233
+ showDashboardLink?: boolean;
234
+ domainRestricted: boolean;
235
+ widgetType: WidgetType;
236
+ allowedOrigin: string | null;
237
+ };
238
+ export type AdminWidgetFull = AdminWidget & {
239
+ widgetKey: string;
240
+ widgetId: string;
158
241
  };
159
242
  export type WidgetPayload = {
160
243
  ressources: {
@@ -164,6 +247,6 @@ export type WidgetPayload = {
164
247
  widgetType: WidgetType;
165
248
  active: boolean;
166
249
  settings: WidgetSettings;
167
- isPublic: boolean;
250
+ domainRestricted: boolean;
168
251
  allowedOrigin: string;
169
252
  };