@evercam/api 1.0.0-4b80172c6 → 1.0.0-4be6625ec

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 (96) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +210 -8
  3. package/dist/api/api/adminApi.d.ts +141 -94
  4. package/dist/api/api/aiApi.d.ts +153 -82
  5. package/dist/api/api/authzApi.d.ts +34 -15
  6. package/dist/api/api/client/axios.d.ts +2 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +148 -102
  9. package/dist/api/api/evercamLabsApi.d.ts +9 -7
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +127 -33
  12. package/dist/api/api/ptzApi.d.ts +12 -3
  13. package/dist/api/api/videoWallApi.d.ts +7 -7
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +304 -23
  16. package/dist/api/types/aconex.d.ts +104 -6
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/aiConfigs.d.ts +242 -0
  19. package/dist/api/types/analytics.d.ts +174 -43
  20. package/dist/api/types/anpr.d.ts +53 -13
  21. package/dist/api/types/auditLogs.d.ts +19 -1
  22. package/dist/api/types/authz.d.ts +132 -0
  23. package/dist/api/types/autodesk.d.ts +7 -7
  24. package/dist/api/types/automation.d.ts +105 -1
  25. package/dist/api/types/axios.d.ts +19 -14
  26. package/dist/api/types/bim.d.ts +38 -9
  27. package/dist/api/types/camera.d.ts +111 -99
  28. package/dist/api/types/comments.d.ts +26 -11
  29. package/dist/api/types/company.d.ts +43 -2
  30. package/dist/api/types/compare.d.ts +20 -5
  31. package/dist/api/types/connector.d.ts +5 -5
  32. package/dist/api/types/coolify.d.ts +20 -2
  33. package/dist/api/types/copilot.d.ts +11 -9
  34. package/dist/api/types/credentials.d.ts +1 -0
  35. package/dist/api/types/detections.d.ts +23 -33
  36. package/dist/api/types/drone.d.ts +96 -6
  37. package/dist/api/types/errors.d.ts +14 -1
  38. package/dist/api/types/gateReport.d.ts +49 -168
  39. package/dist/api/types/gateReportManagement.d.ts +170 -0
  40. package/dist/api/types/hammertech.d.ts +98 -0
  41. package/dist/api/types/hdd.d.ts +26 -1
  42. package/dist/api/types/index.d.ts +17 -2
  43. package/dist/api/types/ingest.d.ts +191 -4
  44. package/dist/api/types/kit.d.ts +96 -57
  45. package/dist/api/types/map.d.ts +12 -0
  46. package/dist/api/types/media.d.ts +10 -3
  47. package/dist/api/types/notification.d.ts +72 -3
  48. package/dist/api/types/oauth.d.ts +62 -0
  49. package/dist/api/types/observationEvents.d.ts +61 -0
  50. package/dist/api/types/observations.d.ts +85 -0
  51. package/dist/api/types/planner.d.ts +101 -9
  52. package/dist/api/types/posthog.d.ts +35 -0
  53. package/dist/api/types/procore.d.ts +13 -6
  54. package/dist/api/types/progressPhoto.d.ts +6 -31
  55. package/dist/api/types/project.d.ts +144 -18
  56. package/dist/api/types/recording.d.ts +10 -15
  57. package/dist/api/types/recycleBin.d.ts +14 -0
  58. package/dist/api/types/ring.d.ts +53 -0
  59. package/dist/api/types/roi.d.ts +3 -11
  60. package/dist/api/types/routeParams.d.ts +3 -1
  61. package/dist/api/types/router.d.ts +20 -1
  62. package/dist/api/types/shared.d.ts +29 -27
  63. package/dist/api/types/shares.d.ts +6 -157
  64. package/dist/api/types/sim.d.ts +6 -6
  65. package/dist/api/types/siteAnalytics.d.ts +189 -46
  66. package/dist/api/types/siteAnalyticsManagement.d.ts +117 -0
  67. package/dist/api/types/siteView.d.ts +73 -0
  68. package/dist/api/types/smartSeach.d.ts +5 -0
  69. package/dist/api/types/snapshots.d.ts +55 -1
  70. package/dist/api/types/socket.d.ts +4 -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 +27 -0
  74. package/dist/api/types/streaming.d.ts +4 -5
  75. package/dist/api/types/tag.d.ts +1 -1
  76. package/dist/api/types/time.d.ts +4 -18
  77. package/dist/api/types/timelapse.d.ts +7 -11
  78. package/dist/api/types/user.d.ts +106 -35
  79. package/dist/api/types/videoWall.d.ts +47 -14
  80. package/dist/api/types/weather.d.ts +77 -11
  81. package/dist/api/types/widget.d.ts +96 -16
  82. package/dist/api/types/xweather.d.ts +4 -4
  83. package/dist/index.js +2457 -1002
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.umd.cjs +1 -1
  86. package/dist/index.umd.cjs.map +1 -1
  87. package/dist/shared/types/components.d.ts +211 -35
  88. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  89. package/dist/shared/types/imagePlayer.d.ts +10 -3
  90. package/dist/shared/types/index.d.ts +3 -0
  91. package/dist/shared/types/observations.d.ts +21 -0
  92. package/dist/shared/types/rbac.d.ts +67 -0
  93. package/dist/shared/types/timeline.d.ts +2 -1
  94. package/package.json +6 -4
  95. package/dist/api/types/storageServers.d.ts +0 -4
  96. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -0,0 +1,61 @@
