@evercam/api 1.0.0-a59703ab2 → 1.0.0-a5ed7fc12

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 (104) hide show
  1. package/README.md +1 -0
  2. package/dist/api/api/3dFirebaseApi.d.ts +209 -15
  3. package/dist/api/api/adminApi.d.ts +104 -57
  4. package/dist/api/api/aiApi.d.ts +182 -55
  5. package/dist/api/api/authzApi.d.ts +26 -16
  6. package/dist/api/api/client/axios.d.ts +1 -1
  7. package/dist/api/api/client/swr/Swr.d.ts +1 -1
  8. package/dist/api/api/evercamApi.d.ts +152 -90
  9. package/dist/api/api/evercamLabsApi.d.ts +6 -18
  10. package/dist/api/api/exNvrApi.d.ts +1 -1
  11. package/dist/api/api/index.d.ts +1 -0
  12. package/dist/api/api/ingestApi.d.ts +128 -58
  13. package/dist/api/api/ptzApi.d.ts +9 -4
  14. package/dist/api/api/reportsApi.d.ts +15 -0
  15. package/dist/api/api/videoWallApi.d.ts +2 -2
  16. package/dist/api/api/weatherApi.d.ts +2 -2
  17. package/dist/api/types/360.d.ts +176 -85
  18. package/dist/api/types/aconex.d.ts +9 -9
  19. package/dist/api/types/admin.d.ts +51 -0
  20. package/dist/api/types/aiConfigs.d.ts +244 -0
  21. package/dist/api/types/analytics.d.ts +134 -74
  22. package/dist/api/types/anpr.d.ts +48 -2
  23. package/dist/api/types/apiKey.d.ts +70 -0
  24. package/dist/api/types/auditLogs.d.ts +163 -20
  25. package/dist/api/types/authz.d.ts +116 -12
  26. package/dist/api/types/autodesk.d.ts +7 -7
  27. package/dist/api/types/automation.d.ts +65 -3
  28. package/dist/api/types/axios.d.ts +20 -15
  29. package/dist/api/types/bim.d.ts +39 -10
  30. package/dist/api/types/camera.d.ts +127 -120
  31. package/dist/api/types/comments.d.ts +16 -11
  32. package/dist/api/types/company.d.ts +43 -3
  33. package/dist/api/types/compare.d.ts +21 -6
  34. package/dist/api/types/connector.d.ts +5 -5
  35. package/dist/api/types/coolify.d.ts +18 -2
  36. package/dist/api/types/detections.d.ts +23 -18
  37. package/dist/api/types/drone.d.ts +95 -6
  38. package/dist/api/types/errors.d.ts +18 -2
  39. package/dist/api/types/gateReport.d.ts +46 -68
  40. package/dist/api/types/gateReportManagement.d.ts +170 -0
  41. package/dist/api/types/hammertech.d.ts +98 -0
  42. package/dist/api/types/hdd.d.ts +26 -1
  43. package/dist/api/types/index.d.ts +16 -3
  44. package/dist/api/types/ingest.d.ts +267 -17
  45. package/dist/api/types/kit.d.ts +55 -105
  46. package/dist/api/types/map.d.ts +12 -0
  47. package/dist/api/types/media.d.ts +9 -3
  48. package/dist/api/types/notification.d.ts +83 -3
  49. package/dist/api/types/nvr.d.ts +8 -8
  50. package/dist/api/types/oauth.d.ts +62 -0
  51. package/dist/api/types/observationEvents.d.ts +141 -0
  52. package/dist/api/types/observations.d.ts +80 -0
  53. package/dist/api/types/planner.d.ts +98 -8
  54. package/dist/api/types/posthog.d.ts +35 -0
  55. package/dist/api/types/procore.d.ts +13 -6
  56. package/dist/api/types/progressPhoto.d.ts +6 -2
  57. package/dist/api/types/project.d.ts +111 -25
  58. package/dist/api/types/recording.d.ts +9 -15
  59. package/dist/api/types/recycleBin.d.ts +1 -1
  60. package/dist/api/types/reports.d.ts +108 -0
  61. package/dist/api/types/ring.d.ts +53 -0
  62. package/dist/api/types/roi.d.ts +3 -11
  63. package/dist/api/types/routeParams.d.ts +1 -0
  64. package/dist/api/types/router.d.ts +1 -1
  65. package/dist/api/types/shared.d.ts +42 -25
  66. package/dist/api/types/shares.d.ts +1 -14
  67. package/dist/api/types/sim.d.ts +6 -6
  68. package/dist/api/types/siteAnalytics.d.ts +81 -43
  69. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  70. package/dist/api/types/siteView.d.ts +78 -0
  71. package/dist/api/types/smartSeach.d.ts +5 -0
  72. package/dist/api/types/snapshots.d.ts +49 -4
  73. package/dist/api/types/socket.d.ts +4 -0
  74. package/dist/api/types/storageProvider.d.ts +19 -0
  75. package/dist/api/types/storyblok.d.ts +27 -0
  76. package/dist/api/types/streaming.d.ts +3 -3
  77. package/dist/api/types/tag.d.ts +1 -1
  78. package/dist/api/types/time.d.ts +0 -18
  79. package/dist/api/types/timelapse.d.ts +7 -11
  80. package/dist/api/types/user.d.ts +106 -37
  81. package/dist/api/types/videoWall.d.ts +21 -21
  82. package/dist/api/types/weather.d.ts +75 -11
  83. package/dist/api/types/widget.d.ts +71 -12
  84. package/dist/api/types/xweather.d.ts +4 -4
  85. package/dist/api/utils.d.ts +1 -1
  86. package/dist/index.js +2453 -962
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.umd.cjs +1 -1
  89. package/dist/index.umd.cjs.map +1 -1
  90. package/dist/shared/types/components.d.ts +375 -34
  91. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  92. package/dist/shared/types/droneUpload.d.ts +93 -0
  93. package/dist/shared/types/imagePlayer.d.ts +9 -2
  94. package/dist/shared/types/index.d.ts +5 -0
  95. package/dist/shared/types/observations.d.ts +25 -0
  96. package/dist/shared/types/rbac.d.ts +67 -0
  97. package/dist/shared/types/report.d.ts +107 -0
  98. package/dist/shared/types/timeline.d.ts +2 -1
  99. package/dist/shared/utils/datePickerValue.d.ts +36 -0
  100. package/dist/shared/utils/datePresets.d.ts +31 -0
  101. package/package.json +4 -2
  102. package/dist/api/types/copilot.d.ts +0 -157
  103. package/dist/api/types/storageServers.d.ts +0 -4
  104. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -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,43 @@ 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
