@evercam/api 1.0.0-fbf4f4d51 → 1.0.0-feccd27be

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 (57) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +164 -15
  3. package/dist/api/api/adminApi.d.ts +44 -13
  4. package/dist/api/api/aiApi.d.ts +85 -50
  5. package/dist/api/api/authzApi.d.ts +1 -2
  6. package/dist/api/api/evercamApi.d.ts +54 -3
  7. package/dist/api/api/evercamLabsApi.d.ts +1 -2
  8. package/dist/api/api/exNvrApi.d.ts +1 -1
  9. package/dist/api/api/ingestApi.d.ts +46 -42
  10. package/dist/api/types/360.d.ts +56 -51
  11. package/dist/api/types/aiConfigs.d.ts +154 -0
  12. package/dist/api/types/analytics.d.ts +85 -54
  13. package/dist/api/types/anpr.d.ts +40 -0
  14. package/dist/api/types/auditLogs.d.ts +18 -0
  15. package/dist/api/types/authz.d.ts +1 -0
  16. package/dist/api/types/automation.d.ts +11 -2
  17. package/dist/api/types/axios.d.ts +3 -3
  18. package/dist/api/types/bim.d.ts +17 -0
  19. package/dist/api/types/camera.d.ts +18 -26
  20. package/dist/api/types/comments.d.ts +8 -6
  21. package/dist/api/types/connector.d.ts +1 -0
  22. package/dist/api/types/coolify.d.ts +18 -2
  23. package/dist/api/types/copilot.d.ts +10 -5
  24. package/dist/api/types/detections.d.ts +6 -11
  25. package/dist/api/types/drone.d.ts +96 -6
  26. package/dist/api/types/gateReport.d.ts +19 -32
  27. package/dist/api/types/gateReportManagement.d.ts +175 -0
  28. package/dist/api/types/index.d.ts +7 -1
  29. package/dist/api/types/ingest.d.ts +18 -3
  30. package/dist/api/types/map.d.ts +12 -0
  31. package/dist/api/types/media.d.ts +1 -0
  32. package/dist/api/types/oauth.d.ts +62 -0
  33. package/dist/api/types/planner.d.ts +97 -0
  34. package/dist/api/types/progressPhoto.d.ts +2 -1
  35. package/dist/api/types/project.d.ts +31 -3
  36. package/dist/api/types/recording.d.ts +4 -10
  37. package/dist/api/types/ring.d.ts +53 -0
  38. package/dist/api/types/roi.d.ts +2 -2
  39. package/dist/api/types/shared.d.ts +19 -0
  40. package/dist/api/types/siteAnalytics.d.ts +7 -17
  41. package/dist/api/types/siteView.d.ts +74 -0
  42. package/dist/api/types/smartSeach.d.ts +5 -0
  43. package/dist/api/types/snapshots.d.ts +48 -3
  44. package/dist/api/types/storageProvider.d.ts +19 -0
  45. package/dist/api/types/timelapse.d.ts +6 -2
  46. package/dist/api/types/user.d.ts +0 -2
  47. package/dist/api/utils.d.ts +0 -1
  48. package/dist/index.js +1734 -963
  49. package/dist/index.js.map +1 -1
  50. package/dist/index.umd.cjs +1 -1
  51. package/dist/index.umd.cjs.map +1 -1
  52. package/dist/shared/types/components.d.ts +62 -9
  53. package/dist/shared/types/imagePlayer.d.ts +9 -2
  54. package/dist/shared/types/index.d.ts +1 -0
  55. package/dist/shared/types/rbac.d.ts +67 -0
  56. package/package.json +2 -2
  57. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,17 +1,107 @@
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
- cesiumId: string;
3
- cesiumId2D: string;
9
+ cesiumId: number;
10
+ cesiumId2D: number;
4
11
  date: string;
5
12
  cesiumPointCloudId: string;
13
+ cesiumGausianSplatId: string;
6
14
  pointSize: string;
