@evercam/api 1.0.0-2c312017b → 1.0.0-2c3eef808

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +198 -15
  3. package/dist/api/api/adminApi.d.ts +42 -16
  4. package/dist/api/api/aiApi.d.ts +47 -6
  5. package/dist/api/api/authzApi.d.ts +5 -3
  6. package/dist/api/api/evercamApi.d.ts +61 -10
  7. package/dist/api/api/evercamLabsApi.d.ts +5 -6
  8. package/dist/api/api/ingestApi.d.ts +53 -44
  9. package/dist/api/types/360.d.ts +173 -54
  10. package/dist/api/types/aiConfigs.d.ts +154 -0
  11. package/dist/api/types/analytics.d.ts +82 -49
  12. package/dist/api/types/anpr.d.ts +31 -2
  13. package/dist/api/types/auditLogs.d.ts +18 -0
  14. package/dist/api/types/authz.d.ts +47 -0
  15. package/dist/api/types/axios.d.ts +10 -8
  16. package/dist/api/types/bim.d.ts +26 -1
  17. package/dist/api/types/camera.d.ts +20 -27
  18. package/dist/api/types/comments.d.ts +10 -7
  19. package/dist/api/types/connector.d.ts +2 -0
  20. package/dist/api/types/detections.d.ts +5 -10
  21. package/dist/api/types/drone.d.ts +96 -6
  22. package/dist/api/types/errors.d.ts +11 -0
  23. package/dist/api/types/gateReport.d.ts +7 -11
  24. package/dist/api/types/gateReportManagement.d.ts +175 -0
  25. package/dist/api/types/index.d.ts +7 -1
  26. package/dist/api/types/ingest.d.ts +27 -3
  27. package/dist/api/types/kit.d.ts +38 -2
  28. package/dist/api/types/map.d.ts +12 -0
  29. package/dist/api/types/media.d.ts +6 -1
  30. package/dist/api/types/oauth.d.ts +62 -0
  31. package/dist/api/types/planner.d.ts +97 -0
  32. package/dist/api/types/posthog.d.ts +20 -0
  33. package/dist/api/types/project.d.ts +10 -5
  34. package/dist/api/types/recording.d.ts +6 -9
  35. package/dist/api/types/ring.d.ts +53 -0
  36. package/dist/api/types/roi.d.ts +4 -3
  37. package/dist/api/types/shared.d.ts +19 -0
  38. package/dist/api/types/siteAnalytics.d.ts +3 -3
  39. package/dist/api/types/siteAnalyticsManagement.d.ts +92 -0
  40. package/dist/api/types/siteView.d.ts +73 -0
  41. package/dist/api/types/snapshots.d.ts +48 -3
  42. package/dist/api/types/storageProvider.d.ts +19 -0
  43. package/dist/api/types/timelapse.d.ts +6 -2
  44. package/dist/api/types/user.d.ts +1 -5
  45. package/dist/api/utils.d.ts +0 -1
  46. package/dist/index.js +1903 -948
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.umd.cjs +1 -1
  49. package/dist/index.umd.cjs.map +1 -1
  50. package/dist/shared/types/components.d.ts +85 -9
  51. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  52. package/dist/shared/types/imagePlayer.d.ts +8 -1
  53. package/dist/shared/types/index.d.ts +2 -0
  54. package/dist/shared/types/rbac.d.ts +67 -0
  55. package/package.json +4 -2
  56. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,3 +1,33 @@