1
+ export declare enum ObservationEventStatus {
2
+ Detected = "detected",
3
+ Approved = "approved",
4
+ Disapproved = "disapproved",
5
+ Unsure = "unsure"
6
+ }
7
+ export interface ObservationEventStatusConfig {
8
+ bg: string;
9
+ fg: string;
10
+ border: string;
11
+ label: string;
12
+ }
13
+ export declare const OBSERVATION_EVENT_STATUS_CONFIGS: Record<ObservationEventStatus, ObservationEventStatusConfig>;
14
+ export interface SiteAnalyticsObservationEvent {
15
+ id: number;
16
+ observationTypeId: number;
17
+ observationName: string | null;
18
+ observationCode: string | null;
19
+ cameraExid: string;
20
+ projectExid: string | null;
21
+ startTime: string;
22
+ endTime: string | null;
23
+ confidence: number | null;
24
+ status: ObservationEventStatus;
25
+ aiEvidence: string | null;
26
+ bbox: number[] | null;
27
+ model: string | null;
28
+ promptId: number | null;
29
+ observationMetadata: Record<string, unknown> | null;
30
+ trigger: string;
31
+ reviewedBy: string | null;
32
+ reviewedAt: string | null;
33
+ insertedAt: string;
34
+ }
35
+ export type ObservationEventQueryParams = {
36
+ cameraExid?: string;
37
+ projectExid?: string;
38
+ observationTypeIds?: string;
39
+ status?: ObservationEventStatus | string;
40
+ sortBy?: string;
41
+ sortDir?: "asc" | "desc";
42
+ page?: number;
43
+ limit?: number;
44
+ };
45
+ export interface ObservationEventListResponse {
46
+ items: SiteAnalyticsObservationEvent[];
47
+ total: number;
48
+ page: number;
49
+ limit: number;
50
+ from: number;
51
+ to: number;
52
+ }
53
+ export type ObservationEventVerdict = ObservationEventStatus.Approved | ObservationEventStatus.Disapproved | ObservationEventStatus.Unsure;
54
+ export interface ObservationEventReviewPayload {
55
+ status: ObservationEventVerdict;
56
+ }
57
+ export interface ObservationEventReviewResponse {
58
+ updated: boolean;
59
+ id: number | string;
60
+ message: string;
61
+ }
@@ -0,0 +1,85 @@
1
+ import { type ProjectExid, type CameraExid, type DateType, type BBox, PpeLabel, DownloadFileType } from "@evercam/api/types";
2
+ export declare enum ObservationItemState {
3
+ Absent = 0,
4
+ Present = 1,
5
+ NotVisible = 2
6
+ }
7
+ export type ObservationEventEquipment = {
8
+ score: number;
9
+ bbox: BBox;
10
+ };
11
+ export type ObservationEvent = {
12
+ id: number;
13
+ cameraExid: CameraExid;
14
+ projectExid: ProjectExid;
15
+ capturedAt: DateType;
16
+ personIndex: number;
17
+ personBbox: BBox;
18
+ personScore: number;
19
+ ppe: Partial<Record<PpeLabel, ObservationEventEquipment>>;
20
+ hasHelmet: ObservationItemState | null;
21
+ hasHighVisVest: ObservationItemState | null;
22
+ hasGloves: ObservationItemState | null;
23
+ hasGlasses: ObservationItemState | null;
24
+ modelVersion: string;
25
+ createdAt: DateType;
26
+ compliant: boolean;
27
+ reason: string | null;
28
+ isApproved: boolean | null;
29
+ };
30
+ export type ObservationEventsQueryParams = {
31
+ cameraExid?: CameraExid;
32
+ fromDate?: string;
33
+ toDate?: string;
34
+ required?: string;
35
+ compliant?: boolean;
36
+ hasHelmet?: boolean;
37
+ hasHighVisVest?: boolean;
38
+ hasGloves?: boolean;
39
+ hasGlasses?: boolean;
40
+ sort?: string;
41
+ page?: number;
42
+ limit?: number;
43
+ };
44
+ export type ObservationEventsExportQueryParams = {
45
+ cameraExid?: CameraExid;
46
+ fromDate: string;
47
+ toDate: string;
48
+ required?: string;
49
+ compliant?: boolean;
50
+ fileType: DownloadFileType;
51
+ directDownload?: boolean;
52
+ includeInvalid?: boolean;
53
+ };
54
+ export type ObservationApprovalUpdateResponse = {
55
+ updated: boolean;
56
+ id: number | string | null;
57
+ message: string;
58
+ };
59
+ export declare enum ObservationCountsGranularity {
60
+ Day = "day",
61
+ Week = "week",
62
+ Month = "month"
63
+ }
64
+ export type ObservationEventsCountsQueryParams = {
65
+ cameraExid?: CameraExid;
66
+ fromDate?: string;
67
+ toDate?: string;
68
+ required?: string;
69
+ compliant?: boolean;
70
+ hasHelmet?: boolean;
71
+ hasHighVisVest?: boolean;
72
+ hasGloves?: boolean;
73
+ hasGlasses?: boolean;
74
+ granularity?: ObservationCountsGranularity;
75
+ };
76
+ export type ObservationEventCount = {
77
+ bucket: DateType;
78
+ total: number;
79
+ compliant: number;
80
+ nonCompliant: number;
81
+ };
82
+ export declare enum ObservationRequiredItem {
83
+ Helmet = "has_helmet",
84
+ HighVisVest = "has_high_vis_vest"
85
+ }
@@ -1,6 +1,39 @@
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
- Lock = "lock"
33
+ Lock = "lock",
34
+ Rotate = "rotate",
35
+ Scale = "scale",
36
+ Pan = "drag"
4
37
  }