7
- maximumScreenSpaceError: string;
15
+ maximumScreenSpaceError: number;
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
+ transform?: DroneProjectTransform;
33
+ integrationType?: DroneProvider;
34
+ origin?: string;
35
+ params?: string;
36
+ pointSize?: number;
37
+ };
38
+ export type DroneProjectDataPatch = {
39
+ models?: Record<number, Partial<DroneModel>>;
40
+ integrationType?: DroneProvider;
41
+ origin?: string;
42
+ params?: string;
43
+ };
44
+ export type DroneProjectCoordinates = {
45
+ lat: number | null;
46
+ lon: number | null;
47
+ alt: number | null;
48
+ };
49
+ export type DroneTransformPatch = {
50
+ projectWGS84Coordinates?: DroneProjectCoordinates | null;
51
+ };
52
+ export declare enum DroneTagType {
53
+ AerialShot = "AerialShot"
54
+ }
55
+ export type DroneTag<T extends DroneTagType = DroneTagType> = {
56
+ id?: number;
57
+ type: T;
58
+ comment: string;
59
+ position?: Point3D;
60
+ cameraTransform?: DroneCameraTransform;
61
+ creationDate: string;
62
+ hyperlink?: string;
63
+ height?: number;
64
+ };
65
+ export type AerialShotPoint = DroneTag<DroneTagType.AerialShot>;
66
+ export type DroneMarkerTransform = {
67
+ fovAngle: number;
68
+ fovRadius: number;
69
+ heading: number;
70
+ height: number;
71
+ latitude: string;
72
+ longitude: string;
73
+ pitch: number;
74
+ roll: number;
75
+ scale: number;
76
+ };
77
+ export declare enum DroneMarkerType {
78
+ Default = "Default",
79
+ Gate = "Gate",
80
+ Indoor = "Indoor"
81
+ }
82
+ export type DroneMarker = {
83
+ type: DroneMarkerType;
84
+ name: string;
85
+ cameraExid: string;
86
+ transform: DroneMarkerTransform;
87
+ };
88
+ export type DroneImageryPlan = {
89
+ cesiumId: number;
90
+ uuid: string;
91
+ name: string;
92
+ alpha: number;
93
+ order: number;
94
+ };
95
+ export type DroneBimData = {
96
+ cesiumId: string | null;
97
+ iModelId: string | null;
98
+ changeSetId: string | null;
99
+ isItwin: boolean;
14
100
  };
15
101
  export declare enum DroneUrlParams {
16
102
  Date = "date"
17
103
  }
