@evercam/api 1.0.0-336752725 → 1.0.0-39e7bbc90

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 (76) hide show
  1. package/README.md +3 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +17 -1
  3. package/dist/api/api/adminApi.d.ts +104 -83
  4. package/dist/api/api/aiApi.d.ts +33 -52
  5. package/dist/api/api/authzApi.d.ts +32 -15
  6. package/dist/api/api/client/axios.d.ts +2 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +79 -95
  9. package/dist/api/api/evercamLabsApi.d.ts +6 -3
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/ingestApi.d.ts +110 -33
  12. package/dist/api/api/ptzApi.d.ts +12 -3
  13. package/dist/api/api/videoWallApi.d.ts +7 -7
  14. package/dist/api/api/weatherApi.d.ts +2 -2
  15. package/dist/api/types/360.d.ts +192 -5
  16. package/dist/api/types/aconex.d.ts +104 -6
  17. package/dist/api/types/admin.d.ts +51 -0
  18. package/dist/api/types/analytics.d.ts +101 -9
  19. package/dist/api/types/anpr.d.ts +13 -13
  20. package/dist/api/types/auditLogs.d.ts +1 -1
  21. package/dist/api/types/authz.d.ts +60 -0
  22. package/dist/api/types/autodesk.d.ts +7 -7
  23. package/dist/api/types/automation.d.ts +86 -1
  24. package/dist/api/types/axios.d.ts +11 -4
  25. package/dist/api/types/bim.d.ts +11 -5
  26. package/dist/api/types/camera.d.ts +97 -73
  27. package/dist/api/types/comments.d.ts +21 -9
  28. package/dist/api/types/company.d.ts +43 -2
  29. package/dist/api/types/compare.d.ts +20 -5
  30. package/dist/api/types/connector.d.ts +2 -5
  31. package/dist/api/types/coolify.d.ts +3 -1
  32. package/dist/api/types/copilot.d.ts +1 -1
  33. package/dist/api/types/credentials.d.ts +1 -0
  34. package/dist/api/types/detections.d.ts +17 -23
  35. package/dist/api/types/errors.d.ts +1 -0
  36. package/dist/api/types/gateReport.d.ts +32 -128
  37. package/dist/api/types/hdd.d.ts +26 -1
  38. package/dist/api/types/index.d.ts +5 -0
  39. package/dist/api/types/ingest.d.ts +86 -1
  40. package/dist/api/types/kit.d.ts +56 -7
  41. package/dist/api/types/media.d.ts +1 -1
  42. package/dist/api/types/notification.d.ts +32 -2
  43. package/dist/api/types/planner.d.ts +4 -1
  44. package/dist/api/types/posthog.d.ts +15 -0
  45. package/dist/api/types/procore.d.ts +13 -6
  46. package/dist/api/types/progressPhoto.d.ts +10 -24
  47. package/dist/api/types/project.d.ts +130 -17
  48. package/dist/api/types/recording.d.ts +2 -1
  49. package/dist/api/types/recycleBin.d.ts +14 -0
  50. package/dist/api/types/routeParams.d.ts +2 -1
  51. package/dist/api/types/router.d.ts +20 -1
  52. package/dist/api/types/shared.d.ts +12 -10
  53. package/dist/api/types/shares.d.ts +6 -144
  54. package/dist/api/types/sim.d.ts +6 -6
  55. package/dist/api/types/siteAnalytics.d.ts +197 -41
  56. package/dist/api/types/snapshots.d.ts +10 -1
  57. package/dist/api/types/sso.d.ts +55 -0
  58. package/dist/api/types/storyblok.d.ts +40 -0
  59. package/dist/api/types/streaming.d.ts +4 -5
  60. package/dist/api/types/tag.d.ts +1 -1
  61. package/dist/api/types/time.d.ts +4 -18
  62. package/dist/api/types/timelapse.d.ts +3 -4
  63. package/dist/api/types/user.d.ts +105 -30
  64. package/dist/api/types/videoWall.d.ts +47 -14
  65. package/dist/api/types/weather.d.ts +77 -11
  66. package/dist/api/types/widget.d.ts +96 -16
  67. package/dist/api/types/xweather.d.ts +4 -4
  68. package/dist/api/utils.d.ts +1 -0
  69. package/dist/index.js +1141 -942
  70. package/dist/index.js.map +1 -1
  71. package/dist/index.umd.cjs +1 -1
  72. package/dist/index.umd.cjs.map +1 -1
  73. package/dist/shared/types/components.d.ts +97 -11
  74. package/dist/shared/types/imagePlayer.d.ts +2 -2
  75. package/dist/shared/types/timeline.d.ts +2 -1
  76. package/package.json +4 -4
