@evercam/api 1.0.0-0ff26c649 → 1.0.0-130db5908

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 (95) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +201 -15
  3. package/dist/api/api/adminApi.d.ts +94 -76
  4. package/dist/api/api/aiApi.d.ts +182 -60
  5. package/dist/api/api/authzApi.d.ts +29 -17
  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 +142 -101
  9. package/dist/api/api/evercamLabsApi.d.ts +7 -6
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +113 -46
  12. package/dist/api/api/ptzApi.d.ts +9 -4
  13. package/dist/api/api/videoWallApi.d.ts +2 -2
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +259 -45
  16. package/dist/api/types/aconex.d.ts +9 -9
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/aiConfigs.d.ts +244 -0
  19. package/dist/api/types/analytics.d.ts +121 -67
  20. package/dist/api/types/anpr.d.ts +48 -2
  21. package/dist/api/types/auditLogs.d.ts +19 -2
  22. package/dist/api/types/authz.d.ts +116 -6
  23. package/dist/api/types/autodesk.d.ts +7 -7
  24. package/dist/api/types/automation.d.ts +65 -3
  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 +117 -114
  28. package/dist/api/types/comments.d.ts +16 -11
  29. package/dist/api/types/company.d.ts +42 -1
  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 +18 -2
  33. package/dist/api/types/copilot.d.ts +11 -9
  34. package/dist/api/types/detections.d.ts +23 -18
  35. package/dist/api/types/drone.d.ts +95 -6
  36. package/dist/api/types/errors.d.ts +13 -1
  37. package/dist/api/types/gateReport.d.ts +49 -68
  38. package/dist/api/types/gateReportManagement.d.ts +170 -0
  39. package/dist/api/types/hammertech.d.ts +98 -0
  40. package/dist/api/types/hdd.d.ts +26 -1
  41. package/dist/api/types/index.d.ts +14 -2
  42. package/dist/api/types/ingest.d.ts +187 -4
  43. package/dist/api/types/kit.d.ts +74 -56
  44. package/dist/api/types/map.d.ts +12 -0
  45. package/dist/api/types/media.d.ts +10 -3
  46. package/dist/api/types/notification.d.ts +83 -3
  47. package/dist/api/types/oauth.d.ts +62 -0
  48. package/dist/api/types/observationEvents.d.ts +141 -0
  49. package/dist/api/types/observations.d.ts +84 -0
  50. package/dist/api/types/planner.d.ts +98 -8
  51. package/dist/api/types/posthog.d.ts +35 -0
  52. package/dist/api/types/procore.d.ts +13 -6
  53. package/dist/api/types/progressPhoto.d.ts +6 -2
  54. package/dist/api/types/project.d.ts +113 -21
  55. package/dist/api/types/recording.d.ts +9 -15
  56. package/dist/api/types/recycleBin.d.ts +1 -1
  57. package/dist/api/types/ring.d.ts +53 -0
  58. package/dist/api/types/roi.d.ts +3 -11
  59. package/dist/api/types/routeParams.d.ts +1 -0
  60. package/dist/api/types/router.d.ts +20 -1
  61. package/dist/api/types/shared.d.ts +29 -22
  62. package/dist/api/types/shares.d.ts +6 -157
  63. package/dist/api/types/sim.d.ts +6 -6
  64. package/dist/api/types/siteAnalytics.d.ts +169 -47
  65. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  66. package/dist/api/types/siteView.d.ts +78 -0
  67. package/dist/api/types/smartSeach.d.ts +5 -0
  68. package/dist/api/types/snapshots.d.ts +49 -4
  69. package/dist/api/types/socket.d.ts +4 -0
  70. package/dist/api/types/storageProvider.d.ts +19 -0
  71. package/dist/api/types/storyblok.d.ts +27 -0
  72. package/dist/api/types/streaming.d.ts +3 -3
  73. package/dist/api/types/tag.d.ts +1 -1
  74. package/dist/api/types/time.d.ts +0 -18
  75. package/dist/api/types/timelapse.d.ts +7 -11
  76. package/dist/api/types/user.d.ts +117 -35
  77. package/dist/api/types/videoWall.d.ts +21 -21
  78. package/dist/api/types/weather.d.ts +75 -11
  79. package/dist/api/types/widget.d.ts +71 -12
  80. package/dist/api/types/xweather.d.ts +4 -4
  81. package/dist/api/utils.d.ts +1 -1
  82. package/dist/index.js +2410 -1037
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.umd.cjs +1 -1
  85. package/dist/index.umd.cjs.map +1 -1
  86. package/dist/shared/types/components.d.ts +224 -34
  87. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  88. package/dist/shared/types/imagePlayer.d.ts +9 -2
  89. package/dist/shared/types/index.d.ts +3 -0
  90. package/dist/shared/types/observations.d.ts +25 -0
  91. package/dist/shared/types/rbac.d.ts +67 -0
  92. package/dist/shared/types/timeline.d.ts +2 -1
  93. package/package.json +4 -2
  94. package/dist/api/types/storageServers.d.ts +0 -4
  95. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -0,0 +1,141 @@