104
+ export declare enum DroneProvider {
105
+ Evercam = "Evercam",
106
+ DroneDeploy = "DroneDeploy"
107
+ }
@@ -1,4 +1,4 @@
1
- import { AnprDirection, AnprEvent, CameraExid, DateType, PaginatedItems, PaginationParams, ProjectExid, Timestamp } from "@evercam/api/types";
1
+ import { AnprDirection, AnprEvent, CameraExid, DateType, PaginatedItems, PaginationParams, ProjectExid, RoiDirection, RoiShapeType, RoiType, Timestamp, TuplePoint2D } from "@evercam/api/types";
2
2
  export declare enum GateReportDetectionType {
3
3
  Auto = "auto",
4
4
  Manual = "manual",
@@ -259,28 +259,19 @@ 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
- export declare enum GateReportROIShapeType {
267
- Rectangle = "rectangle",
268
- Direction = "direction",
269
- Line = "line"
270
- }
271
262
  export type GateReportROIShape = {
272
- coordinates: [[X1, Y1], [X2, Y2]];
273
- type: GateReportROIShapeType;
263
+ coordinates: TuplePoint2D[];
264
+ type: RoiShapeType;
274
265
  };
275
266
  export type GateReportROI = {
276
267
  cameraex?: string;
277
268
  fromDate?: string;
278
- directionFilter?: string;
269
+ directionFilter?: RoiDirection;
279
270
  id?: number;
280
271
  insertedAt?: Timestamp;
281
- isactive?: boolean;
272
+ isActive?: boolean;
282
273
  name?: string;
283
- roiType?: string;
274
+ roiType?: RoiType;
284
275
  updatedAt?: Timestamp;
285
276
  shapes?: GateReportROIShape[];
286
277
  };
@@ -319,27 +310,23 @@ export type ProcessedDaysQueryParams = {
319
310
  eventType: GateReportEventType;
320
311
  };
321
312
  export type RoisQueryParams = {
322
- camerasExid: string[];
313
+ camerasExid: CameraExid[];
323
314
  id: number;
324
315
  name: string;
325
316
  fromDate: string;
326
- roiType: GateReportROIShapeType;
327
- isactive: boolean;
317
+ roiType: RoiType;
318
+ isActive: boolean;
328
319
  directionFilter: string;
329
320
  sort: string;
330
321
  };
331
- export type GateReportROICreateRequestPayload = {
332
- id?: number;
333
- roi: {
334
- cameraex: string;
335
- name: string;
336
- roiType: string;
337
- isactive: true;
338
- fromDate: string;
339
- shapes: Record<string, unknown>[];
340
- directionFilter: string;
341
- note: string;
342
- };
343
- createdBy: string;
322
+ export type GateReportRoiRequestPayload = {
323
+ id: number;
324
+ cameraExid: string;
325
+ name: string;
326
+ roiType: RoiType;
327
+ isActive: true;
328
+ fromDate: string;
329
+ shapes: GateReportROIShape[];
330
+ directionFilter: string;
331
+ note: string;
344
332
  };
345
- export {};
@@ -0,0 +1,175 @@
1
+ import { CameraExid, DateType, ProjectExid } from "@evercam/api/types";
2
+ export declare enum VehicleClassifierSource {
3
+ Local = "local",
4
+ Api = "api"
5
+ }
6
+ export type GateReportCoolifyStatus = {
7
+ appUuid: string | null;
8
+ name: string | null;
9
+ serverUuid: string | null;
10
+ serverName: string | null;
11
+ appUrl: string | null;
12
+ status: string | null;
13
+ isRunning: boolean;
14
+ imageTag?: string | null;
15
+ fqdn: string | null;
16
+ updatedAt: string | null;
17
+ };
18
+ export type GateReportProjectMeta = {
19
+ exid: ProjectExid;
20
+ name: string | null;
21
+ timezone: string | null;
22
+ featureFlags: string[] | null;
23
+ };
24
+ export type GateReportCameraMeta = {
25
+ exid: CameraExid;
26
+ name: string | null;
27
+ status: string | null;
28
+ kitSerial: string | null;
29
+ kitAlarms: string[] | Record<string, unknown> | null;
30
+ };
31
+ export type GateReportManagedApp = {
32
+ id: number;
33
+ projectExid: ProjectExid;
34
+ anprCameraExid: CameraExid;
35
+ contextCameraExid: CameraExid | null;
36
+ coolifyAppId: string | null;
37
+ startDate: DateType | null;
38
+ endDate: DateType | null;
39
+ startHour: number;
40
+ endHour: number;
41
+ enabled: boolean;
42
+ enableEnrichments: boolean;
43
+ enableGemini: boolean;
44
+ geminiStartHour: number;
45
+ geminiEndHour: number;
46
+ reviewModel: string;
47
+ enrichmentModel: string;
48
+ reviewerPromptSlug: string | null;
49
+ geminiTimeoutSeconds: number;
50
+ geminiMaxAttempts: number;
51
+ vehicleClassifierSource: VehicleClassifierSource;
52
+ snapshotDelaySeconds: number;
53
+ snapshotRequestTimeout: number;
54
+ plateClassifierThreshold: number;
55
+ plateClassifierHighConfidence: number;
56
+ maxPriorEvents: number;
57
+ recordsFetchInterval: number;
58
+ priorRecentLimit: number;
59
+ priorSimilarLimit: number;
60
+ insertedAt: DateType;
61
+ updatedAt: DateType;
62
+ coolify: GateReportCoolifyStatus | null;
63
+ project: GateReportProjectMeta | null;
64
+ anprCamera: GateReportCameraMeta | null;
65
+ contextCamera: GateReportCameraMeta | null;
66
+ anprHasRoi: boolean;
67
+ contextHasRoi: boolean;
68
+ lastProcessedEventAt: DateType | null;
69
+ lastUnprocessedEventAt: DateType | null;
70
+ };
71
+ export type GateReportAppEvents = {
72
+ anprCameraExid: CameraExid;
73
+ lastProcessedEventAt: DateType | null;
74
+ lastUnprocessedEventAt: DateType | null;
75
+ };
76
+ export type AppConfigFormValue = {
77
+ contextCameraExid: string | null;
78
+ startDate: DateType | null;
79
+ endDate: DateType | null;
80
+ startHour: number;
81
+ endHour: number;
82
+ enabled: boolean;
83
+ enableEnrichments: boolean;
84
+ enableGemini: boolean;
85
+ geminiStartHour: number;
86
+ geminiEndHour: number;
87
+ reviewModel: string;
88
+ enrichmentModel: string;
89
+ reviewerPromptSlug: string | null;
90
+ geminiTimeoutSeconds: number;
91
+ geminiMaxAttempts: number;
92
+ vehicleClassifierSource: VehicleClassifierSource;
93
+ snapshotDelaySeconds: number;
94
+ snapshotRequestTimeout: number;
95
+ plateClassifierThreshold: number;
96
+ plateClassifierHighConfidence: number;
97
+ recordsFetchInterval: number;
98
+ priorRecentLimit: number;
99
+ priorSimilarLimit: number;
100
+ };
101
+ export type CreateGateReportAppPayload = {
102
+ projectExid: ProjectExid;
103
+ anprCameraExid: CameraExid;
104
+ contextCameraExid?: CameraExid | null;
105
+ coolifyServerUuid: string;
106
+ imageTag?: string;
107
+ geminiApiKey?: string | null;
108
+ startDate?: DateType | null;
109
+ endDate?: DateType | null;
110
+ startHour?: number;
111
+ endHour?: number;
112
+ enabled?: boolean;
113
+ enableEnrichments?: boolean;
114
+ enableGemini?: boolean;
115
+ geminiStartHour?: number;
116
+ geminiEndHour?: number;
117
+ reviewModel?: string;
118
+ enrichmentModel?: string;
119
+ reviewerPromptSlug?: string | null;
120
+ geminiTimeoutSeconds?: number;
121
+ geminiMaxAttempts?: number;
122
+ vehicleClassifierSource?: VehicleClassifierSource;
123
+ snapshotDelaySeconds?: number;
124
+ snapshotRequestTimeout?: number;
125
+ plateClassifierThreshold?: number;
126
+ plateClassifierHighConfidence?: number;
127
+ maxPriorEvents?: number;
128
+ recordsFetchInterval?: number;
129
+ priorRecentLimit?: number;
130
+ priorSimilarLimit?: number;
131
+ };
132
+ export type UpdateGateReportAppPayload = Partial<Omit<CreateGateReportAppPayload, "projectExid" | "anprCameraExid" | "coolifyServerUuid" | "geminiApiKey">>;
133
+ export type GateReportManagementListParams = {
134
+ projectExid?: ProjectExid;
135
+ includeStatus?: boolean;
136
+ page?: number;
137
+ limit?: number;
138
+ };
139
+ export type CoolifyProjectOption = {
140
+ uuid: string;
141
+ name: string;
142
+ description: string | null;
143
+ };
144
+ export type CoolifyServerOption = {
145
+ uuid: string;
146
+ name: string;
147
+ isReachable: boolean;
148
+ isUsable: boolean;
149
+ };
150
+ export declare enum AppRuntimeState {
151
+ Running = "running",
152
+ Stopped = "stopped",
153
+ Restarting = "restarting"
154
+ }
155
+ export type AppRuntimeStateRequest = {
156
+ state: AppRuntimeState;
157
+ };
158
+ export type AppActionResponse = {
159
+ success: boolean;
160
+ message: string | null;
161
+ appUuid: string | null;
162
+ state: AppRuntimeState | null;
163
+ };
164
+ export type APIEnvelope<T> = {
165
+ success: boolean;
166
+ data: T | null;
167
+ message: string;
168
+ };
169
+ export type CreateGateReportAppResponse = {
170
+ created: boolean;
171
+ id: number | null;
172
+ data: GateReportManagedApp | null;
173
+ count: number | null;
174
+ message: string;
175
+ };
@@ -30,7 +30,7 @@ export * from "./shares";
30
30
  export * from "./sim";
31
31
  export * from "./systemCheck";
32
32
  export * from "./planner";
33
- export * from "./storageServers";
33
+ export * from "./storageProvider";
34
34
  export * from "./streaming";
35
35
  export * from "./storyblok";
36
36
  export * from "./time";
@@ -59,3 +59,9 @@ export * from "./xweather";
59
59
  export * from "./posthog";
60
60
  export * from "./recycleBin";
61
61
  export * from "./authz";
62
+ export * from "./oauth";
63
+ export * from "./ring";
64
+ export * from "./smartSeach";
65
+ export * from "./siteView";
66
+ export * from "./aiConfigs";
67
+ export * from "./gateReportManagement";
@@ -1,4 +1,4 @@
1
- import { PaginationParams, DateType, JsonValue } from "@evercam/api/types";
1
+ import { PaginationParams, DateType, JsonValue, TuplePoint2D } from "@evercam/api/types";
2
2
  import type { _360FloorV2, _360WalkV2 } from "@evercam/api/types/360";
3
3
  export declare enum IngestProcessingStatus {
4
4
  Completed = "completed",
@@ -16,7 +16,14 @@ export declare enum MobileAssetsType {
16
16
  }
17
17
  export declare enum IngestVersions {
18
18
  V1 = "v1",
19
- V2 = "v2"
19
+ V2 = "v2",
20
+ V3 = "v3",
21
+ V4 = "v4",
22
+ V5 = "v5"
23
+ }
24
+ export declare enum IngestTypes {
25
+ Drone = "drone",
26
+ ThreeSixty = "360"
20
27
  }
21
28
  export type DronesQueryParams = Omit<PaginationParams, "sort"> & {
22
29
  projectId: string;
@@ -63,11 +70,19 @@ export type DroneUploadUpdateRequestPayload = {
63
70
  title: string;
64
71
  fileExtension: string;
65
72
  }[];
73
+ aerialShots: {
74
+ url: string;
75
+ title: string;
76
+ fileExtension: string;
77
+ gpsLatitude: string;
78
+ gpsLongitude: string;
79
+ gpsAltitude: string;
80
+ }[];
66
81
  projectName: string;
67
82
  };
68
83
  export type CalculateMeasuringOperationRequestPayload = {
69
84
  date: DateType;
70
- points: [number, number][];
85
+ points: TuplePoint2D[];
71
86
  operation: string;
72
87
  };
73
88
  export type FlightImagesQueryParams = Partial<Omit<PaginationParams, "sort">> & {
@@ -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
+ };
@@ -25,6 +25,7 @@ export type Media = {
25
25
  projectExid?: string;
26
26
  thumbnailUrl?: string;
27
27
  mediaUrl?: string;
28
+ camera?: string;
28
29
  };
29
30
  export declare enum MediaType {
30
31
  EditedImage = "edit",
@@ -0,0 +1,62 @@
1
+ export type OAuthClient = {
2
+ id: number;
3
+ name: string;
4
+ clientId: string;
5
+ redirectUris: string[];
6
+ logoUrl: string | null;
7
+ scopes: string[];
8
+ active: boolean;
9
+ description: string | null;
10
+ owner: {
11
+ id: number;
12
+ name: string;
13
+ email: string;
14
+ } | null;
15
+ createdAt: string;
16
+ updatedAt: string;
17
+ };
18
+ export type OAuthClientWithSecret = OAuthClient & {
19
+ clientSecret: string;
20
+ };
21
+ export type CreateOAuthClientPayload = {
22
+ name: string;
23
+ redirectUris: string[];
24
+ scopes?: string[];
25
+ description?: string;
26
+ logoUrl?: string;
27
+ };
28
+ export type AdminCreateOAuthClientPayload = CreateOAuthClientPayload & {
29
+ clientId?: string;
30
+ clientSecret?: string;
31
+ };
32
+ export type UpdateOAuthClientPayload = {
33
+ name?: string;
34
+ redirectUris?: string[];
35
+ scopes?: string[];
36
+ description?: string;
37
+ logoUrl?: string;
38
+ active?: boolean;
39
+ };
40
+ export type OAuthScopeDetail = {
41
+ scope: string;
42
+ description: string;
43
+ group: string;
44
+ };
45
+ export type OAuthConsentInfo = {
46
+ client: {
47
+ name: string;
48
+ logoUrl: string | null;
49
+ description: string | null;
50
+ };
51
+ scopes: OAuthScopeDetail[];
52
+ };
53
+ export type OAuthConsentPayload = {
54
+ clientId: string;
55
+ scope: string;
56
+ redirectUri: string;
57
+ state: string;
58
+ decision: "allow" | "deny";
59
+ };
60
+ export type OAuthConsentResponse = {
61
+ redirectUrl: string;
62
+ };
@@ -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
+ }
@@ -8,6 +8,7 @@ export type ProgressPhotosCreateUpdateRequestPayload = {
8
8
  type?: string;
9
9
  config?: {
10
10
  compareDelay?: AutomationType;
11
+ period?: number;
11
12
  recipients?: string;
12
13
  projectId?: number;
13
14
  companyId?: number;
@@ -25,7 +26,7 @@ export type ProgressPhotosResponsePayload = {
25
26
  progressPhotos: Automation[];
26
27
  };
27
28
  export type ProgressPhotoItemResponsePayload = {
28
- progressPhoto: Automation;
29
+ progressPhotos: Automation;
29
30
  };
30
31
  export declare enum AutomationDialogType {
31
32
  Create = "create",