@evercam/api 1.0.0-c526e2564 → 1.0.0-c540355aa

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 (35) hide show
  1. package/dist/api/api/3dFirebaseApi.d.ts +7 -1
  2. package/dist/api/api/adminApi.d.ts +15 -3
  3. package/dist/api/api/evercamApi.d.ts +7 -12
  4. package/dist/api/api/index.d.ts +1 -1
  5. package/dist/api/api/ingestApi.d.ts +31 -26
  6. package/dist/api/api/{workflowsApi.d.ts → reportsApi.d.ts} +2 -2
  7. package/dist/api/types/360.d.ts +1 -0
  8. package/dist/api/types/admin.d.ts +1 -1
  9. package/dist/api/types/analytics.d.ts +9 -0
  10. package/dist/api/types/apiKey.d.ts +70 -0
  11. package/dist/api/types/auditLogs.d.ts +145 -19
  12. package/dist/api/types/axios.d.ts +1 -1
  13. package/dist/api/types/bim.d.ts +1 -1
  14. package/dist/api/types/camera.d.ts +1 -1
  15. package/dist/api/types/compare.d.ts +1 -1
  16. package/dist/api/types/errors.d.ts +6 -2
  17. package/dist/api/types/index.d.ts +2 -1
  18. package/dist/api/types/ingest.d.ts +92 -25
  19. package/dist/api/types/kit.d.ts +1 -50
  20. package/dist/api/types/observations.d.ts +3 -7
  21. package/dist/api/types/project.d.ts +1 -1
  22. package/dist/api/types/{workflows.d.ts → reports.d.ts} +4 -4
  23. package/dist/api/types/shared.d.ts +13 -1
  24. package/dist/api/types/siteView.d.ts +6 -6
  25. package/dist/index.js +800 -673
  26. package/dist/index.js.map +1 -1
  27. package/dist/index.umd.cjs +1 -1
  28. package/dist/index.umd.cjs.map +1 -1
  29. package/dist/shared/types/components.d.ts +40 -12
  30. package/dist/shared/types/droneUpload.d.ts +93 -0
  31. package/dist/shared/types/index.d.ts +2 -0
  32. package/dist/shared/types/report.d.ts +107 -0
  33. package/dist/shared/utils/datePickerValue.d.ts +36 -0
  34. package/dist/shared/utils/datePresets.d.ts +31 -0
  35. package/package.json +1 -1
@@ -175,7 +175,13 @@ export declare const _3dFirebaseApi: {
175
175
  viewId: string;
176
176
  view: ForgeView;
177
177
  }): Promise<void>;
178
- saveMarkers(projectId: string, markers: ForgeMarker[]): Promise<void>;
178
+ saveModelId({ projectId, modelIndex, id, }: {
179
+ projectId: ProjectExid;
180
+ modelIndex: number;
181
+ id: string;
182
+ }): Promise<void>;
183
+ patchCameraMarkers(projectId: ProjectExid, markers: Record<string, ForgeMarker | null>): Promise<void>;
184
+ patchCameraMarkerNames(projectId: ProjectExid, names: Record<string, string>): Promise<void>;
179
185
  };
