@evercam/api 1.0.0-eea993f14 → 1.0.0-eefb67c4d
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.
- package/README.md +1 -0
- package/dist/api/api/3dFirebaseApi.d.ts +209 -15
- package/dist/api/api/adminApi.d.ts +96 -56
- package/dist/api/api/aiApi.d.ts +182 -55
- package/dist/api/api/authzApi.d.ts +26 -16
- package/dist/api/api/client/axios.d.ts +1 -1
- package/dist/api/api/client/swr/Swr.d.ts +1 -1
- package/dist/api/api/evercamApi.d.ts +152 -90
- package/dist/api/api/evercamLabsApi.d.ts +6 -18
- package/dist/api/api/exNvrApi.d.ts +1 -1
- package/dist/api/api/index.d.ts +1 -0
- package/dist/api/api/ingestApi.d.ts +123 -58
- package/dist/api/api/ptzApi.d.ts +9 -4
- package/dist/api/api/videoWallApi.d.ts +2 -2
- package/dist/api/api/weatherApi.d.ts +2 -2
- package/dist/api/api/workflowsApi.d.ts +15 -0
- package/dist/api/types/360.d.ts +176 -85
- package/dist/api/types/aconex.d.ts +9 -9
- package/dist/api/types/admin.d.ts +51 -0
- package/dist/api/types/aiConfigs.d.ts +244 -0
- package/dist/api/types/analytics.d.ts +128 -74
- package/dist/api/types/anpr.d.ts +48 -2
- package/dist/api/types/auditLogs.d.ts +20 -5
- package/dist/api/types/authz.d.ts +116 -12
- package/dist/api/types/autodesk.d.ts +7 -7
- package/dist/api/types/automation.d.ts +65 -3
- package/dist/api/types/axios.d.ts +20 -15
- package/dist/api/types/bim.d.ts +39 -10
- package/dist/api/types/camera.d.ts +120 -115
- package/dist/api/types/comments.d.ts +16 -11
- package/dist/api/types/company.d.ts +43 -3
- package/dist/api/types/compare.d.ts +21 -6
- package/dist/api/types/connector.d.ts +5 -5
- package/dist/api/types/coolify.d.ts +18 -2
- package/dist/api/types/detections.d.ts +23 -18
- package/dist/api/types/drone.d.ts +95 -6
- package/dist/api/types/errors.d.ts +18 -2
- package/dist/api/types/gateReport.d.ts +46 -68
- package/dist/api/types/gateReportManagement.d.ts +170 -0
- package/dist/api/types/hammertech.d.ts +98 -0
- package/dist/api/types/hdd.d.ts +26 -1
- package/dist/api/types/index.d.ts +15 -3
- package/dist/api/types/ingest.d.ts +267 -17
- package/dist/api/types/kit.d.ts +55 -105
- package/dist/api/types/map.d.ts +12 -0
- package/dist/api/types/media.d.ts +9 -3
- package/dist/api/types/notification.d.ts +83 -3
- package/dist/api/types/oauth.d.ts +62 -0
- package/dist/api/types/observationEvents.d.ts +141 -0
- package/dist/api/types/observations.d.ts +84 -0
- package/dist/api/types/planner.d.ts +98 -8
- package/dist/api/types/posthog.d.ts +35 -0
- package/dist/api/types/procore.d.ts +13 -6
- package/dist/api/types/progressPhoto.d.ts +6 -2
- package/dist/api/types/project.d.ts +111 -25
- package/dist/api/types/recording.d.ts +9 -15
- package/dist/api/types/recycleBin.d.ts +1 -1
- package/dist/api/types/ring.d.ts +53 -0
- package/dist/api/types/roi.d.ts +3 -11
- package/dist/api/types/routeParams.d.ts +1 -0
- package/dist/api/types/router.d.ts +1 -1
- package/dist/api/types/shared.d.ts +33 -24
- package/dist/api/types/shares.d.ts +1 -14
- package/dist/api/types/sim.d.ts +6 -6
- package/dist/api/types/siteAnalytics.d.ts +81 -43
- package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
- package/dist/api/types/siteView.d.ts +78 -0
- package/dist/api/types/smartSeach.d.ts +5 -0
- package/dist/api/types/snapshots.d.ts +49 -4
- package/dist/api/types/socket.d.ts +4 -0
- package/dist/api/types/storageProvider.d.ts +19 -0
- package/dist/api/types/storyblok.d.ts +27 -0
- package/dist/api/types/streaming.d.ts +3 -3
- package/dist/api/types/tag.d.ts +1 -1
- package/dist/api/types/time.d.ts +0 -18
- package/dist/api/types/timelapse.d.ts +7 -11
- package/dist/api/types/user.d.ts +106 -37
- package/dist/api/types/videoWall.d.ts +21 -21
- package/dist/api/types/weather.d.ts +75 -11
- package/dist/api/types/widget.d.ts +71 -12
- package/dist/api/types/workflows.d.ts +108 -0
- package/dist/api/types/xweather.d.ts +4 -4
- package/dist/api/utils.d.ts +1 -1
- package/dist/index.js +2431 -965
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/index.umd.cjs.map +1 -1
- package/dist/shared/types/components.d.ts +336 -34
- package/dist/shared/types/customDataTableFilters.d.ts +10 -0
- package/dist/shared/types/droneUpload.d.ts +67 -0
- package/dist/shared/types/imagePlayer.d.ts +9 -2
- package/dist/shared/types/index.d.ts +5 -0
- package/dist/shared/types/observations.d.ts +25 -0
- package/dist/shared/types/rbac.d.ts +67 -0
- package/dist/shared/types/report.d.ts +101 -0
- package/dist/shared/types/timeline.d.ts +2 -1
- package/dist/shared/utils/datePickerValue.d.ts +36 -0
- package/dist/shared/utils/datePresets.d.ts +31 -0
- package/package.json +4 -2
- package/dist/api/types/copilot.d.ts +0 -157
- package/dist/api/types/storageServers.d.ts +0 -4
- package/dist/api/types/vendorModel.d.ts +0 -15
|
@@ -1,6 +1,180 @@
|
|
|
1
|
-
import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment,
|
|
1
|
+
import { type _360Scene, type Media, type DroneModel, type MobileCaptureSnapshot, type TimelineDateInterval, type TimelinePrecision, type Comment, type ProcoreUserProject, type ProcoreProjectAlbum, type ProcoreObservationType, type AconexUserProject, type AutodeskUserHub, type AutodeskProject, type AutodeskFolder, type ProcoreType, type HammertechProject, type HammertechIssueType, type HammertechPriority, type HammertechClassification, type HammertechFileFieldValue, Tag, TuplePoint2D, CameraStatus } from "@evercam/shared/types";
|
|
2
|
+
import type { _360AssetType, AdminCamera, Camera, IngestUploadInitResponse } from "@evercam/api/types";
|
|
2
3
|
import type { TimelineChartType, TimelineEvent, TimelineEventsGroup } from "@evercam/ui";
|
|
3
4
|
import { TimelineDataProvider } from "@evercam/shared/components/timelinePlayer/providers";
|
|
5
|
+
import { SeriesOptionsType } from "highcharts";
|
|
6
|
+
export type ReorderableCamera = Camera & {
|
|
7
|
+
thumbnailSrc?: string;
|
|
8
|
+
batteryLevel?: {
|
|
9
|
+
voltage: number;
|
|
10
|
+
level: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
color: string;
|
|
13
|
+
} | null;
|
|
14
|
+
};
|
|
15
|
+
export type SelectItem = {
|
|
16
|
+
text: string;
|
|
17
|
+
value: string | number;
|
|
18
|
+
};
|
|
19
|
+
export type RoiProjectGroup = {
|
|
20
|
+
exid: string;
|
|
21
|
+
name: string;
|
|
22
|
+
cameras: AdminCamera[];
|
|
23
|
+
};
|
|
24
|
+
export declare enum IframeMessageType {
|
|
25
|
+
LiveView = "liveView",
|
|
26
|
+
EditSnapshot = "editSnapshot",
|
|
27
|
+
Weather = "weather",
|
|
28
|
+
CameraInfo = "cameraInfo",
|
|
29
|
+
AnalyticsEvent = "analyticsEvent",
|
|
30
|
+
Ready = "ready",
|
|
31
|
+
Info = "info",
|
|
32
|
+
GateReport = "gateReport",
|
|
33
|
+
CreateCompare = "createCompare",
|
|
34
|
+
UploadDrone = "uploadDrone",
|
|
35
|
+
UploadBIM = "uploadBIM",
|
|
36
|
+
History = "history",
|
|
37
|
+
PerformanceScore = "performanceScore",
|
|
38
|
+
ShareLink = "shareLink",
|
|
39
|
+
LoadForgeModel = "loadForgeModel",
|
|
40
|
+
LoadPlannerList = "loadPlannerList",
|
|
41
|
+
SaveProjectBounds = "saveProjectBounds",
|
|
42
|
+
ArchiveComment = "archiveComment",
|
|
43
|
+
UnarchiveComment = "unarchiveComment",
|
|
44
|
+
DeleteComment = "deleteComment",
|
|
45
|
+
CreateComment = "createComment",
|
|
46
|
+
RefreshComments = "refreshComments",
|
|
47
|
+
CommentSyncFailed = "commentSyncFailed",
|
|
48
|
+
Load360Gallery = "load360Gallery",
|
|
49
|
+
Upload360 = "upload360",
|
|
50
|
+
FetchForgeToken = "FetchForgeToken",
|
|
51
|
+
ForgeTokenResponse = "ForgeTokenResponse",
|
|
52
|
+
ShowBimUploadChoice = "showBimUploadChoice",
|
|
53
|
+
ViewerLaunchFlags = "viewerLaunchFlags",
|
|
54
|
+
Fetch360DrawingIds = "fetch360DrawingIds",
|
|
55
|
+
DrawingIdsResponse = "drawingIdsResponse",
|
|
56
|
+
CloseCameraMarkerPreview = "CloseCameraMarkerPreview",
|
|
57
|
+
ChatInit = "chatInit",
|
|
58
|
+
ChatToken = "chatToken",
|
|
59
|
+
ChatContext = "chatContext",
|
|
60
|
+
ChatTheme = "chatTheme",
|
|
61
|
+
ChatNavigate = "chatNavigate",
|
|
62
|
+
ChatConversations = "chatConversations",
|
|
63
|
+
ChatOpenConversation = "chatOpenConversation",
|
|
64
|
+
ChatNewConversation = "chatNewConversation",
|
|
65
|
+
ChatRenameConversation = "chatRenameConversation",
|
|
66
|
+
ChatDeleteConversation = "chatDeleteConversation",
|
|
67
|
+
ChatOpenWalkMarker = "chatOpenWalkMarker",
|
|
68
|
+
ProjectMembers = "projectMembers",
|
|
69
|
+
FocusComment = "focusComment"
|
|
70
|
+
}
|
|
71
|
+
export declare enum ChatTheme {
|
|
72
|
+
Dark = "dark",
|
|
73
|
+
Light = "light"
|
|
74
|
+
}
|
|
75
|
+
export type ChatUser = {
|
|
76
|
+
email: string;
|
|
77
|
+
name: string;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* The dashboard's answer to the frame's `Ready`.
|
|
81
|
+
*
|
|
82
|
+
* The token travels here and nowhere else — never in the iframe URL, which
|
|
83
|
+
* would land it in history, referrers and logs.
|
|
84
|
+
*/
|
|
85
|
+
export type ChatInitPayload = {
|
|
86
|
+
token: string;
|
|
87
|
+
user: ChatUser;
|
|
88
|
+
theme: ChatTheme;
|
|
89
|
+
timezone: string;
|
|
90
|
+
};
|
|
91
|
+
/** Pushed on rotation. A frame holding a mount-time token 401s the moment it changes. */
|
|
92
|
+
export type ChatTokenPayload = {
|
|
93
|
+
token: string;
|
|
94
|
+
};
|
|
95
|
+
/** Pushed on every dashboard route change. */
|
|
96
|
+
export type ChatContextPayload = {
|
|
97
|
+
pageId: string;
|
|
98
|
+
projectExid: string | null;
|
|
99
|
+
projectName: string | null;
|
|
100
|
+
cameraExid: string | null;
|
|
101
|
+
timezone: string;
|
|
102
|
+
/**
|
|
103
|
+
* A conversation to open, from `?chat=` on the dashboard's URL.
|
|
104
|
+
*
|
|
105
|
+
* Deep-linking lives in the *context* rather than in a message of its own
|
|
106
|
+
* because it is exactly that — a fact about where the host currently is, sent
|
|
107
|
+
* on every route change alongside the project and page. `null` means "no
|
|
108
|
+
* opinion", which is what every other page sends.
|
|
109
|
+
*/
|
|
110
|
+
chatId: string | null;
|
|
111
|
+
};
|
|
112
|
+
export type ChatThemePayload = {
|
|
113
|
+
theme: ChatTheme;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* A page id plus params, never a route string — the dashboard owns the
|
|
117
|
+
* id → route mapping.
|
|
118
|
+
*/
|
|
119
|
+
export type ChatNavigatePayload = {
|
|
120
|
+
pageId: string;
|
|
121
|
+
params: Record<string, string>;
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Open a 360-walk marker in the 360 viewer, facing one view.
|
|
125
|
+
*
|
|
126
|
+
* Sent by Chat when a `WalkView` in an answer is clicked. The dashboard opens the
|
|
127
|
+
* 360 app in its own dialog (`Walk360Preview`), outside the chat frame, so the
|
|
128
|
+
* viewer gets the whole screen. `walkName` and `walkDate` are how the 360 app
|
|
129
|
+
* knows a walk (its `floor` and `date` URL params); `camera` is the viewer's own
|
|
130
|
+
* azimuth/polar angles for that view, or null to open at the marker's default.
|
|
131
|
+
*/
|
|
132
|
+
export type ChatOpenWalkMarkerPayload = {
|
|
133
|
+
projectExid: string;
|
|
134
|
+
walkId: string;
|
|
135
|
+
walkName: string;
|
|
136
|
+
walkDate: string;
|
|
137
|
+
markerId: string;
|
|
138
|
+
view: string;
|
|
139
|
+
camera: {
|
|
140
|
+
azimuthAngle: number;
|
|
141
|
+
polarAngle: number;
|
|
142
|
+
} | null;
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* One conversation, as the dashboard's sidebar needs it.
|
|
146
|
+
*
|
|
147
|
+
* A deliberate projection of the engine's `ChatSession` — a label and a
|
|
148
|
+
* timestamp, nothing else. The transcript stays in the frame: mirroring `turns`
|
|
149
|
+
* would put every message of every conversation on the bridge each time the list
|
|
150
|
+
* changed, to render a row that shows neither.
|
|
151
|
+
*/
|
|
152
|
+
export type ChatSessionSummary = {
|
|
153
|
+
id: string;
|
|
154
|
+
title: string | null;
|
|
155
|
+
updatedAt: string;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* The frame's conversation list, mirrored up for the left sidebar to draw.
|
|
159
|
+
*
|
|
160
|
+
* The frame stays the single owner of this data — it holds the engine client and
|
|
161
|
+
* the bearer. The host renders and sends intent back; it never fetches.
|
|
162
|
+
*/
|
|
163
|
+
export type ChatConversationsPayload = {
|
|
164
|
+
sessions: ChatSessionSummary[];
|
|
165
|
+
openId: string | null;
|
|
166
|
+
isLoading: boolean;
|
|
167
|
+
};
|
|
168
|
+
export type ChatOpenConversationPayload = {
|
|
169
|
+
id: string;
|
|
170
|
+
};
|
|
171
|
+
export type ChatRenameConversationPayload = {
|
|
172
|
+
id: string;
|
|
173
|
+
title: string;
|
|
174
|
+
};
|
|
175
|
+
export type ChatDeleteConversationPayload = {
|
|
176
|
+
id: string;
|
|
177
|
+
};
|
|
4
178
|
export declare enum NavigationArrow {
|
|
5
179
|
Previous = "previous",
|
|
6
180
|
Next = "next"
|
|
@@ -10,31 +184,12 @@ export declare enum WatermarkedImageDownloadOrigin {
|
|
|
10
184
|
Bim = "BIM",
|
|
11
185
|
Snapshot = "snapshot",
|
|
12
186
|
The360 = "360",
|
|
13
|
-
The360Gallery = "360 Gallery",
|
|
14
187
|
Planner = "Planner"
|
|
15
188
|
}
|
|
16
189
|
export declare enum PlayerMode {
|
|
17
190
|
Video = "video",
|
|
18
191
|
Jpegs = "jpegs"
|
|
19
192
|
}
|
|
20
|
-
export type TasksStatusMap = {
|
|
21
|
-
[key: string]: TaskStatus;
|
|
22
|
-
};
|
|
23
|
-
export type TaskProgressItem = {
|
|
24
|
-
status: TaskStatus;
|
|
25
|
-
description: string;
|
|
26
|
-
percentDone?: number;
|
|
27
|
-
duration?: number;
|
|
28
|
-
};
|
|
29
|
-
export type GlobalSearchMatch = {
|
|
30
|
-
path: Array<string>;
|
|
31
|
-
value: string | number | boolean;
|
|
32
|
-
};
|
|
33
|
-
export type GlobalSearchResult = {
|
|
34
|
-
index: number;
|
|
35
|
-
matches: Array<GlobalSearchMatch>;
|
|
36
|
-
};
|
|
37
|
-
export type GlobalSearchResultInput = Array<Record<any, any> | Array<any>>;
|
|
38
193
|
export type TimelineProviderRequestParams = TimelineDateInterval & {
|
|
39
194
|
precision?: TimelinePrecision;
|
|
40
195
|
labels?: string[];
|
|
@@ -48,13 +203,6 @@ export type TimelinePlayerGroupConfig = {
|
|
|
48
203
|
export type TimelinePlayerConfig = {
|
|
49
204
|
[groupName: string]: TimelinePlayerGroupConfig;
|
|
50
205
|
};
|
|
51
|
-
export type TimelinePlayerTooltipItem = {
|
|
52
|
-
label?: string;
|
|
53
|
-
title?: string;
|
|
54
|
-
thumbnailUrl: string;
|
|
55
|
-
placeholderThumbnailUrl?: string;
|
|
56
|
-
fallbackThumbnailUrl?: string;
|
|
57
|
-
};
|
|
58
206
|
export declare enum TimelineGroupId {
|
|
59
207
|
ThreeSixty = "w360",
|
|
60
208
|
Drone = "drone",
|
|
@@ -124,8 +272,8 @@ export type LeaderLineOptions = {
|
|
|
124
272
|
startPlugSize?: number;
|
|
125
273
|
endPlugSize?: number;
|
|
126
274
|
path?: LeaderLinesPathType;
|
|
127
|
-
startSocketGravity?:
|
|
128
|
-
endSocketGravity?:
|
|
275
|
+
startSocketGravity?: TuplePoint2D;
|
|
276
|
+
endSocketGravity?: TuplePoint2D;
|
|
129
277
|
dash?: {
|
|
130
278
|
animation: boolean | {
|
|
131
279
|
duration: number;
|
|
@@ -142,10 +290,6 @@ export type LineConfig = {
|
|
|
142
290
|
end: CssSelector | CssSelector[];
|
|
143
291
|
options?: LeaderLineOptions;
|
|
144
292
|
};
|
|
145
|
-
export type Point = {
|
|
146
|
-
x: number;
|
|
147
|
-
y: number;
|
|
148
|
-
};
|
|
149
293
|
export declare enum ZohoDeskTicketStatus {
|
|
150
294
|
Closed = "Closed",
|
|
151
295
|
OnHold = "On Hold",
|
|
@@ -156,11 +300,14 @@ export type TagSelectorItem = Tag & {
|
|
|
156
300
|
};
|
|
157
301
|
export declare enum FormSchemaComponents {
|
|
158
302
|
SelectField = "SelectField",
|
|
303
|
+
HierarchicalSelect = "HierarchicalSelectField",
|
|
159
304
|
MultiOption = "MultiOption",
|
|
160
305
|
TextField = "TextField",
|
|
161
|
-
|
|
306
|
+
SwitchField = "SwitchField",
|
|
307
|
+
CheckBox = "CheckBoxField",
|
|
162
308
|
Date = "DatePickerInput",
|
|
163
309
|
DateTime = "DateTimeField",
|
|
310
|
+
Time = "TimeField",
|
|
164
311
|
TextArea = "Textarea",
|
|
165
312
|
Search = "Autocomplete",
|
|
166
313
|
ReadOnly = "ReadOnly",
|
|
@@ -175,6 +322,7 @@ export declare enum FormSchemaDataType {
|
|
|
175
322
|
export type FormSchemaOptions = {
|
|
176
323
|
title: string;
|
|
177
324
|
value: string;
|
|
325
|
+
parentId?: string | null;
|
|
178
326
|
};
|
|
179
327
|
export type FormSchemaField = {
|
|
180
328
|
id: string;
|
|
@@ -189,11 +337,165 @@ export type FormSchemaField = {
|
|
|
189
337
|
columns?: number;
|
|
190
338
|
};
|
|
191
339
|
export type FormSchema = Record<string, FormSchemaField>;
|
|
340
|
+
export type DrawingStats = {
|
|
341
|
+
overlay: boolean;
|
|
342
|
+
geolocated: boolean;
|
|
343
|
+
isCalibrated: boolean;
|
|
344
|
+
walks: number;
|
|
345
|
+
markers: number;
|
|
346
|
+
minimodel: number;
|
|
347
|
+
bim: number;
|
|
348
|
+
comments: number;
|
|
349
|
+
lastCapturedDate: string | null;
|
|
350
|
+
};
|
|
192
351
|
export interface ScrollListener {
|
|
193
352
|
element: Element | Window;
|
|
353
|
+
event: "scroll" | "resize";
|
|
194
354
|
handler: () => void;
|
|
195
355
|
}
|
|
196
356
|
export interface LeaderLineInstance {
|
|
197
357
|
remove(): void;
|
|
198
358
|
position(): void;
|
|
199
359
|
}
|
|
360
|
+
export type SnapshotCardItem = {
|
|
361
|
+
label?: string;
|
|
362
|
+
title?: string;
|
|
363
|
+
thumbnailUrl: string;
|
|
364
|
+
placeholderThumbnailUrl?: string;
|
|
365
|
+
fallbackThumbnailUrl?: string;
|
|
366
|
+
};
|
|
367
|
+
export type HighchartsSeriesWithData<T extends number = number> = SeriesOptionsType & {
|
|
368
|
+
data: T[];
|
|
369
|
+
};
|
|
370
|
+
export type NotificationTitleSegment = {
|
|
371
|
+
text: string;
|
|
372
|
+
isBold?: boolean;
|
|
373
|
+
};
|
|
374
|
+
export type FormattedNotificationData = {
|
|
375
|
+
title: string;
|
|
376
|
+
titleSegments?: NotificationTitleSegment[];
|
|
377
|
+
link: string;
|
|
378
|
+
thumbnail?: string;
|
|
379
|
+
icon: string;
|
|
380
|
+
excerpt?: string;
|
|
381
|
+
commentTarget?: {
|
|
382
|
+
commentId: number;
|
|
383
|
+
dateId: string | number;
|
|
384
|
+
floorId: string;
|
|
385
|
+
};
|
|
386
|
+
};
|
|
387
|
+
export type FormattedNotification = FormattedNotificationData & {
|
|
388
|
+
date: string;
|
|
389
|
+
read: boolean;
|
|
390
|
+
id: number;
|
|
391
|
+
thumbnailError?: boolean;
|
|
392
|
+
};
|
|
393
|
+
export type ProcoreProjectStepData = {
|
|
394
|
+
project: ProcoreUserProject | null;
|
|
395
|
+
album: ProcoreProjectAlbum | null;
|
|
396
|
+
observationType: ProcoreObservationType | null;
|
|
397
|
+
};
|
|
398
|
+
export type ProcoreUploadFormData = {
|
|
399
|
+
procoreType: ProcoreType;
|
|
400
|
+
project: ProcoreUserProject | null;
|
|
401
|
+
album: ProcoreProjectAlbum | null;
|
|
402
|
+
observationType: ProcoreObservationType | null;
|
|
403
|
+
observationForm: Record<string, string | number | boolean | null>;
|
|
404
|
+
};
|
|
405
|
+
export type AconexUploadFormData = {
|
|
406
|
+
project: AconexUserProject | null;
|
|
407
|
+
form: Record<string, string | number | boolean | null>;
|
|
408
|
+
};
|
|
409
|
+
export type AutodeskUploadFormData = {
|
|
410
|
+
hub: AutodeskUserHub | null;
|
|
411
|
+
project: AutodeskProject | null;
|
|
412
|
+
folder: AutodeskFolder | null;
|
|
413
|
+
};
|
|
414
|
+
export type HammertechUploadFormData = {
|
|
415
|
+
project: HammertechProject | null;
|
|
416
|
+
issueType: HammertechIssueType | null;
|
|
417
|
+
description: string;
|
|
418
|
+
priority: HammertechPriority | null;
|
|
419
|
+
dueDate: string | null;
|
|
420
|
+
classification: HammertechClassification | null;
|
|
421
|
+
locationId: string | null;
|
|
422
|
+
isPositiveObservation: boolean;
|
|
423
|
+
isPhotoForFixRequired: boolean;
|
|
424
|
+
customFieldFormId: string | null;
|
|
425
|
+
customFieldValues: Record<string, unknown>;
|
|
426
|
+
fileCustomFieldValues: Record<string, HammertechFileFieldValue>;
|
|
427
|
+
};
|
|
428
|
+
export interface MediaHubFilters {
|
|
429
|
+
title: string;
|
|
430
|
+
requesterEmail: string | undefined;
|
|
431
|
+
camera: string | undefined;
|
|
432
|
+
type: string;
|
|
433
|
+
fromDate: string;
|
|
434
|
+
toDate: string;
|
|
435
|
+
sortBy: string;
|
|
436
|
+
}
|
|
437
|
+
export interface MediaHubSortParameter {
|
|
438
|
+
label: string;
|
|
439
|
+
value: string;
|
|
440
|
+
}
|
|
441
|
+
export type BimUploadObject = IngestUploadInitResponse & {
|
|
442
|
+
projectName: string;
|
|
443
|
+
};
|
|
444
|
+
export type BimUploadFileResult = {
|
|
445
|
+
url: string;
|
|
446
|
+
title: string;
|
|
447
|
+
fileExtension: string;
|
|
448
|
+
};
|
|
449
|
+
export type CameraCardItem = {
|
|
450
|
+
thumbnail: string;
|
|
451
|
+
title: string;
|
|
452
|
+
exid: string;
|
|
453
|
+
status: CameraStatus;
|
|
454
|
+
disabled: boolean;
|
|
455
|
+
to: string;
|
|
456
|
+
isOffline: boolean;
|
|
457
|
+
isWaiting: boolean;
|
|
458
|
+
isUnderNda: boolean;
|
|
459
|
+
isAdmin: boolean;
|
|
460
|
+
batteryVoltage: number | null;
|
|
461
|
+
};
|
|
462
|
+
export type ThreeSixtyGalleryView = "drawings" | "walks";
|
|
463
|
+
export interface ThreeSixtyWalk {
|
|
464
|
+
id: string;
|
|
465
|
+
name: string;
|
|
466
|
+
date: string;
|
|
467
|
+
monthKey: string;
|
|
468
|
+
color: string;
|
|
469
|
+
dateId: string;
|
|
470
|
+
floorId: string;
|
|
471
|
+
commentCount: number;
|
|
472
|
+
hasBim: boolean;
|
|
473
|
+
hasMinimodel: boolean;
|
|
474
|
+
}
|
|
475
|
+
export interface ThreeSixtyWalkGroup {
|
|
476
|
+
date: string;
|
|
477
|
+
walks: ThreeSixtyWalk[];
|
|
478
|
+
}
|
|
479
|
+
export type ThreeSixtyMediaDownloadOption = {
|
|
480
|
+
type: _360AssetType;
|
|
481
|
+
title: string;
|
|
482
|
+
icon: string;
|
|
483
|
+
};
|
|
484
|
+
export type DrawingSelection = {
|
|
485
|
+
pageNumber: number;
|
|
486
|
+
size: number;
|
|
487
|
+
thumbnail: string | null;
|
|
488
|
+
pageCount: number;
|
|
489
|
+
};
|
|
490
|
+
export type CommentCardComment = {
|
|
491
|
+
id?: number | string;
|
|
492
|
+
content?: string;
|
|
493
|
+
createdAt?: string;
|
|
494
|
+
archivedAt?: string;
|
|
495
|
+
creatorName?: string;
|
|
496
|
+
label?: string;
|
|
497
|
+
timestamp?: string;
|
|
498
|
+
cameraExid?: string;
|
|
499
|
+
position3d?: number[];
|
|
500
|
+
canDelete?: boolean;
|
|
501
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare enum CustomDataTableFilterType {
|
|
2
|
+
Select = "SelectSearchFilter",
|
|
3
|
+
Text = "TextFieldSearchFilter"
|
|
4
|
+
}
|
|
5
|
+
export interface CustomDataTableFilterField<T = unknown> {
|
|
6
|
+
component: CustomDataTableFilterType;
|
|
7
|
+
attributes?: Record<string, unknown>;
|
|
8
|
+
customFilter?: (item: T, fieldName: string, search: unknown) => boolean;
|
|
9
|
+
}
|
|
10
|
+
export type CustomDataTableFilterFields<T = unknown> = Record<string, CustomDataTableFilterField<T>>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { AerialAllocation, DroneFlightMetadata, DroneFileState, DroneFileError } from "@evercam/api/types";
|
|
2
|
+
export declare enum DroneUploadErrorCode {
|
|
3
|
+
Offline = "offline",
|
|
4
|
+
UploadStalled = "upload_stalled",
|
|
5
|
+
AuthorizationExpired = "upload_authorization_expired",
|
|
6
|
+
UploadRejected = "upload_rejected",
|
|
7
|
+
ConnectionLost = "connection_lost",
|
|
8
|
+
UploadStopped = "upload_stopped",
|
|
9
|
+
UploadCancelled = "upload_cancelled",
|
|
10
|
+
DuplicateFilenames = "duplicate_filenames",
|
|
11
|
+
DifferentFlight = "different_flight",
|
|
12
|
+
ProcessingClosed = "processing_closed",
|
|
13
|
+
PartialUploadFailed = "partial_upload_failed",
|
|
14
|
+
NotSubmitted = "not_submitted"
|
|
15
|
+
}
|
|
16
|
+
export type AerialUploadFile = {
|
|
17
|
+
file: File;
|
|
18
|
+
allocation: AerialAllocation;
|
|
19
|
+
};
|
|
20
|
+
export declare enum DroneUploadStatus {
|
|
21
|
+
Queued = "queued",
|
|
22
|
+
Uploading = "uploading",
|
|
23
|
+
Failed = "failed",
|
|
24
|
+
Completed = "completed"
|
|
25
|
+
}
|
|
26
|
+
export type DroneUploadProgress = {
|
|
27
|
+
status: DroneUploadStatus;
|
|
28
|
+
uploadedFiles: number;
|
|
29
|
+
totalFiles: number;
|
|
30
|
+
uploadedBytes: number;
|
|
31
|
+
totalBytes: number;
|
|
32
|
+
percentage: number;
|
|
33
|
+
startedAt: number;
|
|
34
|
+
initialBytes: number;
|
|
35
|
+
error?: Error;
|
|
36
|
+
};
|
|
37
|
+
export type DroneUploadOptions = {
|
|
38
|
+
label?: string;
|
|
39
|
+
projectId: string;
|
|
40
|
+
processingId?: number;
|
|
41
|
+
flightMetadata: DroneFlightMetadata;
|
|
42
|
+
files: File[];
|
|
43
|
+
aerialShots: AerialUploadFile[];
|
|
44
|
+
onProgress?: (progress: DroneUploadProgress) => void;
|
|
45
|
+
};
|
|
46
|
+
export type AerialUploadOptions = Pick<DroneUploadOptions, "label" | "aerialShots" | "onProgress"> & {
|
|
47
|
+
processingId: number;
|
|
48
|
+
};
|
|
49
|
+
export type DroneUploadJob = {
|
|
50
|
+
readonly projectId?: string;
|
|
51
|
+
readonly initialProcessingId?: number;
|
|
52
|
+
readonly label: string;
|
|
53
|
+
readonly aerialFilenames: string[];
|
|
54
|
+
processingId?: number;
|
|
55
|
+
ingestUrl?: string;
|
|
56
|
+
progress: DroneUploadProgress;
|
|
57
|
+
run: () => Promise<void>;
|
|
58
|
+
cancel: () => Promise<void>;
|
|
59
|
+
};
|
|
60
|
+
export type UploadCollection = {
|
|
61
|
+
files: File[];
|
|
62
|
+
initialStates?: DroneFileState[];
|
|
63
|
+
allocate: (files: File[]) => Promise<DroneFileState[]>;
|
|
64
|
+
acknowledge: (filenames: string[]) => Promise<{
|
|
65
|
+
errors: DroneFileError[];
|
|
66
|
+
}>;
|
|
67
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Timestamp } from "@evercam/
|
|
1
|
+
import type { Timestamp } from "@evercam/shared/types";
|
|
2
2
|
export interface Frame {
|
|
3
3
|
label: string;
|
|
4
4
|
src: string;
|
|
@@ -13,7 +13,7 @@ export type EventMarker<T extends {}> = T & {
|
|
|
13
13
|
label: string;
|
|
14
14
|
thumbnailUrl: string;
|
|
15
15
|
isActive: boolean;
|
|
16
|
-
|
|
16
|
+
markerType?: RecordingsMarker;
|
|
17
17
|
};
|
|
18
18
|
export type SnapshotEvent<T extends {}> = T & {
|
|
19
19
|
eventTime: Timestamp;
|
|
@@ -22,6 +22,13 @@ export type MatchedSnapshotEvent<T extends {}> = SnapshotEvent<T> & {
|
|
|
22
22
|
frameIndex: number;
|
|
23
23
|
snapshotTimestamp: Timestamp;
|
|
24
24
|
};
|
|
25
|
+
export declare enum RecordingsMarker {
|
|
26
|
+
Comment = "comment",
|
|
27
|
+
GateReport = "gate-report",
|
|
28
|
+
Anpr = "anpr",
|
|
29
|
+
Detection = "detection",
|
|
30
|
+
SmartSearch = "smart-search"
|
|
31
|
+
}
|
|
25
32
|
export declare enum ImageQuality {
|
|
26
33
|
ThreeSixty = "360",
|
|
27
34
|
FourEighty = "480",
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export * from "@evercam/api/types";
|
|
2
2
|
export * from "./components";
|
|
3
|
+
export * from "./report";
|
|
4
|
+
export * from "./customDataTableFilters";
|
|
3
5
|
export * from "./imagePlayer";
|
|
4
6
|
export * from "./timeline";
|
|
7
|
+
export * from "./rbac";
|
|
8
|
+
export * from "./observations";
|
|
9
|
+
export * from "./droneUpload";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type ObservationsTableHeader = {
|
|
2
|
+
isThumbnail?: boolean;
|
|
3
|
+
visible: boolean;
|
|
4
|
+
divider: boolean;
|
|
5
|
+
sortable: boolean;
|
|
6
|
+
text: string;
|
|
7
|
+
value: string;
|
|
8
|
+
class: string;
|
|
9
|
+
align: string;
|
|
10
|
+
};
|
|
11
|
+
export type ObservationsCountDay = {
|
|
12
|
+
day: string;
|
|
13
|
+
};
|
|
14
|
+
export type ObservationsTableOptionsUpdate = {
|
|
15
|
+
page: number;
|
|
16
|
+
sortBy: string[];
|
|
17
|
+
sortDesc: boolean[];
|
|
18
|
+
};
|
|
19
|
+
export type ObservationsEventsTableState = {
|
|
20
|
+
height: number | string;
|
|
21
|
+
};
|
|
22
|
+
export type ObservationTypeOption = {
|
|
23
|
+
value: string;
|
|
24
|
+
label: string;
|
|
25
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ProjectMember, ProjectInvite, ProjectResourceRole } from "@evercam/api/types";
|
|
2
|
+
export type HasRoleChangedFn<T = ProjectMember | ProjectInvite> = (entity: T, baseRole: ProjectResourceRole) => boolean;
|
|
3
|
+
export type ProjectRoleData = {
|
|
4
|
+
id?: number;
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string | null;
|
|
7
|
+
permissions: string[];
|
|
8
|
+
subRoles?: Array<{
|
|
9
|
+
resourceId: string;
|
|
10
|
+
roleId: number | null;
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
export type ProjectResourcePermission = {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
requires?: string;
|
|
18
|
+
};
|
|
19
|
+
export type ProjectResource = {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
permissions: ProjectResourcePermission[];
|
|
23
|
+
};
|
|
24
|
+
export type ProjectPermissionWarning = {
|
|
25
|
+
resourceId: string;
|
|
26
|
+
message: string;
|
|
27
|
+
type?: string;
|
|
28
|
+
cameraExids?: string[];
|
|
29
|
+
accessLevel?: string;
|
|
30
|
+
grantAllPermissions?: boolean;
|
|
31
|
+
};
|
|
32
|
+
export type ProjectDisabledPermission = {
|
|
33
|
+
id: string;
|
|
34
|
+
reason: string;
|
|
35
|
+
};
|
|
36
|
+
export type CameraAccessFilters = {
|
|
37
|
+
memberName: string;
|
|
38
|
+
memberEmail: string;
|
|
39
|
+
cameraName: string;
|
|
40
|
+
};
|
|
41
|
+
export type CameraAccessLevelConfig = {
|
|
42
|
+
id: string;
|
|
43
|
+
name: string;
|
|
44
|
+
description: string;
|
|
45
|
+
permissions: string[];
|
|
46
|
+
};
|
|
47
|
+
export declare enum CameraStatusGroup {
|
|
48
|
+
Active = "active",
|
|
49
|
+
Pending = "pending",
|
|
50
|
+
Archived = "archived"
|
|
51
|
+
}
|
|
52
|
+
export type CameraStatusGroupConfig = {
|
|
53
|
+
text: string;
|
|
54
|
+
icon: string;
|
|
55
|
+
color: string;
|
|
56
|
+
};
|
|
57
|
+
export type CameraFeatureIconConfig = {
|
|
58
|
+
icon: string;
|
|
59
|
+
tooltip: string;
|
|
60
|
+
};
|
|
61
|
+
export type RecipientRule = {
|
|
62
|
+
blocked: string[];
|
|
63
|
+
};
|
|
64
|
+
export type RecipientRules = {
|
|
65
|
+
notExistingRecipients?: RecipientRule;
|
|
66
|
+
notPendingInviteRecipients?: RecipientRule;
|
|
67
|
+
};
|