@evercam/api 1.0.0-8134dc28b → 1.0.0-82e3ac394

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 (136) hide show
  1. package/README.md +3 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +176 -0
  3. package/dist/api/api/adminApi.d.ts +383 -0
  4. package/dist/api/api/aiApi.d.ts +143 -0
  5. package/dist/api/api/authzApi.d.ts +37 -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 +1 -1
  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 +346 -0
  12. package/dist/api/api/evercamLabsApi.d.ts +45 -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 +149 -0
  16. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +12 -3
  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 +281 -0
  21. package/dist/api/types/aconex.d.ts +143 -0
  22. package/dist/api/types/admin.d.ts +51 -0
  23. package/dist/api/types/aiConfigs.d.ts +154 -0
  24. package/dist/{types → api/types}/analytics.d.ts +209 -80
  25. package/dist/{types → api/types}/anpr.d.ts +56 -13
  26. package/dist/{types → api/types}/auditLogs.d.ts +19 -1
  27. package/dist/api/types/authz.d.ts +61 -0
  28. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  29. package/dist/api/types/automation.d.ts +95 -0
  30. package/dist/{types → api/types}/axios.d.ts +23 -3
  31. package/dist/{types → api/types}/bim.d.ts +28 -5
  32. package/dist/{types → api/types}/camera.d.ts +114 -144
  33. package/dist/api/types/comments.d.ts +57 -0
  34. package/dist/api/types/company.d.ts +115 -0
  35. package/dist/{types → api/types}/compare.d.ts +20 -5
  36. package/dist/{types → api/types}/connector.d.ts +9 -6
  37. package/dist/api/types/coolify.d.ts +36 -0
  38. package/dist/{types → api/types}/copilot.d.ts +11 -6
  39. package/dist/{types → api/types}/countries.d.ts +0 -7
  40. package/dist/{types → api/types}/credentials.d.ts +1 -0
  41. package/dist/api/types/detections.d.ts +115 -0
  42. package/dist/api/types/drone.d.ts +107 -0
  43. package/dist/{types → api/types}/errors.d.ts +13 -0
  44. package/dist/{types → api/types}/gateReport.d.ts +49 -158
  45. package/dist/{types → api/types}/hdd.d.ts +26 -1
  46. package/dist/{types → api/types}/index.d.ts +14 -2
  47. package/dist/api/types/ingest.d.ts +147 -0
  48. package/dist/{types → api/types}/kit.d.ts +89 -7
  49. package/dist/api/types/map.d.ts +16 -0
  50. package/dist/{types → api/types}/media.d.ts +2 -1
  51. package/dist/api/types/notification.d.ts +57 -0
  52. package/dist/api/types/oauth.d.ts +62 -0
  53. package/dist/api/types/planner.d.ts +132 -0
  54. package/dist/api/types/posthog.d.ts +33 -0
  55. package/dist/api/types/procore.d.ts +229 -0
  56. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  57. package/dist/api/types/project.d.ts +247 -0
  58. package/dist/{types → api/types}/recording.d.ts +6 -5
  59. package/dist/api/types/recycleBin.d.ts +14 -0
  60. package/dist/api/types/ring.d.ts +53 -0
  61. package/dist/{types → api/types}/roi.d.ts +1 -0
  62. package/dist/{types → api/types}/routeParams.d.ts +4 -2
  63. package/dist/{types → api/types}/router.d.ts +20 -1
  64. package/dist/{types → api/types}/shared.d.ts +31 -10
  65. package/dist/api/types/shares.d.ts +58 -0
  66. package/dist/{types → api/types}/sim.d.ts +6 -6
  67. package/dist/api/types/siteAnalytics.d.ts +287 -0
  68. package/dist/api/types/siteView.d.ts +74 -0
  69. package/dist/api/types/smartSeach.d.ts +5 -0
  70. package/dist/api/types/snapshots.d.ts +99 -0
  71. package/dist/api/types/sso.d.ts +55 -0
  72. package/dist/api/types/storageProvider.d.ts +19 -0
  73. package/dist/api/types/storyblok.d.ts +40 -0
  74. package/dist/{types → api/types}/streaming.d.ts +4 -25
  75. package/dist/api/types/systemCheck.d.ts +11 -0
  76. package/dist/{types → api/types}/tag.d.ts +1 -1
  77. package/dist/api/types/time.d.ts +7 -0
  78. package/dist/{types → api/types}/timelapse.d.ts +8 -5
  79. package/dist/{types → api/types}/user.d.ts +105 -37
  80. package/dist/api/types/videoWall.d.ts +66 -0
  81. package/dist/api/types/weather.d.ts +153 -0
  82. package/dist/{types → api/types}/widget.d.ts +96 -16
  83. package/dist/api/types/xweather.d.ts +12 -0
  84. package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
  85. package/dist/index.d.ts +2 -3
  86. package/dist/index.js +2291 -1053
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.umd.cjs +1 -1
  89. package/dist/index.umd.cjs.map +1 -1
  90. package/dist/shared/api/index.d.ts +3 -0
  91. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  92. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  93. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  94. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  95. package/dist/shared/types/components.d.ts +322 -0
  96. package/dist/shared/types/imagePlayer.d.ts +41 -0
  97. package/dist/shared/types/index.d.ts +5 -0
  98. package/dist/shared/types/rbac.d.ts +67 -0
  99. package/dist/shared/types/timeline.d.ts +10 -0
  100. package/package.json +5 -4
  101. package/dist/api/3dFirebaseApi.d.ts +0 -9
  102. package/dist/api/adminApi.d.ts +0 -313
  103. package/dist/api/aiApi.d.ts +0 -110
  104. package/dist/api/authzApi.d.ts +0 -21
  105. package/dist/api/evercamApi.d.ts +0 -266
  106. package/dist/api/evercamLabsApi.d.ts +0 -50
  107. package/dist/api/ingestApi.d.ts +0 -66
  108. package/dist/api/videoWallApi.d.ts +0 -9
  109. package/dist/api/weatherApi.d.ts +0 -27
  110. package/dist/types/360.d.ts +0 -83
  111. package/dist/types/aconex.d.ts +0 -45
  112. package/dist/types/automation.d.ts +0 -6
  113. package/dist/types/comments.d.ts +0 -36
  114. package/dist/types/company.d.ts +0 -46
  115. package/dist/types/coolify.d.ts +0 -18
  116. package/dist/types/detections.d.ts +0 -76
  117. package/dist/types/devices.d.ts +0 -228
  118. package/dist/types/drone.d.ts +0 -17
  119. package/dist/types/ingest.d.ts +0 -43
  120. package/dist/types/map.d.ts +0 -4
  121. package/dist/types/notification.d.ts +0 -27
  122. package/dist/types/planner.d.ts +0 -28
  123. package/dist/types/procore.d.ts +0 -76
  124. package/dist/types/project.d.ts +0 -119
  125. package/dist/types/shares.d.ts +0 -192
  126. package/dist/types/siteAnalytics.d.ts +0 -84
  127. package/dist/types/snapshots.d.ts +0 -50
  128. package/dist/types/storageServers.d.ts +0 -4
  129. package/dist/types/time.d.ts +0 -19
  130. package/dist/types/videoWall.d.ts +0 -33
  131. package/dist/types/weather.d.ts +0 -83
  132. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  133. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  134. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  135. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  136. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
