@evercam/api 1.0.0-85ac1f348 → 1.0.0-882ca0356

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 (131) hide show
  1. package/README.md +4 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +176 -0
  3. package/dist/api/{adminApi.d.ts → api/adminApi.d.ts} +139 -72
  4. package/dist/api/api/aiApi.d.ts +160 -0
  5. package/dist/api/api/authzApi.d.ts +37 -0
  6. package/dist/api/{client → api/client}/axios.d.ts +2 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +14 -0
  8. package/dist/api/api/client/swr/SwrStore.d.ts +10 -0
  9. package/dist/api/api/evercamApi.d.ts +346 -0
  10. package/dist/api/{evercamLabsApi.d.ts → api/evercamLabsApi.d.ts} +7 -4
  11. package/dist/api/{exNvrApi.d.ts → api/exNvrApi.d.ts} +1 -1
  12. package/dist/api/api/index.d.ts +13 -0
  13. package/dist/api/api/ingestApi.d.ts +154 -0
  14. package/dist/api/{ptzApi.d.ts → api/ptzApi.d.ts} +12 -3
  15. package/dist/api/api/videoWallApi.d.ts +9 -0
  16. package/dist/api/{weatherApi.d.ts → api/weatherApi.d.ts} +2 -2
  17. package/dist/api/index.d.ts +3 -13
  18. package/dist/api/types/360.d.ts +292 -0
  19. package/dist/api/types/aconex.d.ts +143 -0
  20. package/dist/api/types/admin.d.ts +51 -0
  21. package/dist/api/types/aiConfigs.d.ts +154 -0
  22. package/dist/{types → api/types}/analytics.d.ts +193 -40
  23. package/dist/{types → api/types}/anpr.d.ts +55 -13
  24. package/dist/{types → api/types}/auditLogs.d.ts +19 -1
  25. package/dist/api/types/authz.d.ts +61 -0
  26. package/dist/{types → api/types}/autodesk.d.ts +7 -7
  27. package/dist/api/types/automation.d.ts +95 -0
  28. package/dist/{types → api/types}/axios.d.ts +29 -7
  29. package/dist/{types → api/types}/bim.d.ts +36 -5
  30. package/dist/{types → api/types}/camera.d.ts +112 -94
  31. package/dist/{types → api/types}/comments.d.ts +24 -10
  32. package/dist/api/types/company.d.ts +115 -0
  33. package/dist/{types → api/types}/compare.d.ts +20 -5
  34. package/dist/{types → api/types}/connector.d.ts +4 -5
  35. package/dist/api/types/coolify.d.ts +36 -0
  36. package/dist/{types → api/types}/copilot.d.ts +11 -6
  37. package/dist/{types → api/types}/countries.d.ts +0 -7
  38. package/dist/{types → api/types}/credentials.d.ts +1 -0
  39. package/dist/{types → api/types}/detections.d.ts +23 -34
  40. package/dist/api/types/drone.d.ts +107 -0
  41. package/dist/{types → api/types}/errors.d.ts +12 -0
  42. package/dist/{types → api/types}/gateReport.d.ts +50 -158
  43. package/dist/api/types/gateReportManagement.d.ts +175 -0
  44. package/dist/{types → api/types}/hdd.d.ts +26 -1
  45. package/dist/{types → api/types}/index.d.ts +13 -1
  46. package/dist/api/types/ingest.d.ts +148 -0
  47. package/dist/{types → api/types}/kit.d.ts +65 -9
  48. package/dist/api/types/map.d.ts +16 -0
  49. package/dist/{types → api/types}/media.d.ts +8 -2
  50. package/dist/api/types/notification.d.ts +57 -0
  51. package/dist/api/types/oauth.d.ts +62 -0
  52. package/dist/api/types/planner.d.ts +132 -0
  53. package/dist/api/types/posthog.d.ts +33 -0
  54. package/dist/{types → api/types}/procore.d.ts +26 -16
  55. package/dist/{types → api/types}/progressPhoto.d.ts +11 -23
  56. package/dist/api/types/project.d.ts +247 -0
  57. package/dist/{types → api/types}/recording.d.ts +9 -13
  58. package/dist/api/types/recycleBin.d.ts +14 -0
  59. package/dist/api/types/ring.d.ts +53 -0
  60. package/dist/{types → api/types}/roi.d.ts +4 -3
  61. package/dist/{types → api/types}/routeParams.d.ts +4 -2
  62. package/dist/{types → api/types}/router.d.ts +20 -1
  63. package/dist/{types → api/types}/shared.d.ts +31 -10
  64. package/dist/api/types/shares.d.ts +58 -0
  65. package/dist/{types → api/types}/sim.d.ts +6 -6
  66. package/dist/api/types/siteAnalytics.d.ts +287 -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 +104 -0
  70. package/dist/api/types/sso.d.ts +55 -0
  71. package/dist/api/types/storageProvider.d.ts +19 -0
  72. package/dist/api/types/storyblok.d.ts +40 -0
  73. package/dist/{types → api/types}/streaming.d.ts +4 -5
  74. package/dist/{types → api/types}/tag.d.ts +1 -1
  75. package/dist/api/types/time.d.ts +7 -0
  76. package/dist/{types → api/types}/timelapse.d.ts +8 -5
  77. package/dist/{types → api/types}/user.d.ts +106 -37
  78. package/dist/api/types/videoWall.d.ts +66 -0
  79. package/dist/api/types/weather.d.ts +153 -0
  80. package/dist/{types → api/types}/widget.d.ts +96 -16
  81. package/dist/{types → api/types}/xweather.d.ts +4 -4
  82. package/dist/index.d.ts +2 -3
  83. package/dist/index.js +2223 -1003
  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/api/index.d.ts +3 -0
  88. package/dist/shared/components/timelinePlayer/providers/index.d.ts +3 -0
  89. package/dist/shared/components/timelinePlayer/providers/timelineAnprProvider.d.ts +17 -0
  90. package/dist/shared/components/timelinePlayer/providers/timelineDataProvider.d.ts +13 -0
  91. package/dist/shared/components/timelinePlayer/providers/timelineLuminanceProvider.d.ts +16 -0
  92. package/dist/shared/types/components.d.ts +329 -0
  93. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  94. package/dist/shared/types/imagePlayer.d.ts +41 -0
  95. package/dist/shared/types/index.d.ts +6 -0
  96. package/dist/shared/types/rbac.d.ts +67 -0
  97. package/dist/shared/types/timeline.d.ts +10 -0
  98. package/package.json +7 -4
  99. package/dist/api/3dFirebaseApi.d.ts +0 -10
  100. package/dist/api/aiApi.d.ts +0 -138
  101. package/dist/api/authzApi.d.ts +0 -21
  102. package/dist/api/evercamApi.d.ts +0 -294
  103. package/dist/api/ingestApi.d.ts +0 -67
  104. package/dist/api/videoWallApi.d.ts +0 -9
  105. package/dist/types/360.d.ts +0 -87
  106. package/dist/types/aconex.d.ts +0 -45
  107. package/dist/types/automation.d.ts +0 -6
  108. package/dist/types/company.d.ts +0 -46
  109. package/dist/types/coolify.d.ts +0 -18
  110. package/dist/types/drone.d.ts +0 -17
  111. package/dist/types/ingest.d.ts +0 -43
  112. package/dist/types/map.d.ts +0 -4
  113. package/dist/types/notification.d.ts +0 -27
  114. package/dist/types/planner.d.ts +0 -28
  115. package/dist/types/project.d.ts +0 -127
  116. package/dist/types/shares.d.ts +0 -196
  117. package/dist/types/siteAnalytics.d.ts +0 -141
  118. package/dist/types/snapshots.d.ts +0 -50
  119. package/dist/types/storageServers.d.ts +0 -4
  120. package/dist/types/time.d.ts +0 -21
  121. package/dist/types/videoWall.d.ts +0 -33
  122. package/dist/types/weather.d.ts +0 -87
  123. /package/dist/api/{client → api/client}/customErrors.d.ts +0 -0
  124. /package/dist/api/{client → api/client}/index.d.ts +0 -0
  125. /package/dist/api/{client → api/client}/interceptors.d.ts +0 -0
  126. /package/dist/api/{webRtcApi.d.ts → api/webRtcApi.d.ts} +0 -0
  127. /package/dist/{types → api/types}/nvr.d.ts +0 -0
  128. /package/dist/{types → api/types}/systemCheck.d.ts +0 -0
  129. /package/dist/{types → api/types}/vendorModel.d.ts +0 -0
  130. /package/dist/{types → api/types}/voyageControl.d.ts +0 -0
  131. /package/dist/{utils.d.ts → api/utils.d.ts} +0 -0