1
+ import { GeoPoint, TuplePoint2D } from "./shared";
2
+ import { MapType } from "./map";
3
+ export type PlannerListItem = {
4
+ id: string;
5
+ projectId: string;
6
+ projectName: string;
7
+ projectLocation: string;
8
+ createdDate: string;
9
+ updatedDate: string;
10
+ owner?: string;
11
+ lastUpdatedBy?: string;
12
+ camerasCount?: number;
13
+ hasPlan?: boolean;
14
+ thumbnailUrl?: string;
15
+ projectMapType?: MapType;
16
+ sessionId?: string;
17
+ };
18
+ export type PolygonPath = TuplePoint2D[];
19
+ export type PolygonCoordinates = PolygonPath[];
20
+ export interface GeoJSONPolygon {
21
+ type: "Polygon";
22
+ coordinates: PolygonCoordinates;
23
+ }
24
+ export declare enum PlannerUrlParams {
25
+ SitePlanId = "site_plan_id",
26
+ IsNewSitePlan = "is_new_site_plan",
27
+ IsBoundsMode = "is_bounds_mode",
28
+ ProjectPosition = "project_position",
29
+ DealId = "deal_id"
30
+ }
1
31
  export declare enum EDistortImageModes {
2
32
  FreeRotate = "freeRotate",
3
33
  Lock = "lock",
@@ -33,3 +63,70 @@ export declare enum ERoles {
33
63
  Admin = "admin",
34
64
  User = "user"
35
65
  }
66
+ export type PlannerOverlay = {
67
+ imageUrl?: string;
68
+ corners?: {
69
+ topLeft: GeoPoint;
70
+ topRight: GeoPoint;
71
+ bottomLeft: GeoPoint;
72
+ bottomRight: GeoPoint;
73
+ } | null;
74
+ };
75
+ export type PlannerCameraMarker = {
76
+ name?: string;
77
+ location?: GeoPoint;
78
+ heading?: number;
79
+ fovAngle?: number;
80
+ fovRadius?: number;
81
+ isVisible?: boolean;
82
+ color?: string;
83
+ };
84
+ export type SitePlanBounds = {
85
+ northEast: GeoPoint;
86
+ southWest: GeoPoint;
87
+ };
88
+ export type SitePlan = {
89
+ id?: string;
90
+ projectId?: string;
91
+ owner?: string;
92
+ lastUpdatedBy?: string;
93
+ projectName?: string;
94
+ projectLocation?: string;
95
+ projectMapType?: EMapTypes;
96
+ projectBounds?: SitePlanBounds;
97
+ overlay?: PlannerOverlay;
98
+ markers?: PlannerCameraMarker[];
99
+ thumbnailUrl?: string;
100
+ createdDate?: string;
101
+ updatedDate?: string;
102
+ };
103
+ export interface IDrawControl {
104
+ _toolbars: {
105
+ draw: {
106
+ _activeMode: {
107
+ handler: {
108
+ disable(): void;
109
+ completeShape(): void;
110
+ };
111
+ };
112
+ _modes: {
113
+ polygon: {
114
+ handler: {
115
+ enable(): void;
116
+ };
117
+ };
118
+ };
119
+ };
120
+ edit: {
121
+ _modes: {
122
+ edit: {
123
+ handler: {
124
+ enable(): void;
125
+ disable(): void;
126
+ save(): void;
127
+ };
128
+ };
129
+ };
130
+ };
131
+ };
132
+ }
@@ -16,6 +16,26 @@ export declare enum ActiveUsersMetric {
16
16
  WAU = "wau",
17
17
  MAU = "mau"
18
18
  }
19
+ export type PosthogUser = {
20
+ id: string;
21
+ email: string;
22
+ isWeeklyActiveUser: number;
23
+ isMonthlyActiveUser: number;
24
+ eventsCount: number;
25
+ };
26
+ export type PosthogUsersRequestParams = {
27
+ companyExid?: string;
28
+ projectExid?: string;
29
+ cameraExid?: string;
30
+ productsActivityOnly?: boolean;
31
+ afterId?: string;
32
+ size?: number;
33
+ };
34
+ export type PosthogUsersResponse = {
35
+ data: PosthogUser[];
36
+ hasMore: boolean;
37
+ size: number;
38
+ };
19
39
  export type PosthogUserParams = {
20
40
  firstname?: string;
21
41
  lastname?: string;
@@ -1,4 +1,4 @@
1
- import { AdminCamera, Camera, CameraExid, DateType, EntityByExid, Exid, PaginationParams } from "@evercam/api/types";
1
+ import { AdminCamera, Camera, CameraExid, DateType, EntityByExid, Exid, Operator, PaginationParams } from "@evercam/api/types";
2
2
  export type ProjectExid = Exid;
3
3
  export type ProjectsByExid = EntityByExid<Project>;
4
4
  export type Project = {
@@ -62,7 +62,8 @@ export declare enum ProjectArchiveTier {
62
62
  Full = "Full",
63
63
  Partial = "Partial",
64
64
  Minimal = "Minimal",
65
- ScheduledForDeletion = "Scheduled for Deletion"
65
+ ScheduledForDeletion = "Scheduled for Deletion",
66
+ No = "No"
66
67
  }
67
68
  export type UpdateCameraRestrictionPayload = {
68
69
  isAccessRestricted?: boolean;
@@ -91,8 +92,7 @@ export declare enum ProjectFeatureFlag {
91
92
  DefaultToProjectApp = "default_to_project_app",
92
93
  SmartSearch = "smart_search",
93
94
  PpeMonitoring = "ppe_monitoring",
94
- NoGdpr = "no_gdpr",
95
- NoLiveView = "no_live_view"
95
+ NoGdpr = "no_gdpr"
96
96
  }
97
97
  export type ProjectBatteryReading = {
98
98
  exid: number;
@@ -110,6 +110,7 @@ export type ProjectsQueryParams = PaginationParams & {
110
110
  status: ProjectStatus;
111
111
  cameras: string;
112
112
  featureFlags: Array<ProjectFeatureFlag>;
113
+ featureFlagsOperator?: Operator;
113
114
  archived: string;
114
115
  };
115
116
  export type ProjectCreateRequestPayload = {
@@ -164,6 +165,7 @@ export type ProjectRole = {
164
165
  };
165
166
  export type ProjectMember = {
166
167
  id: string;
168
+ key?: string;
167
169
  email: string;
168
170
  fullname: string;
169
171
  lastSeenAt?: string;
@@ -173,7 +175,9 @@ export type ProjectMember = {
173
175
  resourceId: string;
174
176
  roleId: number;
175
177
  }>;
176
- company?: string | null;
178
+ company?: {
179
+ name: string;
180
+ } | null;
177
181
  };
178
182
  export type ProjectInvite = {
179
183
  id?: string;
@@ -194,6 +198,7 @@ export type ProjectMembersResponsePayload = {
194
198
  export type ProjectMembersRequestPayload = {
195
199
  roleId: number;
196
200
  emails: string[];
201
+ message?: string;
197
202
  overrideRole?: Partial<{
198
203
  permissions?: string[];
199
204
  subRoles?: Array<{
@@ -5,18 +5,20 @@ export type Snapshot = {
5
5
  data: string;
6
6
  status?: string;
7
7
  };
8
- export type NearestSnapshotRequestPayload = {
8
+ export type SnapshotRequestPayload = {
9
9
  apiKey?: string;
10
10
  apiId?: string;
11
11
  token?: string;
12
12
  cancelToken?: object;
13
13
  includeImage?: boolean;
14
+ view?: boolean;
14
15
  };
15
16
  export type AvailableDaysRequestPayload = {
16
17
  cameraId: string;
17
18
  year: string;
18
19
  month: string;
19
20
  payload?: ApiCredentials;
21
+ cancelToken?: CancelToken;
20
22
  };
21
23
  export type AvailableDaysResponsePayload = {
22
24
  days: Array<number>;
@@ -76,6 +78,7 @@ export declare enum CloudRecordingDuration {
76
78
  Month = 30,
77
79
  ThreeMonths = 90
78
80
  }
81
+ export declare const CloudRecordingDurationLabel: Record<CloudRecordingDuration, string>;
79
82
  export declare enum CloudRecordingStatus {
80
83
  On = "on",
81
84
  Off = "off",
@@ -103,13 +106,6 @@ export declare enum SnapshotExtractionInterval {
103
106
  }
104
107
  export declare enum VpnServer {
105
108
  None = "None",
106
- OpenVPN1 = "OpenVPN1",
107
- OpenVPN2 = "OpenVPN2",
108
- OpenVPN3 = "OpenVPN3",
109
- OpenVPN4 = "OpenVPN4",
110
- OpenVPN5 = "OpenVPN5",
111
- PPTP1 = "PPTP1",
112
- PPTP2 = "PPTP2",
113
109
  WireGuard1 = "WireGuard1",
114
110
  WireGuard2 = "WireGuard2",
115
111
  WireGuard3 = "WireGuard3",
@@ -119,5 +115,6 @@ export declare enum VpnServer {
119
115
  WireGuard7 = "WireGuard7",
120
116
  WireGuard8 = "WireGuard8",
121
117
  WireGuard9 = "WireGuard9",
122
- WireGuard10 = "WireGuard10"
118
+ WireGuard10 = "WireGuard10",
119
+ WgHub = "WgHub"
123
120
  }
@@ -0,0 +1,53 @@
1
+ export type RingDevice = {
2
+ deviceId: string;
3
+ name: string;
4
+ deviceType: string;
5
+ firmwareVersion: string | null;
6
+ batteryLife: number | null;
7
+ location: string | null;
8
+ imported: boolean;
9
+ cameraExid?: string;
10
+ projectExid?: string;
11
+ projectName?: string;
12
+ };
13
+ export type RingDevicesResponsePayload = {
14
+ devices: RingDevice[];
15
+ };
16
+ export type RingImportDevicesPayload = {
17
+ deviceIds: string[];
18
+ projectExid: string;
19
+ deviceNames?: Record<string, string>;
20
+ };
21
+ export type RingImportResponsePayload = {
22
+ cameras: Array<{
23
+ exid: string;
24
+ name: string;
25
+ }>;
26
+ project: {
27
+ exid: string;
28
+ name: string;
29
+ };
30
+ };
31
+ export type RingMoveDevicePayload = {
32
+ projectExid: string;
33
+ };
34
+ export type RingMoveDeviceResponsePayload = {
35
+ status: string;
36
+ cameraExid: string;
37
+ projectExid: string;
38
+ };
39
+ export type RingLiveViewPayload = {
40
+ sdpOffer: string;
41
+ };
42
+ export type RingLiveViewResponse = {
43
+ sdpAnswer: string;
44
+ sessionUrl: string;
45
+ iceServers: Array<{
46
+ urls: string;
47
+ username?: string;
48
+ credential?: string;
49
+ }>;
50
+ };
51
+ export type RingStopLiveViewResponse = {
52
+ status: string;
53
+ };
@@ -3,14 +3,14 @@ export declare enum RoiType {
3
3
  AnprContext = "anpr_context",
4
4
  ExclusionZone = "exclusion_zone",
5
5
  WorkflowArea = "workflow_area",
6
- SiteAnalytics = "site_analytics"
6
+ SiteAnalytics = "site_analytics",
7
+ Ppe = "ppe_roi"
7
8
  }
8
9
  export declare enum RoiShapeType {
9
10
  Polygon = "polygon",
10
11
  Line = "line",
11
12
  Direction = "direction",
12
- Rectangle = "rectangle",
13
- ROIBox = "ROIBox"
13
+ Rectangle = "rectangle"
14
14
  }
15
15
  export type RoiShape = {
16
16
  id: number | null;
@@ -19,6 +19,7 @@ export type RoiShape = {
19
19
  x2: number;
20
20
  y1: number;
21
21
  y2: number;
22
+ points?: [number, number][];
22
23
  };
23
24
  export declare enum RoiDirection {
24
25
  Arrived = "arrived",
@@ -1,4 +1,8 @@
1
1
  import { DateType } from "@evercam/api/types";
2
+ export declare enum Operator {
3
+ AND = "and",
4
+ OR = "or"
5
+ }
2
6
  type sortby = string;
3
7
  type sortDirection = "asc" | "desc";
4
8
  export type SortingUrlParam = `${sortby}|${sortDirection}`;
@@ -133,6 +137,21 @@ export interface JSON {
133
137
  stringify<T>(value: T, replacer?: (key: string, value: unknown) => unknown, space?: string | number): string & Stringified<T>;
134
138
  parse<T>(text: Stringified<T>, reviver?: (key: unknown, value: unknown) => unknown): T;
135
139
  }
140
+ export type TuplePoint2D = [number, number];
141
+ export type TuplePoint3D = [number, number, number];
142
+ export type Point2D = {
143
+ x: number;
144
+ y: number;
145
+ };
146
+ export type Point3D = {
147
+ x: number;
148
+ y: number;
149
+ z: number;
150
+ };
151
+ export type GeoPoint = {
152
+ lat: number;
153
+ lng: number;
154
+ };
136
155
  export type Exid = string;
137
156
  export type EntityByExid<Entity extends unknown> = Record<Exid, Entity>;
138
157
  export type BatteryVoltage = {
@@ -1,4 +1,4 @@
1
- import { BBox, BoundingBox, DateType, Schedule, ScheduleLowercase, CameraExid, DetectionModel, PaginationParams, PpeLabel, ProjectExid, CameraDateRangeFilter, CameraFeatureFlag, TimelineDateInterval, Camera, AdminCamera, _360FloorV2, _360FloorId, PaginatedItems, DateRangeFilter } from "@evercam/api/types";
1
+ import { BBox, BoundingBox, DateType, Schedule, ScheduleLowercase, CameraExid, DetectionModel, PaginationParams, PpeLabel, ProjectExid, CameraDateRangeFilter, CameraFeatureFlag, TimelineDateInterval, Camera, AdminCamera, _360FloorV2, _360FloorId, PaginatedItems, DateRangeFilter, TuplePoint2D } from "@evercam/api/types";
2
2
  import { DetectionLabel, DownloadFileType } from "@evercam/api/types";
3
3
  export declare enum SiteAnalyticsMode {
4
4
  Detections = "detections",
@@ -184,7 +184,7 @@ export type DetectionsExportRequestParams = DetectionsRequestParams & {
184
184
  directDownload?: boolean;
185
185
  };
186
186
  export type SmartSearchHeatmapPoint = {
187
- coordinates: [number, number];
187
+ coordinates: TuplePoint2D;
188
188
  detectionsCount: number;
189
189
  };
190
190
  export type SmartSearchHeatmapData = {
@@ -241,7 +241,7 @@ export type SmartSearchRequestPayload = {
241
241
  fromDate?: string;
242
242
  toDate?: string;
243
243
  page?: number;
244
- pageSize?: number;
244
+ limit?: number;
245
245
  threshold?: number;
246
246
  };
247
247
  type SmartSearchResultItemBase = {
@@ -0,0 +1,92 @@
1
+ import { CameraExid, DateType, ProjectExid } from "@evercam/api/types";
2
+ export type SiteAnalyticsCoolifyStatus = {
3
+ appUuid: string | null;
4
+ name: string | null;
5
+ serverUuid: string | null;
6
+ serverName: string | null;
7
+ appUrl: string | null;
8
+ status: string | null;
9
+ isRunning: boolean;
10
+ updatedAt: string | null;
11
+ };
12
+ export type SiteAnalyticsProjectMeta = {
13
+ exid: ProjectExid;
14
+ name: string | null;
15
+ timezone: string | null;
16
+ featureFlags: string[] | null;
17
+ };
18
+ export type SiteAnalyticsCameraMeta = {
19
+ exid: CameraExid;
20
+ name: string | null;
21
+ status: string | null;
22
+ featureFlags: string[] | null;
23
+ };
24
+ export type SiteAnalyticsManagedApp = {
25
+ id: number;
26
+ projectExid: ProjectExid;
27
+ cameraExid: CameraExid;
28
+ coolifyAppId: string | null;
29
+ appVersion: string;
30
+ modelId: number | null;
31
+ startDate: DateType | null;
32
+ endDate: DateType | null;
33
+ startHour: number;
34
+ endHour: number;
35
+ source: string;
36
+ override: boolean;
37
+ timeIncreaseFrequency: number;
38
+ insertedAt: DateType | null;
39
+ updatedAt: DateType | null;
40
+ coolify: SiteAnalyticsCoolifyStatus | null;
41
+ project: SiteAnalyticsProjectMeta | null;
42
+ camera: SiteAnalyticsCameraMeta | null;
43
+ lastTrackingAt: DateType | null;
44
+ };
45
+ export type CreateSiteAnalyticsAppPayload = {
46
+ projectExid: ProjectExid;
47
+ cameraExid: CameraExid;
48
+ coolifyServerUuid: string;
49
+ appVersion?: string;
50
+ modelId?: number | null;
51
+ startDate?: DateType | null;
52
+ endDate?: DateType | null;
53
+ startHour?: number;
54
+ endHour?: number;
55
+ source?: string;
56
+ override?: boolean;
57
+ timeIncreaseFrequency?: number;
58
+ };
59
+ export type UpdateSiteAnalyticsAppPayload = Partial<Omit<CreateSiteAnalyticsAppPayload, "projectExid" | "cameraExid" | "coolifyServerUuid">>;
60
+ export type ModelOption = {
61
+ modelId: number;
62
+ version: string;
63
+ };
64
+ export type SiteAnalyticsAppConfigFormValue = {
65
+ appVersion: string;
66
+ modelId: number | null;
67
+ startDate: string | null;
68
+ endDate: string | null;
69
+ startHour: number;
70
+ endHour: number;
71
+ source: string;
72
+ override: boolean;
73
+ timeIncreaseFrequency: number;
74
+ };
75
+ export type SiteAnalyticsManagementListParams = {
76
+ projectExid?: ProjectExid;
77
+ includeStatus?: boolean;
78
+ page?: number;
79
+ limit?: number;
80
+ };
81
+ export type CreateSiteAnalyticsAppResponse = {
82
+ created: boolean;
83
+ id: number | null;
84
+ data: SiteAnalyticsManagedApp | null;
85
+ count: number | null;
86
+ message: string;
87
+ };
88
+ export type DeleteSiteAnalyticsAppResponse = {
89
+ deleted: boolean;
90
+ count: number;
91
+ message: string;
92
+ };
@@ -0,0 +1,73 @@
1
+ import { ForgeView } from "@evercam/api/types/360";
2
+ import { Point2D, Point3D } from "@evercam/api/types/shared";
3
+ export declare enum SiteViewSoftwareType {
4
+ Revit = "Revit",
5
+ Navisworks = "Navisworks",
6
+ Drone = "Drone",
7
+ Synchro = "Synchro"
8
+ }
9
+ export declare enum SiteViewerType {
10
+ ITwin = "iTwin",
11
+ Cesium = "Cesium",
12
+ Forge = "Forge"
13
+ }
14
+ export type SiteViewCameraListItem = {
15
+ projectId: string;
16
+ projectName: string;
17
+ software: SiteViewSoftwareType;
18
+ type: SiteViewerType;
19
+ uniqueId: string;
20
+ integrationType?: string;
21
+ };
22
+ export type ForgeUrn = {
23
+ displayName: string;
24
+ urn: string;
25
+ isModelHostedByEvercamACC?: boolean;
26
+ };
27
+ export type ForgeAccAlignmentData = {
28
+ bbox: {
29
+ min: Point2D;
30
+ max: Point2D;
31
+ };
32
+ transform: number[];
33
+ };
34
+ export type TimelineItem = {
35
+ taskNumber: number;
36
+ taskID: string;
37
+ actualStartDate: string;
38
+ actualEndDate: string;
39
+ plannedStartDate: string;
40
+ plannedEndDate: string;
41
+ objectIDs: number[];
42
+ };
43
+ export type ForgeMarkerTransform = {
44
+ default: {
45
+ position: Point3D;
46
+ type: string;
47
+ };
48
+ };
49
+ export type ForgeMarker = {
50
+ name: string;
51
+ cameraExid: string;
52
+ transforms: ForgeMarkerTransform;
53
+ };
54
+ export type ForgeProjectData = {
55
+ urns?: ForgeUrn[];
56
+ accDrawingsAlignments?: Record<string, ForgeAccAlignmentData>;
57
+ timeline?: TimelineItem[];
58
+ savedView?: ForgeView;
59
+ markers?: ForgeMarker[];
60
+ };
61
+ export type ItwinModel = {
62
+ name: string;
63
+ iTwinId: string;
64
+ iModelId: string;
65
+ changeSetId?: string;
66
+ isIModel: boolean;
67
+ height?: number;
68
+ cesiumId?: number;
69
+ markerDistanceThreshold: number;
70
+ };
71
+ export type ItwinProjectData = {
72
+ models: ItwinModel[];
73
+ };
@@ -5,8 +5,11 @@ export type SnapshotExtractionQyeryParams = PaginationParams & {
5
5
  status: SnapshotExtractionStatus;
6
6
  };
7
7
  export declare enum SnapshotExtractionStatus {
8
+ Cancelling = "canceling",
9
+ Cancelled = "cancelled",
8
10
  Completed = "completed",
9
11
  Failed = "failed",
12
+ Pending = "pending",
10
13
  Processing = "processing"
11
14
  }
12
15
  export declare enum SnapshotExtractionType {
@@ -30,6 +33,8 @@ export type SnapshotExtraction = {
30
33
  injectTo_cr: Boolean;
31
34
  schedule: Schedule;
32
35
  created_at: DateType;
36
+ jpegCount?: number;
37
+ obanJobId?: number;
33
38
  };
34
39
  export type SnapshotTestPayload = {
35
40
  cameraExid?: CameraExid;
@@ -42,18 +47,58 @@ export type SnapshotTestResponse = {
42
47
  status: string;
43
48
  data: string;
44
49
  };
50
+ export type SnapshotEmailDeliveryRequestPayload = {
51
+ snapshot: string;
52
+ recipients?: string[];
53
+ message?: string;
54
+ };
55
+ export type SnapshotEmailDeliveryResponsePayload = {
56
+ warning?: string;
57
+ };
45
58
  export type DeleteSnapshotQueryParams = {
46
59
  fromDate: DateType;
47
60
  toDate: DateType;
48
61
  adminEmail: string;
49
62
  adminFullname: string;
50
63
  };
51
- export type TransferCloudRecordingsQueryParams = {
64
+ export type SnapshotTransfer = {
65
+ id: number;
66
+ sourceCamera: SnapshotTransferCamera;
67
+ targetCamera: SnapshotTransferCamera;
68
+ fromDate: DateType;
69
+ toDate: DateType;
70
+ overwriteExisting?: boolean | null;
71
+ deleteSource?: boolean | null;
72
+ requestor: SnapshotTransferRequestor;
73
+ status: SnapshotTransferStatus;
74
+ insertedAt: DateType;
75
+ attempts?: number | null;
76
+ errorMessage?: string | null;
77
+ snapshotsTransferred?: number | null;
78
+ };
79
+ export type SnapshotTransferCamera = {
80
+ id: number;
81
+ exid: CameraExid;
82
+ name: string;
83
+ };
84
+ export type SnapshotTransferRequestor = {
85
+ email: string;
86
+ firstname: string;
87
+ lastname: string;
88
+ };
89
+ export declare enum SnapshotTransferStatus {
90
+ Completed = "completed",
91
+ Failed = "failed",
92
+ Processing = "processing",
93
+ Pending = "pending",
94
+ Cancelled = "cancelled"
95
+ }
96
+ export type TransferCloudRecordingsQueryParams = PaginationParams & {
52
97
  targetCameraExid: CameraExid;
53
98
  fromDate: DateType;
54
99
  toDate: DateType;
55
- overwriteExistingSnapshots?: boolean;
56
- keepSourceSnapshots?: boolean;
100
+ overwriteExisting?: boolean;
101
+ deleteSource?: boolean;
57
102
  adminEmail?: string;
58
103
  adminFullname?: string;
59
104
  };
@@ -0,0 +1,19 @@
1
+ import type { DateType } from "@evercam/api/types";
2
+ export type StorageProvider = {
3
+ id?: number;
4
+ cameraId: number;
5
+ type: string;
6
+ provider: string;
7
+ url: string;
8
+ startDate: DateType;
9
+ endDate: DateType;
10
+ config: Record<string, any>;
11
+ insertedAt?: DateType;
12
+ };
13
+ export type StorageProvidersResponsePayload = {
14
+ providers: StorageProvider[];
15
+ };
16
+ export declare enum ProjectStorageProvider {
17
+ Seaweedfs = "seaweedfs",
18
+ S3 = "s3"
19
+ }
@@ -1,4 +1,4 @@
1
- import { DateType, Schedule } from "@evercam/api/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,6 +26,7 @@ export type TimestampPositionCoordinates = {
23
26
  w: number;
24
27
  h: number;
25
28
  };
29
+ export type BlurRegionCoordinates = Point2D[];
26
30
  export type TimelapseLogoOptions = {
27
31
  id?: number;
28
32
  x: number;