@evercam/api 1.0.0-779bcb558 → 1.0.0-79849e0e7

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 (131) 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 +376 -0
  4. package/dist/api/api/aiApi.d.ts +128 -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 +337 -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 +148 -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 +222 -106
  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 +61 -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 -3
  30. package/dist/{types → api/types}/bim.d.ts +11 -5
  31. package/dist/{types → api/types}/camera.d.ts +113 -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 +20 -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 +124 -0
  41. package/dist/{types → api/types}/drone.d.ts +1 -0
  42. package/dist/{types → api/types}/errors.d.ts +13 -0
  43. package/dist/{types → api/types}/gateReport.d.ts +96 -151
  44. package/dist/api/types/hdd.d.ts +88 -0
  45. package/dist/{types → api/types}/index.d.ts +16 -3
  46. package/dist/api/types/ingest.d.ts +147 -0
  47. package/dist/{types → api/types}/kit.d.ts +100 -12
  48. package/dist/{types → api/types}/media.d.ts +2 -1
  49. package/dist/api/types/notification.d.ts +57 -0
  50. package/dist/{types → api/types}/nvr.d.ts +2 -1
  51. package/dist/api/types/oauth.d.ts +62 -0
  52. package/dist/api/types/planner.d.ts +79 -0
  53. package/dist/api/types/posthog.d.ts +33 -0
  54. package/dist/api/types/procore.d.ts +229 -0
  55. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  56. package/dist/api/types/project.d.ts +246 -0
  57. package/dist/{types → api/types}/recording.d.ts +4 -4
  58. package/dist/api/types/recycleBin.d.ts +14 -0
  59. package/dist/api/types/ring.d.ts +53 -0
  60. package/dist/{types → api/types}/roi.d.ts +2 -1
  61. package/dist/{types → api/types}/routeParams.d.ts +4 -2
  62. package/dist/{types → api/types}/router.d.ts +20 -1
  63. package/dist/{types → api/types}/shared.d.ts +14 -21
  64. package/dist/api/types/shares.d.ts +58 -0
  65. package/dist/{types → api/types}/sim.d.ts +6 -6
  66. package/dist/api/types/siteAnalytics.d.ts +287 -0
  67. package/dist/api/types/smartSeach.d.ts +5 -0
  68. package/dist/{types → api/types}/snapshots.d.ts +42 -1
  69. package/dist/api/types/sso.d.ts +55 -0
  70. package/dist/api/types/storageProvider.d.ts +19 -0
  71. package/dist/api/types/storyblok.d.ts +40 -0
  72. package/dist/api/types/streaming.d.ts +97 -0
  73. package/dist/api/types/systemCheck.d.ts +11 -0
  74. package/dist/api/types/tag.d.ts +12 -0
  75. package/dist/api/types/time.d.ts +7 -0
  76. package/dist/{types → api/types}/timelapse.d.ts +20 -5
  77. package/dist/{types → api/types}/user.d.ts +105 -36
  78. package/dist/api/types/videoWall.d.ts +66 -0
  79. package/dist/api/types/weather.d.ts +153 -0
  80. package/dist/{types → api/types}/widget.d.ts +106 -20
  81. package/dist/api/types/xweather.d.ts +12 -0
  82. package/dist/{utils.d.ts → api/utils.d.ts} +1 -0
  83. package/dist/index.d.ts +2 -3
  84. package/dist/index.js +1849 -999
  85. package/dist/index.js.map +1 -1
  86. package/dist/index.umd.cjs +1 -1
  87. package/dist/index.umd.cjs.map +1 -1
  88. package/dist/shared/api/index.d.ts +3 -0
  89. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  90. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  91. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  92. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  93. package/dist/shared/types/components.d.ts +303 -0
  94. package/dist/shared/types/imagePlayer.d.ts +34 -0
  95. package/dist/shared/types/index.d.ts +5 -0
  96. package/dist/shared/types/rbac.d.ts +67 -0
  97. package/dist/shared/types/timeline.d.ts +10 -0
  98. package/package.json +8 -7
  99. package/dist/api/3dFirebaseApi.d.ts +0 -9
  100. package/dist/api/adminApi.d.ts +0 -288
  101. package/dist/api/aiApi.d.ts +0 -73
  102. package/dist/api/authzApi.d.ts +0 -21
  103. package/dist/api/evercamApi.d.ts +0 -266
  104. package/dist/api/evercamLabsApi.d.ts +0 -51
  105. package/dist/api/ingestApi.d.ts +0 -65
  106. package/dist/api/videoWallApi.d.ts +0 -9
  107. package/dist/api/weatherApi.d.ts +0 -25
  108. package/dist/types/360.d.ts +0 -83
  109. package/dist/types/aconex.d.ts +0 -45
  110. package/dist/types/automation.d.ts +0 -6
  111. package/dist/types/comments.d.ts +0 -36
  112. package/dist/types/company.d.ts +0 -46
  113. package/dist/types/detections.d.ts +0 -62
  114. package/dist/types/devices.d.ts +0 -228
  115. package/dist/types/ingest.d.ts +0 -43
  116. package/dist/types/notification.d.ts +0 -27
  117. package/dist/types/procore.d.ts +0 -76
  118. package/dist/types/project.d.ts +0 -120
  119. package/dist/types/shares.d.ts +0 -192
  120. package/dist/types/siteAnalytics.d.ts +0 -5
  121. package/dist/types/sitePlanner.d.ts +0 -23
  122. package/dist/types/storageServers.d.ts +0 -4
  123. package/dist/types/streaming.d.ts +0 -119
  124. package/dist/types/time.d.ts +0 -19
  125. package/dist/types/videoWall.d.ts +0 -33
  126. package/dist/types/weather.d.ts +0 -83
  127. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  128. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  129. /package/dist/{types → api/types}/map.d.ts +0 -0
  130. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  131. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