5
38
  export declare enum EMapTypes {
6
39
  Blank = "Blank",
@@ -18,15 +51,74 @@ export declare enum EPageType {
18
51
  List = "list",
19
52
  Item = "item"
20
53
  }
21
- export declare enum EPaths {
22
- Home = "/",
23
- Session = "/session"
24
- }
25
- export declare enum EProjectItems {
26
- Camera = "camera",
27
- Overlay = "overlay"
28
- }
29
54
  export declare enum ERoles {
30
55
  Admin = "admin",
31
56
  User = "user"
32
57
  }
58
+ export type PlannerOverlay = {
59
+ imageUrl?: string;
60
+ corners?: {
61
+ topLeft: GeoPoint;
62
+ topRight: GeoPoint;
63
+ bottomLeft: GeoPoint;
64
+ bottomRight: GeoPoint;
65
+ } | null;
66
+ };
67
+ export type PlannerCameraMarker = {
68
+ name?: string;
69
+ location?: GeoPoint;
70
+ heading?: number;
71
+ fovAngle?: number;
72
+ fovRadius?: number;
73
+ isVisible?: boolean;
74
+ color?: string;
75
+ };
76
+ export type SitePlanBounds = {
77
+ northEast: GeoPoint;
78
+ southWest: GeoPoint;
79
+ };
80
+ export type SitePlan = {
81
+ id?: string;
82
+ projectId?: string;
83
+ owner?: string;
84
+ lastUpdatedBy?: string;
85
+ projectName?: string;
86
+ projectLocation?: string;
87
+ projectMapType?: EMapTypes;
88
+ projectBounds?: SitePlanBounds;
89
+ overlay?: PlannerOverlay;
90
+ markers?: PlannerCameraMarker[];
91
+ thumbnailUrl?: string;
92
+ createdDate?: string;
93
+ updatedDate?: string;
94
+ };
95
+ export interface IDrawControl {
96
+ _toolbars: {
97
+ draw: {
98
+ _activeMode: {
99
+ handler: {
100
+ disable(): void;
101
+ completeShape(): void;
102
+ };
103
+ };
104
+ _modes: {
105
+ polygon: {
106
+ handler: {
107
+ enable(): void;
108
+ };
109
+ };
110
+ };
111
+ };
112
+ edit: {
113
+ _modes: {
114
+ edit: {
115
+ handler: {
116
+ enable(): void;
117
+ disable(): void;
118
+ save(): void;
119
+ };
120
+ };
121
+ };
122
+ };
123
+ };
124
+ }
@@ -16,3 +16,38 @@ 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
+ };
39
+ export type PosthogUserParams = {
40
+ firstname?: string;
41
+ lastname?: string;
42
+ email: string;
43
+ telephone?: string;
44
+ country?: string;
45
+ isAdmin?: boolean;
46
+ persona?: string;
47
+ companyExid: string;
48
+ companyName: string;
49
+ isImpersonationLogin: boolean;
50
+ ImpersonatedUserEmail?: string;
51
+ ImpersonatedUserFirstname?: string;
52
+ impersonatedUserLastname?: string;
53
+ };
@@ -44,7 +44,7 @@ export type ProcoreObservationSpecificationSection = {
44
44
  label: string;
45
45
  currentRevisionId: number;
46
46
  };