@@ -1,17 +1,7 @@
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;
5
- firstSeen?: {
6
- gte: DateType;
7
- };
8
- lastSeen?: {
9
- lte: DateType;
10
- };
11
- captureTime?: {
12
- gte?: DateType;
13
- lt?: DateType;
14
- };
15
5
  direction?: {
16
6
  eq?: string;
17
7
  } | string;
@@ -21,7 +11,11 @@ export type AnprQueryParams = {
21
11
  sort?: string;
22
12
  fromDate?: DateType;
23
13
  toDate?: DateType;
24
- tab?: string;
14
+ camerasExid?: CameraExid[];
15
+ vehicleTypes?: GateReportVehicleType[];
16
+ isDuplicate?: boolean;
17
+ isPostprocessed?: boolean;
18
+ isPlate?: boolean;
25
19
  };
26
20
  export type AnprCountsQueryParams = {
27
21
  precision: TimelinePrecision;
@@ -68,7 +62,13 @@ export type AnprEvent = {
68
62
  votedVehicleType: GateReportVehicleType | string;
69
63
  roiId?: number;
70
64
  captureTime: DateType;
71
- metadata_: {
65
+ contextThumbnailUrl: string;
66
+ isPublic: boolean;
67
+ label: string;
68
+ mp4Url: string;
69
+ plateThumbnailUrl: string;
70
+ thumbnailUrl: string;
71
+ metadata: {
72
72
  evercamMetadata?: {
73
73
  anpr?: {
74
74
  bbox: BoundingBox;
@@ -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,60 @@
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
+ };
22
+ export type ProjectResourceRole = Role & {
23
+ resourceType: RoleResourceType.Project;
24
+ };
25
+ export type CameraResourceRole = Omit<Role, "subRoles"> & {
26
+ resourceType: RoleResourceType.Camera;
27
+ };
28
+ export type ProjectRoleRequestPayload = {
29
+ name: string;
30
+ permissions: string[];
31
+ subRoles?: RoleSubRole[];
32
+ };
33
+ export type AuthzRoleUser = {
34
+ email: string;
35
+ resourceId: string;
36
+ };
37
+ export type AuthzUserRolesResponse = {
38
+ roles: Role[];
39
+ };
40
+ export type AuthzScopePermission = {
41
+ id: number;
42
+ action: string;
43
+ exid: string;
44
+ };
45
+ export type AuthzScope = {
46
+ id: number;
47
+ name: string;
48
+ description: string | null;
49
+ permissions: AuthzScopePermission[];
50
+ app: string;
51
+ exid: string;
52
+ };
53
+ export type AuthzScopeCreatePayload = {
54
+ name: string;
55
+ description?: string;
56
+ permissions: string[];
57
+ };
58
+ export type AuthzScopeUpdatePayload = Partial<AuthzScopeCreatePayload>;
59
+ export declare function isProjectRole(role: Role): role is ProjectResourceRole;
60
+ 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;
@@ -1,3 +1,4 @@
1
+ import { AconexIdentifiers, CameraExid } from "@evercam/api/types";
1
2
  export declare enum AutomationProvider {
2
3
  Aconex = "aconex",
3
4
  Procore = "procore",
@@ -6,5 +7,89 @@ export declare enum AutomationProvider {
6
7
  }
7
8
  export declare enum AutomationType {
8
9
  Photo = "photo",
9
- Compare = "compare"
10
+ Compare = "compare",
11
+ GateReport = "gate_report"
10
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,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,6 +8,7 @@ export type AxiosEnvironment = {
8
8
  baseUrl?: string | null;
9
9
  stagingAiApiUrl?: string | null;
10
10
  aiApiUrl?: string | null;
11
+ aiApiUrlV2?: string | null;
11
12
  ingestApiUrl?: string | null;
12
13
  ingestGpuApiUrl?: string | null;
13
14
  posthogApiUrl?: string | null;
@@ -17,6 +18,8 @@ export type AxiosEnvironment = {
17
18
  weatherApiBaseUrl?: string | null;
18
19
  evercamLabsUrl?: string | null;
19
20
  firebaseDbLink?: string | null;
21
+ firebaseStorageUrl?: string | null;
22
+ firebaseStorageToken?: string | null;
20
23
  snapshotsURL?: string | null;
21
24
  app?: string | null;
22
25
  getAuthToken?: () => string | null;
@@ -28,7 +31,7 @@ export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) =>
28
31
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
29
32
  export interface ExtendedAxiosInstance extends AxiosInstance {
30
33
  CancelToken: CancelTokenStatic;
31
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
34
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
32
35
  setToken: (token: string) => void;
33
36
  setHeader: (headerName: string, value: any) => void;
34
37
  generateCancelTokenSource: () => CancelTokenSource;
@@ -47,6 +50,10 @@ export type SwrResponse<T> = {
47
50
  cachedValue: ResponseValue<T>;
48
51
  freshPromise: Promise<ResponseValue<T>>;
49
52
  };
53
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
54
+ onSwrHit?: (data: T) => unknown;
55
+ onSwrRefresh?: (data: T) => unknown;
56
+ };
50
57
  declare module "axios" {
51
58
  interface AxiosRequestConfig {
52
59
  raw?: boolean;
@@ -56,8 +63,8 @@ declare module "axios" {
56
63
  startTime: number;
57
64
  };
58
65
  swr?: boolean;
59
- onSwrHit?: <T>(data: T) => unknown;
60
- onSwrRefresh?: <T>(data: T) => unknown;
66
+ onSwrHit?: (data: any) => unknown;
67
+ onSwrRefresh?: (data: any) => unknown;
61
68
  onSwrError?: (error: Error) => unknown;
62
69
  }
63
70
  }
@@ -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,4 +1,5 @@
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 } from "@evercam/api/types";
2
+ import { DateRangeFilter } from "@evercam/api/types/time";
2
3
  export type CameraExid = string;
3
4
  export type CamerasByExid = EntityByExid<Camera>;
4
5
  export type Cartesian3 = {
@@ -16,8 +17,8 @@ export type Camera = {
16
17
  status: string;
17
18
  storageDuration: string;
18
19
  };
19
- createdAt: DateTime_Z_micros;
20
- description: null;
20
+ createdAt: string;
21
+ description: string | null;
21
22
  discoverable: boolean;
22
23
  external: {
23
24
  host: string;
@@ -36,14 +37,14 @@ export type Camera = {
36
37
  featureFlags: Array<CameraFeatureFlag>;
37
38
  fovAngle: number;
38
39
  fovRadius: number;
39
- heading: null;
40
+ heading: number;
40
41
  id: CameraExid;
41
42
  exid: CameraExid;
42
43
  isOnline: boolean;
43
44
  isPowerScheduleActive: boolean;
44
45
  isPublic: boolean;
45
- lastOnlineAt: DateTime_Z_micros;
46
- lastPolledAt: DateTime_Z_micros;
46
+ lastOnlineAt: string;
47
+ lastPolledAt: string;
47
48
  location: {
48
49
  lat: number;
49
50
  lng: number;
@@ -62,7 +63,7 @@ export type Camera = {
62
63
  offlineReason: string;
63
64
  owned: boolean;
64
65
  owner: string;
65
- pitch: null;
66
+ pitch: string | null;
66
67
  project: {
67
68
  id: string;
68
69
  name: string;
@@ -72,87 +73,94 @@ export type Camera = {
72
73
  rtmp: string;
73
74
  };
74
75
  ptz: boolean;
75
- rights: string;
76
- roll: null;
76
+ recordingFromNvr: boolean;
77
+ model?: CameraModel;
78
+ roll: string | null;
77
79
  routerId: number;
78
80
  status: CameraStatus;
79
81
  streamingServer: string;
80
82
  thumbnailUrl: string;
81
83
  largeThumbnailUrl?: string;
82
84
  timezone: string;
83
- updatedAt: DateTime_Z_micros;
85
+ updatedAt: string;
84
86
  vendorName: string;
85
87
  isAccessRestricted?: boolean;
86
- kitAlarms?: string[];
88
+ kitAlarms?: KitAlarm[];
87
89
  };
88
90
  export type AdminCamera = {
89
- cameraHost: string;
90
- cameraHttpPort: number;
91
- cameraModel: string;
92
- cameraPassword: string;
93
- cameraPictureEndpoint: string;
94
- cameraRtspPort: number;
95
- cameraScheme: string;
96
- cameraUsername: string;
97
- cameraFirmwareVersion: string;
98
- cameraTimezone: string;
99
- cloudRecordingFrequency: number;
100
- cloudRecordingId: number;
101
- cloudRecordingSchedule: Schedule;
102
- cloudRecordingStatus: string;
103
- cloudRecordingStorageDuration: number;
104
- createdAt: DateTime_Z_micros;
105
- description: null;
106
- discoverable: false;
107
- exid: CameraExid;
108
- featureFlags: CameraFeatureFlag[];
109
- fovAngle: 45.0;
110
- fovRadius: number;
111
- heading: null;
112
91
  id: number;
113
- isPowerScheduleActive: true;
114
- isPublic: false;
115
- kitId?: number;
116
- lastOnlineAt: DateTime_Z_micros;
117
- lastPolledAt: DateTime_Z_micros;
118
- location: {
119
- lat: number;
120
- lng: number;
121
- };
122
- macAddress: string;
92
+ exid: CameraExid;
123
93
  name: string;
124
- nvrChannel: null;
125
- nvrDeviceId: string;
126
- nvrHost: string;
127
- nvrHttpPort: number;
128
- nvrModel: NvrModel;
129
- nvrPassword: string;
130
- nvrPictureEndpoint: string;
131
- nvrRtspPort: number;
132
- nvrScheme: string;
133
- nvrUsername: string;
134
- offlineReason: null;
135
- pitch: null;
136
- powerSchedule: Schedule;
137
- projectExid: string;
138
- projectFeatureFlags: [];
139
- projectId: number;
140
- projectName: string;
141
- ptz: false;
142
- recordingFromNvr: false;
143
- roll: null;
144
- routerId: number;
145
94
  status: string;
146
- storageProviders: [];
147
- streamEndpoint: string;
148
- timezone: string;
149
- updatedAt: DateTime_Z_micros;
150
- userApiId: string;
151
- userApiKey: string;
95
+ description: string | null;
96
+ createdAt: string;
97
+ updatedAt: string;
98
+ lastOnlineAt: string | null;
99
+ lastPolledAt: string | null;
100
+ decommissionedAt: string | null;
101
+ deletedAt?: string | null;
102
+ projectId: number | null;
103
+ projectExid: string | null;
104
+ projectName: string | null;
105
+ projectFeatureFlags: Array<ProjectFeatureFlag | string>;
106
+ userId: number | null;
152
107
  userEmail: string;
153
108
  userFullname: string;
154
- userId: number;
155
- zohoId: string;
109
+ userApiId?: string;
110
+ userApiKey?: string;
111
+ isPublic: boolean;
112
+ sharedWithConstruction?: boolean;
113
+ timezone: string | null;
114
+ location?: {
115
+ lat: number;
116
+ lng: number;
117
+ } | null;
118
+ fovAngle?: number | null;
119
+ fovRadius?: number | null;
120
+ heading?: number | null;
121
+ pitch?: number | null;
122
+ roll?: number | null;
123
+ cameraModel?: string | null;
124
+ cameraHost?: string | null;
125
+ cameraHttpPort?: number | null;
126
+ cameraRtspPort?: number | null;
127
+ cameraScheme?: string | null;
128
+ cameraUsername?: string | null;
129
+ cameraPassword?: string | null;
130
+ cameraPictureEndpoint?: string | null;
131
+ rtspUrl?: string | null;
132
+ httpUrl?: string | null;
133
+ deviceId?: string | null;
134
+ nvrId?: number | null;
135
+ nvrDeviceId?: string | null;
136
+ nvrModel?: NvrModel | string | null;
137
+ nvrHost?: string | null;
138
+ nvrHttpPort?: number | null;
139
+ nvrRtspPort?: number | null;
140
+ nvrScheme?: string | null;
141
+ nvrUsername?: string | null;
142
+ nvrPassword?: string | null;
143
+ nvrPictureEndpoint?: string | null;
144
+ streamEndpoint?: string | null;
145
+ routerId?: number | null;
146
+ kitId?: number | null;
147
+ powerType?: string | null;
148
+ powerSchedule?: ScheduleLowercase | Record<string, string[]>;
149
+ isPowerScheduleActive?: boolean;
150
+ discoverable?: boolean;
151
+ recordingFromNvr?: boolean;
152
+ cloudRecordingFrequency?: number | null;
153
+ cloudRecordingId?: number | null;
154
+ cloudRecordingStatus?: string | null;
155
+ cloudRecordingSchedule?: ScheduleLowercase | null;
156
+ cloudRecordingStorageDuration?: number | null;
157
+ anprSources?: string[];
158
+ storageProviders?: string[];
159
+ featureFlags?: CameraFeatureFlag[];
160
+ zohoId?: string | null;
161
+ offlineReason?: string | null;
162
+ macAddress?: string | null;
163
+ type?: string[];
156
164
  thumbnailUrl?: string;
157
165
  };
158
166
  export type CameraMapMarker = {
@@ -176,6 +184,14 @@ export declare enum CameraStatus {
176
184
  UnderMaintenance = "under_maintenance",
177
185
  WaitingForSiteVisit = "waiting_for_site_visit"
178
186
  }
187
+ export declare enum IntensityChange {
188
+ High = "High",
189
+ Moderate = "Moderate",
190
+ Low = "Low",
191
+ NoChange = "No change",
192
+ Default = "Default"
193
+ }
194
+ export declare const IntensityChangeColorMap: Record<IntensityChange, string>;
179
195
  export declare enum CameraFeatureFlag {
180
196
  EdgeVideo = "edge_video",
181
197
  BimCompare = "bim_compare",
@@ -334,6 +350,7 @@ export type CameraPath = {
334
350
  export type CheckCameraPortPayload = {
335
351
  address: string;
336
352
  port: number;
353
+ open: boolean;
337
354
  };
338
355
  export type CameraCreateRequestPayload = {
339
356
  status: CameraStatus;
@@ -518,3 +535,10 @@ export type FetchCameraQueryParams = PaginationParams & {
518
535
  externalRsptPort: string;
519
536
  nvrHttpPort: string;
520
537
  };
538
+ export declare enum BimType {
539
+ TwoD = "2D",
540
+ Forge = "Forge"
541
+ }
542
+ export type CameraDateRangeFilter = DateRangeFilter & {
543
+ cameraExid: CameraExid;
544
+ };
@@ -1,15 +1,26 @@
1
- import { CameraExid, DateType, ProjectExid } from "@/types";
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams } from "@evercam/api/types";
2
2
  export declare enum CommentsScope {
3
3
  Recordings = "recordings",
4
- ThreeSixty = "360"
4
+ ThreeSixty = "360",
5
+ Drone = "drone"
6
+ }
7
+ export declare enum CommentsLabel {
8
+ Info = "Info",
9
+ Danger = "Danger",
10
+ Restricted = "Restricted"
5
11
  }
6
12
  export type CommentsRequestPayload = {
7
- cameraExid: CameraExid;
8
- fromDate: string;
9
- toDate: string;
10
13
  scope: CommentsScope;
11
- page?: number;
12
- limit?: number;
14
+ };
15
+ export type CommentsListRequestPayload = PaginationParams & {
16
+ projectExid?: ProjectExid;
17
+ cameraExid?: CameraExid;
18
+ fromDate?: string;
19
+ toDate?: string;
20
+ scope?: CommentsScope;
21
+ creatorEmail?: string;
22
+ content?: string;
23
+ includeArchived?: boolean;
13
24
  };
14
25
  export type Comment = {
15
26
  fromDate?: string;
@@ -28,6 +39,7 @@ export type Comment = {
28
39
  context?: Record<string, unknown>;
29
40
  canDelete?: boolean;
30
41
  archivedAt?: string;
42
+ label?: CommentsLabel;
31
43
  };
32
44
  export type CommentCreationRequestPayload = {
33
45
  fromDate?: DateType;
@@ -37,7 +49,7 @@ export type CommentCreationRequestPayload = {
37
49
  projectExid: ProjectExid;
38
50
  cameraExid?: CameraExid;
39
51
  content: string;
40
- position2d?: [number, number];
41
- position3d?: [number, number, number];
52
+ position2d?: number[];
53
+ position3d?: number[];
42
54
  context?: Record<string, unknown>;
43
55
  };
@@ -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;
@@ -53,7 +69,32 @@ export type Company = {
53
69
  cameras: number;
54
70
  users: number;
55
71
  activeUsers: number;
56
- createdAt: DateType;
72
+ insertedAt: DateType;
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;
57
98
  };
58
99
  export type CompanyQueryParams = PaginationParams & {
59
100
  name: string;