avvir 0.4.2 → 0.4.4
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/dist/avvir_api.node.js +11 -3
- package/dist/esm/api/file_information_api.d.ts +6 -2
- package/dist/esm/api/file_information_api.js +7 -2
- package/dist/esm/api/file_information_api.js.map +1 -1
- package/dist/esm/models/api/api_cloud_file.d.ts +9 -1
- package/dist/esm/models/api/api_cloud_file.js +3 -1
- package/dist/esm/models/api/api_cloud_file.js.map +1 -1
- package/package.json +1 -1
- package/source/api/file_information_api.ts +54 -52
- package/source/models/api/api_cloud_file.ts +10 -1
package/dist/avvir_api.node.js
CHANGED
|
@@ -366,6 +366,11 @@ var FileInformationApi = /** @class */ (function () {
|
|
|
366
366
|
return _utilities_http__WEBPACK_IMPORTED_MODULE_1__["default"].get(url, user);
|
|
367
367
|
};
|
|
368
368
|
;
|
|
369
|
+
FileInformationApi.listFloorFilesForProject = function (_a, user) {
|
|
370
|
+
var projectId = _a.projectId;
|
|
371
|
+
var url = _utilities_http__WEBPACK_IMPORTED_MODULE_1__["default"].baseUrl() + "/projects/" + projectId + "/floor-files";
|
|
372
|
+
return _utilities_http__WEBPACK_IMPORTED_MODULE_1__["default"].get(url, user);
|
|
373
|
+
};
|
|
369
374
|
FileInformationApi.zipProjectFolder = function (folderName, _a, user) {
|
|
370
375
|
var projectId = _a.projectId;
|
|
371
376
|
var url = _utilities_http__WEBPACK_IMPORTED_MODULE_1__["default"].baseUrl() + "/projects/" + projectId + "/zip-project-folder?folder-prefix=" + folderName;
|
|
@@ -375,7 +380,8 @@ var FileInformationApi = /** @class */ (function () {
|
|
|
375
380
|
var projectId = _a.projectId, photoAreaId = _a.photoAreaId;
|
|
376
381
|
var query;
|
|
377
382
|
if (Array.isArray(purposeTypes)) {
|
|
378
|
-
query = "?purposeType=" + purposeTypes.map(function (purposeType) { return _converters_purpose_type_converter__WEBPACK_IMPORTED_MODULE_0__["default"].toApiPurposeType(purposeType); })
|
|
383
|
+
query = "?purposeType=" + purposeTypes.map(function (purposeType) { return _converters_purpose_type_converter__WEBPACK_IMPORTED_MODULE_0__["default"].toApiPurposeType(purposeType); })
|
|
384
|
+
.join(",");
|
|
379
385
|
}
|
|
380
386
|
else {
|
|
381
387
|
query = "";
|
|
@@ -426,7 +432,7 @@ var FileInformationApi = /** @class */ (function () {
|
|
|
426
432
|
firebaseProjectId: projectId,
|
|
427
433
|
options: {
|
|
428
434
|
url: apiFile.url,
|
|
429
|
-
fileType:
|
|
435
|
+
fileType: "e57"
|
|
430
436
|
}
|
|
431
437
|
});
|
|
432
438
|
return _avvir_api__WEBPACK_IMPORTED_MODULE_5__["default"].pipelines.triggerPipeline(pipeline, user)
|
|
@@ -2609,7 +2615,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2609
2615
|
|
|
2610
2616
|
var ApiCloudFile = /** @class */ (function () {
|
|
2611
2617
|
function ApiCloudFile(_a) {
|
|
2612
|
-
var url = _a.url, id = _a.id, lastModified = _a.lastModified, createdAt = _a.createdAt, purposeType = _a.purposeType, fileType = _a.fileType, createdBy = _a.createdBy, fileSize = _a.fileSize, location3d = _a.location3d, originalFileName = _a.originalFileName, projectId = _a.projectId, associationType = _a.associationType, associationId = _a.associationId;
|
|
2618
|
+
var url = _a.url, id = _a.id, lastModified = _a.lastModified, createdAt = _a.createdAt, purposeType = _a.purposeType, fileType = _a.fileType, createdBy = _a.createdBy, fileSize = _a.fileSize, location3d = _a.location3d, originalFileName = _a.originalFileName, projectId = _a.projectId, associationType = _a.associationType, associationId = _a.associationId, metadata = _a.metadata;
|
|
2613
2619
|
this.lastModified = null;
|
|
2614
2620
|
this.createdAt = null;
|
|
2615
2621
|
this.purposeType = _api_purpose_type__WEBPACK_IMPORTED_MODULE_1__.ApiProjectPurposeType.OTHER;
|
|
@@ -2637,12 +2643,14 @@ var ApiCloudFile = /** @class */ (function () {
|
|
|
2637
2643
|
});
|
|
2638
2644
|
// @ts-ignore
|
|
2639
2645
|
this.purposeType = purposeType;
|
|
2646
|
+
// noinspection JSDeprecatedSymbols
|
|
2640
2647
|
this.location3d = location3d;
|
|
2641
2648
|
this.fileSize = fileSize;
|
|
2642
2649
|
this.originalFileName = originalFileName;
|
|
2643
2650
|
this.projectId = projectId;
|
|
2644
2651
|
this.associationId = associationId;
|
|
2645
2652
|
this.associationType = associationType;
|
|
2653
|
+
this.metadata = metadata;
|
|
2646
2654
|
}
|
|
2647
2655
|
return ApiCloudFile;
|
|
2648
2656
|
}());
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { User } from "../utilities/get_authorization_headers";
|
|
2
2
|
import ApiArgoResponse from "../models/api/api_argo_response";
|
|
3
|
-
import { ApiCloudFile,
|
|
3
|
+
import { ApiCloudFile, ApiFloorPurposeType, ApiPhotoAreaPurposeType, ApiPurposeType, AssociationIds, AvvirApiFiles, PhotoAreaPurposeType, PurposeType } from "../models";
|
|
4
4
|
export default class FileInformationApi {
|
|
5
5
|
static createProjectFile({ projectId }: AssociationIds, apiFile: ApiCloudFile, user: User): Promise<ApiCloudFile>;
|
|
6
6
|
static associateProjectFiles({ projectId }: AssociationIds, files: ApiCloudFile[], user: User): Promise<ApiCloudFile[]>;
|
|
7
7
|
static listProjectFiles({ projectId }: AssociationIds, user: User): Promise<ApiCloudFile[]>;
|
|
8
|
+
static listFloorFilesForProject({ projectId }: AssociationIds, user: User): Promise<{
|
|
9
|
+
floorId: string;
|
|
10
|
+
files: ApiCloudFile[];
|
|
11
|
+
}[]>;
|
|
8
12
|
static zipProjectFolder(folderName: string, { projectId }: AssociationIds, user: User): Promise<ApiArgoResponse>;
|
|
9
13
|
static listPhotoAreaFiles({ projectId, photoAreaId }: AssociationIds, user: User): Promise<ApiCloudFile[]>;
|
|
10
|
-
static listPhotoAreaFiles({ projectId, photoAreaId }: AssociationIds, purposeTypes: ApiPhotoAreaPurposeType[] | PhotoAreaPurposeType[]
|
|
14
|
+
static listPhotoAreaFiles({ projectId, photoAreaId }: AssociationIds, purposeTypes: ApiPhotoAreaPurposeType[] | PhotoAreaPurposeType[], user: User): Promise<ApiCloudFile[]>;
|
|
11
15
|
static saveFloorFile({ projectId, floorId }: AssociationIds, apiFile: ApiCloudFile, user: User): Promise<ApiCloudFile>;
|
|
12
16
|
static listFloorFiles({ projectId, floorId }: AssociationIds, user: User): Promise<AvvirApiFiles<ApiFloorPurposeType>>;
|
|
13
17
|
static savePhotoAreaFile({ projectId, photoAreaId }: AssociationIds, apiFile: ApiCloudFile, user: User): Promise<ApiCloudFile>;
|
|
@@ -20,6 +20,10 @@ export default class FileInformationApi {
|
|
|
20
20
|
return Http.get(url, user);
|
|
21
21
|
}
|
|
22
22
|
;
|
|
23
|
+
static listFloorFilesForProject({ projectId }, user) {
|
|
24
|
+
const url = `${Http.baseUrl()}/projects/${projectId}/floor-files`;
|
|
25
|
+
return Http.get(url, user);
|
|
26
|
+
}
|
|
23
27
|
static zipProjectFolder(folderName, { projectId }, user) {
|
|
24
28
|
const url = `${Http.baseUrl()}/projects/${projectId}/zip-project-folder?folder-prefix=${folderName}`;
|
|
25
29
|
return Http.post(url, user, null);
|
|
@@ -27,7 +31,8 @@ export default class FileInformationApi {
|
|
|
27
31
|
static listPhotoAreaFiles({ projectId, photoAreaId }, purposeTypes, user) {
|
|
28
32
|
let query;
|
|
29
33
|
if (Array.isArray(purposeTypes)) {
|
|
30
|
-
query = `?purposeType=${purposeTypes.map(purposeType => PurposeTypeConverter.toApiPurposeType(purposeType))
|
|
34
|
+
query = `?purposeType=${purposeTypes.map(purposeType => PurposeTypeConverter.toApiPurposeType(purposeType))
|
|
35
|
+
.join(",")}`;
|
|
31
36
|
}
|
|
32
37
|
else {
|
|
33
38
|
query = "";
|
|
@@ -72,7 +77,7 @@ export default class FileInformationApi {
|
|
|
72
77
|
firebaseProjectId: projectId,
|
|
73
78
|
options: {
|
|
74
79
|
url: apiFile.url,
|
|
75
|
-
fileType:
|
|
80
|
+
fileType: "e57"
|
|
76
81
|
}
|
|
77
82
|
});
|
|
78
83
|
return AvvirApi.pipelines.triggerPipeline(pipeline, user)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file_information_api.js","sourceRoot":"","sources":["../../../source/api/file_information_api.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AACxE,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAG/D,OAAO,
|
|
1
|
+
{"version":3,"file":"file_information_api.js","sourceRoot":"","sources":["../../../source/api/file_information_api.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AACxE,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAG/D,OAAO,WAAoC,MAAM,4BAA4B,CAAC;AAC9E,OAAO,SAAS,MAAM,gCAAgC,CAAC;AACvD,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,MAAM,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAkB,EAAE,OAAqB,EAAE,IAAU;QACvF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,QAAQ,CAAC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAqC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAkB,EAC7B,KAAqB,EACrB,IAAU;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,kBAAkB,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAuC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAkB,EAAE,IAAU;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,QAAQ,CAAC;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAuC,CAAC;IACnE,CAAC;IAAA,CAAC;IAEF,MAAM,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAkB,EAC7B,IAAU;QACxC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,cAAc,CAAC;QAClE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAqE,CAAC;IACjG,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAAkB,EAAE,EAAE,SAAS,EAAkB,EAAE,IAAU;QACnF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,qCAAqC,UAAU,EAAE,CAAC;QACrG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAwC,CAAC;IAC3E,CAAC;IAMD,MAAM,CAAC,kBAAkB,CAAC,EACE,SAAS,EACT,WAAW,EACI,EACjB,YAAuE,EACvE,IAAW;QACnC,IAAI,KAAK,CAAC;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC/B,KAAK,GAAG,gBAAgB,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;iBACxG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;SAChB;aAAM;YACL,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAoB,CAAC;SAC7B;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,gBAAgB,WAAW,SAAS,KAAK,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAuC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAkB,EACtC,OAAqB,EACrB,IAAU;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,WAAW,OAAO,OAAO,CAAC;QAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAqC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,OAAO,EAAkB,EACtC,IAAU;QAC9B,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,WAAW,OAAO,QAAQ,CAAC;QAC5E,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAA2D,CAAC;IACvF,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,EACE,SAAS,EACT,WAAW,EACI,EAAE,OAAqB,EAAE,IAAU;QAC3E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,gBAAgB,WAAW,QAAQ,CAAC;QACvF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAqC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,EACE,SAAS,EACT,OAAO,EACP,aAAa,EACE,EAAE,OAAqB,EAAE,IAAU;QAC7E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,WAAW,OAAO,kBAAkB,aAAa,OAAO,CAAC;QAC5G,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAqC,CAAC;IAC3E,CAAC;IAOD,MAAM,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAkB,EACrD,WAAgD,EAChD,IAAW;QAEpC,IAAI,KAAK,CAAC;QACV,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,KAAK,GAAG,gBAAgB,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;SAC9E;aAAM;YACL,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,WAAmB,CAAC;SAC5B;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,SAAS,WAAW,OAAO,kBAAkB,aAAa,SAAS,KAAK,EAAE,CAAC;QACrH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAkD,CAAC;IAC9E,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,2BAA2B,CAAC,EAAE,SAAS,EAAkB,EAC7B,OAAqB,EACrB,IAAU;QAC3C,OAAO,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAClF,IAAI,QAAQ,GAAwB,IAAI,WAAW,CAAC;gBAClD,IAAI,EAAE,SAAS,CAAC,mBAAmB;gBACnC,iBAAiB,EAAE,SAAS;gBAC5B,OAAO,EAAE;oBACP,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,QAAQ,EAAE,KAAK;iBAChB;aACF,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACtD,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACzB,OAAO,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACpD,wCAAwC;oBACxC,OAAO,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;wBACpF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,4BAA4B,CAAC,EACE,SAAS,EACT,OAAO,EACP,aAAa,EACE,EAAE,OAAqB,EAAE,IAAU;QACtF,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YACxG,IAAI,QAAQ,GAAwB,IAAI,WAAW,CAAC;gBAClD,IAAI,EAAE,SAAS,CAAC,kBAAkB;gBAClC,iBAAiB,EAAE,SAAS;gBAC5B,OAAO,EAAE;oBACP,OAAO,EAAE,YAAY,CAAC,GAAG;oBACzB,GAAG,EAAE,uBAAuB,SAAS,mBAAmB;iBACzD;aACF,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACtD,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACzB,OAAO,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACpD,wCAAwC;oBACxC,OAAO,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;wBACpF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,gBAAgB,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -8,6 +8,12 @@ export declare type AvvirApiFiles<Type extends ApiPurposeType = ApiPurposeType>
|
|
|
8
8
|
export declare type AvvirApiFileIds<Type extends ApiPurposeType = ApiPurposeType> = {
|
|
9
9
|
[purposeType in Type]?: number[];
|
|
10
10
|
};
|
|
11
|
+
export interface ApiCloudFileMetadata {
|
|
12
|
+
offset?: {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
11
17
|
export interface ApiCloudFileArgument extends Partial<Modify<ApiCloudFile, {
|
|
12
18
|
lastModified?: DateLike;
|
|
13
19
|
createdAt?: DateLike;
|
|
@@ -16,8 +22,9 @@ export interface ApiCloudFileArgument extends Partial<Modify<ApiCloudFile, {
|
|
|
16
22
|
}>> {
|
|
17
23
|
}
|
|
18
24
|
export declare class ApiCloudFile {
|
|
19
|
-
constructor({ url, id, lastModified, createdAt, purposeType, fileType, createdBy, fileSize, location3d, originalFileName, projectId, associationType, associationId }: ApiCloudFileArgument);
|
|
25
|
+
constructor({ url, id, lastModified, createdAt, purposeType, fileType, createdBy, fileSize, location3d, originalFileName, projectId, associationType, associationId, metadata }: ApiCloudFileArgument);
|
|
20
26
|
readonly url: string;
|
|
27
|
+
/** @deprecated Use metadata.offset */
|
|
21
28
|
location3d?: ApiPhotoLocation3d;
|
|
22
29
|
readonly id?: number;
|
|
23
30
|
lastModified?: number | null;
|
|
@@ -29,5 +36,6 @@ export declare class ApiCloudFile {
|
|
|
29
36
|
associationType?: AssociationType;
|
|
30
37
|
projectId?: number;
|
|
31
38
|
associationId?: number;
|
|
39
|
+
metadata?: ApiCloudFileMetadata;
|
|
32
40
|
}
|
|
33
41
|
export default ApiCloudFile;
|
|
@@ -3,7 +3,7 @@ import { ApiProjectPurposeType, isApiPurposeType } from "./api_purpose_type";
|
|
|
3
3
|
import { PurposeTypeConverter } from "../../converters";
|
|
4
4
|
import { isPurposeType } from "../enums";
|
|
5
5
|
export class ApiCloudFile {
|
|
6
|
-
constructor({ url, id, lastModified, createdAt, purposeType, fileType, createdBy, fileSize, location3d, originalFileName, projectId, associationType, associationId }) {
|
|
6
|
+
constructor({ url, id, lastModified, createdAt, purposeType, fileType, createdBy, fileSize, location3d, originalFileName, projectId, associationType, associationId, metadata }) {
|
|
7
7
|
this.lastModified = null;
|
|
8
8
|
this.createdAt = null;
|
|
9
9
|
this.purposeType = ApiProjectPurposeType.OTHER;
|
|
@@ -31,12 +31,14 @@ export class ApiCloudFile {
|
|
|
31
31
|
});
|
|
32
32
|
// @ts-ignore
|
|
33
33
|
this.purposeType = purposeType;
|
|
34
|
+
// noinspection JSDeprecatedSymbols
|
|
34
35
|
this.location3d = location3d;
|
|
35
36
|
this.fileSize = fileSize;
|
|
36
37
|
this.originalFileName = originalFileName;
|
|
37
38
|
this.projectId = projectId;
|
|
38
39
|
this.associationId = associationId;
|
|
39
40
|
this.associationType = associationType;
|
|
41
|
+
this.metadata = metadata;
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
44
|
export default ApiCloudFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api_cloud_file.js","sourceRoot":"","sources":["../../../../source/models/api/api_cloud_file.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mCAAmC,EAAE,4BAA4B,EAAC,MAAM,cAAc,CAAA;AAC9F,OAAO,EAAC,qBAAqB,EAAkB,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAkB,aAAa,EAAc,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"api_cloud_file.js","sourceRoot":"","sources":["../../../../source/models/api/api_cloud_file.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mCAAmC,EAAE,4BAA4B,EAAC,MAAM,cAAc,CAAA;AAC9F,OAAO,EAAC,qBAAqB,EAAkB,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAkB,aAAa,EAAc,MAAM,UAAU,CAAC;AAkBrE,MAAM,OAAO,YAAY;IACvB,YAAY,EACE,GAAG,EACH,EAAE,EACF,YAAY,EACZ,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,aAAa,EACb,QAAQ,EACa;QAsCnC,iBAAY,GAAmB,IAAI,CAAC;QACpC,cAAS,GAAmB,IAAI,CAAC;QACjC,gBAAW,GAAmB,qBAAqB,CAAC,KAAK,CAAC;QAvCxD,mCAAmC,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACxE,mCAAmC,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAClE,4BAA4B,CAAC,IAAI,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAC,CAAC,CAAC;QACnE,IAAI,cAAc,GAAmB,qBAAqB,CAAC,KAAK,CAAC;QACjE,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC5B,WAAW,EAAE;gBACX,GAAG;oBACD,OAAO,cAAc,CAAC;gBACxB,CAAC;gBACD,GAAG,CAAC,GAAG;oBACL,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;wBAC3B,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE;4BACzB,cAAc,GAAG,GAAG,CAAC;yBACtB;6BAAM,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;4BAC7B,cAAc,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;yBAC7D;qBACF;gBACH,CAAC;gBACD,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QACH,aAAa;QACb,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,mCAAmC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CAgBF;AAED,eAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,54 +3,57 @@
|
|
|
3
3
|
import PurposeTypeConverter from "../converters/purpose_type_converter";
|
|
4
4
|
import Http from "../utilities/http";
|
|
5
5
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
6
|
-
import {User} from "../utilities/get_authorization_headers";
|
|
6
|
+
import { User } from "../utilities/get_authorization_headers";
|
|
7
7
|
import ApiArgoResponse from "../models/api/api_argo_response";
|
|
8
|
-
import ApiPipeline, {ApiPipelineArgument} from "../models/api/api_pipeline";
|
|
8
|
+
import ApiPipeline, { ApiPipelineArgument } from "../models/api/api_pipeline";
|
|
9
9
|
import Pipelines from "../models/enums/pipeline_types";
|
|
10
10
|
import AvvirApi from "../avvir_api";
|
|
11
|
-
import {pollPipeline} from "../utilities/pollPipeline";
|
|
12
|
-
import {
|
|
13
|
-
ApiCloudFile,
|
|
14
|
-
AvvirApiFiles,
|
|
15
|
-
ApiFloorPurposeType,
|
|
16
|
-
ApiPhotoAreaPurposeType,
|
|
17
|
-
ApiPurposeType,
|
|
18
|
-
AssociationIds, PhotoAreaPurposeType, PurposeType
|
|
19
|
-
} from "../models";
|
|
11
|
+
import { pollPipeline } from "../utilities/pollPipeline";
|
|
12
|
+
import { ApiCloudFile, ApiFloorPurposeType, ApiPhotoAreaPurposeType, ApiPurposeType, AssociationIds, AvvirApiFiles, PhotoAreaPurposeType, PurposeType } from "../models";
|
|
20
13
|
|
|
21
14
|
export default class FileInformationApi {
|
|
22
|
-
static createProjectFile({projectId}: AssociationIds, apiFile: ApiCloudFile, user: User): Promise<ApiCloudFile> {
|
|
15
|
+
static createProjectFile({ projectId }: AssociationIds, apiFile: ApiCloudFile, user: User): Promise<ApiCloudFile> {
|
|
23
16
|
const url = `${Http.baseUrl()}/projects/${projectId}/files`;
|
|
24
17
|
return Http.post(url, user, apiFile) as unknown as Promise<ApiCloudFile>;
|
|
25
18
|
}
|
|
26
19
|
|
|
27
|
-
static associateProjectFiles({projectId}: AssociationIds,
|
|
20
|
+
static associateProjectFiles({ projectId }: AssociationIds,
|
|
21
|
+
files: ApiCloudFile[],
|
|
22
|
+
user: User): Promise<ApiCloudFile[]> {
|
|
28
23
|
const url = `${Http.baseUrl()}/projects/${projectId}/associate-files`;
|
|
29
24
|
return Http.post(url, user, files) as unknown as Promise<ApiCloudFile[]>;
|
|
30
25
|
}
|
|
31
26
|
|
|
32
|
-
static listProjectFiles({projectId}: AssociationIds, user: User): Promise<ApiCloudFile[]> {
|
|
27
|
+
static listProjectFiles({ projectId }: AssociationIds, user: User): Promise<ApiCloudFile[]> {
|
|
33
28
|
const url = `${Http.baseUrl()}/projects/${projectId}/files`;
|
|
34
29
|
return Http.get(url, user) as unknown as Promise<ApiCloudFile[]>;
|
|
35
30
|
};
|
|
36
31
|
|
|
37
|
-
static
|
|
32
|
+
static listFloorFilesForProject({ projectId }: AssociationIds,
|
|
33
|
+
user: User): Promise<{ floorId: string, files: ApiCloudFile[] }[]> {
|
|
34
|
+
const url = `${Http.baseUrl()}/projects/${projectId}/floor-files`;
|
|
35
|
+
return Http.get(url, user) as unknown as Promise<{ floorId: string, files: ApiCloudFile[] }[]>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
static zipProjectFolder(folderName: string, { projectId }: AssociationIds, user: User): Promise<ApiArgoResponse> {
|
|
38
39
|
const url = `${Http.baseUrl()}/projects/${projectId}/zip-project-folder?folder-prefix=${folderName}`;
|
|
39
40
|
return Http.post(url, user, null) as unknown as Promise<ApiArgoResponse>;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
static listPhotoAreaFiles({projectId, photoAreaId}: AssociationIds, user: User): Promise<ApiCloudFile[]>
|
|
43
|
+
static listPhotoAreaFiles({ projectId, photoAreaId }: AssociationIds, user: User): Promise<ApiCloudFile[]>
|
|
44
|
+
static listPhotoAreaFiles({ projectId, photoAreaId }: AssociationIds,
|
|
45
|
+
purposeTypes: ApiPhotoAreaPurposeType[] | PhotoAreaPurposeType[],
|
|
46
|
+
user: User): Promise<ApiCloudFile[]>;
|
|
43
47
|
static listPhotoAreaFiles({
|
|
44
48
|
projectId,
|
|
45
49
|
photoAreaId
|
|
46
|
-
}: AssociationIds,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
photoAreaId
|
|
50
|
-
}: AssociationIds, purposeTypes: ApiPhotoAreaPurposeType[] | PhotoAreaPurposeType[] | User, user?: User): Promise<ApiCloudFile[]> {
|
|
50
|
+
}: AssociationIds,
|
|
51
|
+
purposeTypes: ApiPhotoAreaPurposeType[] | PhotoAreaPurposeType[] | User,
|
|
52
|
+
user?: User): Promise<ApiCloudFile[]> {
|
|
51
53
|
let query;
|
|
52
54
|
if (Array.isArray(purposeTypes)) {
|
|
53
|
-
query = `?purposeType=${purposeTypes.map(purposeType => PurposeTypeConverter.toApiPurposeType(purposeType))
|
|
55
|
+
query = `?purposeType=${purposeTypes.map(purposeType => PurposeTypeConverter.toApiPurposeType(purposeType))
|
|
56
|
+
.join(",")}`;
|
|
54
57
|
} else {
|
|
55
58
|
query = "";
|
|
56
59
|
user = purposeTypes as User;
|
|
@@ -59,12 +62,15 @@ export default class FileInformationApi {
|
|
|
59
62
|
return Http.get(url, user) as unknown as Promise<ApiCloudFile[]>;
|
|
60
63
|
}
|
|
61
64
|
|
|
62
|
-
static saveFloorFile({projectId, floorId}: AssociationIds,
|
|
65
|
+
static saveFloorFile({ projectId, floorId }: AssociationIds,
|
|
66
|
+
apiFile: ApiCloudFile,
|
|
67
|
+
user: User): Promise<ApiCloudFile> {
|
|
63
68
|
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/file`;
|
|
64
69
|
return Http.post(url, user, apiFile) as unknown as Promise<ApiCloudFile>;
|
|
65
70
|
}
|
|
66
71
|
|
|
67
|
-
static listFloorFiles({projectId, floorId}: AssociationIds,
|
|
72
|
+
static listFloorFiles({ projectId, floorId }: AssociationIds,
|
|
73
|
+
user: User): Promise<AvvirApiFiles<ApiFloorPurposeType>> {
|
|
68
74
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/files`;
|
|
69
75
|
return Http.get(url, user) as unknown as Promise<AvvirApiFiles<ApiFloorPurposeType>>;
|
|
70
76
|
}
|
|
@@ -86,21 +92,15 @@ export default class FileInformationApi {
|
|
|
86
92
|
return Http.post(url, user, apiFile) as unknown as Promise<ApiCloudFile>;
|
|
87
93
|
}
|
|
88
94
|
|
|
89
|
-
static getScanDatasetFiles({
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
static getScanDatasetFiles({
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}: AssociationIds, purposeType: ApiPurposeType | PurposeType, user: User): Promise<{ files: ApiCloudFile[] }>
|
|
99
|
-
static getScanDatasetFiles({
|
|
100
|
-
projectId,
|
|
101
|
-
floorId,
|
|
102
|
-
scanDatasetId
|
|
103
|
-
}: AssociationIds, purposeType: ApiPurposeType | PurposeType | User, user?: User) {
|
|
95
|
+
static getScanDatasetFiles({ projectId, floorId, scanDatasetId }: AssociationIds,
|
|
96
|
+
user: User): Promise<{ files: ApiCloudFile[] }>
|
|
97
|
+
static getScanDatasetFiles({ projectId, floorId, scanDatasetId }: AssociationIds,
|
|
98
|
+
purposeType: ApiPurposeType | PurposeType,
|
|
99
|
+
user: User): Promise<{ files: ApiCloudFile[] }>
|
|
100
|
+
static getScanDatasetFiles({ projectId, floorId, scanDatasetId }: AssociationIds,
|
|
101
|
+
purposeType: ApiPurposeType | PurposeType | User,
|
|
102
|
+
user?: User)
|
|
103
|
+
{
|
|
104
104
|
let query;
|
|
105
105
|
if (typeof purposeType === "string") {
|
|
106
106
|
query = `?purposeType=${PurposeTypeConverter.toApiPurposeType(purposeType)}`;
|
|
@@ -113,26 +113,28 @@ export default class FileInformationApi {
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
/** @deprecated */
|
|
116
|
-
static saveAndIngestE57ProjectFile({projectId}: AssociationIds,
|
|
117
|
-
|
|
116
|
+
static saveAndIngestE57ProjectFile({ projectId }: AssociationIds,
|
|
117
|
+
apiFile: ApiCloudFile,
|
|
118
|
+
user: User): Promise<ApiCloudFile> {
|
|
119
|
+
return FileInformationApi.createProjectFile({ projectId }, apiFile, user).then(() => {
|
|
118
120
|
let pipeline: ApiPipelineArgument = new ApiPipeline({
|
|
119
121
|
name: Pipelines.INGEST_PROJECT_FILE,
|
|
120
122
|
firebaseProjectId: projectId,
|
|
121
123
|
options: {
|
|
122
124
|
url: apiFile.url,
|
|
123
|
-
fileType:
|
|
125
|
+
fileType: "e57"
|
|
124
126
|
}
|
|
125
127
|
});
|
|
126
128
|
return AvvirApi.pipelines.triggerPipeline(pipeline, user)
|
|
127
129
|
.then((pipelineResponse) => {
|
|
128
130
|
return pollPipeline(pipelineResponse, user).then(() => {
|
|
129
131
|
//pipeline is finished, return cloudfile
|
|
130
|
-
return FileInformationApi.listProjectFiles({projectId}, user).then((projectFiles) => {
|
|
132
|
+
return FileInformationApi.listProjectFiles({ projectId }, user).then((projectFiles) => {
|
|
131
133
|
return projectFiles.slice(-1)[0];
|
|
132
|
-
})
|
|
133
|
-
})
|
|
134
|
+
});
|
|
135
|
+
});
|
|
134
136
|
});
|
|
135
|
-
})
|
|
137
|
+
});
|
|
136
138
|
}
|
|
137
139
|
|
|
138
140
|
/** @deprecated */
|
|
@@ -141,7 +143,7 @@ export default class FileInformationApi {
|
|
|
141
143
|
floorId,
|
|
142
144
|
scanDatasetId
|
|
143
145
|
}: AssociationIds, apiFile: ApiCloudFile, user: User): Promise<ApiCloudFile> {
|
|
144
|
-
return FileInformationApi.saveAndIngestE57ProjectFile({projectId}, apiFile, user).then((e57CloudFile) => {
|
|
146
|
+
return FileInformationApi.saveAndIngestE57ProjectFile({ projectId }, apiFile, user).then((e57CloudFile) => {
|
|
145
147
|
let pipeline: ApiPipelineArgument = new ApiPipeline({
|
|
146
148
|
name: Pipelines.CONVERT_E57_TO_LAS,
|
|
147
149
|
firebaseProjectId: projectId,
|
|
@@ -155,13 +157,13 @@ export default class FileInformationApi {
|
|
|
155
157
|
.then((pipelineResponse) => {
|
|
156
158
|
return pollPipeline(pipelineResponse, user).then(() => {
|
|
157
159
|
//pipeline is finished, return cloudfile
|
|
158
|
-
return FileInformationApi.listProjectFiles({projectId}, user).then((projectFiles) => {
|
|
160
|
+
return FileInformationApi.listProjectFiles({ projectId }, user).then((projectFiles) => {
|
|
159
161
|
return projectFiles.slice(-1)[0];
|
|
160
|
-
})
|
|
161
|
-
})
|
|
162
|
+
});
|
|
163
|
+
});
|
|
162
164
|
});
|
|
163
|
-
})
|
|
165
|
+
});
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
168
|
|
|
167
|
-
makeErrorsPretty(FileInformationApi);
|
|
169
|
+
makeErrorsPretty(FileInformationApi);
|
|
@@ -8,6 +8,10 @@ import ApiPhotoLocation3d from "./api_photo_location_3d";
|
|
|
8
8
|
export type AvvirApiFiles<Type extends ApiPurposeType = ApiPurposeType> = { [purposeType in Type]?: ApiCloudFile | ApiCloudFile[] }
|
|
9
9
|
export type AvvirApiFileIds<Type extends ApiPurposeType = ApiPurposeType> = { [purposeType in Type]?: number[] }
|
|
10
10
|
|
|
11
|
+
export interface ApiCloudFileMetadata {
|
|
12
|
+
offset?: {x: number, y: number}
|
|
13
|
+
}
|
|
14
|
+
|
|
11
15
|
export interface ApiCloudFileArgument extends Partial<Modify<ApiCloudFile, {
|
|
12
16
|
lastModified?: DateLike
|
|
13
17
|
createdAt?: DateLike
|
|
@@ -30,7 +34,8 @@ export class ApiCloudFile {
|
|
|
30
34
|
originalFileName,
|
|
31
35
|
projectId,
|
|
32
36
|
associationType,
|
|
33
|
-
associationId
|
|
37
|
+
associationId,
|
|
38
|
+
metadata
|
|
34
39
|
}: ApiCloudFileArgument) {
|
|
35
40
|
addInstantGetterAndSetterToApiModel(this, "lastModified", lastModified);
|
|
36
41
|
addInstantGetterAndSetterToApiModel(this, "createdAt", createdAt);
|
|
@@ -55,15 +60,18 @@ export class ApiCloudFile {
|
|
|
55
60
|
});
|
|
56
61
|
// @ts-ignore
|
|
57
62
|
this.purposeType = purposeType;
|
|
63
|
+
// noinspection JSDeprecatedSymbols
|
|
58
64
|
this.location3d = location3d;
|
|
59
65
|
this.fileSize = fileSize;
|
|
60
66
|
this.originalFileName = originalFileName;
|
|
61
67
|
this.projectId = projectId;
|
|
62
68
|
this.associationId = associationId;
|
|
63
69
|
this.associationType = associationType;
|
|
70
|
+
this.metadata = metadata;
|
|
64
71
|
}
|
|
65
72
|
|
|
66
73
|
readonly url: string;
|
|
74
|
+
/** @deprecated Use metadata.offset */
|
|
67
75
|
location3d?: ApiPhotoLocation3d
|
|
68
76
|
readonly id?: number
|
|
69
77
|
lastModified?: number | null = null;
|
|
@@ -75,6 +83,7 @@ export class ApiCloudFile {
|
|
|
75
83
|
associationType?: AssociationType;
|
|
76
84
|
projectId?: number;
|
|
77
85
|
associationId?: number;
|
|
86
|
+
metadata?: ApiCloudFileMetadata
|
|
78
87
|
}
|
|
79
88
|
|
|
80
89
|
export default ApiCloudFile;
|