@@ -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;
@@ -178,6 +201,16 @@ export type GoogleAuthRequestPayload = {
178
201
  code: string;
179
202
  redirectUri: string;
180
203
  };
204
+ export type ProjectContact = {
205
+ name: string;
206
+ role: ContactRole | string;
207
+ email?: string;
208
+ phone?: string;
209
+ photo?: string;
210
+ };
211
+ export type ProjectContactsResponsePayload = {
212
+ data: ProjectContact[];
213
+ };
181
214
  export type UserStatsResponse = {
182
215
  data: {
183
216
  userStats: AdminUser;
@@ -198,7 +231,7 @@ export type UserProject = {
198
231
  id: number;
199
232
  exid: string;
200
233
  name: string;
201
- startedAt: DateTime;
234
+ startedAt: string;
202
235
  };
203
236
  export type UserProjectResponse = {
204
237
  data: UserProject[];
@@ -218,9 +251,9 @@ export type Admin = {
218
251
  id: number;
219
252
  fullname: string;
220
253
  email: string;
221
- createdAt: DateTime;
222
- updatedAt: DateTime;
223
- lastSignInAt: DateTime;
254
+ createdAt: string;
255
+ updatedAt: string;
256
+ lastSignInAt: string;
224
257
  signInCount: number;
225
258
  lastSignInIp: string;
226
259
  apiId: string;
@@ -232,17 +265,17 @@ export type ImpersonateUserResponse = {
232
265
  lastname: string;
233
266
  telephone: string;
234
267
  email: string;
235
- is_admin: boolean;
268
+ isAdmin: boolean;
236
269
  persona: Persona;
237
270
  country: string;
238
271
  companyId: number;
239
272
  companyExid: string;
240
273
  companyName: string;
241
274
  evercamAccount: boolean;
242
- createdAt: DateTime;
243
- updatedAt: DateTime;
244
- confirmedAt: DateTime;
245
- last_loginAt: DateTime;
275
+ createdAt: string;
276
+ updatedAt: string;
277
+ confirmedAt: string;
278
+ lastLoginAt: string;
246
279
  features: UserFeatureFlag[];
247
280
  token: string;
248
281
  };
@@ -271,6 +304,42 @@ export type Suppression = {
271
304
  id: number;
272
305
  email: string;
273
306
  source: string;
274
- insertedAt: DateTime;
275
- updatedAt: DateTime;
307
+ insertedAt: string;
308
+ updatedAt: string;
309
+ };
310
+ type Email = string;
311
+ export type WsAccessRestrictionUpdate = {
312
+ camera_id: CameraExid;
313
+ is_access_restricted: boolean;
314
+ };
315
+ export type WsUserRestrictionItem = {
316
+ user_id: number;
317
+ camera_id: CameraExid;
318
+ is_user_access_restricted: boolean;
319
+ };
320
+ export type WsUserRestrictionUpdate = WsUserRestrictionItem[];
321
+ /**
322
+ * Backend WebSocket event payload:
323
+ * {
324
+ * user: {
325
+ * "someone@domain.com": {camera_id, is_access_restricted} OR [{...}, {...}]
326
+ * }
327
+ * }
328
+ */
329
+ export type WsRestrictionChangedPayload = {
330
+ user: Record<Email, WsAccessRestrictionUpdate | WsUserRestrictionUpdate>;
331
+ };
332
+ export type ProjectUserWithRole = {
333
+ id: number;
334
+ email: string;
335
+ fullname: string;
336
+ company: {
337
+ id: number;
338
+ name: string;
339
+ exid: string;
340
+ };
341
+ permissions: string[];
342
+ role: Role;
343
+ subRoles: RoleSubRole[];
276
344
  };
345
+ 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",
@@ -17,6 +18,8 @@ export declare enum RecordingsWidgetSettingsKeys {
17
18
  HasDelay = "hasDelay",
18
19
  Delay = "delay",
19
20
  DelayUnit = "delayUnit",
21
+ HasRange = "hasRange",
22
+ DateRange = "dateRange",
20
23
  Width = "width",
21
24
  WidthResolution = "resolution",
22
25
  Height = "height",
@@ -35,6 +38,7 @@ export declare enum LiveViewWidgetSettingsKeys {
35
38
  }
36
39
  export declare enum BimCompareWidgetSettingsKeys {
37
40
  Timeline = "timeline",
41
+ Calendar = "calendar",
38
42
  DarkMode = "darkMode",
39
43
  Width = "width",
40
44
  WidthResolution = "resolution",
@@ -49,6 +53,19 @@ export declare enum VideoWallWidgetSettingsKeys {
49
53
  Height = "height",
50
54
  HeightResolution = "heightResolution"
51
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
+ }
52
69
  export type CommonWidgetSettings = {
53
70
  width: number;
54
71
  resolution: string;
@@ -61,6 +78,8 @@ export type RecordingsWidgetSettings = CommonWidgetSettings & {
61
78
  hasDelay: boolean;
62
79
  delay: number;
63
80
  delayUnit: DelayUnit;
81
+ hasRange: boolean;
82
+ dateRange: [string, string] | null;
64
83
  };
65
84
  export type LiveViewWidgetSettings = CommonWidgetSettings & {
66
85
  fullscreen: boolean;
@@ -73,29 +92,43 @@ export type BimCompareWidgetSettings = CommonWidgetSettings & {
73
92
  timeline: boolean;
74
93
  darkMode: boolean;
75
94
  };
76
- export type VideoWallWidgetSettings = CommonWidgetSettings & {
77
- preset: VideoWallPresetItemConfig;
95
+ export type VideoWallWidgetSettingsObject = CommonWidgetSettings & {
96
+ preset: VideoWallPresetGridConfig;
78
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;
79
111
  };
80
- export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettings;
112
+ export type WidgetSettings = RecordingsWidgetSettings | LiveViewWidgetSettings | BimCompareWidgetSettings | VideoWallWidgetSettingsObject | ThreeSixtyWidgetSettings;
81
113
  export declare enum WidgetType {
82
114
  LiveWidget = "Live View",
83
115
  Recording = "Recordings",
84
116
  BimCompare = "BIM Compare",
85
- VideoWall = "Video Wall"
117
+ VideoWall = "Video Wall",
118
+ ThreeSixty = "360"
86
119
  }
87
- export declare const RessourceByType: {
120
+ export declare const WidgetTypesByResource: {
88
121
  camera: WidgetType[];
89
122
  project: WidgetType[];
90
123
  };
91
- export type WidgetsListRequestPayload = {
124
+ export type WidgetsListRequestPayload = PaginationParams & {
92
125
  userId: number;
93
126
  projectId: number;
94
127
  cameraId: number;
95
128
  active: boolean;
96
129
  settings: WidgetSettings;
97
130
  widgetType: WidgetType;
98
- isPublic: boolean;
131
+ domainRestricted: boolean;
99
132
  allowedOrigin: string;
100
133
  };
101
134
  export type Widget = {
@@ -115,14 +148,16 @@ export type Widget = {
115
148
  widgetType: WidgetType;
116
149
  settings: WidgetSettings;
117
150
  allowedOrigin: string;
118
- isPublic: boolean;
151
+ domainRestricted: boolean;
119
152
  active: boolean;
120
153
  user: {
121
154
  id: number;
122
155
  email: string;
156
+ firstname: string;
157
+ lastname: string;
123
158
  };
124
- insertedAt: DateTime;
125
- updatedAt: DateTime;
159
+ insertedAt: string;
160
+ updatedAt: string;
126
161
  };
127
162
  export type WidgetFull = {
128
163
  id: number;
@@ -147,11 +182,62 @@ export type WidgetFull = {
147
182
  email: string;
148
183
  };
149
184
  settings: WidgetSettings;
150
- sessionSettings: any;
185
+ sessionSettings: JsonObject | null;
151
186
  allowedOrigin: string;
152
- isPublic: boolean;
153
- insertedAt: DateTime;
154
- 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;
155
241
  };
156
242
  export type WidgetPayload = {
157
243
  ressources: {
@@ -161,6 +247,6 @@ export type WidgetPayload = {
161
247
  widgetType: WidgetType;
162
248
  active: boolean;
163
249
  settings: WidgetSettings;
164
- isPublic: boolean;
250
+ domainRestricted: boolean;
165
251
  allowedOrigin: string;
166
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 {}