180
186
  itwin: {
181
187
  getProjectInfo(projectId: string): Promise<ItwinProjectData | null>;
@@ -1,6 +1,6 @@
1
1
  import { FootageCreateUpdatePayload, HDDCreateUpdatePayload, HDDsQueryParams } from "@evercam/api/types/hdd";
2
2
  import type { OAuthClient, OAuthClientWithSecret, AdminCreateOAuthClientPayload, UpdateOAuthClientPayload } from "@evercam/api/types/oauth";
3
- import type { CamerasResponsePayload, CameraUpdateRequestPayload, PaginatedItems, AdminCamera, AdminProjectDetail, AdminProjectListItem, AdminHdd, AdminUser, ProgressPhotosCreateUpdateRequestPayload, Kit, PatchPayload, StorageProvidersResponsePayload, MediaFilterQueryParams, Media, MediaDeleteRequestPayload, AuditLogsParams, AuditLog, SnapshotExtractionQyeryParams, SnapshotExtraction, CameraCreateRequestPayload, CameraDeletePayload, SnapshotTestPayload, SnapshotTestResponse, DuplicatedCameraFields, DuplicatedCameraResponse, MergeDuplicatedCameraPayload, FetchCameraQueryParams, DeleteSnapshotQueryParams, CameraNote, GetCameraNotesParams, CreateCameraNotePayload, CompanyQueryParams, CompanySummary, CompanyUpdatePayload, SsoProvider, SsoUpdatePayload, SsoCreatePayload, SuppressionsQueryParams, Suppression, SnapshotExtractionType, KitQueryParams, KitCreatePayload, AdminKit, KitMetricStatsEntry, CameraLogsQueryParams, CameraLog, CameraAuditLogsQueryParams, CameraAuditLog, NvrQueryParams, Nvr, SiteVisitCamerasQueryParams, OfflineCameraQueryParams, OfflineCamera, OfflineCameraNoteResponse, UserStatsResponse, UserCameraResponse, UserProjectResponse, ProjectUsers, ProjectCamera, ProjectsQueryParams, ProjectStatusStats, ProjectCreateRequestPayload, ProjectCreateResponse, ProjectUpdateRequestPayload, RouterQueryParams, Router, RouterCreatePayload, GlobalSearchQueryParams, SimCreateUpdatePayload, SimsQueryParams, Sim, SendSmsPayload, SendSmsResponse, SmsHistoryResponse, SmsQueryParams, Sms, ProgressPhotosQueryParams, ProgressPhotoItem, progressPhotosHistoryQueryParams, ProgressPhotosHistory, AdminUserUpdateRequestPayload, AdminQueryParams, Admin, ImpersonateUserResponse, AdminUserQueryParams, AdminCompareQueryParams, AdminCompare, NvrCreatePayload, WidgetsListRequestPayload, AdminWidget, AdminWidgetFull, WidgetPayload, PaginationParams, KitStorageRequestPayload, AdminCompanyUser, AdminCompanyProject, CompanyKit, CompanyCameraSummary, Automation, KitStorage, KitFootageRequestPayload, CommentsListRequestPayload, Comment, KitFootage, KitAlarmItem, KitSupportChecklist, RecycleBin, RecycleBinQueryParams, TransferCloudRecordingsQueryParams, SnapshotTransfer, CheckCameraPortPayload, CameraStatusLog, KitBox, KitBoxCreatePayload, KitBoxQueryParams, AdminInvite, AdminSearchItem, WithZohoParams, ZohoDeskTicketSearchResponse, JsonObject, ProjectStorageQueryParams, ProjectStorage, StorageProvider, AnprExtraction, AnprExtractionCreatePayload } from "@evercam/api/types";
3
+ import type { CamerasResponsePayload, CameraUpdateRequestPayload, PaginatedItems, AdminCamera, AdminProjectDetail, AdminProjectListItem, AdminHdd, AdminUser, ProgressPhotosCreateUpdateRequestPayload, Kit, PatchPayload, StorageProvidersResponsePayload, MediaFilterQueryParams, Media, MediaDeleteRequestPayload, AuditLogsParams, AuditLog, SnapshotExtractionQyeryParams, SnapshotExtraction, CameraCreateRequestPayload, CameraDeletePayload, SnapshotTestPayload, SnapshotTestResponse, DuplicatedCameraFields, DuplicatedCameraResponse, MergeDuplicatedCameraPayload, FetchCameraQueryParams, DeleteSnapshotQueryParams, CameraNote, GetCameraNotesParams, CreateCameraNotePayload, CompanyQueryParams, CompanySummary, CompanyUpdatePayload, SsoProvider, SsoUpdatePayload, SsoCreatePayload, SuppressionsQueryParams, Suppression, SnapshotExtractionType, KitQueryParams, KitMetricStatsEntry, CameraLogsQueryParams, CameraLog, CameraAuditLogsQueryParams, CameraAuditLog, NvrQueryParams, Nvr, SiteVisitCamerasQueryParams, OfflineCameraQueryParams, OfflineCamera, OfflineCameraNoteResponse, UserStatsResponse, UserCameraResponse, UserProjectResponse, ProjectUsers, ProjectCamera, ProjectsQueryParams, ProjectStatusStats, ProjectCreateRequestPayload, ProjectCreateResponse, ProjectUpdateRequestPayload, RouterQueryParams, Router, RouterCreatePayload, GlobalSearchQueryParams, SimCreateUpdatePayload, SimsQueryParams, Sim, SendSmsPayload, SendSmsResponse, SmsHistoryResponse, SmsQueryParams, Sms, ProgressPhotosQueryParams, ProgressPhotoItem, progressPhotosHistoryQueryParams, ProgressPhotosHistory, AdminUserUpdateRequestPayload, AdminQueryParams, Admin, ImpersonateUserResponse, AdminUserQueryParams, AdminCompareQueryParams, AdminCompare, NvrCreatePayload, WidgetsListRequestPayload, AdminWidget, AdminWidgetFull, AdminApiKey, AdminApiKeysRequestParams, UpdateAdminApiKeyPayload, WidgetPayload, PaginationParams, KitStorageRequestPayload, AdminCompanyUser, AdminCompanyProject, CompanyKit, CompanyCameraSummary, Automation, KitStorage, KitFootageRequestPayload, CommentsListRequestPayload, Comment, KitFootage, KitAlarmItem, KitSupportChecklist, RecycleBin, RecycleBinQueryParams, TransferCloudRecordingsQueryParams, SnapshotTransfer, CheckCameraPortPayload, CameraStatusLog, KitBox, KitBoxCreatePayload, KitBoxQueryParams, AdminInvite, AdminSearchItem, WithZohoParams, ZohoDeskTicketSearchResponse, JsonObject, ProjectStorageQueryParams, ProjectStorage, StorageProvider, AnprExtraction, AnprExtractionCreatePayload } from "@evercam/api/types";
4
4
  import { KitMetricId } from "@evercam/api/types";
5
5
  import { Tag } from "@evercam/api/types/tag";
6
6
  import type { AxiosRequestConfig } from "axios";
@@ -17,7 +17,7 @@ export declare const AdminApi: {
17
17
  auditLogs: {
18
18
  getAuditLogs(params: AxiosRequestConfig & {
19
19
  params: Partial<AuditLogsParams>;
20
- }): Promise<PaginatedItems<AuditLog>[]>;
20
+ }): Promise<PaginatedItems<AuditLog>>;
21
21
  };
