@evercam/api 1.0.0-d7a4e6c9d → 1.0.0-d9534755d

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 (82) hide show
  1. package/dist/api/api/3dFirebaseApi.d.ts +175 -13
  2. package/dist/api/api/adminApi.d.ts +87 -83
  3. package/dist/api/api/aiApi.d.ts +58 -85
  4. package/dist/api/api/authzApi.d.ts +31 -15
  5. package/dist/api/api/client/axios.d.ts +2 -1
  6. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  7. package/dist/api/api/evercamApi.d.ts +118 -95
  8. package/dist/api/api/evercamLabsApi.d.ts +4 -3
  9. package/dist/api/api/exNvrApi.d.ts +1 -1
  10. package/dist/api/api/ingestApi.d.ts +99 -46
  11. package/dist/api/api/ptzApi.d.ts +12 -3
  12. package/dist/api/api/videoWallApi.d.ts +2 -2
  13. package/dist/api/api/weatherApi.d.ts +2 -2
  14. package/dist/api/types/360.d.ts +164 -24
  15. package/dist/api/types/aconex.d.ts +9 -9
  16. package/dist/api/types/admin.d.ts +51 -0
  17. package/dist/api/types/analytics.d.ts +112 -60
  18. package/dist/api/types/anpr.d.ts +19 -2
  19. package/dist/api/types/auditLogs.d.ts +1 -1
  20. package/dist/api/types/authz.d.ts +61 -0
  21. package/dist/api/types/autodesk.d.ts +7 -7
  22. package/dist/api/types/automation.d.ts +37 -3
  23. package/dist/api/types/axios.d.ts +11 -5
  24. package/dist/api/types/bim.d.ts +11 -5
  25. package/dist/api/types/camera.d.ts +97 -98
  26. package/dist/api/types/comments.d.ts +7 -9
  27. package/dist/api/types/company.d.ts +42 -1
  28. package/dist/api/types/compare.d.ts +20 -5
  29. package/dist/api/types/connector.d.ts +3 -5
  30. package/dist/api/types/coolify.d.ts +18 -2
  31. package/dist/api/types/copilot.d.ts +11 -6
  32. package/dist/api/types/credentials.d.ts +1 -0
  33. package/dist/api/types/detections.d.ts +20 -8
  34. package/dist/api/types/drone.d.ts +92 -3
  35. package/dist/api/types/gateReport.d.ts +49 -158
  36. package/dist/api/types/hdd.d.ts +26 -1
  37. package/dist/api/types/index.d.ts +8 -1
  38. package/dist/api/types/ingest.d.ts +98 -2
  39. package/dist/api/types/kit.d.ts +31 -5
  40. package/dist/api/types/map.d.ts +12 -0
  41. package/dist/api/types/media.d.ts +2 -1
  42. package/dist/api/types/notification.d.ts +32 -2
  43. package/dist/api/types/oauth.d.ts +62 -0
  44. package/dist/api/types/planner.d.ts +102 -1
  45. package/dist/api/types/posthog.d.ts +15 -0
  46. package/dist/api/types/procore.d.ts +13 -6
  47. package/dist/api/types/progressPhoto.d.ts +6 -2
  48. package/dist/api/types/project.d.ts +136 -21
  49. package/dist/api/types/recording.d.ts +6 -4
  50. package/dist/api/types/recycleBin.d.ts +1 -1
  51. package/dist/api/types/ring.d.ts +53 -0
  52. package/dist/api/types/roi.d.ts +2 -2
  53. package/dist/api/types/router.d.ts +20 -1
  54. package/dist/api/types/shared.d.ts +29 -4
  55. package/dist/api/types/shares.d.ts +6 -144
  56. package/dist/api/types/sim.d.ts +6 -6
  57. package/dist/api/types/siteAnalytics.d.ts +170 -46
  58. package/dist/api/types/siteView.d.ts +74 -0
  59. package/dist/api/types/smartSeach.d.ts +5 -0
  60. package/dist/api/types/snapshots.d.ts +36 -4
  61. package/dist/api/types/storageProvider.d.ts +19 -0
  62. package/dist/api/types/storyblok.d.ts +40 -0
  63. package/dist/api/types/streaming.d.ts +3 -3
  64. package/dist/api/types/tag.d.ts +1 -1
  65. package/dist/api/types/time.d.ts +0 -18
  66. package/dist/api/types/timelapse.d.ts +12 -5
  67. package/dist/api/types/user.d.ts +105 -31
  68. package/dist/api/types/videoWall.d.ts +21 -21
  69. package/dist/api/types/weather.d.ts +75 -11
  70. package/dist/api/types/widget.d.ts +71 -12
  71. package/dist/api/types/xweather.d.ts +4 -4
  72. package/dist/index.js +1580 -940
  73. package/dist/index.js.map +1 -1
  74. package/dist/index.umd.cjs +1 -1
  75. package/dist/index.umd.cjs.map +1 -1
  76. package/dist/shared/types/components.d.ts +127 -14
  77. package/dist/shared/types/imagePlayer.d.ts +10 -3
  78. package/dist/shared/types/index.d.ts +1 -0
  79. package/dist/shared/types/rbac.d.ts +67 -0
  80. package/dist/shared/types/timeline.d.ts +2 -1
  81. package/package.json +2 -2
  82. package/dist/api/types/storageServers.d.ts +0 -4