+ };
108
+ export type AnprUpdateRequestPayload = {
109
+ plateNumber: string;
110
+ vehicleType: GateReportVehicleType;
111
+ direction: AnprDirection;
112
+ };
113
+ export declare enum AnprExtractionStatus {
114
+ Pending = "pending",
115
+ Running = "running",
116
+ Completed = "completed",
117
+ Failed = "failed"
118
+ }
119
+ export declare enum AnprExtractionSaveMode {
120
+ All = "all",
121
+ AiDbOnly = "ai_db_only",
122
+ ImagesOnly = "images_only"
123
+ }
124
+ export type AnprExtraction = {
125
+ id: number;
126
+ cameraId: number;
127
+ userId: number | null;
128
+ startDate: string;
129
+ endDate: string;
130
+ status: AnprExtractionStatus;
131
+ totalRecords: number;
132
+ error: string | null;
133
+ saveMode: AnprExtractionSaveMode;
134
+ startedAt: string | null;
135
+ completedAt: string | null;
136
+ insertedAt: string;
137
+ updatedAt: string;
138
+ };
139
+ export type AnprExtractionCreatePayload = {
140
+ startDate: string;
141
+ endDate: string;
142
+ saveMode?: AnprExtractionSaveMode;
143
+ };
@@ -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 "@/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",
@@ -12,7 +12,6 @@ export declare enum AuditLogActionType {
12
12
  WAITING_FOR_SITE_VISIT = "waiting_for_site_visit",
13
13
  SMS = "sms",
14
14
  CUSTOM = "custom",
15
- PUBLIC_NOTE = "public_note",
16
15
  SIM = "sim",
17
16
  LOGIN = "login",
18
17
  LOGOUT = "logout",
@@ -30,32 +29,176 @@ export declare enum AuditLogActionType {
30
29
  SHARE_REQUEST = "share_request",
31
30
  DELETE_SHARE_REQUEST = "delete_share_request",
32
31
  TRANSFER_OWNERSHIP = "transfer_ownership",
33
- BIM_NOTE = "bim_note",
34
- 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"
35
43
  }
44
+ export declare enum AuditLogEntity {
45
+ Cameras = "cameras",
46
+ Projects = "projects",
47
+ Layers = "layers",
48
+ Routers = "routers",
49
+ Sims = "sims",
50
+ Hdds = "hdds",
51
+ Nvr = "nvr",
52
+ Archives = "archives",
53
+ Users = "users",
54
+ Rois = "rois",
55
+ Kits = "kits",
56
+ Roles = "roles",
57
+ Tags = "tags",
58
+ KitsTags = "kits_tags",
59
+ Oauth = "oauth",
60
+ ApiKeys = "api_keys",
61
+ StorageProviders = "storage_providers"
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
+ };
36
182
  export type AuditLog = {
37
183
  id: number;
38
184
  action: AuditLogActionType;
39
- details: Record<string, any>;
185
+ details: AuditLogDetails;
40
186
  insertedAt: DateType;
41
- entity: string;
42
- user_details: {
43
- browser: string;
44
- country: string;
45
- countryCode: string;
46
- device: string | null;
47
- ip: string;
48
- os: string | null;
49
- };
187
+ entity: AuditLogEntity;
188
+ userDetails: AuditLogUserDetails;
50
189
  who: string;
51
190
  };
52
191
  export type AuditLogsParams = PaginationParams & {
53
- routerId: number;
54
- cameraId: number;
55
- entity: string;
56
- byRouter: boolean;
57
- byCamera: boolean;
58
- 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;
59
202
  action: string;
60
203
  };
61
204
  export type CameraLogsQueryParams = {
@@ -3,21 +3,26 @@ export declare enum RoleResourceType {
3
3
  Camera = "camera",
4
4
  Project = "project"
5
5
  }
6
- export type BaseRole = {
6
+ export declare enum RoleAssignmentLogAction {
7
+ Assign = "assign",
8
+ Unassign = "unassign"
9
+ }
10
+ export type RoleSubRole = {
11
+ resourceId: string;
12
+ roleId: number;
13
+ roleName?: string;
14
+ permissions?: string[];
15
+ };
16
+ export type Role = {
7
17
  id: number;
8
18
  name: string;
9
- };
10
- export type Role = BaseRole & {
11
- resource: string;
19
+ description?: string | null;
20
+ resource?: string;
12
21
  resourceType: RoleResourceType;
22
+ resourceId?: string | null;
13
23
  permissions: string[];
14
- subRoles?: Array<SubRole>;
15
- };
16
- export type SubRole = {
17
- resourceId: string;
18
- roleId: number;
19
- permissions: string[];
20
- roleName: string;
24
+ subRoles?: RoleSubRole[];
25
+ isDefault?: boolean;
21
26
  };
22
27
  export type ProjectResourceRole = Role & {
23
28
  resourceType: RoleResourceType.Project;
@@ -25,4 +30,103 @@ export type ProjectResourceRole = Role & {
25
30
  export type CameraResourceRole = Omit<Role, "subRoles"> & {
26
31
  resourceType: RoleResourceType.Camera;
27
32
  };
28
- export type ProjectRoleRequestPayload = Omit<Role, "id" | "resource" | "resourceType">;
33
+ export type ProjectRoleRequestPayload = {
34
+ name: string;
35
+ permissions: string[];
36
+ subRoles?: RoleSubRole[];
37
+ };
38
+ export type AuthzRoleUser = {
39
+ email: string;
40
+ resourceId: string;
41
+ };
42
+ export type AuthzUserRolesResponse = {
43
+ roles: Role[];
44
+ };
45
+ export type AuthzScopePermission = {
46
+ id: number;
47
+ action: string;
48
+ exid: string;
49
+ };
50
+ export type AuthzScope = {
51
+ id: number;
52
+ name: string;
53
+ description: string | null;
54
+ permissions: AuthzScopePermission[];
55
+ app: string;
56
+ exid: string;
57
+ };
58
+ export type AuthzScopeCreatePayload = {
59
+ name: string;
60
+ description?: string;
61
+ permissions: string[];
62
+ };
63
+ export type AuthzScopeUpdatePayload = Partial<AuthzScopeCreatePayload>;
64
+ export declare function isProjectRole(role: Role): role is ProjectResourceRole;
65
+ export declare function isCameraRole(role: Role): role is CameraResourceRole;
66
+ export type RoleAssignmentUserDetails = {
67
+ browser?: string | null;
68
+ device?: string | null;
69
+ os?: string | null;
70
+ country?: string | null;
71
+ countryCode?: string | null;
72
+ ip?: string | null;
73
+ impersonatedBy?: string | null;
74
+ };
75
+ export type RoleAssignmentRowUserDetails = RoleAssignmentUserDetails & {
76
+ via?: string | null;
77
+ inviteId?: number | null;
78
+ inviteEmail?: string | null;
79
+ };
80
+ export type RoleAssignmentLog = {
81
+ id: number;
82
+ action: RoleAssignmentLogAction;
83
+ assignerId: number | null;
84
+ assignerEmail: string | null;
85
+ assigneeId: number | null;
86
+ assigneeEmail: string;
87
+ roleId: number | null;
88
+ roleName: string | null;
89
+ previousRoleId: number | null;
90
+ previousRoleName: string | null;
91
+ scope: RoleResourceType;
92
+ projectExid: string | null;
93
+ cameraExid: string | null;
94
+ cameraName: string | null;
95
+ projectName: string | null;
96
+ ip: string | null;
97
+ userDetails: RoleAssignmentRowUserDetails | null;
98
+ insertedAt: string;
99
+ };
100
+ export type RoleAssignmentResourceRef = {
101
+ exid: string;
102
+ name: string | null;
103
+ };
104
+ export type RoleAssignmentLogBatch = {
105
+ groupId: string;
106
+ batchId: string | null;
107
+ batchSize: number;
108
+ assigneeId: number | null;
109
+ assigneeEmail: string;
110
+ actions: RoleAssignmentLogAction[];
111
+ projects: RoleAssignmentResourceRef[];
112
+ ip: string | null;
113
+ userDetails: RoleAssignmentUserDetails | null;
114
+ insertedAt: string;
115
+ children: RoleAssignmentLog[];
116
+ };
117
+ export type RoleAssignmentLogsParams = {
118
+ page?: number;
119
+ limit?: number;
120
+ sort?: string;
121
+ action?: RoleAssignmentLogAction;
122
+ roleId?: number;
123
+ roleName?: string;
124
+ assigneeEmail?: string;
125
+ assignerEmail?: string;
126
+ scope?: RoleResourceType;
127
+ projectExid?: string;
128
+ cameraExid?: string;
129
+ ip?: string;
130
+ from?: string;
131
+ to?: string;
132
+ };
@@ -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,13 +7,45 @@ 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",
12
+ Weather = "weather"
11
13
  }
14
+ export declare enum AutomationWeatherReportType {
15
+ Forecast = "forecast",
16
+ History = "history"
17
+ }
18
+ export declare enum AutomationExportFormat {
19
+ Pdf = "pdf",
20
+ Csv = "csv"
21
+ }
22
+ export declare enum AutomationWeatherDataGranularity {
23
+ Daily = "daily",
24
+ Hourly = "hourly"
25
+ }
26
+ export type AutomationWeatherConfig = {
27
+ reportType: AutomationWeatherReportType;
28
+ exportFormat: AutomationExportFormat;
29
+ dataGranularity?: AutomationWeatherDataGranularity;
30
+ selectedColumns?: string[];
31
+ forecastDays?: number;
32
+ };
12
33
  export type AutomationCompareConfig = {
13
34
  compareDelay: number;
14
35
  };
36
+ export type AutomationEmailRecipient = string | {
37
+ email: string;
38
+ };
39
+ export type AutomationGateReportConfig = {
40
+ projectExid: string;
41
+ vehicleTypes: string[];
42
+ fileType: string;
43
+ period: number;
44
+ columns: string[];
45
+ };
15
46
  export type AutomationEmailProviderConfig = {
16
- recipients: string | string[];
47
+ cameraExids?: CameraExid[];
48
+ recipients: string | AutomationEmailRecipient[];
17
49
  };
18
50
  export type AutomationProcoreProviderConfig = {
19
51
  companyId: number;
@@ -38,9 +70,10 @@ export type AutomationAutodeskProviderConfig = {
38
70
  folderName: string;
39
71
  };
40
72
  export type AutomationProviderConfig = AutomationEmailProviderConfig | AutomationProcoreProviderConfig | AutomationAconexProviderConfig | AutomationAutodeskProviderConfig;
41
- export type AutomationOptionsConfig = AutomationCompareConfig | {};
73
+ export type AutomationOptionsConfig = AutomationCompareConfig | AutomationGateReportConfig | AutomationWeatherConfig | {};
42
74
  export type AutomationConfig = AutomationProviderConfig & AutomationOptionsConfig;
43
75
  export type Automation = {
76
+ id?: number;
44
77
  cameraExids: CameraExid[];
45
78
  name: string;
46
79
  subject?: string;
@@ -59,3 +92,32 @@ export declare enum AutomationConfigStep {
59
92
  Settings = "settings",
60
93
  Destination = "destination"
61
94
  }
95
+ export type AutomationProviderOption = {
96
+ labelTranslationKey: string;
97
+ descriptionTranslationKey: string;
98
+ value: AutomationProvider;
99
+ icon: string;
100
+ iconSize?: string;
101
+ requiresConnection: boolean;
102
+ };
103
+ export type AutomationTypeOption = {
104
+ labelTranslationKey: string;
105
+ descriptionTranslationKey: string;
106
+ label?: string;
107
+ description?: string;
108
+ value: AutomationType;
109
+ icon: string;
110
+ iconType?: string;
111
+ };
112
+ export type FormattedAutomation = {
113
+ cameraExids?: string;
114
+ name: string;
115
+ subject: string;
116
+ provider: AutomationProvider;
117
+ type: AutomationType;
118
+ config: Partial<AutomationProviderConfig> & Partial<AutomationOptionsConfig>;
119
+ notifyDays: string;
120
+ notifyTime: string;
121
+ timezone: string;
122
+ isPaused: boolean;
123
+ };
@@ -1,25 +1,23 @@
1
1
  import type { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelTokenSource, CancelTokenStatic } from "axios";
2
- import { Swr } from "@/api/client/swr/Swr";
3
- export type TimedRequest<T> = Promise<AxiosResponse<T> & {
4
- duration: number;
5
- error?: AxiosError;
6
- }>;
2
+ import { Swr } from "@evercam/api/api/client/swr/Swr";
7
3
  export type AxiosEnvironment = {
8
4
  baseUrl?: string | null;
9
5
  stagingAiApiUrl?: string | null;
10
6
  aiApiUrl?: string | null;
11
- aiApiUrlV2?: string | null;
12
- ingestApiUrl?: string | null;
7
+ ingestDroneApi?: string | null;
8
+ ingest360Api?: string | null;
13
9
  ingestGpuApiUrl?: string | null;
14
10
  posthogApiUrl?: string | null;
15
11
  posthogProjectId?: string | null;
16
- posthogPrivateApiKey?: string | null;
17
12
  firebaseVideowallUrl?: string | null;
18
13
  weatherApiBaseUrl?: string | null;
19
14
  evercamLabsUrl?: string | null;
15
+ isLabsStaging?: boolean;
16
+ reportsApiUrl?: string | null;
20
17
  firebaseDbLink?: string | null;
21
18
  firebaseStorageUrl?: string | null;
22
19
  firebaseStorageToken?: string | null;
20
+ forgeTokenServerUrl?: string | null;
23
21
  snapshotsURL?: string | null;
24
22
  app?: string | null;
25
23
  getAuthToken?: () => string | null;
@@ -29,15 +27,18 @@ export type AxiosEnvironment = {
29
27
  export type RequestInterceptor = (req: AxiosRequestConfig, env: AxiosEnvironment) => AxiosRequestConfig & any;
30
28
  export type ResponseInterceptor = (res: AxiosResponse, env: AxiosEnvironment) => AxiosResponse & any;
31
29
  export type ErrorInterceptor = (error: any, env: AxiosEnvironment) => any;
30
+ export type RequestManager = {
31
+ createToken: (key: string) => CancelTokenSource["token"];
32
+ cancelToken: (key: string) => void;
33
+ cancelAll: () => void;
34
+ };
32
35
  export interface ExtendedAxiosInstance extends AxiosInstance {
33
36
  CancelToken: CancelTokenStatic;
34
- isCancel: (value: AxiosResponse | AxiosError | never) => boolean;
37
+ isCancel: (value: AxiosResponse | AxiosError | unknown) => boolean;
35
38
  setToken: (token: string) => void;
36
39
  setHeader: (headerName: string, value: any) => void;
37
- generateCancelTokenSource: () => CancelTokenSource;
38
- addCancelToken: (token: CancelTokenSource) => void;
39
- resetCancelTokens: () => void;
40
- cancelRequests: () => void;
40
+ createRequestManager: () => RequestManager;
41
+ requestManager: RequestManager;
41
42
  env: AxiosEnvironment;
42
43
  addEnvironmentVariables: (vars: Record<string, any>) => void;
43
44
  addRequestInterceptor: (interceptor: RequestInterceptor, errorInterceptor?: ErrorInterceptor) => void;
@@ -50,6 +51,10 @@ export type SwrResponse<T> = {
50
51
  cachedValue: ResponseValue<T>;
51
52
  freshPromise: Promise<ResponseValue<T>>;
52
53
  };
54
+ export type SwrRequestConfig<T> = Omit<AxiosRequestConfig, "onSwrHit" | "onSwrRefresh"> & {
55
+ onSwrHit?: (data: T) => unknown;
56
+ onSwrRefresh?: (data: T) => unknown;
57
+ };
53
58
  declare module "axios" {
54
59
  interface AxiosRequestConfig {
55
60
  raw?: boolean;
@@ -59,8 +64,8 @@ declare module "axios" {
59
64
  startTime: number;
60
65
  };
61
66
  swr?: boolean;
62
- onSwrHit?: <T>(data: T) => unknown;
63
- onSwrRefresh?: <T>(data: T) => unknown;
67
+ onSwrHit?: (data: any) => unknown;
68
+ onSwrRefresh?: (data: any) => unknown;
64
69
  onSwrError?: (error: Error) => unknown;
65
70
  }
66
71
  }