@@ -0,0 +1,61 @@
1
+ export declare enum RoleResourceType {
2
+ App = "app",
3
+ Camera = "camera",
4
+ Project = "project"
5
+ }
6
+ export type RoleSubRole = {
7
+ resourceId: string;
8
+ roleId: number;
9
+ roleName?: string;
10
+ permissions?: string[];
11
+ };
12
+ export type Role = {
13
+ id: number;
14
+ name: string;
15
+ description?: string | null;
16
+ resource?: string;
17
+ resourceType: RoleResourceType;
18
+ resourceId?: string | null;
19
+ permissions: string[];
20
+ subRoles?: RoleSubRole[];
21
+ isDefault?: boolean;
22
+ };
23
+ export type ProjectResourceRole = Role & {
24
+ resourceType: RoleResourceType.Project;
25
+ };
26
+ export type CameraResourceRole = Omit<Role, "subRoles"> & {
27
+ resourceType: RoleResourceType.Camera;
28
+ };
29
+ export type ProjectRoleRequestPayload = {
30
+ name: string;
31
+ permissions: string[];
32
+ subRoles?: RoleSubRole[];
33
+ };
34
+ export type AuthzRoleUser = {
35
+ email: string;
36
+ resourceId: string;
37
+ };
38
+ export type AuthzUserRolesResponse = {
39
+ roles: Role[];
40
+ };
41
+ export type AuthzScopePermission = {
42
+ id: number;
43
+ action: string;
44
+ exid: string;
45
+ };
46
+ export type AuthzScope = {
47
+ id: number;
48
+ name: string;
49
+ description: string | null;
50
+ permissions: AuthzScopePermission[];
51
+ app: string;
52
+ exid: string;
53
+ };
54
+ export type AuthzScopeCreatePayload = {
55
+ name: string;
56
+ description?: string;
57
+ permissions: string[];
58
+ };
59
+ export type AuthzScopeUpdatePayload = Partial<AuthzScopeCreatePayload>;
60
+ export declare function isProjectRole(role: Role): role is ProjectResourceRole;
61
+ export declare function isCameraRole(role: Role): role is CameraResourceRole;
@@ -1,20 +1,20 @@
1
- export type AutodeskUserHubsResponsePayload = Array<{
1
+ export type AutodeskUserHub = {
2
2
  text: string;
3
3
  value: string;
4
- }>;
5
- export type AutodeskProjectsResponsePayload = Array<{
4
+ };
5
+ export type AutodeskProject = {
6
6
  text: string;
7
7
  value: string;
8
- }>;
9
- export type AutodeskFolderResponsePayload = {
8
+ };
9
+ export type AutodeskFolder = {
10
10
  text: string;
11
11
  value: string;
12
12
  allowedFileType: string;
13
13
  allowedFolderType: string;
14
- children: Array<AutodeskFolderResponsePayload>;
14
+ children: Array<AutodeskFolder>;
15
15
  parentName?: string;
16
16
  };
17
- export type AutodeskUploadSnapshotPayload = {
17
+ export type AutodeskSnapshot = {
18
18
  projectId: string;
19
19
  folderId: string;
20
20
  accFileType: string;
@@ -0,0 +1,95 @@
1
+ import { AconexIdentifiers, CameraExid } from "@evercam/api/types";
2
+ export declare enum AutomationProvider {
3
+ Aconex = "aconex",
4
+ Procore = "procore",
5
+ Autodesk = "autodesk",
6
+ Email = "email"
7
+ }
8
+ export declare enum AutomationType {
9
+ Photo = "photo",
10
+ Compare = "compare",
11
+ GateReport = "gate_report"
12
+ }
13
+ export type AutomationCompareConfig = {
14
+ compareDelay: number;
15
+ };
16
+ export type AutomationEmailRecipient = string | {
17
+ email: string;
18
+ };
19
+ export type AutomationGateReportConfig = {
20
+ projectExid: string;
21
+ vehicleTypes: string[];
22
+ fileType: string;
23
+ period: number;
24
+ columns: string[];
25
+ recipients: string | string[];
26
+ };
27
+ export type AutomationEmailProviderConfig = {
28
+ cameraExids?: CameraExid[];
29
+ recipients: string | AutomationEmailRecipient[];
30
+ };
31
+ export type AutomationProcoreProviderConfig = {
32
+ companyId: number;
33
+ companyName: string;
34
+ projectId: number;
35
+ projectName: string;
36
+ categoryId: number;
37
+ categoryName: string;
38
+ };
39
+ export type AutomationAconexProviderConfig = {
40
+ projectId: number;
41
+ projectName: string;
42
+ } & Partial<Record<AconexIdentifiers, string | number | boolean>>;
43
+ export type AutomationAutodeskProviderConfig = {
44
+ hubId: number;
45
+ hubName: string;
46
+ projectId: number;
47
+ projectName: string;
48
+ folderId: number;
49
+ accFileType: string;
50
+ accFolderType: string;
51
+ folderName: string;
52
+ };
53
+ export type AutomationProviderConfig = AutomationEmailProviderConfig | AutomationProcoreProviderConfig | AutomationAconexProviderConfig | AutomationAutodeskProviderConfig;
54
+ export type AutomationOptionsConfig = AutomationCompareConfig | AutomationGateReportConfig | {};
55
+ export type AutomationConfig = AutomationProviderConfig & AutomationOptionsConfig;
56
+ export type Automation = {
57
+ id?: number;
58
+ cameraExids: CameraExid[];
59
+ name: string;
60
+ subject?: string;
61
+ provider: AutomationProvider;
62
+ type: AutomationType;
63
+ config: AutomationConfig;
64
+ notifyDays: string[];
65
+ notifyTime: string;
66
+ timezone: string;
67
+ isPaused: boolean;
68
+ restrictedCameraExids?: string[];
69
+ };
70
+ export declare enum AutomationConfigStep {
71
+ Type = "type",
72
+ Cameras = "cameras",
73
+ Settings = "settings",
74
+ Destination = "destination"
75
+ }
76
+ export type AutomationProviderOption = {
77
+ labelTranslationKey: string;
78
+ descriptionTranslationKey: string;
79
+ value: AutomationProvider;
80
+ icon: string;
81
+ iconSize?: string;
82
+ requiresConnection: boolean;
83
+ };
84
+ export type FormattedAutomation = {
85
+ cameraExids: string;
86
+ name: string;
87
+ subject: string;
88
+ provider: AutomationProvider;
89
+ type: AutomationType;
90
+ config: Partial<AutomationProviderConfig> & Partial<AutomationOptionsConfig>;
91
+ notifyDays: string;
92
+ notifyTime: string;
93
+ timezone: string;
94
+ isPaused: boolean;
95
+ };
@@ -1,4 +1,5 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
+ import { Swr } from "@evercam/api/api/client/swr/Swr";
2
3
  export type TimedRequest<T> = Promise<AxiosResponse<T> & {
3
4
  duration: number;
4
5
  error?: AxiosError;
@@ -7,37 +8,54 @@ export type AxiosEnvironment = {
7
8
  baseUrl?: string | null;
8
9
  stagingAiApiUrl?: string | null;
9
10
  aiApiUrl?: string | null;
10
- ingestApiUrl?: string | null;
11
+ ingestDroneApi?: string | null;
12
+ ingest360Api?: string | null;
13
+ ingestGpuApiUrl?: string | null;
11
14
  posthogApiUrl?: string | null;
12
15
  posthogProjectId?: string | null;
13
- posthogPrivateApiKey?: string | null;
14
16
  firebaseVideowallUrl?: string | null;
15
17
  weatherApiBaseUrl?: string | null;
16
18
  evercamLabsUrl?: string | null;
17
19
  firebaseDbLink?: string | null;
20
+ firebaseStorageUrl?: string | null;
21
+ firebaseStorageToken?: string | null;
22
+ forgeTokenServerUrl?: string | null;
18
23
  snapshotsURL?: string | null;
19
24
  app?: string | null;
20
25
  getAuthToken?: () => string | null;
21
26
  errorLogger?: (error: AxiosError) => void;
27
+ swrKey?: string;
22
28
  };
23
29
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
24
30
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
25
31
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
32
+ export type RequestManager = {
33
+ createToken: (key: string) => CancelTokenSource["token"];
34
+ cancelAll: () => void;
35
+ };
26
36
  export interface ExtendedAxiosInstance extends AxiosInstance {
27
37
  CancelToken: CancelTokenStatic;
28
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
38
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
29
39
  setToken: (token: string) => void;
30
40
  setHeader: (headerName: string, value: any) => void;
31
- generateCancelTokenSource: () => CancelTokenSource;
32
- addCancelToken: (token: CancelTokenSource) => void;
33
- resetCancelTokens: () => void;
34
- cancelRequests: () => void;
41
+ createRequestManager: () => RequestManager;
42
+ requestManager: RequestManager;
35
43
  env: AxiosEnvironment;
36
44
  addEnvironmentVariables: (vars: Record<string, any>) => void;
37
45
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
38
46
  addResponseInterceptor: (interceptor: ResponseInterceptor, errorInterceptor?: ErrorInterceptor) => void;
39
47
  addErrorInterceptor: (interceptor: ErrorInterceptor) => void;
48
+ swr: Swr;
40
49
  }
50
+ export type ResponseValue<T> = T | undefined;
51
+ export type SwrResponse<T> = {
52
+ cachedValue: ResponseValue<T>;
53
+ freshPromise: Promise<ResponseValue<T>>;
54
+ };
55
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
56
+ onSwrHit?: (data: T) => unknown;
57
+ onSwrRefresh?: (data: T) => unknown;
58
+ };
41
59
  declare module "axios" {
42
60
  interface AxiosRequestConfig {
43
61
  raw?: boolean;
@@ -46,5 +64,9 @@ declare module "axios" {
46
64
  _metadata?: {
47
65
  startTime: number;
48
66
  };
67
+ swr?: boolean;
68
+ onSwrHit?: (data: any) => unknown;
69
+ onSwrRefresh?: (data: any) => unknown;
70
+ onSwrError?: (error: Error) => unknown;
49
71
  }
50
72
  }
@@ -1,4 +1,4 @@
1
- import { DateTime, DateType } from "@/types";
1
+ import { CompareLogoPosition, DateType } from "@evercam/api/types";
2
2
  export declare enum BimModelType {
3
3
  Architectural = "Architectural",
4
4
  Structural = "Structural",
@@ -48,14 +48,15 @@ export type BimCompareExportRequestPayload = {
48
48
  layerId?: number;
49
49
  maskId?: number;
50
50
  evercamWatermark?: boolean;
51
+ logo?: CompareLogoPosition;
51
52
  };
52
53
  export type BimLayerResponsePayload = {
53
54
  id: number;
54
55
  name: string;
55
- insertedAt: DateTime;
56
- updatedAt: DateTime;
56
+ insertedAt: string;
57
+ updatedAt: string;
57
58
  shapes: string;
58
- startAt: DateTime;
59
+ startAt: string;
59
60
  };
60
61
  export declare enum BimUploadStatus {
61
62
  Initial = 0,
@@ -78,13 +79,18 @@ export type BimCreationPayload = {
78
79
  };
79
80
  export declare enum BIMLayerTypes {
80
81
  Mask = "mask",
82
+ BimMask = "bim_mask",
81
83
  MeasuringGrid = "measuring_grid",
82
84
  BimArchitectural = "bim_architectural",
83
85
  BimStructural = "bim_structural",
84
86
  Bim4D = "bim_4d",
85
87
  BimMep = "bim_mep",
86
88
  RecordingsTag = "recordings_tag",
87
- Milestone = "milestone"
89
+ Milestone = "milestone",
90
+ ForgeBimArchitectural = "forge_bim_architectural",
91
+ ForgeBimStructural = "forge_bim_structural",
92
+ ForgeBim4D = "forge_bim_4d",
93
+ ForgeBimMep = "forge_bim_mep"
88
94
  }
89
95
  export type BimLayersQueryParams = {
90
96
  layerType: BIMLayerTypes;
@@ -145,3 +151,28 @@ export type BimUploadPayload = {
145
151
  fileExtension: string;
146
152
  }[];
147
153
  };
154
+ export declare enum ForgeBimUploadMethod {
155
+ FileUpload = "file_upload",
156
+ AutodeskAcc = "autodesk_acc"
157
+ }
158
+ export declare enum ForgeBimFileRejectionReason {
159
+ InvalidType = "invalid_type",
160
+ ExceedsSizeLimit = "exceeds_size_limit"
161
+ }
162
+ export declare enum ForgeBimUploadStage {
163
+ TusUpload = "tus_upload",
164
+ IngestUpload = "ingest_upload"
165
+ }
166
+ export declare enum ForgeBimDialogTrigger {
167
+ UpdateModel = "update_model",
168
+ AddModel = "add_model",
169
+ InitialSetup = "initial_setup"
170
+ }
171
+ export type BimUpdatedWebhookPayload = {
172
+ eventName: "bim.updated";
173
+ projectId: string;
174
+ data: {
175
+ updatedAt: string;
176
+ bimIdentifier: string;
177
+ };
178
+ };
@@ -1,11 +1,8 @@
1
- import { AuditLogActionType, DateTime_Z_micros, DateType, EntityByExid, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, Schedule } from "@/types";
1
+ import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase, TimestampPositionCoordinates } from "@evercam/api/types";
2
+ import { DateRangeFilter } from "@evercam/api/types/time";
3
+ import { GeoPoint, TuplePoint2D } from "@evercam/api/types/shared";
2
4
  export type CameraExid = string;
3
5
  export type CamerasByExid = EntityByExid<Camera>;
4
- export type Cartesian3 = {
5
- x: number;
6
- y: number;
7
- z: number;
8
- };
9
6
  export type Camera = {
10
7
  cameraPowerSchedule?: Schedule;
11
8
  camPassword?: string;
@@ -16,8 +13,9 @@ export type Camera = {
16
13
  status: string;
17
14
  storageDuration: string;
18
15
  };
19
- createdAt: DateTime_Z_micros;
20
- description: null;
16
+ liveViewFrequency: number | null;
17
+ createdAt: string;
18
+ description: string | null;
21
19
  discoverable: boolean;
22
20
  external: {
23
21
  host: string;
@@ -36,18 +34,15 @@ export type Camera = {
36
34
  featureFlags: Array<CameraFeatureFlag>;
37
35
  fovAngle: number;
38
36
  fovRadius: number;
39
- heading: null;
37
+ heading: number;
40
38
  id: CameraExid;
41
39
  exid: CameraExid;
42
40
  isOnline: boolean;
43
41
  isPowerScheduleActive: boolean;
44
42
  isPublic: boolean;
45
- lastOnlineAt: DateTime_Z_micros;
46
- lastPolledAt: DateTime_Z_micros;
47
- location: {
48
- lat: number;
49
- lng: number;
50
- };
43
+ lastOnlineAt: string;
44
+ lastPolledAt: string;
45
+ location: GeoPoint;
51
46
  modelId: string;
52
47
  modelName: string;
53
48
  name: string;
@@ -62,7 +57,7 @@ export type Camera = {
62
57
  offlineReason: string;
63
58
  owned: boolean;
64
59
  owner: string;
65
- pitch: null;
60
+ pitch: string | null;
66
61
  project: {
67
62
  id: string;
68
63
  name: string;
@@ -72,94 +67,98 @@ export type Camera = {
72
67
  rtmp: string;
73
68
  };
74
69
  ptz: boolean;
75
- rights: string;
76
- roll: null;
70
+ recordingFromNvr: boolean;
71
+ model?: CameraModel;
72
+ roll: string | null;
77
73
  routerId: number;
78
74
  status: CameraStatus;
79
75
  streamingServer: string;
80
76
  thumbnailUrl: string;
81
77
  largeThumbnailUrl?: string;
82
78
  timezone: string;
83
- updatedAt: DateTime_Z_micros;
79
+ updatedAt: string;
84
80
  vendorName: string;
85
81
  isAccessRestricted?: boolean;
82
+ kitAlarms?: KitAlarm[];
83
+ timestampPosition?: TimestampPositionCoordinates;
86
84
  };
87
85
  export type AdminCamera = {
88
- cameraHost: string;
89
- cameraHttpPort: number;
90
- cameraModel: string;
91
- cameraPassword: string;
92
- cameraPictureEndpoint: string;
93
- cameraRtspPort: number;
94
- cameraScheme: string;
95
- cameraUsername: string;
96
- cameraFirmwareVersion: string;
97
- cameraTimezone: string;
98
- cloudRecordingFrequency: number;
99
- cloudRecordingId: number;
100
- cloudRecordingSchedule: Schedule;
101
- cloudRecordingStatus: string;
102
- cloudRecordingStorageDuration: number;
103
- createdAt: DateTime_Z_micros;
104
- description: null;
105
- discoverable: false;
106
- exid: CameraExid;
107
- featureFlags: CameraFeatureFlag[];
108
- fovAngle: 45.0;
109
- fovRadius: number;
110
- heading: null;
111
86
  id: number;
112
- isPowerScheduleActive: true;
113
- isPublic: false;
114
- kitId?: number;
115
- lastOnlineAt: DateTime_Z_micros;
116
- lastPolledAt: DateTime_Z_micros;
117
- location: {
118
- lat: number;
119
- lng: number;
120
- };
121
- macAddress: string;
87
+ exid: CameraExid;
122
88
  name: string;
123
- nvrChannel: null;
124
- nvrDeviceId: string;
125
- nvrHost: string;
126
- nvrHttpPort: number;
127
- nvrModel: NvrModel;
128
- nvrPassword: string;
129
- nvrPictureEndpoint: string;
130
- nvrRtspPort: number;
131
- nvrScheme: string;
132
- nvrUsername: string;
133
- offlineReason: null;
134
- pitch: null;
135
- powerSchedule: Schedule;
136
- projectExid: string;
137
- projectFeatureFlags: [];
138
- projectId: number;
139
- projectName: string;
140
- ptz: false;
141
- recordingFromNvr: false;
142
- roll: null;
143
- routerId: number;
144
89
  status: string;
145
- storageProviders: [];
146
- streamEndpoint: string;
147
- timezone: string;
148
- updatedAt: DateTime_Z_micros;
149
- userApiId: string;
150
- userApiKey: string;
90
+ description: string | null;
91
+ createdAt: string;
92
+ updatedAt: string;
93
+ lastOnlineAt: string | null;
94
+ lastPolledAt: string | null;
95
+ decommissionedAt: string | null;
96
+ deletedAt?: string | null;
97
+ projectId: number | null;
98
+ projectExid: string | null;
99
+ projectName: string | null;
100
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
101
+ userId: number | null;
151
102
  userEmail: string;
152
103
  userFullname: string;
153
- userId: number;
154
- zohoId: string;
104
+ userApiId?: string;
105
+ userApiKey?: string;
106
+ isPublic: boolean;
107
+ sharedWithConstruction?: boolean;
108
+ timezone: string | null;
109
+ location?: GeoPoint | null;
110
+ fovAngle?: number | null;
111
+ fovRadius?: number | null;
112
+ heading?: number | null;
113
+ pitch?: number | null;
114
+ roll?: number | null;
115
+ cameraModel?: string | null;
116
+ cameraHost?: string | null;
117
+ cameraHttpPort?: number | null;
118
+ cameraRtspPort?: number | null;
119
+ cameraScheme?: string | null;
120
+ cameraUsername?: string | null;
121
+ cameraPassword?: string | null;
122
+ cameraPictureEndpoint?: string | null;
123
+ rtspUrl?: string | null;
124
+ httpUrl?: string | null;
125
+ deviceId?: string | null;
126
+ nvrId?: number | null;
127
+ nvrDeviceId?: string | null;
128
+ nvrModel?: NvrModel | string | null;
129
+ nvrHost?: string | null;
130
+ nvrHttpPort?: number | null;
131
+ nvrRtspPort?: number | null;
132
+ nvrScheme?: string | null;
133
+ nvrUsername?: string | null;
134
+ nvrPassword?: string | null;
135
+ nvrPictureEndpoint?: string | null;
136
+ streamEndpoint?: string | null;
137
+ routerId?: number | null;
138
+ kitId?: number | null;
139
+ powerType?: string | null;
140
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
141
+ isPowerScheduleActive?: boolean;
142
+ discoverable?: boolean;
143
+ recordingFromNvr?: boolean;
144
+ cloudRecordingFrequency?: number | null;
145
+ cloudRecordingId?: number | null;
146
+ cloudRecordingStatus?: string | null;
147
+ cloudRecordingSchedule?: ScheduleLowercase | null;
148
+ cloudRecordingStorageDuration?: number | null;
149
+ liveViewFrequency?: number | null;
150
+ anprSources?: string[];
151
+ storageProviders?: string[];
152
+ featureFlags?: CameraFeatureFlag[];
153
+ zohoId?: string | null;
154
+ offlineReason?: string | null;
155
+ macAddress?: string | null;
156
+ type?: string[];
155
157
  thumbnailUrl?: string;
156
158
  };
157
159
  export type CameraMapMarker = {
158
160
  isOnline: boolean;
159
- location: {
160
- lat: number;
161
- lng: number;
162
- };
161
+ location: GeoPoint;
163
162
  needFov: boolean;
164
163
  rotation: number;
165
164
  fovAngle: number;
@@ -175,6 +174,14 @@ export declare enum CameraStatus {
175
174
  UnderMaintenance = "under_maintenance",
176
175
  WaitingForSiteVisit = "waiting_for_site_visit"
177
176
  }
177
+ export declare enum IntensityChange {
178
+ High = "High",
179
+ Moderate = "Moderate",
180
+ Low = "Low",
181
+ NoChange = "No change",
182
+ Default = "Default"
183
+ }
184
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
178
185
  export declare enum CameraFeatureFlag {
179
186
  EdgeVideo = "edge_video",
180
187
  BimCompare = "bim_compare",
@@ -189,7 +196,14 @@ export declare enum CameraFeatureFlag {
189
196
  ObjectDetection = "object_detection",
190
197
  Segmentation = "segmentation",
191
198
  SegmentationAutoLabelling = "segmentation_auto_labelling",
192
- PpeMonitoring = "ppe_monitoring"
199
+ PpeMonitoring = "ppe_monitoring",
200
+ PpeOwlv2 = "ppe_owlv2",
201
+ PpeGemini = "ppe_gemini",
202
+ PpeYolo = "ppe_yolo",
203
+ PpeV2 = "ppe_v2",
204
+ NoLiveView = "no_live_view",
205
+ Ring = "ring",
206
+ CloudOnly = "cloud_only"
193
207
  }
194
208
  export type CameraLogsRequestPayload = {
195
209
  limit: number;
@@ -233,6 +247,7 @@ export type CameraUpdateRequestPayload = {
233
247
  fovRadius?: number;
234
248
  featureFlags: CameraFeatureFlag[];
235
249
  isAccessRestricted?: boolean;
250
+ liveViewFrequency?: number | null;
236
251
  };
237
252
  export type CamerasResponsePayload = {
238
253
  cameras?: Camera[];
@@ -294,14 +309,9 @@ export declare enum CameraModel {
294
309
  Hikvision = "hikvision",
295
310
  Avigilion = "avigilion",
296
311
  Hanwha = "hanwha",
297
- Other = "other"
312
+ Other = "other",
313
+ Ring = "ring"
298
314
  }
299
- export type DroneCameraTransform = {
300
- position: Cartesian3;
301
- direction: Cartesian3;
302
- up: Cartesian3;
303
- right: Cartesian3;
304
- };
305
315
  export type Footage = {
306
316
  cameraExid: string;
307
317
  cameraName: string;
@@ -333,6 +343,7 @@ export type CameraPath = {
333
343
  export type CheckCameraPortPayload = {
334
344
  address: string;
335
345
  port: number;
346
+ open: boolean;
336
347
  };
337
348
  export type CameraCreateRequestPayload = {
338
349
  status: CameraStatus;
@@ -341,7 +352,7 @@ export type CameraCreateRequestPayload = {
341
352
  isPowerScheduleActive?: boolean;
342
353
  ptz?: boolean;
343
354
  name: string;
344
- coordinates?: [number, number];
355
+ coordinates?: TuplePoint2D;
345
356
  recordingFromNvr?: boolean;
346
357
  CameraConfig: {
347
358
  model: CameraModel;
@@ -517,3 +528,10 @@ export type FetchCameraQueryParams = PaginationParams & {
517
528
  externalRsptPort: string;
518
529
  nvrHttpPort: string;
519
530
  };
531
+ export declare enum BimType {
532
+ TwoD = "2D",
533
+ Forge = "Forge"
534
+ }
535
+ export type CameraDateRangeFilter = DateRangeFilter & {
536
+ cameraExid: CameraExid;
537
+ };
@@ -1,15 +1,28 @@
1
- import { CameraExid, DateType, ProjectExid } from "@/types";
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams, TuplePoint3D, TuplePoint2D } from "@evercam/api/types";
2
2
  export declare enum CommentsScope {
3
3
  Recordings = "recordings",
4
- ThreeSixty = "360"
4
+ ThreeSixty = "360",
5
+ Drone = "drone",
6
+ Timeline = "timeline"
7
+ }
8
+ export declare enum CommentsLabel {
9
+ Info = "Info",
10
+ Danger = "Danger",
11
+ Restricted = "Restricted"
5
12
  }
6
13
  export type CommentsRequestPayload = {
7
- cameraExid: CameraExid;
8
- fromDate: string;
9
- toDate: string;
10
14
  scope: CommentsScope;
11
- page?: number;
12
- limit?: number;
15
+ cameraExid?: CameraExid;
16
+ };
17
+ export type CommentsListRequestPayload = PaginationParams & {
18
+ projectExid?: ProjectExid;
19
+ cameraExid?: CameraExid;
20
+ fromDate?: string;
21
+ toDate?: string;
22
+ scope?: CommentsScope;
23
+ creatorEmail?: string;
24
+ content?: string;
25
+ includeArchived?: boolean;
13
26
  };
14
27
  export type Comment = {
15
28
  fromDate?: string;
@@ -23,11 +36,12 @@ export type Comment = {
23
36
  createdAt?: string;
24
37
  creatorEmail?: string;
25
38
  creatorName?: string;
26
- position2d?: [number, number];
27
- position3d?: [number, number, number];
39
+ position2d?: TuplePoint2D;
40
+ position3d?: TuplePoint3D;
28
41
  context?: Record<string, unknown>;
29
42
  canDelete?: boolean;
30
43
  archivedAt?: string;
44
+ label?: CommentsLabel;
31
45
  };
32
46
  export type CommentCreationRequestPayload = {
33
47
  fromDate?: DateType;
@@ -37,7 +51,7 @@ export type CommentCreationRequestPayload = {
37
51
  projectExid: ProjectExid;
38
52
  cameraExid?: CameraExid;
39
53
  content: string;
40
- position2d?: [number, number];
54
+ position2d?: TuplePoint2D;
41
55
  position3d?: [number, number, number];
42
56
  context?: Record<string, unknown>;
43
57
  };