avvir 0.4.18 → 0.4.19
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 +4 -3
- package/dist/esm/api/project_api.js +1 -1
- package/dist/esm/api/project_api.js.map +1 -1
- package/dist/esm/api/scan_dataset_api.d.ts +1 -2
- package/dist/esm/api/scan_dataset_api.js.map +1 -1
- package/dist/esm/utilities/make_errors_pretty.d.ts +8 -4
- package/dist/esm/utilities/make_errors_pretty.js +3 -2
- package/dist/esm/utilities/make_errors_pretty.js.map +1 -1
- package/package.json +1 -1
- package/source/api/project_api.ts +1 -1
- package/source/api/scan_dataset_api.ts +33 -29
- package/source/utilities/make_errors_pretty.ts +18 -10
package/dist/avvir_api.node.js
CHANGED
|
@@ -991,7 +991,7 @@ var ProjectApi = /** @class */ (function () {
|
|
|
991
991
|
return ProjectApi;
|
|
992
992
|
}());
|
|
993
993
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProjectApi);
|
|
994
|
-
(0,_utilities_make_errors_pretty__WEBPACK_IMPORTED_MODULE_1__["default"])(ProjectApi);
|
|
994
|
+
(0,_utilities_make_errors_pretty__WEBPACK_IMPORTED_MODULE_1__["default"])(ProjectApi, { exclude: ["getProjectDeviationsReportTsvUrl"] });
|
|
995
995
|
|
|
996
996
|
|
|
997
997
|
/***/ }),
|
|
@@ -6285,7 +6285,7 @@ var __spreadArray = (undefined && undefined.__spreadArray) || function (to, from
|
|
|
6285
6285
|
|
|
6286
6286
|
|
|
6287
6287
|
var makeErrorsPrettyForFunction = function (actionName, action, displayErrorMessage) {
|
|
6288
|
-
return function () {
|
|
6288
|
+
return (function () {
|
|
6289
6289
|
var argumentList = [];
|
|
6290
6290
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
6291
6291
|
argumentList[_i] = arguments[_i];
|
|
@@ -6298,7 +6298,7 @@ var makeErrorsPrettyForFunction = function (actionName, action, displayErrorMess
|
|
|
6298
6298
|
arguments: argumentList
|
|
6299
6299
|
});
|
|
6300
6300
|
});
|
|
6301
|
-
};
|
|
6301
|
+
});
|
|
6302
6302
|
};
|
|
6303
6303
|
var getFunctionNames = function (clazz) {
|
|
6304
6304
|
var builtinProperties = ["length", "constructor", "name", "prototype"];
|
|
@@ -6312,6 +6312,7 @@ var makeErrorsPretty = function (apiClass, options) {
|
|
|
6312
6312
|
var isExcluded = options.exclude && options.exclude.includes(functionName);
|
|
6313
6313
|
var displayErrorMessage = !options.overrideErrorMessage || !options.overrideErrorMessage.includes(functionName);
|
|
6314
6314
|
if (!isExcluded) {
|
|
6315
|
+
// @ts-ignore
|
|
6315
6316
|
apiClass[functionName] = makeErrorsPrettyForFunction(functionName, apiClass[functionName], displayErrorMessage);
|
|
6316
6317
|
}
|
|
6317
6318
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project_api.js","sourceRoot":"","sources":["../../../source/api/project_api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project_api.js","sourceRoot":"","sources":["../../../source/api/project_api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { User } from "../utilities/get_authorization_headers";
|
|
2
|
-
import { AssociationIds, DateLike } from "../models";
|
|
2
|
+
import { ApiBuiltStatus, ApiDetailedElement, ApiPhotoSession, ApiScanDataset, ApiScannedElementType, AssociationIds, DateLike } from "../models";
|
|
3
3
|
import ApiView, { ViewParameter } from "../models/api/api_view";
|
|
4
|
-
import { ApiScanDataset, ApiDetailedElement, ApiPhotoSession, ApiBuiltStatus, ApiScannedElementType } from "../models";
|
|
5
4
|
export default class ScanDatasetApi {
|
|
6
5
|
static listScanDatasetsForFloor({ projectId, floorId }: AssociationIds, user: User): Promise<ApiScanDataset[]>;
|
|
7
6
|
static mergeScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan_dataset_api.js","sourceRoot":"","sources":["../../../source/api/scan_dataset_api.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"scan_dataset_api.js","sourceRoot":"","sources":["../../../source/api/scan_dataset_api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
declare
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
declare type MethodProperties<T> = keyof {
|
|
2
|
+
[P in keyof T as T[P] extends (...args: any) => any ? P : never]: any;
|
|
3
|
+
};
|
|
4
|
+
declare type Options<Class> = {
|
|
5
|
+
exclude?: MethodProperties<Class>[];
|
|
6
|
+
overrideErrorMessage?: MethodProperties<Class>[];
|
|
7
|
+
};
|
|
8
|
+
declare const makeErrorsPretty: <Class>(apiClass: Class, options?: Options<Class>) => Class;
|
|
5
9
|
export default makeErrorsPretty;
|
|
@@ -2,7 +2,7 @@ import _ from "underscore";
|
|
|
2
2
|
import checkFetchStatus from "./check_fetch_status";
|
|
3
3
|
import Config from "../config";
|
|
4
4
|
const makeErrorsPrettyForFunction = (actionName, action, displayErrorMessage) => {
|
|
5
|
-
return (...argumentList) => {
|
|
5
|
+
return ((...argumentList) => {
|
|
6
6
|
return action(...argumentList)
|
|
7
7
|
.then((response) => checkFetchStatus(response, displayErrorMessage))
|
|
8
8
|
.catch((error) => {
|
|
@@ -12,7 +12,7 @@ const makeErrorsPrettyForFunction = (actionName, action, displayErrorMessage) =>
|
|
|
12
12
|
arguments: argumentList
|
|
13
13
|
});
|
|
14
14
|
});
|
|
15
|
-
};
|
|
15
|
+
});
|
|
16
16
|
};
|
|
17
17
|
const getFunctionNames = (clazz) => {
|
|
18
18
|
let builtinProperties = ["length", "constructor", "name", "prototype"];
|
|
@@ -25,6 +25,7 @@ const makeErrorsPretty = (apiClass, options = { exclude: [], overrideErrorMessag
|
|
|
25
25
|
let isExcluded = options.exclude && options.exclude.includes(functionName);
|
|
26
26
|
let displayErrorMessage = !options.overrideErrorMessage || !options.overrideErrorMessage.includes(functionName);
|
|
27
27
|
if (!isExcluded) {
|
|
28
|
+
// @ts-ignore
|
|
28
29
|
apiClass[functionName] = makeErrorsPrettyForFunction(functionName, apiClass[functionName], displayErrorMessage);
|
|
29
30
|
}
|
|
30
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make_errors_pretty.js","sourceRoot":"","sources":["../../../source/utilities/make_errors_pretty.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,MAAM,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"make_errors_pretty.js","sourceRoot":"","sources":["../../../source/utilities/make_errors_pretty.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,YAAY,CAAC;AAC3B,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,MAAM,MAAM,WAAW,CAAC;AAG/B,MAAM,2BAA2B,GAAG,CAAoE,UAAe,EAAE,MAAkB,EAAE,mBAA4B,EAAc,EAAE;IACvL,OAAO,CAAC,CAAC,GAAG,YAAY,EAAE,EAAE;QAC1B,OAAO,MAAM,CAAC,GAAG,YAAY,CAAC;aAC3B,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;aACnE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,MAAM,CAAC,kBAAkB,CAAC;gBAC/B,KAAK;gBACL,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,YAAY;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAe,CAAC;AACnB,CAAC,CAAC;AAGF,MAAM,gBAAgB,GAAG,CAAQ,KAAY,EAA6B,EAAE;IAC1E,IAAI,iBAAiB,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACvE,8DAA8D;IAC9D,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,GAAG,iBAAiB,CAA8B,CAAC;AACzG,CAAC,CAAC;AAOF,MAAM,gBAAgB,GAAG,CAAQ,QAAe,EAAE,UAA0B,EAAE,OAAO,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE,EAAE,EAAE;IACvH,IAAI,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,EAAE;QACxC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,mBAAmB,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChH,IAAI,CAAC,UAAU,EAAE;YACf,aAAa;YACb,QAAQ,CAAC,YAAY,CAAC,GAAG,2BAA2B,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,CAAC;SACjH;IACH,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,42 +1,41 @@
|
|
|
1
|
-
import {User} from "../utilities/get_authorization_headers";
|
|
2
|
-
import {AssociationIds, DateLike} from "../models";
|
|
1
|
+
import { User } from "../utilities/get_authorization_headers";
|
|
2
|
+
import { ApiBuiltStatus, ApiDetailedElement, ApiPhotoSession, ApiScanDataset, ApiScannedElementType, AssociationIds, DateLike } from "../models";
|
|
3
3
|
import Http from "../utilities/http";
|
|
4
4
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {DateConverter} from "../converters";
|
|
8
|
-
import {ApiScanDataset, ApiDetailedElement, ApiPhotoSession, ApiBuiltStatus, ApiScannedElementType} from "../models";
|
|
5
|
+
import ApiView, { ViewParameter } from "../models/api/api_view";
|
|
6
|
+
import { DateConverter } from "../converters";
|
|
9
7
|
|
|
10
8
|
export default class ScanDatasetApi {
|
|
11
|
-
static listScanDatasetsForFloor({projectId, floorId}: AssociationIds, user: User): Promise<ApiScanDataset[]> {
|
|
9
|
+
static listScanDatasetsForFloor({ projectId, floorId }: AssociationIds, user: User): Promise<ApiScanDataset[]> {
|
|
12
10
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets`;
|
|
13
11
|
return Http.get(url, user) as unknown as Promise<ApiScanDataset[]>;
|
|
14
12
|
}
|
|
15
13
|
|
|
16
14
|
static mergeScanDataset({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
projectId,
|
|
16
|
+
floorId,
|
|
17
|
+
scanDatasetId
|
|
18
|
+
}: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void> {
|
|
21
19
|
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
|
|
22
20
|
return Http.patch(url, user, scanDataset) as unknown as Promise<void>;
|
|
23
21
|
}
|
|
22
|
+
|
|
24
23
|
//@Deprecated
|
|
25
24
|
static updateScanDataset({
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return this.mergeScanDataset({projectId, floorId, scanDatasetId}, scanDataset, user);
|
|
25
|
+
projectId,
|
|
26
|
+
floorId,
|
|
27
|
+
scanDatasetId
|
|
28
|
+
}: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void> {
|
|
29
|
+
return this.mergeScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user);
|
|
31
30
|
}
|
|
32
31
|
|
|
33
32
|
static replaceScanDataset({
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
projectId,
|
|
34
|
+
floorId,
|
|
35
|
+
scanDatasetId
|
|
37
36
|
}: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void> {
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
|
|
38
|
+
return Http.put(url, user, scanDataset) as unknown as Promise<void>;
|
|
40
39
|
}
|
|
41
40
|
|
|
42
41
|
static createScanDataset({
|
|
@@ -46,12 +45,12 @@ export default class ScanDatasetApi {
|
|
|
46
45
|
}: AssociationIds & { scanDate?: DateLike }, user: User): Promise<ApiScanDataset> {
|
|
47
46
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets`;
|
|
48
47
|
if (scanDate) {
|
|
49
|
-
url += `?scanDate=${DateConverter.dateToISO(scanDate)}
|
|
48
|
+
url += `?scanDate=${DateConverter.dateToISO(scanDate)}`;
|
|
50
49
|
}
|
|
51
50
|
return Http.post(url, user, null) as unknown as Promise<ApiScanDataset>;
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
static deleteScanDataset({projectId, floorId, scanDatasetId}: AssociationIds, user: User): Promise<void> {
|
|
53
|
+
static deleteScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<void> {
|
|
55
54
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
|
|
56
55
|
return Http.delete(url, user) as unknown as Promise<void>;
|
|
57
56
|
};
|
|
@@ -60,12 +59,14 @@ export default class ScanDatasetApi {
|
|
|
60
59
|
projectId,
|
|
61
60
|
floorId,
|
|
62
61
|
scanDatasetId
|
|
63
|
-
}: AssociationIds,
|
|
62
|
+
}: AssociationIds,
|
|
63
|
+
analysis: ApiScannedElementType<ApiBuiltStatus>[],
|
|
64
|
+
user: User): Promise<void> {
|
|
64
65
|
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/analysis?enforceBuiltPersistence=false`;
|
|
65
66
|
return Http.post(url, user, analysis) as unknown as Promise<void>;
|
|
66
67
|
}
|
|
67
68
|
|
|
68
|
-
static getScanDataset({projectId, floorId, scanDatasetId}: AssociationIds, user: User): Promise<ApiScanDataset> {
|
|
69
|
+
static getScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<ApiScanDataset> {
|
|
69
70
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
|
|
70
71
|
return Http.get(url, user) as unknown as Promise<ApiScanDataset>;
|
|
71
72
|
}
|
|
@@ -115,7 +116,8 @@ export default class ScanDatasetApi {
|
|
|
115
116
|
return Http.get(url, user) as unknown as Promise<ViewParameter[]>;
|
|
116
117
|
}
|
|
117
118
|
|
|
118
|
-
static getNewElementsForScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds,
|
|
119
|
+
static getNewElementsForScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds,
|
|
120
|
+
user: User): Promise<string[]> {
|
|
119
121
|
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/new-elements`;
|
|
120
122
|
return Http.get(url, user) as unknown as Promise<string[]>;
|
|
121
123
|
}
|
|
@@ -133,13 +135,15 @@ export default class ScanDatasetApi {
|
|
|
133
135
|
projectId,
|
|
134
136
|
floorId,
|
|
135
137
|
scanDatasetId
|
|
136
|
-
}: AssociationIds,
|
|
138
|
+
}: AssociationIds,
|
|
139
|
+
{ id, photoAreaId, sessionDate }: ApiPhotoSession,
|
|
140
|
+
user: User): Promise<ApiPhotoSession> {
|
|
137
141
|
|
|
138
142
|
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/photo-session/${id}`;
|
|
139
|
-
return Http.post(url, user, {sessionDate}) as unknown as Promise<ApiPhotoSession>;
|
|
143
|
+
return Http.post(url, user, { sessionDate }) as unknown as Promise<ApiPhotoSession>;
|
|
140
144
|
}
|
|
141
145
|
|
|
142
|
-
static clearVerified({projectId, floorId, scanDatasetId}: AssociationIds, user: User): Promise<void> {
|
|
146
|
+
static clearVerified({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<void> {
|
|
143
147
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/clear-verified`;
|
|
144
148
|
return Http.post(url, user) as unknown as Promise<void>;
|
|
145
149
|
};
|
|
@@ -2,8 +2,9 @@ import _ from "underscore";
|
|
|
2
2
|
import checkFetchStatus from "./check_fetch_status";
|
|
3
3
|
import Config from "../config";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
type ObjectWithMethodProperties = Record<string, (...args: any) => any>
|
|
6
|
+
const makeErrorsPrettyForFunction = <Class extends ObjectWithMethodProperties, Key extends keyof Class>(actionName: Key, action: Class[Key], displayErrorMessage: boolean): Class[Key] => {
|
|
7
|
+
return ((...argumentList) => {
|
|
7
8
|
return action(...argumentList)
|
|
8
9
|
.then((response) => checkFetchStatus(response, displayErrorMessage))
|
|
9
10
|
.catch((error) => {
|
|
@@ -11,27 +12,34 @@ const makeErrorsPrettyForFunction = (actionName, action, displayErrorMessage) =>
|
|
|
11
12
|
error,
|
|
12
13
|
action: actionName,
|
|
13
14
|
arguments: argumentList
|
|
14
|
-
})
|
|
15
|
-
})
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}) as Class[Key];
|
|
18
|
+
};
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const getFunctionNames = (clazz) => {
|
|
20
|
+
type MethodProperties<T> = keyof { [P in keyof T as T[P] extends (...args: any) => any ? P : never]: any }
|
|
21
|
+
const getFunctionNames = <Class>(clazz: Class): MethodProperties<Class>[] => {
|
|
20
22
|
let builtinProperties = ["length", "constructor", "name", "prototype"];
|
|
21
23
|
// TODO it might make sense to check the type of each property
|
|
22
|
-
return _.without(Object.getOwnPropertyNames(clazz), ...builtinProperties)
|
|
24
|
+
return _.without(Object.getOwnPropertyNames(clazz), ...builtinProperties) as MethodProperties<Class>[];
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
type Options<Class> = {
|
|
28
|
+
exclude?: MethodProperties<Class>[],
|
|
29
|
+
overrideErrorMessage?: MethodProperties<Class>[]
|
|
23
30
|
}
|
|
24
31
|
|
|
25
|
-
const makeErrorsPretty = (apiClass, options = {exclude: [], overrideErrorMessage: []}) => {
|
|
32
|
+
const makeErrorsPretty = <Class>(apiClass: Class, options: Options<Class> = { exclude: [], overrideErrorMessage: [] }) => {
|
|
26
33
|
let functionNames = getFunctionNames(apiClass);
|
|
27
34
|
_.forEach(functionNames, (functionName) => {
|
|
28
35
|
let isExcluded = options.exclude && options.exclude.includes(functionName);
|
|
29
36
|
let displayErrorMessage = !options.overrideErrorMessage || !options.overrideErrorMessage.includes(functionName);
|
|
30
37
|
if (!isExcluded) {
|
|
38
|
+
// @ts-ignore
|
|
31
39
|
apiClass[functionName] = makeErrorsPrettyForFunction(functionName, apiClass[functionName], displayErrorMessage);
|
|
32
40
|
}
|
|
33
41
|
});
|
|
34
42
|
return apiClass;
|
|
35
|
-
}
|
|
43
|
+
};
|
|
36
44
|
|
|
37
45
|
export default makeErrorsPretty;
|