1
+ import type { VisionProvider } from "@evercam/api/types";
2
+ export declare enum ObservationEventStatus {
3
+ Detected = "detected",
4
+ Approved = "approved",
5
+ Disapproved = "disapproved",
6
+ Unsure = "unsure"
7
+ }
8
+ export interface ObservationEventStatusConfig {
9
+ bg: string;
10
+ fg: string;
11
+ border: string;
12
+ label: string;
13
+ }
14
+ export declare const OBSERVATION_EVENT_STATUS_CONFIGS: Record<ObservationEventStatus, ObservationEventStatusConfig>;
15
+ export interface SiteAnalyticsObservationEvent {
16
+ id: number;
17
+ sourceType?: ObservationSourceType;
18
+ sessionId?: string | null;
19
+ markerId?: string | null;
20
+ drawingId?: string | null;
21
+ drawingName?: string | null;
22
+ walkName?: string | null;
23
+ sightings?: Array<Record<string, unknown>> | null;
24
+ observationTypeId: number;
25
+ observationName: string | null;
26
+ observationCode: string | null;
27
+ cameraExid: string;
28
+ projectExid: string | null;
29
+ startTime: string;
30
+ endTime: string | null;
31
+ confidence: number | null;
32
+ status: ObservationEventStatus;
33
+ aiEvidence: string | null;
34
+ bbox: number[] | null;
35
+ model: string | null;
36
+ promptId: number | null;
37
+ observationMetadata: Record<string, unknown> | null;
38
+ trigger: ObservationEventTrigger | string;
39
+ reviewedBy: string | null;
40
+ reviewedAt: string | null;
41
+ insertedAt: string;
42
+ }
43
+ export type ObservationEventQueryParams = {
44
+ cameraExid?: string;
45
+ projectExid?: string;
46
+ observationTypeIds?: string;
47
+ status?: ObservationEventStatus | string;
48
+ sourceType?: ObservationSourceType | string;
49
+ modelName?: string;
50
+ sortBy?: string;
51
+ sortDir?: "asc" | "desc";
52
+ page?: number;
53
+ limit?: number;
54
+ };
55
+ export interface ObservationModelOption {
56
+ modelName: string;
57
+ total: number;
58
+ }
59
+ export interface ObservationEventListResponse {
60
+ items: SiteAnalyticsObservationEvent[];
61
+ total: number;
62
+ page: number;
63
+ limit: number;
64
+ from: number;
65
+ to: number;
66
+ }
67
+ export type ObservationEventVerdict = ObservationEventStatus.Approved | ObservationEventStatus.Disapproved | ObservationEventStatus.Unsure;
68
+ export interface ObservationEventReviewPayload {
69
+ status: ObservationEventVerdict;
70
+ }
71
+ export interface ObservationEventReviewResponse {
72
+ updated: boolean;
73
+ id: number | string;
74
+ message: string;
75
+ }
76
+ export declare enum ObservationSourceType {
77
+ Camera = "camera",
78
+ Walk360 = "walk360",
79
+ Drone = "drone"
80
+ }
81
+ export declare enum ObservationEventTrigger {
82
+ CameraDetection = "camera_detection",
83
+ Walk = "walk"
84
+ }
85
+ export declare enum Walk360ProcessedSessionStatus {
86
+ Done = "done",
87
+ Processing = "processing",
88
+ Retryable = "retryable",
89
+ Error = "error"
90
+ }
91
+ export interface Walk360Activity {
92
+ observationTypeId: number;
93
+ }
94
+ export interface Walk360WorkerInfo {
95
+ coolifyAppId?: string | null;
96
+ workerStatus?: string | null;
97
+ workerIsRunning?: boolean;
98
+ appUrl?: string | null;
99
+ visionProvider?: VisionProvider;
100
+ }
101
+ export interface Walk360Config extends Walk360WorkerInfo {
102
+ projectExid: string;
103
+ enabled: boolean;
104
+ startDate: string | null;
105
+ activities: Walk360Activity[];
106
+ configured: boolean;
107
+ maxParallelWalks?: number;
108
+ }
109
+ export interface Walk360ConfigSummary extends Walk360WorkerInfo {
110
+ projectExid: string;
111
+ projectName?: string | null;
112
+ enabled: boolean;
113
+ startDate: string | null;
114
+ activities: Walk360Activity[];
115
+ maxParallelWalks: number;
116
+ walksDone: number;
117
+ walksProcessing: number;
118
+ walksRetryable: number;
119
+ eventsCreated: number;
120
+ lastProcessedAt: string | null;
121
+ updatedAt: string | null;
122
+ }
123
+ export interface Walk360WorkerAction {
124
+ projectExid: string;
125
+ appUuid: string | null;
126
+ message: string;
127
+ state: string;
128
+ }
129
+ export interface Walk360ProcessedSession {
130
+ id: number;
131
+ projectExid: string;
132
+ sourceType: ObservationSourceType;
133
+ sessionId: string;
134
+ status: Walk360ProcessedSessionStatus;
135
+ markersTotal: number | null;
136
+ markersProcessed: number | null;
137
+ eventsCreated: number | null;
138
+ error: string | null;
139
+ startedAt: string;
140
+ finishedAt: string | null;
141
+ }
@@ -0,0 +1,84 @@
1
+ import { type ProjectExid, type CameraExid, type DateType, type BBox, AiObservationFeasibilityStatus, ObservationEventStatus, DownloadFileType } from "@evercam/api/types";
2
+ export type ObservationApproval = boolean | ObservationEventStatus.Unsure | null;
3
+ export type ObservationEvent = {
4
+ id: number;
5
+ observationTypeId: number;
6
+ observationCode: string | null;
7
+ cameraExid: CameraExid;
8
+ projectExid: ProjectExid | null;
9
+ capturedAt: DateType;
10
+ endTime: DateType | null;
11
+ confidence: number | null;
12
+ status: ObservationEventStatus;
13
+ isApproved: ObservationApproval;
14
+ reason: string | null;
15
+ personBbox: BBox | null;
16
+ modelVersion: string | null;
17
+ observationMetadata: Record<string, unknown> | null;
18
+ trigger: string;
19
+ reviewedBy: string | null;
20
+ reviewedAt: DateType | null;
21
+ };
22
+ export type ObservationType = {
23
+ id: number;
24
+ observationCode: string;
25
+ name: string;
26
+ description: string | null;
27
+ type: string;
28
+ severity: number | null;
29
+ feasibilityStatus: AiObservationFeasibilityStatus;
30
+ };
31
+ export declare enum ObservationMissingItem {
32
+ Helmet = "helmet",
33
+ HighVisVest = "high_vis_vest",
34
+ Gloves = "gloves",
35
+ Glasses = "glasses"
36
+ }
37
+ export type ObservationEventsQueryParams = {
38
+ cameraExid?: CameraExid;
39
+ observationCode?: string;
40
+ fromDate?: string;
41
+ toDate?: string;
42
+ missingItems?: string;
43
+ status?: ObservationEventStatus;
44
+ sort?: string;
45
+ page?: number;
46
+ limit?: number;
47
+ };
48
+ export type ObservationEventsExportQueryParams = {
49
+ cameraExid?: CameraExid;
50
+ fromDate: string;
51
+ toDate: string;
52
+ required?: string;
53
+ compliant?: boolean;
54
+ fileType: DownloadFileType;
55
+ directDownload?: boolean;
56
+ includeInvalid?: boolean;
57
+ };
58
+ export type ObservationApprovalUpdateResponse = {
59
+ updated: boolean;
60
+ id: number | string | null;
61
+ message: string;
62
+ };
63
+ export declare enum ObservationCountsGranularity {
64
+ Day = "day",
65
+ Week = "week",
66
+ Month = "month"
67
+ }
68
+ export type ObservationEventsCountsQueryParams = {
69
+ cameraExid?: CameraExid;
70
+ observationCode?: string;
71
+ fromDate?: string;
72
+ toDate?: string;
73
+ missingItems?: string;
74
+ status?: ObservationEventStatus;
75
+ granularity?: ObservationCountsGranularity;
76
+ };
77
+ export type ObservationEventCount = {
78
+ bucket: DateType;
79
+ total: number;
80
+ };
81
+ export declare enum ObservationRequiredItem {
82
+ Helmet = "has_helmet",
83
+ HighVisVest = "has_high_vis_vest"
84
+ }
@@ -1,4 +1,35 @@
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 {
32
+ Edit = "edit",
2
33
  FreeRotate = "freeRotate",
3
34
  Lock = "lock",
4
35
  Rotate = "rotate",
@@ -21,15 +52,74 @@ export declare enum EPageType {
21
52
  List = "list",
22
53
  Item = "item"
23
54
  }
24
- export declare enum EPaths {
25
- Home = "/",
26
- Session = "/session"
27
- }
28
- export declare enum EProjectItems {
29
- Camera = "camera",
30
- Overlay = "overlay"
31
- }
32
55
  export declare enum ERoles {
33
56
  Admin = "admin",
34
57
  User = "user"
35
58
  }
59
+ export type PlannerOverlay = {
60
+ imageUrl?: string;
61
+ corners?: {
62
+ topLeft: GeoPoint;
63
+ topRight: GeoPoint;
64
+ bottomLeft: GeoPoint;
65
+ bottomRight: GeoPoint;
66
+ } | null;
67
+ };
68
+ export type PlannerCameraMarker = {
69
+ name?: string;
70
+ location?: GeoPoint;
71
+ heading?: number;
72
+ fovAngle?: number;
73
+ fovRadius?: number;
74
+ isVisible?: boolean;
75
+ color?: string;
76
+ };
77
+ export type SitePlanBounds = {
78
+ northEast: GeoPoint;
79
+ southWest: GeoPoint;
80
+ };
81
+ export type SitePlan = {
82
+ id?: string;
83
+ projectId?: string;
84
+ owner?: string;
85
+ lastUpdatedBy?: string;
86
+ projectName?: string;
87
+ projectLocation?: string;
88
+ projectMapType?: EMapTypes;
89
+ projectBounds?: SitePlanBounds;
90
+ overlay?: PlannerOverlay;
91
+ markers?: PlannerCameraMarker[];
92
+ thumbnailUrl?: string;
93
+ createdDate?: string;
94
+ updatedDate?: string;
95
+ };
96
+ export interface IDrawControl {
97
+ _toolbars: {
98
+ draw: {
99
+ _activeMode: {
100
+ handler: {
101
+ disable(): void;
102
+ completeShape(): void;
103
+ };
104
+ };
105
+ _modes: {
106
+ polygon: {
107
+ handler: {
108
+ enable(): void;
109
+ };
110
+ };
111
+ };
112
+ };
113
+ edit: {
114
+ _modes: {
115
+ edit: {
116
+ handler: {
117
+ enable(): void;
118
+ disable(): void;
119
+ save(): void;
120
+ };
121
+ };
122
+ };
123
+ };
124
+ };
125
+ }
@@ -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,4 +1,4 @@
1
- import { Automation, AutomationType, DateTime, DateType, PaginationParams } from "@/types";
1
+ import { Automation, AutomationType, DateType, PaginationParams } from "@evercam/api/types";
2
2
  export type ProgressPhotosCreateUpdateRequestPayload = {
3
3
  cameraExids?: string;
4
4
  notifyDays?: string;
@@ -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;
@@ -24,6 +25,9 @@ export type ProgressPhotosUnSubscribeParams = {
24
25
  export type ProgressPhotosResponsePayload = {
25
26
  progressPhotos: Automation[];
26
27
  };
28
+ export type ProgressPhotoItemResponsePayload = {
29
+ progressPhotos: Automation;
30
+ };
27
31
  export declare enum AutomationDialogType {
28
32
  Create = "create",
29
33
  Edit = "edit",
@@ -70,5 +74,5 @@ export type ProgressPhotosHistory = {
70
74
  cameraIds: string;
71
75
  failedCameraIds: string;
72
76
  subject: string;
73
- recipients: DateTime;
77
+ recipients: string;
74
78
  };
@@ -1,25 +1,56 @@
1
- import { AdminCamera, Camera, CameraExid, DateRangeFilter, 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>;
15
- unrestrictedCameras?: Array<Camera | AdminCamera>;
7
+ camerasCount?: number;
8
+ camerasRestrictionType?: string;
9
+ companyId: number;
10
+ endDate: string;
11
+ exid: ProjectExid;
16
12
  featureFlags: Array<ProjectFeatureFlag>;
13
+ geographicBounds?: unknown;
14
+ id: string | number;
15
+ insertedAt?: string;
16
+ name: string;
17
17
  owner?: {
18
18
  email?: string;
19
19
  };
20
20
  ownerEmail?: string;
21
21
  ownerName?: string;
22
- 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;
23
54
  };
24
55
  export declare enum ProjectStatus {
25
56
  ToStart = "To Start",
@@ -31,15 +62,22 @@ export declare enum ProjectArchiveTier {
31
62
  Full = "Full",
32
63
  Partial = "Partial",
33
64
  Minimal = "Minimal",
34
- ScheduledForDeletion = "Scheduled for Deletion"
65
+ ScheduledForDeletion = "Scheduled for Deletion",
66
+ No = "No"
35
67
  }
36
- export type ProjectResponsePayload = {
37
- data?: Project[];
38
- };
39
68
  export type UpdateCameraRestrictionPayload = {
40
69
  isAccessRestricted?: boolean;
41
70
  };
71
+ export type CameraPosition = {
72
+ cameraExid: CameraExid;
73
+ position: number;
74
+ };
75
+ export type ReorderCamerasPayload = {
76
+ positions: CameraPosition[];
77
+ };
42
78
  export type Logo = {
79
+ id: number;
80
+ projectId: number;
43
81
  name: string;
44
82
  url: string;
45
83
  };
@@ -79,6 +117,7 @@ export type ProjectsQueryParams = PaginationParams & {
79
117
  status: ProjectStatus;
80
118
  cameras: string;
81
119
  featureFlags: Array<ProjectFeatureFlag>;
120
+ featureFlagsOperator?: Operator;
82
121
  archived: string;
83
122
  };
84
123
  export type ProjectCreateRequestPayload = {
@@ -117,7 +156,7 @@ export type ProjectUserProperty = {
117
156
  eventsCount: number;
118
157
  fullname: string;
119
158
  id: number;
120
- lastSeenAt: DateTime;
159
+ lastSeenAt: string;
121
160
  persona: string;
122
161
  };
123
162
  export type ProjectUsers = {
@@ -127,32 +166,46 @@ export type ProjectUsers = {
127
166
  }[];
128
167
  users: Record<string, ProjectUserProperty[]>;
129
168
  };
130
- export type ProjectDateRangeFilter = DateRangeFilter & {
131
- projectExid: ProjectExid;
132
- };
133
169
  export type ProjectRole = {
134
- id: string;
170
+ id: number;
135
171
  name: string;
136
172
  };
137
173
  export type ProjectMember = {
138
174
  id: string;
175
+ key?: string;
139
176
  email: string;
140
177
  fullname: string;
178
+ lastSeenAt?: string;
141
179
  role: ProjectRole;
180
+ permissions?: string[];
181
+ subRoles?: Array<{
182
+ resourceId: string;
183
+ roleId: number;
184
+ }>;
185
+ company?: {
186
+ name: string;
187
+ } | null;
142
188
  };
143
189
  export type ProjectInvite = {
144
190
  id?: string;
145
191
  email: string;
146
192
  role?: ProjectRole;
193
+ permissions?: string[];
194
+ subRoles?: Array<{
195
+ resourceId: string;
196
+ roleId: number;
197
+ }>;
147
198
  invitedAt?: string;
148
199
  };
149
200
  export type ProjectMembersResponsePayload = {
150
201
  users: ProjectMember[];
151
202
  invites: ProjectInvite[];
203
+ errors: ProjectUserError[];
152
204
  };
153
205
  export type ProjectMembersRequestPayload = {
154
206
  roleId: number;
155
207
  emails: string[];
208
+ message?: string;
156
209
  overrideRole?: Partial<{
157
210
  permissions?: string[];
158
211
  subRoles?: Array<{
@@ -165,3 +218,42 @@ export type ProjectInviteMembersResponsePayload = {
165
218
  users: ProjectMember[];
166
219
  invites: ProjectInvite[];
167
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 MentionableUser = {
234
+ id: number;
235
+ fullname: string;
236
+ email: string;
237
+ };
238
+ export type ProjectStorageQueryParams = PaginationParams & {
239
+ cameraName: string;
240
+ cameraExid: CameraExid;
241
+ status: ProjectStorageStatus;
242
+ };
243
+ export type ProjectStorage = {
244
+ id: number;
245
+ cameraExid: CameraExid;
246
+ cameraName: string;
247
+ projectExid: string;
248
+ projectName: string;
249
+ status: ProjectStorageStatus;
250
+ requestor: string;
251
+ created_at: DateType;
252
+ };
253
+ export declare enum ProjectStorageStatus {
254
+ New = "new",
255
+ Pending = "pending",
256
+ Processing = "processing",
257
+ Completed = "completed",
258
+ Failed = "failed"
259
+ }