@evercam/api 1.0.0-feccd27be → 1.0.0-ff2190f47

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 (70) hide show
  1. package/dist/api/api/3dFirebaseApi.d.ts +71 -26
  2. package/dist/api/api/adminApi.d.ts +24 -10
  3. package/dist/api/api/aiApi.d.ts +95 -3
  4. package/dist/api/api/authzApi.d.ts +4 -1
  5. package/dist/api/api/evercamApi.d.ts +39 -25
  6. package/dist/api/api/evercamLabsApi.d.ts +5 -16
  7. package/dist/api/api/index.d.ts +1 -0
  8. package/dist/api/api/ingestApi.d.ts +43 -31
  9. package/dist/api/api/workflowsApi.d.ts +15 -0
  10. package/dist/api/types/360.d.ts +126 -42
  11. package/dist/api/types/admin.d.ts +1 -1
  12. package/dist/api/types/aiConfigs.d.ts +102 -12
  13. package/dist/api/types/analytics.d.ts +35 -24
  14. package/dist/api/types/apiKey.d.ts +70 -0
  15. package/dist/api/types/auditLogs.d.ts +32 -11
  16. package/dist/api/types/authz.d.ts +71 -0
  17. package/dist/api/types/automation.d.ts +32 -4
  18. package/dist/api/types/axios.d.ts +9 -8
  19. package/dist/api/types/bim.d.ts +12 -6
  20. package/dist/api/types/camera.d.ts +29 -23
  21. package/dist/api/types/comments.d.ts +9 -2
  22. package/dist/api/types/company.d.ts +1 -2
  23. package/dist/api/types/compare.d.ts +1 -1
  24. package/dist/api/types/connector.d.ts +2 -0
  25. package/dist/api/types/detections.d.ts +1 -0
  26. package/dist/api/types/drone.d.ts +1 -2
  27. package/dist/api/types/errors.d.ts +18 -2
  28. package/dist/api/types/gateReport.d.ts +1 -11
  29. package/dist/api/types/gateReportManagement.d.ts +2 -7
  30. package/dist/api/types/hammertech.d.ts +98 -0
  31. package/dist/api/types/index.d.ts +7 -2
  32. package/dist/api/types/ingest.d.ts +179 -25
  33. package/dist/api/types/kit.d.ts +44 -101
  34. package/dist/api/types/media.d.ts +7 -2
  35. package/dist/api/types/notification.d.ts +52 -2
  36. package/dist/api/types/observationEvents.d.ts +141 -0
  37. package/dist/api/types/observations.d.ts +80 -0
  38. package/dist/api/types/planner.d.ts +1 -8
  39. package/dist/api/types/posthog.d.ts +20 -0
  40. package/dist/api/types/project.d.ts +15 -3
  41. package/dist/api/types/recording.d.ts +5 -5
  42. package/dist/api/types/ring.d.ts +16 -16
  43. package/dist/api/types/roi.d.ts +2 -10
  44. package/dist/api/types/routeParams.d.ts +1 -0
  45. package/dist/api/types/shared.d.ts +5 -22
  46. package/dist/api/types/shares.d.ts +0 -13
  47. package/dist/api/types/siteAnalytics.d.ts +1 -3
  48. package/dist/api/types/siteAnalyticsManagement.d.ts +127 -0
  49. package/dist/api/types/siteView.d.ts +12 -8
  50. package/dist/api/types/socket.d.ts +4 -0
  51. package/dist/api/types/storyblok.d.ts +0 -13
  52. package/dist/api/types/timelapse.d.ts +1 -8
  53. package/dist/api/types/user.d.ts +16 -3
  54. package/dist/api/types/workflows.d.ts +108 -0
  55. package/dist/api/utils.d.ts +1 -0
  56. package/dist/index.js +1630 -942
  57. package/dist/index.js.map +1 -1
  58. package/dist/index.umd.cjs +1 -1
  59. package/dist/index.umd.cjs.map +1 -1
  60. package/dist/shared/types/components.d.ts +227 -44
  61. package/dist/shared/types/customDataTableFilters.d.ts +10 -0
  62. package/dist/shared/types/droneUpload.d.ts +93 -0
  63. package/dist/shared/types/index.d.ts +4 -0
  64. package/dist/shared/types/observations.d.ts +25 -0
  65. package/dist/shared/types/report.d.ts +101 -0
  66. package/dist/shared/utils/datePickerValue.d.ts +36 -0
  67. package/dist/shared/utils/datePresets.d.ts +31 -0
  68. package/package.json +3 -1
  69. package/dist/api/types/copilot.d.ts +0 -162
  70. package/dist/api/types/vendorModel.d.ts +0 -15