@@ -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;
@@ -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;
@@ -53,7 +55,6 @@ export declare enum UserFeatureFlag {
53
55
  CompanyAdmin = "company-admin",
54
56
  VideoWalls = "video-walls",
55
57
  MassCameraSharing = "mass-camera-sharing",
56
- Copilot = "copilot",
57
58
  ProjectSharing = "project-sharing"
58
59
  }
59
60
  export type ProjectUser = User & {
@@ -64,6 +65,10 @@ export type ProjectUser = User & {
64
65
  cameraExid: string;
65
66
  cameraRights: string;
66
67
  };
68
+ export declare enum ContactRole {
69
+ SalesExecutive = "Sales Executive",
70
+ CustomerSuccessManager = "Customer Success Manager"
71
+ }
67
72
  export declare enum Persona {
68
73
  HQ = "HQ",
69
74
  PM = "PM",
@@ -90,26 +95,44 @@ export type RemotePasswordUpdateRequestPayload = {
90
95
  currentPassword: string;
91
96
  newPassword: string;
92
97
  };
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;
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;
108
125
  };
109
126
  export type LogoutParams = {
110
127
  token: string;
111
128
  fromAdmin?: boolean;
112
129
  };
130
+ export type ConfirmUserRequestPayload = {
131
+ c: string;
132
+ };
133
+ export type DeleteActiveSessionRequestPayload = {
134
+ authorization: string;
135
+ };
113
136
  export type UserSession = {
114
137
  browser: string;
115
138
  createdAt: string;
@@ -153,7 +176,6 @@ export type SessionActivitiesListRequestPayload = {
153
176
  };
154
177
  export type SignupUserRequestPayload = {
155
178
  telephone: string;
156
- token: string;
157
179
  firstname: string;
158
180
  lastname: string;
159
181
  email: string;
@@ -178,6 +200,16 @@ export type GoogleAuthRequestPayload = {
178
200
  code: string;
179
201
  redirectUri: string;
180
202
  };
203
+ export type ProjectContact = {
204
+ name: string;
205
+ role: ContactRole | string;
206
+ email?: string;
207
+ phone?: string;
208
+ photo?: string;
209
+ };
210
+ export type ProjectContactsResponsePayload = {
211
+ data: ProjectContact[];
212
+ };
181
213
  export type UserStatsResponse = {
182
214
  data: {
183
215
  userStats: AdminUser;
@@ -198,7 +230,7 @@ export type UserProject = {
198
230
  id: number;
199
231
  exid: string;
200
232
  name: string;
201
- startedAt: DateTime;
233
+ startedAt: string;
202
234
  };
203
235
  export type UserProjectResponse = {
204
236
  data: UserProject[];
@@ -218,9 +250,9 @@ export type Admin = {
218
250
  id: number;
219
251
  fullname: string;
220
252
  email: string;
221
- createdAt: DateTime;
222
- updatedAt: DateTime;
223
- lastSignInAt: DateTime;
253
+ createdAt: string;
254
+ updatedAt: string;
255
+ lastSignInAt: string;
224
256
  signInCount: number;
225
257
  lastSignInIp: string;
226
258
  apiId: string;
@@ -232,17 +264,17 @@ export type ImpersonateUserResponse = {
232
264
  lastname: string;
233
265
  telephone: string;
234
266
  email: string;
235
- is_admin: boolean;
267
+ isAdmin: boolean;
236
268
  persona: Persona;
237
269
  country: string;
238
270
  companyId: number;
239
271
  companyExid: string;
240
272
  companyName: string;
241
273
  evercamAccount: boolean;
242
- createdAt: DateTime;
243
- updatedAt: DateTime;
244
- confirmedAt: DateTime;
245
- last_loginAt: DateTime;
274
+ createdAt: string;
275
+ updatedAt: string;
276
+ confirmedAt: string;
277
+ lastLoginAt: string;
246
278
  features: UserFeatureFlag[];
247
279
  token: string;
248
280
  };
@@ -271,6 +303,42 @@ export type Suppression = {
271
303
  id: number;
272
304
  email: string;
273
305
  source: string;
274
- insertedAt: DateTime;
275
- updatedAt: DateTime;
306
+ insertedAt: string;
307
+ updatedAt: string;
308
+ };
309
+ type Email = string;
310
+ export type WsAccessRestrictionUpdate = {
311
+ camera_id: CameraExid;
312
+ is_access_restricted: boolean;
313
+ };
314
+ export type WsUserRestrictionItem = {
315
+ user_id: number;
316
+ camera_id: CameraExid;
317
+ is_user_access_restricted: boolean;
318
+ };
319
+ export type WsUserRestrictionUpdate = WsUserRestrictionItem[];
320
+ /**
321
+ * Backend WebSocket event payload:
322
+ * {
323
+ * user: {
324
+ * "someone@domain.com": {camera_id, is_access_restricted} OR [{...}, {...}]
325
+ * }
326
+ * }
327
+ */
328
+ export type WsRestrictionChangedPayload = {
329
+ user: Record<Email, WsAccessRestrictionUpdate | WsUserRestrictionUpdate>;
330
+ };
331
+ export type ProjectUserWithRole = {
332
+ id: number;
333
+ email: string;
334
+ fullname: string;
335
+ company: {
336
+ id: number;
337
+ name: string;
338
+ exid: string;
339
+ };
340
+ permissions: string[];
341
+ role: Role;
342
+ subRoles: RoleSubRole[];
276
343
  };
344
+ 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,6 +1,6 @@
1
- import type { DateTime } from "@evercam/api/types/time";
2
- import { PaginationParams } from "@/types";
3
- 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";
4
4
  export declare enum DelayUnit {
5
5
  Minute = "Minutes",
6
6
  Hour = "Hours",
@@ -53,6 +53,19 @@ export declare enum VideoWallWidgetSettingsKeys {
53
53
  Height = "height",
54
54
  HeightResolution = "heightResolution"
55
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
+ }
56
69
  export type CommonWidgetSettings = {
57
70
  width: number;
58
71
  resolution: string;
@@ -65,6 +78,8 @@ export type RecordingsWidgetSettings = CommonWidgetSettings & {
65
78
  hasDelay: boolean;
66
79
  delay: number;
67
80
  delayUnit: DelayUnit;
81
+ hasRange: boolean;
82
+ dateRange: [string, string] | null;
68
83
  };
69
84
  export type LiveViewWidgetSettings = CommonWidgetSettings & {
70
85
  fullscreen: boolean;
@@ -77,16 +92,30 @@ export type BimCompareWidgetSettings = CommonWidgetSettings & {
77
92
  timeline: boolean;
78
93
  darkMode: boolean;
79
94
  };
80
- export type VideoWallWidgetSettings = CommonWidgetSettings & {
81
- preset: VideoWallPresetItemConfig;
95
+ export type VideoWallWidgetSettingsObject = CommonWidgetSettings & {
96
+ preset: VideoWallPresetGridConfig;
82
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;
83
111
  };
84
- export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettings;
112
+ export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettingsObject | ThreeSixtyWidgetSettings;
85
113
  export declare enum WidgetType {
86
114
  LiveWidget = "Live View",
87
115
  Recording = "Recordings",
88
116
  BimCompare = "BIM Compare",
89
- VideoWall = "Video Wall"
117
+ VideoWall = "Video Wall",
118
+ ThreeSixty = "360"
90
119
  }
91
120
  export declare const WidgetTypesByResource: {
92
121
  camera: WidgetType[];
@@ -99,7 +128,7 @@ export type WidgetsListRequestPayload = PaginationParams & {
99
128
  active: boolean;
100
129
  settings: WidgetSettings;
101
130
  widgetType: WidgetType;
102
- isPublic: boolean;
131
+ domainRestricted: boolean;
103
132
  allowedOrigin: string;
104
133
  };
105
134
  export type Widget = {
@@ -119,7 +148,7 @@ export type Widget = {
119
148
  widgetType: WidgetType;
120
149
  settings: WidgetSettings;
121
150
  allowedOrigin: string;
122
- isPublic: boolean;
151
+ domainRestricted: boolean;
123
152
  active: boolean;
124
153
  user: {
125
154
  id: number;
@@ -127,8 +156,8 @@ export type Widget = {
127
156
  firstname: string;
128
157
  lastname: string;
129
158
  };
130
- insertedAt: DateTime;
131
- updatedAt: DateTime;
159
+ insertedAt: string;
160
+ updatedAt: string;
132
161
  };
133
162
  export type WidgetFull = {
134
163
  id: number;
@@ -153,11 +182,62 @@ export type WidgetFull = {
153
182
  email: string;
154
183
  };
155
184
  settings: WidgetSettings;
156
- sessionSettings: any;
185
+ sessionSettings: JsonObject | null;
157
186
  allowedOrigin: string;
158
- isPublic: boolean;
159
- insertedAt: DateTime;
160
- 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;
161
241
  };
162
242
  export type WidgetPayload = {
163
243
  ressources: {
@@ -167,6 +247,6 @@ export type WidgetPayload = {
167
247
  widgetType: WidgetType;
168
248
  active: boolean;
169
249
  settings: WidgetSettings;
170
- isPublic: boolean;
250
+ domainRestricted: boolean;
171
251
  allowedOrigin: string;
172
252
  };
@@ -0,0 +1,12 @@
1
+ export type XWeatherCreatePayload = {
2
+ stationId: string;
3
+ clientId: string;
4
+ clientSecret: string;
5
+ };
6
+ export type XWeatherResponse = {
7
+ id?: number;
8
+ provider: "xweather";
9
+ config: object;
10
+ insertedAt?: string;
11
+ updatedAt?: string;
12
+ };
@@ -7,3 +7,4 @@ export declare const toQueryString: <T extends Record<string, unknown>>(paramsOb
7
7
  forceArrayBrackets?: boolean | undefined;
8
8
  }) => string | undefined;
9
9
  export declare function queryStringToObject(queryString?: string): QueryParams;
10
+ export declare function capitalizeFirstLetter(inputString: string): string;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- export * from "./api";
2
- export * from "./types";
3
- export * from "./utils";
1
+ export * from './api/index'
2
+ export {}