@@ -1,4 +1,4 @@
1
- import { BoundingBox, CameraExid, DateType, GateReportVehicleType, TimelinePrecision } from "@/types";
1
+ import { BoundingBox, CameraExid, DateType, GateReportVehicleType, TimelinePrecision } from "@evercam/api/types";
2
2
  export type AnprQueryParams = {
3
3
  page?: number;
4
4
  limit?: number;
@@ -62,7 +62,13 @@ export type AnprEvent = {
62
62
  votedVehicleType: GateReportVehicleType | string;
63
63
  roiId?: number;
64
64
  captureTime: DateType;
65
- metadata_: {
65
+ contextThumbnailUrl: string;
66
+ isPublic: boolean;
67
+ label: string;
68
+ mp4Url: string;
69
+ plateThumbnailUrl: string;
70
+ thumbnailUrl: string;
71
+ metadata: {
66
72
  evercamMetadata?: {
67
73
  anpr?: {
68
74
  bbox: BoundingBox;
@@ -95,3 +101,14 @@ export declare enum AnprEventStatus {
95
101
  IsDuplicate = "is_duplicate",
96
102
  NotDuplicate = "not_duplicate"
97
103
  }
104
+ export type AnprBulkUpdateRequestPayload = {
105
+ anprEventsIds: number[];
106
+ action: AnprEventStatus;
107
+ updatedBy: string;
108
+ };
109
+ export type AnprUpdateRequestPayload = {
110
+ plateNumber: string;
111
+ vehicleType: GateReportVehicleType;
112
+ direction: AnprDirection;
113
+ updatedBy: string;
114
+ };
@@ -1,4 +1,4 @@
1
- import { CameraStatus, DateType, PaginationParams } from "@/types";
1
+ import { CameraStatus, DateType, PaginationParams } from "@evercam/api/types";
2
2
  export declare enum AuditLogActionType {
3
3
  VH_STATUS = "vh_status",
4
4
  CR_UPDATED = "cr_updated",
@@ -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;
@@ -7,14 +7,27 @@ export declare enum AutomationProvider {
7
7
  }
8
8
  export declare enum AutomationType {
9
9
  Photo = "photo",
10
- Compare = "compare"
10
+ Compare = "compare",
11
+ GateReport = "gate_report"
11
12
  }
12
13
  export type AutomationCompareConfig = {
13
14
  compareDelay: number;
14
15
  };
15
- export type AutomationEmailProviderConfig = {
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[];
16
25
  recipients: string | string[];
17
26
  };
27
+ export type AutomationEmailProviderConfig = {
28
+ cameraExids?: CameraExid[];
29
+ recipients: string | AutomationEmailRecipient[];
30
+ };
18
31
  export type AutomationProcoreProviderConfig = {
19
32
  companyId: number;
20
33
  companyName: string;
@@ -38,9 +51,10 @@ export type AutomationAutodeskProviderConfig = {
38
51
  folderName: string;
39
52
  };
40
53
  export type AutomationProviderConfig = AutomationEmailProviderConfig | AutomationProcoreProviderConfig | AutomationAconexProviderConfig | AutomationAutodeskProviderConfig;
41
- export type AutomationOptionsConfig = AutomationCompareConfig | {};
54
+ export type AutomationOptionsConfig = AutomationCompareConfig | AutomationGateReportConfig | {};
42
55
  export type AutomationConfig = AutomationProviderConfig & AutomationOptionsConfig;
43
56
  export type Automation = {
57
+ id?: number;
44
58
  cameraExids: CameraExid[];
45
59
  name: string;
46
60
  subject?: string;
@@ -59,3 +73,23 @@ export declare enum AutomationConfigStep {
59
73
  Settings = "settings",
60
74
  Destination = "destination"
61
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,5 +1,5 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
- import { Swr } from "@/api/client/swr/Swr";
2
+ import { Swr } from "@evercam/api/api/client/swr/Swr";
3
3
  export type TimedRequest<T> = Promise<AxiosResponse<T> & {
4
4
  duration: number;
5
5
  error?: AxiosError;
@@ -8,7 +8,8 @@ export type AxiosEnvironment = {
8
8
  baseUrl?: string | null;
9
9
  stagingAiApiUrl?: string | null;
10
10
  aiApiUrl?: string | null;
11
- ingestApiUrl?: string | null;
11
+ ingestDroneApi?: string | null;
12
+ ingest360Api?: string | null;
12
13
  ingestGpuApiUrl?: string | null;
13
14
  posthogApiUrl?: string | null;
14
15
  posthogProjectId?: string | null;
@@ -19,6 +20,7 @@ export type AxiosEnvironment = {
19
20
  firebaseDbLink?: string | null;
20
21
  firebaseStorageUrl?: string | null;
21
22
  firebaseStorageToken?: string | null;
23
+ forgeTokenServerUrl?: string | null;
22
24
  snapshotsURL?: string | null;
23
25
  app?: string | null;
24
26
  getAuthToken?: () => string | null;
@@ -30,7 +32,7 @@ export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) =>
30
32
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
31
33
  export interface ExtendedAxiosInstance extends AxiosInstance {
32
34
  CancelToken: CancelTokenStatic;
33
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
35
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
34
36
  setToken: (token: string) => void;
35
37
  setHeader: (headerName: string, value: any) => void;
36
38
  generateCancelTokenSource: () => CancelTokenSource;
@@ -49,6 +51,10 @@ export type SwrResponse<T> = {
49
51
  cachedValue: ResponseValue<T>;
50
52
  freshPromise: Promise<ResponseValue<T>>;
51
53
  };
54
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
55
+ onSwrHit?: (data: T) => unknown;
56
+ onSwrRefresh?: (data: T) => unknown;
57
+ };
52
58
  declare module "axios" {
53
59
  interface AxiosRequestConfig {
54
60
  raw?: boolean;
@@ -58,8 +64,8 @@ declare module "axios" {
58
64
  startTime: number;
59
65
  };
60
66
  swr?: boolean;
61
- onSwrHit?: <T>(data: T) => unknown;
62
- onSwrRefresh?: <T>(data: T) => unknown;
67
+ onSwrHit?: (data: any) => unknown;
68
+ onSwrRefresh?: (data: any) => unknown;
63
69
  onSwrError?: (error: Error) => unknown;
64
70
  }
65
71
  }
@@ -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;
@@ -1,12 +1,8 @@
1
- import { AuditLogActionType, DateTime_Z_micros, DateType, EntityByExid, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule } from "@/types";
2
- import { DateRangeFilter } from "@/types/time";
1
+ import { AuditLogActionType, DateType, EntityByExid, KitAlarm, NvrDeviceType, PaginationParams, PowerSchedule, PowerType, ProjectExid, ProjectFeatureFlag, Schedule, ScheduleLowercase } from "@evercam/api/types";
2
+ import { DateRangeFilter } from "@evercam/api/types/time";
3
+ import { GeoPoint } from "@evercam/api/types/shared";
3
4
  export type CameraExid = string;
4
5
  export type CamerasByExid = EntityByExid<Camera>;
5
- export type Cartesian3 = {
6
- x: number;
7
- y: number;
8
- z: number;
9
- };
10
6
  export type Camera = {
11
7
  cameraPowerSchedule?: Schedule;
12
8
  camPassword?: string;
@@ -17,7 +13,8 @@ export type Camera = {
17
13
  status: string;
18
14
  storageDuration: string;
19
15
  };
20
- createdAt: DateTime_Z_micros;
16
+ liveViewFrequency: number | null;
17
+ createdAt: string;
21
18
  description: string | null;
22
19
  discoverable: boolean;
23
20
  external: {
@@ -37,18 +34,15 @@ export type Camera = {
37
34
  featureFlags: Array<CameraFeatureFlag>;
38
35
  fovAngle: number;
39
36
  fovRadius: number;
40
- heading: null;
37
+ heading: number;
41
38
  id: CameraExid;
42
39
  exid: CameraExid;
43
40
  isOnline: boolean;
44
41
  isPowerScheduleActive: boolean;
45
42
  isPublic: boolean;
46
- lastOnlineAt: DateTime_Z_micros;
47
- lastPolledAt: DateTime_Z_micros;
48
- location: {
49
- lat: number;
50
- lng: number;
51
- };
43
+ lastOnlineAt: string;
44
+ lastPolledAt: string;
45
+ location: GeoPoint;
52
46
  modelId: string;
53
47
  modelName: string;
54
48
  name: string;
@@ -73,7 +67,8 @@ export type Camera = {
73
67
  rtmp: string;
74
68
  };
75
69
  ptz: boolean;
76
- rights: string;
70
+ recordingFromNvr: boolean;
71
+ model?: CameraModel;
77
72
  roll: string | null;
78
73
  routerId: number;
79
74
  status: CameraStatus;
@@ -81,87 +76,88 @@ export type Camera = {
81
76
  thumbnailUrl: string;
82
77
  largeThumbnailUrl?: string;
83
78
  timezone: string;
84
- updatedAt: DateTime_Z_micros;
79
+ updatedAt: string;
85
80
  vendorName: string;
86
81
  isAccessRestricted?: boolean;
87
- kitAlarms?: string[];
82
+ kitAlarms?: KitAlarm[];
88
83
  };
89
84
  export type AdminCamera = {
90
- cameraHost: string;
91
- cameraHttpPort: number;
92
- cameraModel: string;
93
- cameraPassword: string;
94
- cameraPictureEndpoint: string;
95
- cameraRtspPort: number;
96
- cameraScheme: string;
97
- cameraUsername: string;
98
- cameraFirmwareVersion: string;
99
- cameraTimezone: string;
100
- cloudRecordingFrequency: number;
101
- cloudRecordingId: number;
102
- cloudRecordingSchedule: Schedule;
103
- cloudRecordingStatus: string;
104
- cloudRecordingStorageDuration: number;
105
- createdAt: DateTime_Z_micros;
106
- description: null;
107
- discoverable: false;
108
- exid: CameraExid;
109
- featureFlags: CameraFeatureFlag[];
110
- fovAngle: 45.0;
111
- fovRadius: number;
112
- heading: null;
113
85
  id: number;
114
- isPowerScheduleActive: true;
115
- isPublic: false;
116
- kitId?: number;
117
- lastOnlineAt: DateTime_Z_micros;
118
- lastPolledAt: DateTime_Z_micros;
119
- location: {
120
- lat: number;
121
- lng: number;
122
- };
123
- macAddress: string;
86
+ exid: CameraExid;
124
87
  name: string;
125
- nvrChannel: null;
126
- nvrDeviceId: string;
127
- nvrHost: string;
128
- nvrHttpPort: number;
129
- nvrModel: NvrModel;
130
- nvrPassword: string;
131
- nvrPictureEndpoint: string;
132
- nvrRtspPort: number;
133
- nvrScheme: string;
134
- nvrUsername: string;
135
- offlineReason: null;
136
- pitch: null;
137
- powerSchedule: Schedule;
138
- projectExid: string;
139
- projectFeatureFlags: ProjectFeatureFlag[];
140
- projectId: number;
141
- projectName: string;
142
- ptz: false;
143
- recordingFromNvr: false;
144
- roll: null;
145
- routerId: number;
146
88
  status: string;
147
- storageProviders: [];
148
- streamEndpoint: string;
149
- timezone: string;
150
- updatedAt: DateTime_Z_micros;
151
- userApiId: string;
152
- userApiKey: string;
89
+ description: string | null;
90
+ createdAt: string;
91
+ updatedAt: string;
92
+ lastOnlineAt: string | null;
93
+ lastPolledAt: string | null;
94
+ decommissionedAt: string | null;
95
+ deletedAt?: string | null;
96
+ projectId: number | null;
97
+ projectExid: string | null;
98
+ projectName: string | null;
99
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
100
+ userId: number | null;
153
101
  userEmail: string;
154
102
  userFullname: string;
155
- userId: number;
156
- zohoId: string;
103
+ userApiId?: string;
104
+ userApiKey?: string;
105
+ isPublic: boolean;
106
+ sharedWithConstruction?: boolean;
107
+ timezone: string | null;
108
+ location?: GeoPoint | null;
109
+ fovAngle?: number | null;
110
+ fovRadius?: number | null;
111
+ heading?: number | null;
112
+ pitch?: number | null;
113
+ roll?: number | null;
114
+ cameraModel?: string | null;
115
+ cameraHost?: string | null;
116
+ cameraHttpPort?: number | null;
117
+ cameraRtspPort?: number | null;
118
+ cameraScheme?: string | null;
119
+ cameraUsername?: string | null;
120
+ cameraPassword?: string | null;
121
+ cameraPictureEndpoint?: string | null;
122
+ rtspUrl?: string | null;
123
+ httpUrl?: string | null;
124
+ deviceId?: string | null;
125
+ nvrId?: number | null;
126
+ nvrDeviceId?: string | null;
127
+ nvrModel?: NvrModel | string | null;
128
+ nvrHost?: string | null;
129
+ nvrHttpPort?: number | null;
130
+ nvrRtspPort?: number | null;
131
+ nvrScheme?: string | null;
132
+ nvrUsername?: string | null;
133
+ nvrPassword?: string | null;
134
+ nvrPictureEndpoint?: string | null;
135
+ streamEndpoint?: string | null;
136
+ routerId?: number | null;
137
+ kitId?: number | null;
138
+ powerType?: string | null;
139
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
140
+ isPowerScheduleActive?: boolean;
141
+ discoverable?: boolean;
142
+ recordingFromNvr?: boolean;
143
+ cloudRecordingFrequency?: number | null;
144
+ cloudRecordingId?: number | null;
145
+ cloudRecordingStatus?: string | null;
146
+ cloudRecordingSchedule?: ScheduleLowercase | null;
147
+ cloudRecordingStorageDuration?: number | null;
148
+ liveViewFrequency?: number | null;
149
+ anprSources?: string[];
150
+ storageProviders?: string[];
151
+ featureFlags?: CameraFeatureFlag[];
152
+ zohoId?: string | null;
153
+ offlineReason?: string | null;
154
+ macAddress?: string | null;
155
+ type?: string[];
157
156
  thumbnailUrl?: string;
158
157
  };
159
158
  export type CameraMapMarker = {
160
159
  isOnline: boolean;
161
- location: {
162
- lat: number;
163
- lng: number;
164
- };
160
+ location: GeoPoint;
165
161
  needFov: boolean;
166
162
  rotation: number;
167
163
  fovAngle: number;
@@ -177,13 +173,14 @@ export declare enum CameraStatus {
177
173
  UnderMaintenance = "under_maintenance",
178
174
  WaitingForSiteVisit = "waiting_for_site_visit"
179
175
  }
180
- export declare enum IntensityChangeColors {
181
- High = "#FF5252",
182
- Moderate = "#FBC02D",
183
- Low = "#006400",
184
- NoChange = "#3ACF3A",
185
- Default = "black"
176
+ export declare enum IntensityChange {
177
+ High = "High",
178
+ Moderate = "Moderate",
179
+ Low = "Low",
180
+ NoChange = "No change",
181
+ Default = "Default"
186
182
  }
183
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
187
184
  export declare enum CameraFeatureFlag {
188
185
  EdgeVideo = "edge_video",
189
186
  BimCompare = "bim_compare",
@@ -198,7 +195,13 @@ export declare enum CameraFeatureFlag {
198
195
  ObjectDetection = "object_detection",
199
196
  Segmentation = "segmentation",
200
197
  SegmentationAutoLabelling = "segmentation_auto_labelling",
201
- PpeMonitoring = "ppe_monitoring"
198
+ PpeMonitoring = "ppe_monitoring",
199
+ PpeOwlv2 = "ppe_owlv2",
200
+ PpeGemini = "ppe_gemini",
201
+ PpeYolo = "ppe_yolo",
202
+ NoLiveView = "no_live_view",
203
+ Ring = "ring",
204
+ CloudOnly = "cloud_only"
202
205
  }
203
206
  export type CameraLogsRequestPayload = {
204
207
  limit: number;
@@ -242,6 +245,7 @@ export type CameraUpdateRequestPayload = {
242
245
  fovRadius?: number;
243
246
  featureFlags: CameraFeatureFlag[];
244
247
  isAccessRestricted?: boolean;
248
+ liveViewFrequency?: number | null;
245
249
  };
246
250
  export type CamerasResponsePayload = {
247
251
  cameras?: Camera[];
@@ -303,14 +307,9 @@ export declare enum CameraModel {
303
307
  Hikvision = "hikvision",
304
308
  Avigilion = "avigilion",
305
309
  Hanwha = "hanwha",
306
- Other = "other"
310
+ Other = "other",
311
+ Ring = "ring"
307
312
  }
308
- export type DroneCameraTransform = {
309
- position: Cartesian3;
310
- direction: Cartesian3;
311
- up: Cartesian3;
312
- right: Cartesian3;
313
- };
314
313
  export type Footage = {
315
314
  cameraExid: string;
316
315
  cameraName: string;
@@ -1,8 +1,9 @@
1
- import { CameraExid, DateType, ProjectExid, PaginationParams } from "@/types";
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams, TuplePoint2D } from "@evercam/api/types";
2
2
  export declare enum CommentsScope {
3
3
  Recordings = "recordings",
4
4
  ThreeSixty = "360",
5
- Drone = "drone"
5
+ Drone = "drone",
6
+ Timeline = "timeline"
6
7
  }
7
8
  export declare enum CommentsLabel {
8
9
  Info = "Info",
@@ -10,12 +11,8 @@ export declare enum CommentsLabel {
10
11
  Restricted = "Restricted"
11
12
  }
12
13
  export type CommentsRequestPayload = {
13
- cameraExid: CameraExid;
14
- fromDate: string;
15
- toDate: string;
16
14
  scope: CommentsScope;
17
- page?: number;
18
- limit?: number;
15
+ cameraExid?: CameraExid;
19
16
  };
20
17
  export type CommentsListRequestPayload = PaginationParams & {
21
18
  projectExid?: ProjectExid;
@@ -39,11 +36,12 @@ export type Comment = {
39
36
  createdAt?: string;
40
37
  creatorEmail?: string;
41
38
  creatorName?: string;
42
- position2d?: [number, number];
39
+ position2d?: TuplePoint2D;
43
40
  position3d?: [number, number, number];
44
41
  context?: Record<string, unknown>;
45
42
  canDelete?: boolean;
46
43
  archivedAt?: string;
44
+ label?: CommentsLabel;
47
45
  };
48
46
  export type CommentCreationRequestPayload = {
49
47
  fromDate?: DateType;
@@ -53,7 +51,7 @@ export type CommentCreationRequestPayload = {
53
51
  projectExid: ProjectExid;
54
52
  cameraExid?: CameraExid;
55
53
  content: string;
56
- position2d?: [number, number];
54
+ position2d?: TuplePoint2D;
57
55
  position3d?: [number, number, number];
58
56
  context?: Record<string, unknown>;
59
57
  };
@@ -1,4 +1,4 @@
1
- import type { DateType, PaginationParams } from "@/types";
1
+ import type { DateType, PaginationParams } from "@evercam/api/types";
2
2
  export type CompanyUser = {
3
3
  id: number;
4
4
  fullname: string;
@@ -7,12 +7,28 @@ export type CompanyUser = {
7
7
  lastSeenAt: string;
8
8
  active: boolean;
9
9
  };
10
+ export type AdminCompanyUser = {
11
+ id: number;
12
+ email: string;
13
+ fullname: string;
14
+ lastLoginAt: string;
15
+ };
10
16
  export type CompanyProject = {
11
17
  exid: string;
12
18
  name: string;
13
19
  status: string;
14
20
  startedAt: DateType;
15
21
  };
22
+ export type AdminCompanyProject = {
23
+ id: number;
24
+ name: string;
25
+ status: string;
26
+ insertedAt: DateType;
27
+ exid: string;
28
+ endDate: string | null;
29
+ startDate: string | null;
30
+ archiveTier: string | null;
31
+ };
16
32
  export type CompanyKit = {
17
33
  id: number;
18
34
  name: string;
@@ -55,6 +71,31 @@ export type Company = {
55
71
  activeUsers: number;
56
72
  insertedAt: DateType;
57
73
  };
74
+ export type CompanySummary = {
75
+ id: number;
76
+ name: string;
77
+ users: number;
78
+ insertedAt: DateType;
79
+ exid: string;
80
+ sessions: number;
81
+ projects: number;
82
+ zohoId: string;
83
+ domains: string;
84
+ linkedinUrl: string | null;
85
+ ssoProviders: string[];
86
+ cameras: number;
87
+ kits: number;
88
+ };
89
+ export type CompanyCameraSummary = {
90
+ id: number;
91
+ name: string;
92
+ status: string;
93
+ exid: string;
94
+ projectExid: string | null;
95
+ ownerEmail: string;
96
+ ownerFullname: string;
97
+ usersCount: number;
98
+ };
58
99
  export type CompanyQueryParams = PaginationParams & {
59
100
  name: string;
60
101
  exid: string;