@@ -1,4 +1,4 @@
1
- import { CameraExid, DateType, ProjectExid, PaginationParams, TuplePoint3D, TuplePoint2D } from "@evercam/api/types";
1
+ import { CameraExid, DateType, ProjectExid, PaginationParams, TuplePoint3D, TuplePoint2D, _360CameraRotation } from "@evercam/api/types";
2
2
  export declare enum CommentsScope {
3
3
  Recordings = "recordings",
4
4
  ThreeSixty = "360",
@@ -48,10 +48,17 @@ export type CommentCreationRequestPayload = {
48
48
  toDate?: DateType;
49
49
  timestamp?: DateType;
50
50
  scope?: CommentsScope;
51
- projectExid: ProjectExid;
51
+ projectExid?: ProjectExid;
52
52
  cameraExid?: CameraExid;
53
53
  content: string;
54
+ label?: CommentsLabel;
54
55
  position2d?: TuplePoint2D;
55
56
  position3d?: [number, number, number];
56
57
  context?: Record<string, unknown>;
57
58
  };
59
+ export type CommentThreeSixtyContext = {
60
+ floorId: string;
61
+ dateId: string;
62
+ currentRoom: string;
63
+ cameraRotation: _360CameraRotation;
64
+ };
@@ -4,8 +4,7 @@ export type CompanyUser = {
4
4
  fullname: string;
5
5
  email: string;
6
6
  eventsCount: number;
7
- lastSeenAt: string;
8
- active: boolean;
7
+ lastLoginAt: string;
9
8
  };
10
9
  export type AdminCompanyUser = {
11
10
  id: number;
@@ -33,7 +33,7 @@ export type CompareRequestPayload = {
33
33
  beforeDate: string;
34
34
  afterDate: string;
35
35
  cameraExid: string;
36
- embed: string;
36
+ embed?: string;
37
37
  bim?: boolean;
38
38
  custom?: boolean;
39
39
  options?: {
@@ -10,6 +10,8 @@ export declare enum Connector {
10
10
  AutodeskViewer = "autodesk_viewer",
11
11
  VoyageControl = "voyage_control",
12
12
  Ring = "ring",
13
+ Email = "email",
14
+ Hammertech = "hammertech",
13
15
  XWeather = "xweather"
14
16
  }
15
17
  export declare enum ProcoreType {
@@ -102,6 +102,7 @@ export declare enum PpeLabel {
102
102
  Helmet = "helmet",
103
103
  HighVisibilityVest = "high-visibility-vest",
104
104
  SafetyGlasses = "safety-glasses",
105
+ Gloves = "gloves",
105
106
  Person = "person",
106
107
  Man = "man",
107
108
  Woman = "woman"
@@ -19,7 +19,6 @@ export type DroneModel = {
19
19
  export type DroneProjectTransform = {
20
20
  initialCameraTransform?: DroneCameraTransform;
21
21
  initial2DCameraTransform?: DroneCameraTransform;
22
- blackListIds?: string;
23
22
  markers?: Record<string, DroneMarker>;
24
23
  imageryPlans?: Record<string, DroneImageryPlan>;
25
24
  bimData?: DroneBimData;
@@ -57,7 +56,7 @@ export type DroneTag<T extends DroneTagType = DroneTagType> = {
57
56
  type: T;
58
57
  comment: string;
59
58
  position?: Point3D;
60
- cameraTransform?: DroneCameraTransform;
59
+ cameraTransform?: string;
61
60
  creationDate: string;
62
61
  hyperlink?: string;
63
62
  height?: number;
@@ -23,7 +23,9 @@ export declare enum ErrorCode {
23
23
  UnauthorizedError = 401,
24
24
  ForbiddenError = 403,
25
25
  NotFoundError = 404,
26
- ConflictError = 409
26
+ ConflictError = 409,
27
+ GoneError = 410,
28
+ TooManyRequestsError = 429
27
29
  }
28
30
  export declare enum EvercamApiErrorCode {
29
31
  IntegrationError = "INTEGRATION_ERROR",
@@ -37,7 +39,8 @@ export declare enum EvercamApiErrorCode {
37
39
  ProviderEmailRequired = "PROVIDER_EMAIL_REQUIRED",
38
40
  PasswordReset = "PASSWORD_RESET",
39
41
  RequireShareRequest = "REQUIRE_SHARE_REQUEST",
40
- Generic = "GENERIC"
42
+ Generic = "GENERIC",
43
+ VideoWallInUse = "VIDEO_WALL_IN_USE"
41
44
  }
42
45
  type _EvercamApiError = {
43
46
  code: EvercamApiErrorCode;
@@ -46,4 +49,17 @@ type _EvercamApiError = {
46
49
  innerError?: _EvercamApiError;
47
50
  };
48
51
  export type EvercamApiError = AxiosError<_EvercamApiError>;
52
+ export declare function isEvercamApiError(error: unknown): error is EvercamApiError;
53
+ export declare function getEvercamApiErrorCode(error: unknown): EvercamApiErrorCode | undefined;
54
+ export type AppError = {
55
+ statusCode?: number;
56
+ message?: string;
57
+ redirect?: {
58
+ url?: string;
59
+ label?: string;
60
+ delay?: number;
61
+ };
62
+ withSupportMessage?: boolean;
63
+ isWidget?: boolean;
64
+ };
49
65
  export {};
@@ -166,12 +166,6 @@ export type GateReportEvent = {
166
166
  truckType: GateReportVehicleType;
167
167
  thumbnailUrl?: string;
168
168
  };
169
- export type GateReportArrivedEvent = GateReportEvent & {
170
- eventType: GateReportEventType.Arrived;
171
- };
172
- export type GateReportLeftEvent = GateReportEvent & {
173
- eventType: GateReportEventType.Left;
174
- };
175
169
  export type GateReportVerifiedDay = {
176
170
  id: number;
177
171
  day: string;
@@ -188,7 +182,6 @@ export type BoundingBox = {
188
182
  ymax: number;
189
183
  ymin: number;
190
184
  };
191
- export type EventsCountsByVehicleType = Record<GateReportVehicleType, number>;
192
185
  export type EventsCount = {
193
186
  in: number;
194
187
  out: number;
@@ -203,10 +196,6 @@ export type MonthlyEventCount = EventsCount & {
203
196
  export type DailyEventCount = EventsCount & {
204
197
  day: string;
205
198
  };
206
- export type HourlyEventCount = {
207
- hour: string;
208
- count: number;
209
- };
210
199
  export type EventCountRequestPayload = {
211
200
  vehicleTypes?: GateReportVehicleType[];
212
201
  isPublic?: boolean;
@@ -249,6 +238,7 @@ export type AnprExportBaseParams = {
249
238
  toDate?: string;
250
239
  camerasExid?: CameraExid[];
251
240
  isPublic?: boolean;
241
+ columns?: string[];
252
242
  };
253
243
  export type EventsExportRequestParameters = AnprExportBaseParams & {
254
244
  eventType: GateReportEventType;
@@ -1,4 +1,4 @@
1
- import { CameraExid, DateType, ProjectExid } from "@evercam/api/types";
1
+ import { CameraExid, DateType, PaginationParams, ProjectExid } from "@evercam/api/types";
2
2
  export declare enum VehicleClassifierSource {
3
3
  Local = "local",
4
4
  Api = "api"
@@ -130,11 +130,9 @@ export type CreateGateReportAppPayload = {
130
130
  priorSimilarLimit?: number;
131
131
  };
132
132
  export type UpdateGateReportAppPayload = Partial<Omit<CreateGateReportAppPayload, "projectExid" | "anprCameraExid" | "coolifyServerUuid" | "geminiApiKey">>;
133
- export type GateReportManagementListParams = {
133
+ export type GateReportAppsQueryParams = PaginationParams & {
134
134
  projectExid?: ProjectExid;
135
135
  includeStatus?: boolean;
136
- page?: number;
137
- limit?: number;
138
136
  };
139
137
  export type CoolifyProjectOption = {
140
138
  uuid: string;
@@ -152,9 +150,6 @@ export declare enum AppRuntimeState {
152
150
  Stopped = "stopped",
153
151
  Restarting = "restarting"
154
152
  }
155
- export type AppRuntimeStateRequest = {
156
- state: AppRuntimeState;
157
- };
158
153
  export type AppActionResponse = {
159
154
  success: boolean;
160
155
  message: string | null;
@@ -0,0 +1,98 @@
1
+ export declare enum HammertechRegion {
2
+ US = "us",
3
+ AU = "au",
4
+ EU = "eu"
5
+ }
6
+ export type HammertechConnectPayload = {
7
+ email: string;
8
+ password: string;
9
+ tenant: string;
10
+ region: HammertechRegion;
11
+ };
12
+ export type HammertechProject = {
13
+ projectId: string;
14
+ name: string;
15
+ };
16
+ export type HammertechLocation = {
17
+ id: string;
18
+ name: string;
19
+ parentId: string | null;
20
+ };
21
+ export type HammertechCustomFieldDataType = "FreeText" | "TextArea" | "Number" | "Date" | "Time" | "DateTime" | "ExpiryDate" | "Checkbox" | "YesNoRadio" | "YesNoNaRadio" | "Dropdown" | "Radio" | "MultiSelectDropdown" | "ImageUpload" | "FileUpload" | "Signature" | "SignatureWithName" | "Heading" | "BigLabel" | "ExpandingLabel" | "Separator" | "NoMargin" | "Image" | "FileDownload" | "ChildForm" | "SectionStart" | "SectionEnd" | "SystemField" | string;
22
+ export type HammertechCustomField = {
23
+ id: string;
24
+ internalName: string;
25
+ name?: string;
26
+ customFieldType: HammertechCustomFieldDataType;
27
+ isRequired?: boolean;
28
+ answerOptions?: string[];
29
+ };
30
+ export type HammertechCustomFieldForm = {
31
+ id: string;
32
+ customFields: HammertechCustomField[];
33
+ };
34
+ export declare enum HammertechPriority {
35
+ Low = "Low",
36
+ Medium = "Medium",
37
+ High = "High",
38
+ Critical = "Critical"
39
+ }
40
+ export declare enum HammertechClassification {
41
+ Undefined = "Undefined",
42
+ Positive = "Positive",
43
+ Negative = "Negative",
44
+ Neutral = "Neutral"
45
+ }
46
+ export type HammertechIssueType = {
47
+ id: string;
48
+ name: string;
49
+ forcePriority?: boolean;
50
+ suggestedPriority?: HammertechPriority | null;
51
+ canBeNegative?: boolean;
52
+ canBeNeutral?: boolean;
53
+ canBePositive?: boolean;
54
+ openIssueCustomFieldForm?: HammertechCustomFieldForm | null;
55
+ };
56
+ export type HammertechCustomFieldValue = {
57
+ customFieldId: string;
58
+ value?: unknown;
59
+ storedFileId?: string;
60
+ };
61
+ export declare const HAMMERTECH_FILE_FIELD_TYPES: string[];
62
+ export declare function isHammertechFileFieldType(type?: string): boolean;
63
+ export declare function isHammertechSignatureWithName(type?: string): boolean;
64
+ export type HammertechStoredFilePayload = {
65
+ fileName?: string;
66
+ base64FileContent: string;
67
+ annotation?: string;
68
+ id?: string;
69
+ };
70
+ export type HammertechStoredFileResponse = {
71
+ isSuccess: boolean;
72
+ httpStatusCode: number;
73
+ messageText: string;
74
+ createdEntityId: string;
75
+ xRequestId: string;
76
+ };
77
+ export type HammertechFileFieldValue = {
78
+ file: File | null;
79
+ name: string;
80
+ };
81
+ export type HammertechCreateIssuePayload = {
82
+ projectId: string;
83
+ issueTypeId: string;
84
+ snapshot: string;
85
+ issueDate?: string;
86
+ description?: string;
87
+ priority?: HammertechPriority;
88
+ dueDate?: string;
89
+ classification?: HammertechClassification;
90
+ locationId?: string;
91
+ isPositiveObservation?: boolean;
92
+ isPhotoForFixRequired?: boolean;
93
+ openIssueCustomFieldFormId?: string;
94
+ openIssueCustomFieldValues?: HammertechCustomFieldValue[];
95
+ };
96
+ export type HammertechIssueResponse = {
97
+ id: string;
98
+ };
@@ -8,7 +8,6 @@ export * from "./autodesk";
8
8
  export * from "./bim";
9
9
  export * from "./camera";
10
10
  export * from "./compare";
11
- export * from "./copilot";
12
11
  export * from "./credentials";
13
12
  export * from "./drone";
14
13
  export * from "./errors";
@@ -36,12 +35,13 @@ export * from "./storyblok";
36
35
  export * from "./time";
37
36
  export * from "./timelapse";
38
37
  export * from "./user";
39
- export * from "./vendorModel";
40
38
  export * from "./videoWall";
41
39
  export * from "./voyageControl";
40
+ export * from "./hammertech";
42
41
  export * from "./weather";
43
42
  export * from "./comments";
44
43
  export * from "./detections";
44
+ export * from "./observations";
45
45
  export * from "./axios";
46
46
  export * from "./shared";
47
47
  export * from "./company";
@@ -49,6 +49,7 @@ export * from "./kit";
49
49
  export * from "./auditLogs";
50
50
  export * from "./snapshots";
51
51
  export * from "./siteAnalytics";
52
+ export * from "./siteAnalyticsManagement";
52
53
  export * from "./widget";
53
54
  export * from "./countries";
54
55
  export * from "./automation";
@@ -60,8 +61,12 @@ export * from "./posthog";
60
61
  export * from "./recycleBin";
61
62
  export * from "./authz";
62
63
  export * from "./oauth";
64
+ export * from "./apiKey";
63
65
  export * from "./ring";
64
66
  export * from "./smartSeach";
65
67
  export * from "./siteView";
66
68
  export * from "./aiConfigs";
67
69
  export * from "./gateReportManagement";
70
+ export * from "./socket";
71
+ export * from "./workflows";
72
+ export * from "./observationEvents";
@@ -8,7 +8,8 @@ export declare enum IngestProcessingStatus {
8
8
  Aborted = "aborted",
9
9
  Paused = "paused",
10
10
  InProgress = "inprogress",
11
- Pending = "pending"
11
+ Pending = "pending",
12
+ Downloading = "downloading"
12
13
  }
13
14
  export declare enum MobileAssetsType {
14
15
  Audio = "mobile_audios",
@@ -27,8 +28,6 @@ export declare enum IngestTypes {
27
28
  }
28
29
  export type DronesQueryParams = Omit<PaginationParams, "sort"> & {
29
30
  projectId: string;
30
- consumed: string;
31
- token: string;
32
31
  processingStatus: IngestProcessingStatus;
33
32
  };
34
33
  export type IngestPaginatedResponse<T> = {
@@ -38,47 +37,193 @@ export type IngestPaginatedResponse<T> = {
38
37
  total: number;
39
38
  pageCount?: number;
40
39
  };
40
+ export declare enum IngestProcessingStepStatus {
41
+ Running = "running",
42
+ Completed = "completed",
43
+ Failed = "failed",
44
+ Skipped = "skipped"
45
+ }
46
+ export declare enum IngestProcessingRunStatus {
47
+ Processing = "processing",
48
+ Completed = "completed",
49
+ Failed = "failed"
50
+ }
51
+ export type IngestProcessingMetricStat = {
52
+ avg?: number;
53
+ peak?: number;
54
+ };
55
+ export type IngestProcessingStepMetrics = {
56
+ cpu?: IngestProcessingMetricStat;
57
+ ram?: IngestProcessingMetricStat;
58
+ gpuUtil?: IngestProcessingMetricStat;
59
+ gpuMemDevice?: IngestProcessingMetricStat;
60
+ gpuMemStep?: IngestProcessingMetricStat;
61
+ ramTotalMb?: number;
62
+ diskTotalMb?: number;
63
+ };
64
+ export type IngestProcessingStepDetail = {
65
+ input?: Record<string, JsonValue>;
66
+ params?: Record<string, JsonValue>;
67
+ output?: Record<string, JsonValue>;
68
+ metrics?: IngestProcessingStepMetrics;
69
+ error?: string;
70
+ };
71
+ export type IngestProcessingStep = {
72
+ name: string;
73
+ tool?: string;
74
+ status: IngestProcessingStepStatus | string;
75
+ startedAt?: string;
76
+ endedAt?: string;
77
+ durationSec?: number;
78
+ durationPct?: number;
79
+ detail?: IngestProcessingStepDetail;
80
+ };
81
+ export type IngestProcessingDiskUsage = {
82
+ sourceMb?: number;
83
+ framesMb?: number;
84
+ resultMb?: number;
85
+ totalMb?: number;
86
+ };
87
+ export type IngestProcessingPeakUsage = {
88
+ cpu?: number;
89
+ ram?: number;
90
+ gpuUtil?: number;
91
+ gpuMemDevice?: number;
92
+ gpuMemStep?: number;
93
+ };
94
+ export type IngestProcessingFootprint = {
95
+ disk?: IngestProcessingDiskUsage;
96
+ peak?: IngestProcessingPeakUsage;
97
+ };
98
+ export type IngestProcessingProgress = {
99
+ available: boolean;
100
+ status?: IngestProcessingRunStatus | string;
101
+ processingStatus?: IngestProcessingStatus | string;
102
+ currentStep?: string | null;
103
+ error?: string | null;
104
+ startedAt?: string;
105
+ steps: IngestProcessingStep[];
106
+ footprint?: IngestProcessingFootprint;
107
+ };
108
+ export type IngestTrackedAsset = {
109
+ id: number;
110
+ projectId: string;
111
+ name?: string;
112
+ processingStatus?: IngestProcessingStatus | string;
113
+ };
41
114
  export type DroneUploadItem = {
42
115
  id: number;
43
116
  projectId: string;
44
- consumed: boolean;
45
- token: string;
46
117
  flightDate: string;
47
118
  flightGeolocation: string;
48
119
  modelZip: string;
49
120
  orthomosaicZip: string;
50
121
  reportPdf: string;
122
+ processingLog: string;
51
123
  uploadedBy: string;
52
124
  processingStatus: IngestProcessingStatus | string;
53
125
  modelCesiumAssetId: string;
54
126
  updatedAt: string;
55
- hasTusLinks: boolean;
127
+ canDelete: boolean;
128
+ canReprocess: boolean;
129
+ hasSteps: boolean;
130
+ aerialShotsCount: number;
56
131
  };
57
132
  export type DroneUploadsResponse = IngestPaginatedResponse<DroneUploadItem>;
58
133
  export type DroneQueueResponse = {
59
134
  size: number;
60
135
  assetsDrone: DroneUploadItem[];
61
136
  };
62
- export type DroneUploadUpdateRequestPayload = {
63
- flightMetadata: {
64
- dateTime: string;
65
- gpsAltitude: string;
66
- gpsCoordinates: string;
67
- };
68
- upload: {
69
- url: string;
70
- title: string;
71
- fileExtension: string;
72
- }[];
73
- aerialShots: {
74
- url: string;
75
- title: string;
76
- fileExtension: string;
77
- gpsLatitude: string;
78
- gpsLongitude: string;
79
- gpsAltitude: string;
137
+ export type DroneFlightMetadata = {
138
+ dateTime: string;
139
+ gpsAltitude: string;
140
+ gpsCoordinates: string;
141
+ };
142
+ export type DroneFileAllocation = {
143
+ filename: string;
144
+ contentType: string;
145
+ };
146
+ export declare enum UploadFileStatus {
147
+ Allocated = "allocated",
148
+ Acknowledged = "acknowledged"
149
+ }
150
+ export type DroneFileState = DroneFileAllocation & {
151
+ status: UploadFileStatus;
152
+ uploadUrl?: string;
153
+ };
154
+ export type DroneFileError = {
155
+ filename?: string;
156
+ id?: number;
157
+ code: string;
158
+ detail: string;
159
+ retryable: boolean;
160
+ };
161
+ export type DroneFileStates = {
162
+ files: DroneFileState[];
163
+ errors: DroneFileError[];
164
+ nextCursor?: string | null;
165
+ };
166
+ export type DroneCompletion = DroneFileStates & {
167
+ processingId: number;
168
+ processingStatus: IngestProcessingStatus;
169
+ };
170
+ export type DroneReprocessResponse = Pick<DroneCompletion, "processingId" | "processingStatus">;
171
+ export type AerialAllocation = DroneFileAllocation & {
172
+ gpsLatitude: string;
173
+ gpsLongitude: string;
174
+ gpsAltitude: string;
175
+ };
176
+ export type AerialUploadState = AerialAllocation & {
177
+ id: number;
178
+ status: UploadFileStatus;
179
+ processingStatus: IngestProcessingStatus;
180
+ uploadUrl?: string;
181
+ fileLink?: string;
182
+ thumbnailLink?: string;
183
+ };
184
+ export type AerialUploadStates = {
185
+ aerialShots: AerialUploadState[];
186
+ errors: DroneFileError[];
187
+ nextCursor?: string | null;
188
+ complete: boolean;
189
+ };
190
+ export type AerialShotState = {
191
+ id: number;
192
+ filename?: string | null;
193
+ status?: UploadFileStatus | null;
194
+ contentType?: string | null;
195
+ processingStatus?: AerialUploadState["processingStatus"] | null;
196
+ gpsLatitude: string;
197
+ gpsLongitude: string;
198
+ gpsAltitude: string;
199
+ fileLink?: string | null;
200
+ thumbnailLink?: string | null;
201
+ };
202
+ export type AerialShotPage = Omit<AerialUploadStates, "aerialShots"> & {
203
+ aerialShots: AerialShotState[];
204
+ };
205
+ export type DroneCreation = {
206
+ projectId: string;
207
+ flightMetadata: DroneFlightMetadata;
208
+ aerialShots?: AerialAllocation[];
209
+ };
210
+ export type DroneProcessingTarget = {
211
+ ingestUrl: string;
212
+ id: number;
213
+ };
214
+ export type DroneCreated = {
215
+ id: number;
216
+ projectId: string;
217
+ processingStatus: IngestProcessingStatus;
218
+ aerialShots: AerialUploadState[];
219
+ errors: DroneFileError[];
220
+ };
221
+ export type DroneDeletion = {
222
+ deleted: {
223
+ filename: string;
224
+ id?: number;
80
225
  }[];
81
- projectName: string;
226
+ errors: DroneFileError[];
82
227
  };
83
228
  export type CalculateMeasuringOperationRequestPayload = {
84
229
  date: DateType;
@@ -88,6 +233,15 @@ export type CalculateMeasuringOperationRequestPayload = {
88
233
  export type FlightImagesQueryParams = Partial<Omit<PaginationParams, "sort">> & {
89
234
  date: DateType;
90
235
  };
236
+ export type AerialShotItem = {
237
+ id: number;
238
+ droneUploadId: number;
239
+ fileLink: string;
240
+ thumbnailLink: string;
241
+ gpsLatitude: string;
242
+ gpsLongitude: string;
243
+ gpsAltitude: string;
244
+ };
91
245
  export type InspectionToolRequestPayload = {
92
246
  date: DateType;
93
247
  gpsAltitude: string;