@evercam/api 1.0.0-5fab6756e → 1.0.0-6127a818c

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.
@@ -1,12 +1,8 @@
1
1
  import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase } from "@evercam/api/types";
2
2
  import { DateRangeFilter } from "@evercam/api/types/time";
3
+ import { GeoPoint } from "@evercam/api/types/shared";
3
4
  export type CameraExid = string;
4
5
  export type CamerasByExid = EntityByExid<Camera>;
5
- export type Cartesian3 = {
6
- x: number;
7
- y: number;
8
- z: number;
9
- };
10
6
  export type Camera = {
11
7
  cameraPowerSchedule?: Schedule;
12
8
  camPassword?: string;
@@ -46,10 +42,7 @@ export type Camera = {
46
42
  isPublic: boolean;
47
43
  lastOnlineAt: string;
48
44
  lastPolledAt: string;
49
- location: {
50
- lat: number;
51
- lng: number;
52
- };
45
+ location: GeoPoint;
53
46
  modelId: string;
54
47
  modelName: string;
55
48
  name: string;
@@ -112,10 +105,7 @@ export type AdminCamera = {
112
105
  isPublic: boolean;
113
106
  sharedWithConstruction?: boolean;
114
107
  timezone: string | null;
115
- location?: {
116
- lat: number;
117
- lng: number;
118
- } | null;
108
+ location?: GeoPoint | null;
119
109
  fovAngle?: number | null;
120
110
  fovRadius?: number | null;
121
111
  heading?: number | null;
@@ -167,10 +157,7 @@ export type AdminCamera = {
167
157
  };
168
158
  export type CameraMapMarker = {
169
159
  isOnline: boolean;
170
- location: {
171
- lat: number;
172
- lng: number;
173
- };
160
+ location: GeoPoint;
174
161
  needFov: boolean;
175
162
  rotation: number;
176
163
  fovAngle: number;
@@ -320,12 +307,6 @@ export declare enum CameraModel {
320
307
  Other = "other",
321
308
  Ring = "ring"
322
309
  }
323
- export type DroneCameraTransform = {
324
- position: Cartesian3;
325
- direction: Cartesian3;
326
- up: Cartesian3;
327
- right: Cartesian3;
328
- };
329
310
  export type Footage = {
330
311
  cameraExid: string;
331
312
  cameraName: string;
@@ -1,17 +1,106 @@
1
+ import { Point3D } from "@evercam/api/types/shared";
2
+ export type DroneCameraTransform = {
3
+ position: Point3D;
4
+ direction: Point3D;
5
+ up: Point3D;
6
+ right: Point3D;
7
+ };
1
8
  export type DroneModel = {
2
9
  cesiumId: string;
3
10
  cesiumId2D: string;
4
11
  date: string;
5
12
  cesiumPointCloudId: string;
13
+ cesiumGausianSplatId: string;
6
14
  pointSize: string;
7
15
  maximumScreenSpaceError: string;
8
16
  link: string;
9
17
  trueIndex: number;
10
18
  };
11
- export type DroneProjectJsonResponse = {
12
- models: DroneModel[];
13
- [key: string]: any;
19
+ export type DroneProjectTransform = {
20
+ initialCameraTransform?: DroneCameraTransform;
21
+ initial2DCameraTransform?: DroneCameraTransform;
22
+ blackListIds?: string;
23
+ markers?: Record<string, DroneMarker>;
24
+ imageryPlans?: Record<string, DroneImageryPlan>;
25
+ bimData?: DroneBimData;
26
+ terrainPoints?: Record<string, Point3D[]>;
27
+ projectWGS84Coordinates?: DroneProjectCoordinates | null;
28
+ tags?: Record<string, DroneTag>;
29
+ };
30
+ export type DroneProjectData = {
31
+ models?: DroneModel[];
32
+ integrationType?: DroneProvider;
33
+ origin?: string;
34
+ params?: Record<string, unknown>;
35
+ pointSize?: string;
36
+ };
37
+ export type DroneProjectDataPatch = {
38
+ models?: Record<number, Partial<DroneModel>>;
39
+ integrationType?: DroneProvider;
40
+ origin?: string;
41
+ params?: string;
42
+ };
43
+ export type DroneProjectCoordinates = {
44
+ lat: number | null;
45
+ lon: number | null;
46
+ alt: number | null;
47
+ };
48
+ export type DroneTransformPatch = {
49
+ projectWGS84Coordinates?: DroneProjectCoordinates | null;
50
+ };
51
+ export declare enum DroneTagType {
52
+ AerialShot = "AerialShot"
53
+ }
54
+ export type DroneTag<T extends DroneTagType = DroneTagType> = {
55
+ id?: number;
56
+ type: T;
57
+ comment: string;
58
+ position?: Point3D;
59
+ cameraTransform?: DroneCameraTransform;
60
+ creationDate: string;
61
+ hyperlink?: string;
62
+ height?: number;
63
+ };
64
+ export type AerialShotPoint = DroneTag<DroneTagType.AerialShot>;
65
+ export type DroneMarkerTransform = {
66
+ fovAngle: number;
67
+ fovRadius: number;
68
+ heading: number;
69
+ height: number;
70
+ latitude: string;
71
+ longitude: string;
72
+ pitch: number;
73
+ roll: number;
74
+ scale: number;
75
+ };
76
+ export declare enum DroneMarkerType {
77
+ Default = "Default",
78
+ Gate = "Gate",
79
+ Indoor = "Indoor"
80
+ }
81
+ export type DroneMarker = {
82
+ type: DroneMarkerType;
83
+ name: string;
84
+ cameraExid: string;
85
+ transform: DroneMarkerTransform;
86
+ };
87
+ export type DroneImageryPlan = {
88
+ cesiumId: number;
89
+ uuid: string;
90
+ name: string;
91
+ alpha: number;
92
+ order: number;
93
+ };
94
+ export type DroneBimData = {
95
+ cesiumId: string | null;
96
+ iModelId: string | null;
97
+ changeSetId: string | null;
98
+ isItwin: boolean;
14
99
  };
15
100
  export declare enum DroneUrlParams {
16
101
  Date = "date"
17
102
  }
103
+ export declare enum DroneProvider {
104
+ Evercam = "Evercam",
105
+ DroneDeploy = "DroneDeploy"
106
+ }
@@ -1,4 +1,4 @@
1
- import { AnprDirection, AnprEvent, CameraExid, DateType, PaginatedItems, PaginationParams, ProjectExid, RoiShapeType, Timestamp } from "@evercam/api/types";
1
+ import { AnprDirection, AnprEvent, CameraExid, DateType, PaginatedItems, PaginationParams, ProjectExid, RoiShapeType, RoiType, Timestamp, TuplePoint2D } from "@evercam/api/types";
2
2
  export declare enum GateReportDetectionType {
3
3
  Auto = "auto",
4
4
  Manual = "manual",
@@ -259,12 +259,8 @@ export type AnprBasedGateReportExportRequestParams = AnprExportBaseParams & {
259
259
  export type LegacyAnprExportParams = AnprExportBaseParams & {
260
260
  direction?: AnprDirection;
261
261
  };
262
- type X1 = number;
263
- type Y1 = number;
264
- type X2 = number;
265
- type Y2 = number;
266
262
  export type GateReportROIShape = {
267
- coordinates: [[X1, Y1], [X2, Y2]];
263
+ coordinates: TuplePoint2D[];
268
264
  type: RoiShapeType;
269
265
  };
270
266
  export type GateReportROI = {
@@ -275,7 +271,7 @@ export type GateReportROI = {
275
271
  insertedAt?: Timestamp;
276
272
  isActive?: boolean;
277
273
  name?: string;
278
- roiType?: string;
274
+ roiType?: RoiType;
279
275
  updatedAt?: Timestamp;
280
276
  shapes?: GateReportROIShape[];
281
277
  };
@@ -318,7 +314,7 @@ export type RoisQueryParams = {
318
314
  id: number;
319
315
  name: string;
320
316
  fromDate: string;
321
- roiType: RoiShapeType;
317
+ roiType: RoiType;
322
318
  isActive: boolean;
323
319
  directionFilter: string;
324
320
  sort: string;
@@ -334,4 +330,3 @@ export type GateReportRoiRequestPayload = {
334
330
  directionFilter: string;
335
331
  note: string;
336
332
  };
337
- export {};
@@ -62,3 +62,4 @@ export * from "./authz";
62
62
  export * from "./oauth";
63
63
  export * from "./ring";
64
64
  export * from "./smartSeach";
65
+ export * from "./siteView";
@@ -18,7 +18,12 @@ export declare enum IngestVersions {
18
18
  V1 = "v1",
19
19
  V2 = "v2",
20
20
  V3 = "v3",
21
- V4 = "v4"
21
+ V4 = "v4",
22
+ V5 = "v5"
23
+ }
24
+ export declare enum IngestTypes {
25
+ Drone = "drone",
26
+ ThreeSixty = "360"
22
27
  }
23
28
  export type DronesQueryParams = Omit<PaginationParams, "sort"> & {
24
29
  projectId: string;
@@ -65,6 +70,14 @@ export type DroneUploadUpdateRequestPayload = {
65
70
  title: string;
66
71
  fileExtension: string;
67
72
  }[];
73
+ aerialShots: {
74
+ url: string;
75
+ title: string;
76
+ fileExtension: string;
77
+ gpsLatitude: string;
78
+ gpsLongitude: string;
79
+ gpsAltitude: string;
80
+ }[];
68
81
  projectName: string;
69
82
  };
70
83
  export type CalculateMeasuringOperationRequestPayload = {
@@ -2,3 +2,15 @@ export declare enum MapType {
2
2
  Hybrid = "hybrid",
3
3
  Terrain = "terrain"
4
4
  }
5
+ export type MapView = {
6
+ east?: number;
7
+ floorID?: string;
8
+ image?: string;
9
+ mapStyle?: MapType;
10
+ name: string;
11
+ north?: number;
12
+ projectId: string;
13
+ projectName: string;
14
+ south?: number;
15
+ west?: number;
16
+ };
@@ -1,3 +1,20 @@
1
+ import { GeoPoint } 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
+ };
1
18
  export type Coordinate = [number, number];
2
19
  export type PolygonPath = Coordinate[];
3
20
  export type PolygonCoordinates = PolygonPath[];
@@ -47,6 +64,43 @@ export declare enum ERoles {
47
64
  Admin = "admin",
48
65
  User = "user"
49
66
  }
67
+ export type PlannerOverlay = {
68
+ imageUrl?: string;
69
+ corners?: {
70
+ topLeft: GeoPoint;
71
+ topRight: GeoPoint;
72
+ bottomLeft: GeoPoint;
73
+ bottomRight: GeoPoint;
74
+ } | null;
75
+ };
76
+ export type PlannerCameraMarker = {
77
+ name?: string;
78
+ location?: GeoPoint;
79
+ heading?: number;
80
+ fovAngle?: number;
81
+ fovRadius?: number;
82
+ isVisible?: boolean;
83
+ color?: string;
84
+ };
85
+ export type SitePlanBounds = {
86
+ northEast: GeoPoint;
87
+ southWest: GeoPoint;
88
+ };
89
+ export type SitePlan = {
90
+ id?: string;
91
+ projectId?: string;
92
+ owner?: string;
93
+ lastUpdatedBy?: string;
94
+ projectName?: string;
95
+ projectLocation?: string;
96
+ projectMapType?: EMapTypes;
97
+ projectBounds?: SitePlanBounds;
98
+ overlay?: PlannerOverlay;
99
+ markers?: PlannerCameraMarker[];
100
+ thumbnailUrl?: string;
101
+ createdDate?: string;
102
+ updatedDate?: string;
103
+ };
50
104
  export interface IDrawControl {
51
105
  _toolbars: {
52
106
  draw: {
@@ -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;
@@ -109,6 +110,7 @@ export type ProjectsQueryParams = PaginationParams & {
109
110
  status: ProjectStatus;
110
111
  cameras: string;
111
112
  featureFlags: Array<ProjectFeatureFlag>;
113
+ featureFlagsOperator?: Operator;
112
114
  archived: string;
113
115
  };
114
116
  export type ProjectCreateRequestPayload = {
@@ -163,6 +165,7 @@ export type ProjectRole = {
163
165
  };
164
166
  export type ProjectMember = {
165
167
  id: string;
168
+ key?: string;
166
169
  email: string;
167
170
  fullname: string;
168
171
  lastSeenAt?: string;
@@ -172,7 +175,9 @@ export type ProjectMember = {
172
175
  resourceId: string;
173
176
  roleId: number;
174
177
  }>;
175
- company?: string | null;
178
+ company?: {
179
+ name: string;
180
+ } | null;
176
181
  };
177
182
  export type ProjectInvite = {
178
183
  id?: string;
@@ -76,6 +76,7 @@ export declare enum CloudRecordingDuration {
76
76
  Month = 30,
77
77
  ThreeMonths = 90
78
78
  }
79
+ export declare const CloudRecordingDurationLabel: Record<CloudRecordingDuration, string>;
79
80
  export declare enum CloudRecordingStatus {
80
81
  On = "on",
81
82
  Off = "off",
@@ -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,20 @@ 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 Point2D = {
142
+ x: number;
143
+ y: number;
144
+ };
145
+ export type Point3D = {
146
+ x: number;
147
+ y: number;
148
+ z: number;
149
+ };
150
+ export type GeoPoint = {
151
+ lat: number;
152
+ lng: number;
153
+ };
136
154
  export type Exid = string;
137
155
  export type EntityByExid<Entity extends unknown> = Record<Exid, Entity>;
138
156
  export type BatteryVoltage = {
@@ -0,0 +1,74 @@
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
+ isEvercamAccount?: boolean;
57
+ accDrawingsAlignments?: Record<string, ForgeAccAlignmentData>;
58
+ timeline?: TimelineItem[];
59
+ savedView?: ForgeView;
60
+ markers?: ForgeMarker[];
61
+ };
62
+ export type ItwinModel = {
63
+ name: string;
64
+ iTwinId: string;
65
+ iModelId: string;
66
+ changeSetId?: string;
67
+ isIModel: boolean;
68
+ height?: number;
69
+ cesiumId?: number;
70
+ markerDistanceThreshold: number;
71
+ };
72
+ export type ItwinProjectData = {
73
+ models: ItwinModel[];
74
+ };
@@ -48,12 +48,44 @@ export type DeleteSnapshotQueryParams = {
48
48
  adminEmail: string;
49
49
  adminFullname: string;
50
50
  };
51
- export type TransferCloudRecordingsQueryParams = {
51
+ export type SnapshotTransfer = {
52
+ id: number;
53
+ sourceCamera: SnapshotTransferCamera;
54
+ targetCamera: SnapshotTransferCamera;
55
+ fromDate: DateType;
56
+ toDate: DateType;
57
+ overwriteExisting?: boolean | null;
58
+ deleteSource?: boolean | null;
59
+ requestor: SnapshotTransferRequestor;
60
+ status: SnapshotTransferStatus;
61
+ insertedAt: DateType;
62
+ attempts?: number | null;
63
+ errorMessage?: string | null;
64
+ snapshotsTransferred?: number | null;
65
+ };
66
+ export type SnapshotTransferCamera = {
67
+ id: number;
68
+ exid: CameraExid;
69
+ name: string;
70
+ };
71
+ export type SnapshotTransferRequestor = {
72
+ email: string;
73
+ firstname: string;
74
+ lastname: string;
75
+ };
76
+ export declare enum SnapshotTransferStatus {
77
+ Completed = "completed",
78
+ Failed = "failed",
79
+ Processing = "processing",
80
+ Pending = "pending",
81
+ Cancelled = "cancelled"
82
+ }
83
+ export type TransferCloudRecordingsQueryParams = PaginationParams & {
52
84
  targetCameraExid: CameraExid;
53
85
  fromDate: DateType;
54
86
  toDate: DateType;
55
- overwriteExistingSnapshots?: boolean;
56
- keepSourceSnapshots?: boolean;
87
+ overwriteExisting?: boolean;
88
+ deleteSource?: boolean;
57
89
  adminEmail?: string;
58
90
  adminFullname?: string;
59
91
  };
@@ -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,11 @@ export type TimestampPositionCoordinates = {
23
26
  w: number;
24
27
  h: number;
25
28
  };
29
+ export type BlurRegionPoint = {
30
+ x: number;
31
+ y: number;
32
+ };
33
+ export type BlurRegionCoordinates = BlurRegionPoint[];
26
34
  export type TimelapseLogoOptions = {
27
35
  id?: number;
28
36
  x: number;