47
- export type ProcoreUserProjectsResponsePayload = Array<{
47
+ export type ProcoreUserProject = {
48
48
  accountingProjectNumber?: number;
49
49
  active: boolean;
50
50
  address: string;
@@ -85,7 +85,8 @@ export type ProcoreUserProjectsResponsePayload = Array<{
85
85
  totalValue: string;
86
86
  updatedAt: string;
87
87
  zip: number;
88
- }>;
88
+ };
89
+ export type ProcoreUserProjectsResponsePayload = Array<ProcoreUserProject>;
89
90
  export type ProcoreToolUserAccessLevel = {
90
91
  id: ProcoreToolUserAccessLevelIds;
91
92
  name: string;
@@ -120,7 +121,7 @@ export type ProcoreEditedImageUploadRequestPayload = {
120
121
  snapshot: string;
121
122
  categoryId?: number;
122
123
  };
123
- export type ProcoreProjectsAlbumsPayload = Array<{
124
+ export type ProcoreProjectAlbum = {
124
125
  count: number;
125
126
  coverPhoto: string | null;
126
127
  createdAt: string;
@@ -134,8 +135,9 @@ export type ProcoreProjectsAlbumsPayload = Array<{
134
135
  position: number;
135
136
  private: boolean;
136
137
  updatedAt: string;
137
- }>;
138
- export type ProcoreObservationTypesResponsePayload = Array<{
138
+ };
139
+ export type ProcoreProjectsAlbumsPayload = Array<ProcoreProjectAlbum>;
140
+ export type ProcoreObservationType = {
139
141
  id: number;
140
142
  name: string;
141
143
  localizedName: string;
@@ -147,12 +149,17 @@ export type ProcoreObservationTypesResponsePayload = Array<{
147
149
  parentInactive: boolean;
148
150
  isUse: boolean;
149
151
  nameTranslations: string;
150
- }>;
152
+ };
153
+ export type ProcoreObservationTypesResponsePayload = Array<ProcoreObservationType>;
151
154
  export type ProcoreObservationFormRequestPayload = {
152
155
  projectId: number;
153
156
  companyId: number;
154
157
  observationType: string;
155
158
  };
159
+ export type ProcoreCustomFieldOptionsRequestPayload = {
160
+ optionsUrl: string;
161
+ companyId: number;
162
+ };
156
163
  export type ProcoreObservationForm = Record<string, ProcoreObservationField | ProcoreObservationCustomField>;
157
164
  export type ProcoreObservationField = {
158
165
  name: string;
@@ -1,33 +1,4 @@
1
- import { AutomationType, DateTime, DateType, PaginationParams } from "@/types";
2
- export type Automation = {
3
- cameraIds: string;
4
- cameraNames: number;
5
- cameraExids?: string[];
6
- createdAt: string;
7
- id: number;
8
- provider: string;
9
- type: AutomationType;
10
- config: Partial<{
11
- recipients: string | Record<string, string>[];
12
- companyId: number;
13
- compareDelay: number;
14
- categoryId: string;
15
- hubId: string;
16
- folderId: string;
17
- projectId: number;
18
- }>;
19
- isPaused: boolean;
20
- notifyDays: string | string[];
21
- notifyTime: string;
22
- requesterEmail: string;
23
- requesterName: string;
24
- timezone: string;
25
- title: string;
26
- compareDelay?: number;
27
- selectedProvider?: string;
28
- restrictedCameraExids?: string[];
29
- recipients?: string | string[];
30
- };
1
+ import { Automation, AutomationType, DateType, PaginationParams } from "@evercam/api/types";
31
2
  export type ProgressPhotosCreateUpdateRequestPayload = {
32
3
  cameraExids?: string;
33
4
  notifyDays?: string;
@@ -37,6 +8,7 @@ export type ProgressPhotosCreateUpdateRequestPayload = {
37
8
  type?: string;
38
9
  config?: {
39
10
  compareDelay?: AutomationType;
11
+ period?: number;
40
12
  recipients?: string;
41
13
  projectId?: number;
42
14
  companyId?: number;
@@ -53,6 +25,9 @@ export type ProgressPhotosUnSubscribeParams = {
53
25
  export type ProgressPhotosResponsePayload = {
54
26
  progressPhotos: Automation[];
55
27
  };
28
+ export type ProgressPhotoItemResponsePayload = {
29
+ progressPhotos: Automation;
30
+ };
56
31
  export declare enum AutomationDialogType {
57
32
  Create = "create",
58
33
  Edit = "edit",
@@ -99,5 +74,5 @@ export type ProgressPhotosHistory = {
99
74
  cameraIds: string;
100
75
  failedCameraIds: string;
101
76
  subject: string;
102
- recipients: DateTime;
77
+ recipients: string;
103
78
  };
@@ -1,24 +1,56 @@
1
- import { AdminCamera, Camera, CameraExid, DateTime, DateType, EntityByExid, Exid, PaginationParams } from "@/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 = {
5
- id: string | number;
6
- exid: ProjectExid;
7
- name: string;
8
- status?: ProjectStatus;
9
- insertedAt?: string;
10
- startedAt?: string;
11
- timezone?: string;
12
- zohoId?: string;
13
- userId?: number;
5
+ archiveTier?: ProjectArchiveTier;
14
6
  cameras?: Array<Camera | AdminCamera>;
7
+ camerasCount?: number;
8
+ camerasRestrictionType?: string;
9
+ companyId: number;
10
+ endDate: string;
11
+ exid: ProjectExid;
15
12
  featureFlags: Array<ProjectFeatureFlag>;
13
+ geographicBounds?: unknown;
14
+ id: string | number;
15
+ insertedAt?: string;
16
+ name: string;
16
17
  owner?: {
17
18
  email?: string;
18
19
  };
19
20
  ownerEmail?: string;
20
21
  ownerName?: string;
21
- camerasRestrictionType?: string;
22
+ startedAt?: string;
23
+ status?: ProjectStatus;
24
+ timezone?: string;
25
+ unrestrictedCameras?: Camera[];
26
+ userId?: number;
27
+ zohoId?: string;
28
+ };
29
+ export type AdminProjectCameraRef = {
30
+ exid: string;
31
+ name: string;
32
+ };
33
+ export type AdminProjectListItem = {
34
+ id: number;
35
+ name: string;
36
+ status: ProjectStatus | string;
37
+ insertedAt: string;
38
+ timezone: string | null;
39
+ exid: ProjectExid;
40
+ endDate: string | null;
41
+ startDate: string | null;
42
+ archiveTier: ProjectArchiveTier | null;
43
+ featureFlags: Array<ProjectFeatureFlag | string>;
44
+ zohoId: string | null;
45
+ ownerEmail: string | null;
46
+ companyId: number | null;
47
+ companyName: string | null;
48
+ ownerName: string | null;
49
+ archived: boolean;
50
+ cameras?: AdminProjectCameraRef[];
51
+ };
52
+ export type AdminProjectDetail = AdminProjectListItem & {
53
+ userId: number;
22
54
  };
23
55
  export declare enum ProjectStatus {
24
56
  ToStart = "To Start",
@@ -30,15 +62,22 @@ export declare enum ProjectArchiveTier {
30
62
  Full = "Full",
31
63
  Partial = "Partial",
32
64
  Minimal = "Minimal",
33
- ScheduledForDeletion = "Scheduled for Deletion"
65
+ ScheduledForDeletion = "Scheduled for Deletion",
66
+ No = "No"
34
67
  }
35
- export type ProjectResponsePayload = {
36
- data?: Project[];
37
- };
38
68
  export type UpdateCameraRestrictionPayload = {
39
69
  isAccessRestricted?: boolean;
40
70
  };
71
+ export type CameraPosition = {
72
+ cameraExid: CameraExid;
73
+ position: number;
74
+ };
75
+ export type ReorderCamerasPayload = {
76
+ positions: CameraPosition[];
77
+ };
41
78
  export type Logo = {
79
+ id: number;
80
+ projectId: number;
42
81
  name: string;
43
82
  url: string;
44
83
  };
@@ -52,7 +91,6 @@ export declare enum ProjectFeatureFlag {
52
91
  ThreeSixtyView = "360_view",
53
92
  NdaMc = "NDA/MC",
54
93
  GateReport = "gate_report",
55
- GateReportAutoVerify = "auto_publish",
56
94
  GateReportMotionDetection = "motion_detection",
57
95
  FullEmpty = "full_empty",
58
96
  MediaHubSharing = "archives_sharing",
@@ -60,7 +98,8 @@ export declare enum ProjectFeatureFlag {
60
98
  NoLicensePlate = "no_license_plate",
61
99
  DefaultToProjectApp = "default_to_project_app",
62
100
  SmartSearch = "smart_search",
63
- PpeMonitoring = "ppe_monitoring"
101
+ PpeMonitoring = "ppe_monitoring",
102
+ NoGdpr = "no_gdpr"
64
103
  }
65
104
  export type ProjectBatteryReading = {
66
105
  exid: number;
@@ -78,6 +117,7 @@ export type ProjectsQueryParams = PaginationParams & {
78
117
  status: ProjectStatus;
79
118
  cameras: string;
80
119
  featureFlags: Array<ProjectFeatureFlag>;
120
+ featureFlagsOperator?: Operator;
81
121
  archived: string;
82
122
  };
83
123
  export type ProjectCreateRequestPayload = {
@@ -116,7 +156,7 @@ export type ProjectUserProperty = {
116
156
  eventsCount: number;
117
157
  fullname: string;
118
158
  id: number;
119
- lastSeenAt: DateTime;
159
+ lastSeenAt: string;
120
160
  persona: string;
121
161
  };
122
162
  export type ProjectUsers = {
@@ -126,3 +166,89 @@ export type ProjectUsers = {
126
166
  }[];
127
167
  users: Record<string, ProjectUserProperty[]>;
128
168
  };
169
+ export type ProjectRole = {
170
+ id: number;
171
+ name: string;
172
+ };
173
+ export type ProjectMember = {
174
+ id: string;
175
+ key?: string;
176
+ email: string;
177
+ fullname: string;
178
+ lastSeenAt?: string;
179
+ role: ProjectRole;
180
+ permissions?: string[];
181
+ subRoles?: Array<{
182
+ resourceId: string;
183
+ roleId: number;
184
+ }>;
185
+ company?: {
186
+ name: string;
187
+ } | null;
188
+ };
189
+ export type ProjectInvite = {
190
+ id?: string;
191
+ email: string;
192
+ role?: ProjectRole;
193
+ permissions?: string[];
194
+ subRoles?: Array<{
195
+ resourceId: string;
196
+ roleId: number;
197
+ }>;
198
+ invitedAt?: string;
199
+ };
200
+ export type ProjectMembersResponsePayload = {
201
+ users: ProjectMember[];
202
+ invites: ProjectInvite[];
203
+ errors: ProjectUserError[];
204
+ };
205
+ export type ProjectMembersRequestPayload = {
206
+ roleId: number;
207
+ emails: string[];
208
+ message?: string;
209
+ overrideRole?: Partial<{
210
+ permissions?: string[];
211
+ subRoles?: Array<{
212
+ resourceId: string;
213
+ roleId: number;
214
+ }>;
215
+ }>;
216
+ };
217
+ export type ProjectInviteMembersResponsePayload = {
218
+ users: ProjectMember[];
219
+ invites: ProjectInvite[];
220
+ };
221
+ export type PlaceholderThumbnailData = {
222
+ placeholder: string;
223
+ };
224
+ export type ProjectUserError = {
225
+ email: string;
226
+ error: Record<string, string[]>;
227
+ };
228
+ export type ProjectUsersResponsePayload = {
229
+ users: ProjectMember[];
230
+ invites: ProjectInvite[];
231
+ errors: ProjectUserError[];
232
+ };
233
+ export type ProjectStorageQueryParams = PaginationParams & {
234
+ cameraName: string;
235
+ cameraExid: CameraExid;
236
+ status: ProjectStorageStatus;
237
+ };
238
+ export type ProjectStorage = {
239
+ id: number;
240
+ cameraExid: CameraExid;
241
+ cameraName: string;
242
+ projectExid: string;
243
+ projectName: string;
244
+ status: ProjectStorageStatus;
245
+ requestor: string;
246
+ created_at: DateType;
247
+ };
248
+ export declare enum ProjectStorageStatus {
249
+ New = "new",
250
+ Pending = "pending",
251
+ Processing = "processing",
252
+ Completed = "completed",
253
+ Failed = "failed"
254
+ }