22
22
  cameras: {
23
23
  getCamerasStats(params: {
@@ -152,7 +152,6 @@ export declare const AdminApi: {
152
152
  params: KitQueryParams;
153
153
  }): Promise<PaginatedItems<Kit[]>>;
154
154
  getKit(kitId: number): Promise<Kit>;
155
- createKit(params: KitCreatePayload): Promise<AdminKit>;
156
155
  updateKit(id: string, params: PatchPayload<Kit>): Promise<import("axios").AxiosResponse<any, any>>;
157
156
  deleteKit(id: string, params: JsonObject): Promise<void>;
158
157
  getKitStats<T = KitMetricStatsEntry>({ kitId, metric, fromDate, toDate, }: {
@@ -285,6 +284,12 @@ export declare const AdminApi: {
285
284
  };
286
285
  shares: {
287
286
  getInvites(params: AxiosPaginationRequestParams): Promise<PaginatedItems<AdminInvite>>;
287
+ resendInvite(id: number): Promise<{
288
+ invite: AdminInvite;
289
+ }>;
290
+ cancelInvite(id: number): Promise<{
291
+ invite: AdminInvite;
292
+ }>;
288
293
  };
289
294
  sims: {
290
295
  deleteSim(simId: number): Promise<{
@@ -356,6 +361,13 @@ export declare const AdminApi: {
356
361
  passwordResetLink: string;
357
362
  }>;
358
363
  };
364
+ apiKeys: {
365
+ index(params: {
366
+ params: Partial<AdminApiKeysRequestParams>;
367
+ }): Promise<PaginatedItems<AdminApiKey>>;
368
+ update(id: number, payload: UpdateAdminApiKeyPayload): Promise<AdminApiKey>;
369
+ delete(id: number): Promise<void>;
370
+ };
359
371
  widgets: {
360
372
  index(params: {
361
373
  params: Partial<WidgetsListRequestPayload>;
@@ -138,6 +138,10 @@ export declare const EvercamApi: {
138
138
  getMembers(projectExid: string): Promise<ProjectMembersResponsePayload>;
139
139
  inviteMembers(projectExid: string, payload: ProjectMembersRequestPayload): Promise<ProjectInviteMembersResponsePayload>;
140
140
  removeMembers(projectExid: string, emails: string[]): Promise<void>;
141
+ resendInvite(projectExid: string, email: string): Promise<{
142
+ message: string;
143
+ }>;
144
+ cancelInvite(projectExid: string, inviteId: number): Promise<void>;
141
145
  updateMembersRole(projectExid: string, payload: ProjectMembersRequestPayload): Promise<void>;
142
146
  requestCameraInfo(projectExid: string): Promise<void>;
143
147
  getMentionableUsers(projectExid: string, scope: CommentsScope): Promise<MentionableUser[]>;
@@ -265,25 +269,16 @@ export declare const EvercamApi: {
265
269
  with_zoho?: boolean;
266
270
  }): Promise<CompanySummary>;
267
271
  getCompanyUsers(params: {
268
- params: {
269
- page: number;
270
- limit: number;
271
- };
272
+ params: PaginationParams;
272
273
  }): Promise<PaginatedItems<CompanyUser>>;
273
274
  getCompanyProjects(params: {
274
- params: {
275
- page: number;
276
- limit: number;
277
- };
275
+ params: PaginationParams;
278
276
  }): Promise<PaginatedItems<CompanyProject>>;
279
277
  getCompanyCameras(params: PaginationParams | {
280
278
  params: PaginationParams;
281
279
  }): Promise<PaginatedItems<CompanyCameraSummary>>;
282
280
  getCompanyKits(params: {
283
- params: {
284
- page: number;
285
- limit: number;
286
- };
281
+ params: PaginationParams;
287
282
  }): Promise<PaginatedItems<CompanyKit>>;
288
283
  };
289
284
  batteries: {
@@ -11,4 +11,4 @@ export * from "./ptzApi";
11
11
  export * from "./ingestApi";
12
12
  export * from "./exNvrApi";
13
13
  export * from "./authzApi";
14
- export * from "./workflowsApi";
14
+ export * from "./reportsApi";
@@ -1,36 +1,36 @@
1
1
  import type { AxiosRequestConfig } from "axios";
2
2
  import type { SwrRequestConfig } from "@evercam/api/types";
3
- import type { _360AssetsQueryParams, _360AssetsRequestPayload, _360QueueQueryParams, _360AssetsUploadPayload, _360AssetsResponse, _360AssetsCountsResponse, _360QueueResponse, _360FloorsResponse, DroneQueueResponse, DroneUploadsResponse, IngestUploadInitResponse, BimUploadsResponse, MobileAssetsQueryParams, MobileCaptureAssetsResponse, BimUploadPayload, BimUploadsQueryParams, CalculateMeasuringOperationRequestPayload, DrawingsRequestPayload, DronesQueryParams, DroneUploadUpdateRequestPayload, IngestProcessingProgress, FlightImagesQueryParams, Generate360MapRequestPayload, GenerateFloorPayload, InspectionToolRequestPayload, JsonObject, _360WalkV2, _360FloorV2 } from "@evercam/api/types";
4
- import { IngestVersions, IngestTypes } from "@evercam/api/types";
3
+ import type { _360AssetsQueryParams, _360AssetsRequestPayload, _360QueueQueryParams, _360AssetsUploadPayload, _360AssetsResponse, _360AssetsCountsResponse, _360QueueResponse, _360FloorsResponse, DroneQueueResponse, DroneUploadsResponse, IngestUploadInitResponse, BimUploadsResponse, MobileAssetsQueryParams, MobileCaptureAssetsResponse, BimUploadPayload, BimUploadsQueryParams, CalculateMeasuringOperationRequestPayload, DrawingsRequestPayload, DronesQueryParams, DroneCreation, DroneCreated, DroneProcessingTarget, DroneUploadItem, DroneFileAllocation, DroneFileStates, DroneCompletion, DroneDeletion, DroneReprocessResponse, AerialAllocation, AerialUploadStates, AerialShotPage, IngestProcessingProgress, FlightImagesQueryParams, Generate360MapRequestPayload, GenerateFloorPayload, InspectionToolRequestPayload, JsonObject, _360WalkV2, _360FloorV2 } from "@evercam/api/types";
4
+ import { IngestTypes } from "@evercam/api/types";
5
5
  export declare const getIngestApiUrls: (type: string) => string[];
6
6
  export declare const IngestApi: {
7
7
  drone: {
8
- createUpload(projectId: string, params: {
9
- uploadedBy: string;
10
- }): Promise<IngestUploadInitResponse>;
11
- reprocessDrone(id: number, params?: JsonObject): Promise<void>;
8
+ createProcessing(ingestUrl: string, payload: DroneCreation, signal?: AbortSignal): Promise<DroneCreated>;
9
+ getProcessing({ ingestUrl, id }: DroneProcessingTarget, signal?: AbortSignal): Promise<DroneUploadItem>;
10
+ getFlightProcessing(projectId: string, date: string): Promise<DroneUploadItem>;
11
+ allocateFiles({ ingestUrl, id }: DroneProcessingTarget, files: DroneFileAllocation[], signal?: AbortSignal): Promise<DroneFileStates>;
12
+ acknowledgeFiles({ ingestUrl, id }: DroneProcessingTarget, filenames: string[], signal?: AbortSignal): Promise<DroneCompletion>;
13
+ completeProcessing({ ingestUrl, id }: DroneProcessingTarget, signal?: AbortSignal): Promise<DroneCompletion>;
14
+ deleteFiles(id: number, filenames?: string[]): Promise<DroneDeletion>;
15
+ allocateAerialShots({ ingestUrl, id }: DroneProcessingTarget, aerialShots: AerialAllocation[], signal?: AbortSignal): Promise<AerialUploadStates>;
16
+ acknowledgeAerialShots({ ingestUrl, id }: DroneProcessingTarget, filenames: string[], signal?: AbortSignal): Promise<AerialUploadStates>;
17
+ getAerialShots(id: number, params?: {
18
+ cursor?: string;
19
+ limit?: number;
20
+ processingStatus?: string;
21
+ }): Promise<AerialShotPage>;
22
+ deleteAerialShots(id: number, filenames?: string[]): Promise<DroneDeletion>;
23
+ reprocessDrone(id: number, params?: JsonObject): Promise<DroneReprocessResponse>;
12
24
  getDrones(params: {
13
25
  params: Partial<DronesQueryParams>;
14
26
  }): Promise<DroneUploadsResponse>;
15
27
  getProcessingProgress(id: number): Promise<IngestProcessingProgress>;
16
28
  getArchive(id: number, params: {
17
29
  dataType: string;
18
- }): Promise<Blob>;
30
+ }): Promise<string>;
19
31
  deleteUpload(id: number): Promise<void>;
20
- prepareForUpload(projectId: string, params: {
21
- uploadedBy: string;
22
- token: string;
23
- }): Promise<void>;
24
- upload(projectId: string, params: {
25
- uploadedBy: string;
26
- token: string;
27
- }, payload: DroneUploadUpdateRequestPayload): Promise<void>;
28
- verifyToken(projectId: string, params: {
29
- token: string;
30
- }): Promise<JsonObject>;
31
32
  calculateMeasuringOperation(projectId: string, params: CalculateMeasuringOperationRequestPayload, ingestUrl?: string): Promise<JsonObject>;
32
33
  inspectionTool(projectId: string, params: InspectionToolRequestPayload): Promise<JsonObject>;
33
- isInspectionEnabled(projectId: string, params?: JsonObject): Promise<JsonObject>;
34
34
  getDroneQueueSize(droneUrl: string): Promise<DroneQueueResponse>;
35
35
  getFlightImages(projectId: string, params: FlightImagesQueryParams): Promise<JsonObject>;
36
36
  checkFlightAvailableFeatures(projectId: string, params: JsonObject): Promise<JsonObject>;
@@ -64,7 +64,9 @@ export declare const IngestApi: {
64
64
  params: DrawingsRequestPayload;
65
65
  config?: SwrRequestConfig<_360FloorsResponse>;
66
66
  }): Promise<_360FloorsResponse>;
67
- getDrawingById(id: number, projectExid: string): Promise<_360FloorV2>;
67
+ getDrawingById(id: number, projectExid: string, { assetSummary }?: {
68
+ assetSummary?: boolean;
69
+ }): Promise<_360FloorV2>;
68
70
  updateDrawing(id: number, projectExid: string, payload: GenerateFloorPayload): Promise<_360FloorV2>;
69
71
  deleteDrawing(id: number): Promise<void>;
70
72
  restoreDrawing(id: number): Promise<void>;
@@ -74,6 +76,9 @@ export declare const IngestApi: {
74
76
  view: boolean;
75
77
  thumbnail?: boolean;
76
78
  }, onDownloadProgress?: (progress: ProgressEvent) => void, extraConfig?: AxiosRequestConfig): Promise<string>;
79
+ fetchDrawingOverlayBlob(id: number, params?: {
80
+ thumbnail?: boolean;
81
+ }, extraConfig?: AxiosRequestConfig): Promise<Blob>;
77
82
  getFloorArchive(id: number): Promise<string>;
78
83
  generate360map(projectId: string, params: Generate360MapRequestPayload): Promise<JsonObject>;
79
84
  get360QueueSize(ingestUrl: string, params?: _360QueueQueryParams): Promise<_360QueueResponse>;
@@ -110,8 +115,6 @@ export declare const IngestApi: {
110
115
  ingestVersion: string;
111
116
  id: number;
112
117
  projectId: string;
113
- consumed: boolean;
114
- token: string;
115
118
  flightDate: string;
116
119
  flightGeolocation: string;
117
120
  modelZip: string;
@@ -122,9 +125,10 @@ export declare const IngestApi: {
122
125
  processingStatus: import("@evercam/api/types").IngestProcessingStatus | string;
123
126
  modelCesiumAssetId: string;
124
127
  updatedAt: string;
125
- hasTusLinks: boolean;
128
+ canDelete: boolean;
129
+ canReprocess: boolean;
126
130
  hasSteps: boolean;
127
- aerialShots: import("@evercam/api/types").AerialShotItem[];
131
+ aerialShotsCount: number;
128
132
  } | {
129
133
  ingestVersion: string;
130
134
  archive: string;
@@ -155,7 +159,8 @@ export declare const IngestApi: {
155
159
  videoArchive: string;
156
160
  videos: string[];
157
161
  })[]>;
158
- getIngestVersion(ingestUrl: string): IngestVersions;
159
- chooseIngestApiUrl(type: IngestTypes): Promise<string>;
162
+ getIngestNumber(ingestUrl: string): number;
163
+ getIngestVersion(ingestUrl: string): string;
164
+ chooseIngestApiUrl(type: IngestTypes, isTieToNewest?: boolean): Promise<string>;
160
165
  };
161
166
  };
@@ -1,13 +1,13 @@
1
1
  import { type ChatListPage, type ChatListParams, type ChatSession } from "@evercam/api/types";
2
2
  /**
3
- * The Evercam Workflows engine, for the admin Chat conversations viewer.
3
+ * The Evercam Reports engine, for the admin Chat conversations viewer.
4
4
  *
5
5
  * The engine speaks camelCase natively, so every call preserves casing rather than
6
6
  * running the snake conversion the media API needs. The admin's bearer is attached
7
7
  * by the shared request interceptor — an admin resolves `is_admin` on the engine, so
8
8
  * `scope=all` returns every user's conversations.
9
9
  */
10
- export declare const WorkflowsApi: {
10
+ export declare const ReportsApi: {
11
11
  chat: {
12
12
  listConversations(params?: ChatListParams): Promise<ChatListPage>;
13
13
  getConversation(id: string): Promise<ChatSession>;
@@ -211,6 +211,7 @@ export declare enum _360IntergrationType {
211
211
  export declare enum PathMarkerColor {
212
212
  Start = "#00e74c",
213
213
  End = "#fd7567",
214
+ Anchor = "#ffb300",
214
215
  Default = "#2196F3"
215
216
  }
216
217
  export type _360AssetsQueryParams = PaginationParams & {
@@ -41,7 +41,7 @@ export type AdminInvite = {
41
41
  resourceId: string;
42
42
  assigner: AdminInviteAssigner;
43
43
  sentCount: number;
44
- lastSentAt: string;
44
+ lastSentAt: string | null;
45
45
  authContext: AdminInviteAuthContext;
46
46
  statusName: string;
47
47
  };
@@ -16,6 +16,7 @@ export declare enum AnalyticsEventPageId {
16
16
  Automations = "Automations",
17
17
  ProgressPhotosUnsubscribe = "ProgressPhotosUnsubscribe",
18
18
  VideoWall = "VideoWall",
19
+ GlobalVideoWall = "GlobalVideoWall",
19
20
  ProjectSettings = "ProjectSettings",
20
21
  ProjectSettingsCameraSettings = "ProjectSettings-CameraSettings",
21
22
  ProjectSettingsMembers = "ProjectSettings-Members",
@@ -36,6 +37,7 @@ export declare enum AnalyticsEventPageId {
36
37
  EmbeddedLive = "EmbeddedLive",
37
38
  EmbeddedRecordings = "EmbeddedRecordings",
38
39
  EmbeddedBimCompare = "EmbeddedBimCompare",
40
+ GlobalWidgets = "GlobalWidgets",
39
41
  GateReportInfo = "GateReportInfo",
40
42
  BimInfo = "BimInfo",
41
43
  DroneInfo = "DroneInfo",
@@ -351,6 +353,12 @@ export declare enum AnalyticsEvent {
351
353
  DroneToggleImageryPlan = "ToggleImageryPlan",
352
354
  DroneToggleSceneMode = "ToggleSceneMode",
353
355
  DroneUploadFlight = "UploadFlight",
356
+ DroneUploadStarted = "DroneUpload-Started",
357
+ DroneUploadFailed = "DroneUpload-Failed",
358
+ DroneUploadRetried = "DroneUpload-Retried",
359
+ DroneUploadAutoResumed = "DroneUpload-AutoResumed",
360
+ DroneUploadCompleted = "DroneUpload-Completed",
361
+ DroneUploadCancelled = "DroneUpload-Cancelled",
354
362
  DroneViewLocationInGoogleMaps = "ViewLocationInGoogleMaps",
355
363
  DroneVolumeToolClick = "VolumeTool-Click",
356
364
  DroneZoomIn = "ZoomIn",
@@ -442,6 +450,7 @@ export declare enum AnalyticsEvent {
442
450
  ProjectSettingsMembersBulkRemove = "BulkRemove",
443
451
  ProjectSettingsMembersInviteSent = "InviteSent",
444
452
  ProjectSettingsMembersRejectInvite = "RejectInvite",
453
+ ProjectSettingsMembersResendInvite = "ResendInvite",
445
454
  ProjectSettingsMembersAddMember = "AddMember",
446
455
  ProjectSettingsMembersBulkRoleUpdate = "BulkRoleUpdate",
447
456
  ProjectSettingsMembersDeleteCameraAccess = "DeleteCameraAccess",
@@ -0,0 +1,70 @@
1
+ export declare enum ApiKeyType {
2
+ User = "user",
3
+ Workflows = "workflows",
4
+ Widget = "widget"
5
+ }
6
+ export type ApiKey = {
7
+ id: number;
8
+ name: string;
9
+ type: ApiKeyType;
10
+ maskedKey: string;
11
+ key: string | null;
12
+ scopes: string[];
13
+ projects: string[];
14
+ active: boolean;
15
+ expiresAt: string | null;
16
+ lastUsedAt: string | null;
17
+ revokedAt: string | null;
18
+ insertedAt: string;
19
+ updatedAt: string;
20
+ };
21
+ export declare enum ApiKeyStatus {
22
+ Active = "active",
23
+ Expired = "expired",
24
+ Revoked = "revoked"
25
+ }
26
+ export type ApiKeysRequestParams = {
27
+ name?: string;
28
+ type?: ApiKeyType;
29
+ status?: ApiKeyStatus[];
30
+ expiresAtFrom?: string;
31
+ expiresAtTo?: string;
32
+ lastUsedAtFrom?: string;
33
+ lastUsedAtTo?: string;
34
+ sort?: string;
35
+ page?: number;
36
+ limit?: number;
37
+ };
38
+ export type CreateApiKeyPayload = {
39
+ name: string;
40
+ scopes: string[];
41
+ resources?: {
42
+ projects: string[];
43
+ };
44
+ type?: ApiKeyType;
45
+ expiresAt?: string;
46
+ };
47
+ export type UpdateApiKeyPayload = {
48
+ name?: string;
49
+ scopes?: string[];
50
+ resources?: {
51
+ projects: string[];
52
+ };
53
+ expiresAt?: string | null;
54
+ };
55
+ export type AdminApiKey = Omit<ApiKey, "key"> & {
56
+ user: {
57
+ email: string;
58
+ fullname: string;
59
+ };
60
+ };
61
+ export type AdminApiKeysRequestParams = ApiKeysRequestParams & {
62
+ user?: string;
63
+ userId?: number;
64
+ lastUsedAtFrom?: string;
65
+ lastUsedAtTo?: string;
66
+ };
67
+ export type UpdateAdminApiKeyPayload = {
68
+ name: string;
69
+ expiresAt: string | null;
70
+ };
@@ -1,4 +1,4 @@
1
- import { CameraStatus, DateType, PaginationParams } from "@evercam/api/types";
1
+ import { CameraStatus, DateType, JsonValue, PaginationParams } from "@evercam/api/types";
2
2
  export declare enum AuditLogActionType {
3
3
  VH_STATUS = "vh_status",
4
4
  CR_UPDATED = "cr_updated",
@@ -29,8 +29,17 @@ export declare enum AuditLogActionType {
29
29
  SHARE_REQUEST = "share_request",
30
30
  DELETE_SHARE_REQUEST = "delete_share_request",
31
31
  TRANSFER_OWNERSHIP = "transfer_ownership",
32
- BIM_NOTE = "bim_note",
33
- GATE_REPORT_NOTE = "gate_report_note"
32
+ TRANSFER_PROJECT = "transfer_project",
33
+ ASSIGN = "assign",
34
+ UNASSIGN = "unassign",
35
+ OAUTH_AUTHORIZE = "oauth_authorize",
36
+ OAUTH_TOKEN_ISSUE = "oauth_token_issue",
37
+ OAUTH_TOKEN_REFRESH = "oauth_token_refresh",
38
+ OAUTH_TOKEN_REVOKE = "oauth_token_revoke",
39
+ OAUTH_CLIENT_CREATE = "oauth_client_create",
40
+ OAUTH_CLIENT_DELETE = "oauth_client_delete",
41
+ API_KEY_REGENERATE = "api_key_regenerate",
42
+ API_KEY_REVOKE = "api_key_revoke"
34
43
  }
35
44
  export declare enum AuditLogEntity {
36
45
  Cameras = "cameras",
@@ -48,31 +57,148 @@ export declare enum AuditLogEntity {
48
57
  Tags = "tags",
49
58
  KitsTags = "kits_tags",
50
59
  Oauth = "oauth",
60
+ ApiKeys = "api_keys",
51
61
  StorageProviders = "storage_providers"
52
62
  }
63
+ export type AuditLogDiff = {
64
+ old: Record<string, JsonValue>;
65
+ new: Record<string, JsonValue>;
66
+ };
67
+ export type AuditLogHddInfoItem = {
68
+ name?: string;
69
+ capacity?: string;
70
+ freeSpace?: string;
71
+ status?: string;
72
+ property?: string;
73
+ };
74
+ export type AuditLogCameraDetails = {
75
+ exid?: string;
76
+ name?: string;
77
+ with?: string;
78
+ errorBody?: string;
79
+ reason?: string;
80
+ settings?: AuditLogDiff;
81
+ };
82
+ export type AuditLogRouterDetails = {
83
+ serialNumber?: string;
84
+ cameraExid?: string;
85
+ cameraName?: string;
86
+ simNumber?: string;
87
+ settings?: AuditLogDiff;
88
+ deviceSettings?: Record<string, JsonValue>;
89
+ };
90
+ export type AuditLogUserEntityDetails = {
91
+ firstname?: string;
92
+ lastname?: string;
93
+ settings?: AuditLogDiff;
94
+ };
95
+ export type AuditLogProjectDetails = {
96
+ exid?: string;
97
+ name?: string;
98
+ settings?: AuditLogDiff;
99
+ };
100
+ export type AuditLogApiKeyDetails = {
101
+ name?: string;
102
+ maskedKey?: string;
103
+ userId?: number;
104
+ };
105
+ export type AuditLogDetails = {
106
+ id?: number;
107
+ exid?: string;
108
+ name?: string;
109
+ displayName?: string;
110
+ layerId?: number;
111
+ serial?: string;
112
+ type?: string;
113
+ note?: string;
114
+ with?: string;
115
+ message?: string;
116
+ config?: Record<string, JsonValue>;
117
+ settings?: AuditLogDiff;
118
+ camera?: AuditLogCameraDetails;
119
+ router?: AuditLogRouterDetails;
120
+ user?: AuditLogUserEntityDetails;
121
+ project?: AuditLogProjectDetails;
122
+ sim?: {
123
+ number?: string;
124
+ };
125
+ kit?: {
126
+ name?: string;
127
+ };
128
+ hdd?: {
129
+ serialNumber?: string;
130
+ settings?: AuditLogDiff;
131
+ };
132
+ roi?: {
133
+ settings?: AuditLogDiff;
134
+ };
135
+ hddInfo?: AuditLogHddInfoItem[];
136
+ oldOwner?: string;
137
+ newOwner?: string;
138
+ oldProjectExid?: string;
139
+ oldProjectName?: string;
140
+ newProjectExid?: string;
141
+ newProjectName?: string;
142
+ fromAdmin?: boolean;
143
+ who?: string;
144
+ email?: string;
145
+ scope?: string;
146
+ resourceId?: string;
147
+ clientId?: string;
148
+ clientName?: string;
149
+ oauthClientId?: string;
150
+ scopes?: string[];
151
+ grantType?: string;
152
+ tokenType?: string;
153
+ maskedKey?: string;
154
+ userId?: number;
155
+ apiKey?: AuditLogApiKeyDetails;
156
+ revoked?: AuditLogApiKeyDetails;
157
+ };
158
+ export declare enum AuditLogAuthMethod {
159
+ Password = "password",
160
+ ApiKeyV2 = "api_key_v2",
161
+ Widget = "widget",
162
+ OauthAccess = "oauth_access",
163
+ Impersonation = "impersonation",
164
+ Sso = "sso"
165
+ }
166
+ export type AuditLogUserDetails = {
167
+ browser: string;
168
+ country: string;
169
+ countryCode: string;
170
+ device: string | null;
171
+ ip: string;
172
+ os: string | null;
173
+ authMethod?: AuditLogAuthMethod;
174
+ apiKeyId?: number;
175
+ apiKeyName?: string;
176
+ apiKeyMasked?: string;
177
+ widgetId?: number;
178
+ oauthClientId?: string;
179
+ impersonatedBy?: string;
180
+ who?: string;
181
+ };
53
182
  export type AuditLog = {
54
183
  id: number;
55
184
  action: AuditLogActionType;
56
- details: Record<string, any>;
185
+ details: AuditLogDetails;
57
186
  insertedAt: DateType;
58
- entity: string;
59
- user_details: {
60
- browser: string;
61
- country: string;
62
- countryCode: string;
63
- device: string | null;
64
- ip: string;
65
- os: string | null;
66
- };
187
+ entity: AuditLogEntity;
188
+ userDetails: AuditLogUserDetails;
67
189
  who: string;
68
190
  };
69
191
  export type AuditLogsParams = PaginationParams & {
70
- routerId: number;
71
- cameraId: number;
72
- entity: string;
73
- byRouter: boolean;
74
- byCamera: boolean;
75
- byProject: boolean;
192
+ routerId: number | null;
193
+ cameraId: number | null;
194
+ entity: AuditLogEntity[] | "";
195
+ byRouter: string;
196
+ byCamera: string;
197
+ byProject: string;
198
+ userId: number;
199
+ byIp: string;
200
+ from: string;
201
+ to: string;
76
202
  action: string;
77
203
  };
78
204
  export type CameraLogsQueryParams = {
@@ -13,7 +13,7 @@ export type AxiosEnvironment = {
13
13
  weatherApiBaseUrl?: string | null;
14
14
  evercamLabsUrl?: string | null;
15
15
  isLabsStaging?: boolean;
16
- workflowsApiUrl?: string | null;
16
+ reportsApiUrl?: string | null;
17
17
  firebaseDbLink?: string | null;
18
18
  firebaseStorageUrl?: string | null;
19
19
  firebaseStorageToken?: string | null;
@@ -40,7 +40,7 @@ export type BimCompareExportRequestPayload = {
40
40
  cameraExid: string;
41
41
  snapshotDate: string;
42
42
  bimDate: string;
43
- embed: string;
43
+ embed?: string;
44
44
  compareExid: string;
45
45
  createAnimation: boolean;
46
46
  bimTransparency?: number;
@@ -491,7 +491,7 @@ export declare enum DuplicatedCameraFields {
491
491
  export type DuplicatedCameraObject = {
492
492
  exid: string;
493
493
  name: string;
494
- cameraStatus: string;
494
+ cameraStatus: CameraStatus;
495
495
  crStatus: string;
496
496
  };
497
497
  export type DuplicatedCameraResponse = {
@@ -33,7 +33,7 @@ export type CompareRequestPayload = {
33
33
  beforeDate: string;
34
34
  afterDate: string;
35
35
  cameraExid: string;
36
- embed: string;
36
+ embed?: string;
37
37
  bim?: boolean;
38
38
  custom?: boolean;
39
39
  options?: {
@@ -24,7 +24,8 @@ export declare enum ErrorCode {
24
24
  ForbiddenError = 403,
25
25
  NotFoundError = 404,
26
26
  ConflictError = 409,
27
- GoneError = 410
27
+ GoneError = 410,
28
+ TooManyRequestsError = 429
28
29
  }
29
30
  export declare enum EvercamApiErrorCode {
30
31
  IntegrationError = "INTEGRATION_ERROR",
@@ -38,7 +39,8 @@ export declare enum EvercamApiErrorCode {
38
39
  ProviderEmailRequired = "PROVIDER_EMAIL_REQUIRED",
39
40
  PasswordReset = "PASSWORD_RESET",
40
41
  RequireShareRequest = "REQUIRE_SHARE_REQUEST",
41
- Generic = "GENERIC"
42
+ Generic = "GENERIC",
43
+ VideoWallInUse = "VIDEO_WALL_IN_USE"
42
44
  }
43
45
  type _EvercamApiError = {
44
46
  code: EvercamApiErrorCode;
@@ -47,6 +49,8 @@ type _EvercamApiError = {
47
49
  innerError?: _EvercamApiError;
48
50
  };
49
51
  export type EvercamApiError = AxiosError<_EvercamApiError>;
52
+ export declare function isEvercamApiError(error: unknown): error is EvercamApiError;
53
+ export declare function getEvercamApiErrorCode(error: unknown): EvercamApiErrorCode | undefined;
50
54
  export type AppError = {
51
55
  statusCode?: number;
52
56
  message?: string;
@@ -61,11 +61,12 @@ export * from "./posthog";
61
61
  export * from "./recycleBin";
62
62
  export * from "./authz";
63
63
  export * from "./oauth";
64
+ export * from "./apiKey";
64
65
  export * from "./ring";
65
66
  export * from "./smartSeach";
66
67
  export * from "./siteView";
67
68
  export * from "./aiConfigs";
68
69
  export * from "./gateReportManagement";
69
70
  export * from "./socket";
70
- export * from "./workflows";
71
+ export * from "./reports";
71
72
  export * from "./observationEvents";