avvir 2.0.0 → 3.0.0

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.
@@ -1199,35 +1199,42 @@ var ScanDatasetApi = /** @class */ (function () {
1199
1199
  var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets";
1200
1200
  return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].get(url, user);
1201
1201
  };
1202
- ScanDatasetApi.mergeScanDataset = function (_a, scanDataset, user) {
1202
+ ScanDatasetApi.createScanDataset = function (_a, scanDate, user) {
1203
+ var projectId = _a.projectId, floorId = _a.floorId;
1204
+ var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets?scanDate=" + _converters__WEBPACK_IMPORTED_MODULE_2__.DateConverter.dateToISO(scanDate);
1205
+ return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, user, null);
1206
+ };
1207
+ ScanDatasetApi.deleteScanDataset = function (_a, user) {
1203
1208
  var projectId = _a.projectId, floorId = _a.floorId, scanDatasetId = _a.scanDatasetId;
1204
1209
  var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets/" + scanDatasetId;
1205
- return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].patch(url, user, scanDataset);
1210
+ return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"]["delete"](url, user);
1206
1211
  };
1207
- //@Deprecated
1212
+ ;
1208
1213
  ScanDatasetApi.updateScanDataset = function (_a, scanDataset, user) {
1209
1214
  var projectId = _a.projectId, floorId = _a.floorId, scanDatasetId = _a.scanDatasetId;
1210
- return this.mergeScanDataset({ projectId: projectId, floorId: floorId, scanDatasetId: scanDatasetId }, scanDataset, user);
1215
+ var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets/" + scanDatasetId;
1216
+ return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].patch(url, user, scanDataset);
1217
+ };
1218
+ /**
1219
+ * @deprecated use updateScanDataset instead, this is an alias
1220
+ */
1221
+ ScanDatasetApi.mergeScanDataset = function (_a, scanDataset, user) {
1222
+ var projectId = _a.projectId, floorId = _a.floorId, scanDatasetId = _a.scanDatasetId;
1223
+ return this.updateScanDataset({ projectId: projectId, floorId: floorId, scanDatasetId: scanDatasetId }, scanDataset, user);
1211
1224
  };
1225
+ /**
1226
+ * @deprecated use updateScanDataset instead, it does the exact same thing on the back end
1227
+ */
1212
1228
  ScanDatasetApi.replaceScanDataset = function (_a, scanDataset, user) {
1213
1229
  var projectId = _a.projectId, floorId = _a.floorId, scanDatasetId = _a.scanDatasetId;
1214
1230
  var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets/" + scanDatasetId;
1215
1231
  return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].put(url, user, scanDataset);
1216
1232
  };
1217
- ScanDatasetApi.createScanDataset = function (_a, user) {
1218
- var projectId = _a.projectId, floorId = _a.floorId, scanDate = _a.scanDate;
1219
- var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets";
1220
- if (scanDate) {
1221
- url += "?scanDate=" + _converters__WEBPACK_IMPORTED_MODULE_2__.DateConverter.dateToISO(scanDate);
1222
- }
1223
- return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, user, null);
1224
- };
1225
- ScanDatasetApi.deleteScanDataset = function (_a, user) {
1233
+ ScanDatasetApi.updateQaState = function (_a, qaState, user) {
1226
1234
  var projectId = _a.projectId, floorId = _a.floorId, scanDatasetId = _a.scanDatasetId;
1227
- var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets/" + scanDatasetId;
1228
- return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"]["delete"](url, user);
1235
+ var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets/" + scanDatasetId + "/qa-state";
1236
+ return _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, user, qaState);
1229
1237
  };
1230
- ;
1231
1238
  ScanDatasetApi.saveScanAnalysis = function (_a, analysis, user) {
1232
1239
  var projectId = _a.projectId, floorId = _a.floorId, scanDatasetId = _a.scanDatasetId;
1233
1240
  var url = _utilities_http__WEBPACK_IMPORTED_MODULE_0__["default"].baseUrl() + "/projects/" + projectId + "/floors/" + floorId + "/scan-datasets/" + scanDatasetId + "/analysis?enforceBuiltPersistence=false";
@@ -4616,6 +4623,7 @@ var ApiRunningProcess = /** @class */ (function () {
4616
4623
  "use strict";
4617
4624
  __webpack_require__.r(__webpack_exports__);
4618
4625
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4626
+ /* harmony export */ "ApiScanDatasetQaState": () => (/* binding */ ApiScanDatasetQaState),
4619
4627
  /* harmony export */ "ApiScanDataset": () => (/* binding */ ApiScanDataset),
4620
4628
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
4621
4629
  /* harmony export */ });
@@ -4628,9 +4636,15 @@ __webpack_require__.r(__webpack_exports__);
4628
4636
 
4629
4637
 
4630
4638
 
4639
+ var ApiScanDatasetQaState;
4640
+ (function (ApiScanDatasetQaState) {
4641
+ ApiScanDatasetQaState["NOT_STARTED"] = "NOT_STARTED";
4642
+ ApiScanDatasetQaState["STARTED"] = "STARTED";
4643
+ ApiScanDatasetQaState["COMPLETED"] = "COMPLETED";
4644
+ })(ApiScanDatasetQaState || (ApiScanDatasetQaState = {}));
4631
4645
  var ApiScanDataset = /** @class */ (function () {
4632
4646
  function ApiScanDataset(_a) {
4633
- var id = _a.id, firebaseId = _a.firebaseId, firebaseFloorId = _a.firebaseFloorId, scanNumber = _a.scanNumber, dataPresences = _a.dataPresences, analysisCompleted = _a.analysisCompleted, manualQcPresent = _a.manualQcPresent, notes = _a.notes, name = _a.name, coarseAlignmentMatrix = _a.coarseAlignmentMatrix, fineAlignmentMatrix = _a.fineAlignmentMatrix, scanDate = _a.scanDate, scanDateString = _a.scanDateString, qaStarted = _a.qaStarted, qaComplete = _a.qaComplete;
4647
+ var id = _a.id, firebaseId = _a.firebaseId, firebaseFloorId = _a.firebaseFloorId, scanNumber = _a.scanNumber, dataPresences = _a.dataPresences, analysisCompleted = _a.analysisCompleted, manualQcPresent = _a.manualQcPresent, notes = _a.notes, name = _a.name, coarseAlignmentMatrix = _a.coarseAlignmentMatrix, fineAlignmentMatrix = _a.fineAlignmentMatrix, scanDate = _a.scanDate, scanDateString = _a.scanDateString, qaStarted = _a.qaStarted, qaComplete = _a.qaComplete, qaState = _a.qaState;
4634
4648
  /**
4635
4649
  * Date that the dataset was captured.
4636
4650
  */
@@ -4643,8 +4657,13 @@ var ApiScanDataset = /** @class */ (function () {
4643
4657
  this.fineAlignmentMatrix = null;
4644
4658
  this.notes = null;
4645
4659
  this.name = null;
4646
- this.qaComplete = null;
4647
4660
  this.qaStarted = null;
4661
+ this.qaComplete = null;
4662
+ /**
4663
+ * current QA/QC state based on qaStarted/qaComplete, calculated by the
4664
+ * gateway so the frontend doesn't need to replicate business logic
4665
+ */
4666
+ this.qaState = null;
4648
4667
  (0,_mixins_add_instant_getter_and_setter_to_api_model__WEBPACK_IMPORTED_MODULE_1__["default"])(this, "scanDate");
4649
4668
  (0,_mixins_add_read_only_properties_to_model__WEBPACK_IMPORTED_MODULE_3__["default"])(this, { id: id, firebaseId: firebaseId, firebaseFloorId: firebaseFloorId, scanNumber: scanNumber });
4650
4669
  var coarseAlignmentMatrixVal, fineAlignmentMatrixVal;
@@ -4698,8 +4717,9 @@ var ApiScanDataset = /** @class */ (function () {
4698
4717
  this.scanDateString = scanDateString;
4699
4718
  this.analysisCompleted = analysisCompleted;
4700
4719
  this.manualQcPresent = manualQcPresent;
4701
- this.qaComplete = qaComplete;
4702
4720
  this.qaStarted = qaStarted;
4721
+ this.qaComplete = qaComplete;
4722
+ this.qaState = qaState;
4703
4723
  }
4704
4724
  return ApiScanDataset;
4705
4725
  }());
@@ -1,15 +1,21 @@
1
1
  import { User } from "../utilities/get_authorization_headers";
2
2
  import { ApiBuiltStatus, ApiDetailedElement, ApiPhotoSession, ApiScanDataset, ApiScannedElementType, AssociationIds, DateLike } from "../models";
3
3
  import ApiView, { ViewParameter } from "../models/api/api_view";
4
+ import { ApiScanDatasetQaState } from "../models/api/api_scan_dataset";
4
5
  export default class ScanDatasetApi {
5
6
  static listScanDatasetsForFloor({ projectId, floorId }: AssociationIds, user: User): Promise<ApiScanDataset[]>;
6
- static mergeScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void>;
7
+ static createScanDataset({ projectId, floorId }: AssociationIds, scanDate: DateLike, user: User): Promise<void>;
8
+ static deleteScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<void>;
7
9
  static updateScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void>;
10
+ /**
11
+ * @deprecated use updateScanDataset instead, this is an alias
12
+ */
13
+ static mergeScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void>;
14
+ /**
15
+ * @deprecated use updateScanDataset instead, it does the exact same thing on the back end
16
+ */
8
17
  static replaceScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void>;
9
- static createScanDataset({ projectId, floorId, scanDate }: AssociationIds & {
10
- scanDate?: DateLike;
11
- }, user: User): Promise<ApiScanDataset>;
12
- static deleteScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<void>;
18
+ static updateQaState({ projectId, floorId, scanDatasetId }: AssociationIds, qaState: ApiScanDatasetQaState, user: User): Promise<void>;
13
19
  static saveScanAnalysis({ projectId, floorId, scanDatasetId }: AssociationIds, analysis: ApiScannedElementType<ApiBuiltStatus>[], user: User): Promise<void>;
14
20
  static getScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<ApiScanDataset>;
15
21
  static getViewerDetailedElementsForScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<ApiDetailedElement[]>;
@@ -6,30 +6,36 @@ export default class ScanDatasetApi {
6
6
  let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets`;
7
7
  return Http.get(url, user);
8
8
  }
9
- static mergeScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user) {
9
+ static createScanDataset({ projectId, floorId }, scanDate, user) {
10
+ let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets?scanDate=${DateConverter.dateToISO(scanDate)}`;
11
+ return Http.post(url, user, null);
12
+ }
13
+ static deleteScanDataset({ projectId, floorId, scanDatasetId }, user) {
14
+ let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
15
+ return Http.delete(url, user);
16
+ }
17
+ ;
18
+ static updateScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user) {
10
19
  const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
11
20
  return Http.patch(url, user, scanDataset);
12
21
  }
13
- //@Deprecated
14
- static updateScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user) {
15
- return this.mergeScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user);
22
+ /**
23
+ * @deprecated use updateScanDataset instead, this is an alias
24
+ */
25
+ static mergeScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user) {
26
+ return this.updateScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user);
16
27
  }
28
+ /**
29
+ * @deprecated use updateScanDataset instead, it does the exact same thing on the back end
30
+ */
17
31
  static replaceScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user) {
18
32
  const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
19
33
  return Http.put(url, user, scanDataset);
20
34
  }
21
- static createScanDataset({ projectId, floorId, scanDate }, user) {
22
- let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets`;
23
- if (scanDate) {
24
- url += `?scanDate=${DateConverter.dateToISO(scanDate)}`;
25
- }
26
- return Http.post(url, user, null);
35
+ static updateQaState({ projectId, floorId, scanDatasetId }, qaState, user) {
36
+ const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/qa-state`;
37
+ return Http.post(url, user, qaState);
27
38
  }
28
- static deleteScanDataset({ projectId, floorId, scanDatasetId }, user) {
29
- let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
30
- return Http.delete(url, user);
31
- }
32
- ;
33
39
  static saveScanAnalysis({ projectId, floorId, scanDatasetId }, analysis, user) {
34
40
  const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/analysis?enforceBuiltPersistence=false`;
35
41
  return Http.post(url, user, analysis);
@@ -1 +1 @@
1
- {"version":3,"file":"scan_dataset_api.js","sourceRoot":"","sources":["../../../source/api/scan_dataset_api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan_dataset_api.js","sourceRoot":"","sources":["../../../source/api/scan_dataset_api.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,13 @@ export interface ApiScanDatasetArgument extends Partial<Modify<ApiScanDataset, {
8
8
  scanDateString?: string;
9
9
  }>> {
10
10
  }
11
+ export declare enum ApiScanDatasetQaState {
12
+ NOT_STARTED = "NOT_STARTED",
13
+ STARTED = "STARTED",
14
+ COMPLETED = "COMPLETED"
15
+ }
11
16
  export declare class ApiScanDataset {
12
- constructor({ id, firebaseId, firebaseFloorId, scanNumber, dataPresences, analysisCompleted, manualQcPresent, notes, name, coarseAlignmentMatrix, fineAlignmentMatrix, scanDate, scanDateString, qaStarted, qaComplete }: ApiScanDatasetArgument);
17
+ constructor({ id, firebaseId, firebaseFloorId, scanNumber, dataPresences, analysisCompleted, manualQcPresent, notes, name, coarseAlignmentMatrix, fineAlignmentMatrix, scanDate, scanDateString, qaStarted, qaComplete, qaState, }: ApiScanDatasetArgument);
13
18
  /**
14
19
  * Internal identifier, not used in URLs.
15
20
  */
@@ -43,7 +48,12 @@ export declare class ApiScanDataset {
43
48
  };
44
49
  notes: string | null;
45
50
  name: string | null;
46
- qaComplete: Date | null;
47
- qaStarted: Date | null;
51
+ readonly qaStarted: Date | null;
52
+ readonly qaComplete: Date | null;
53
+ /**
54
+ * current QA/QC state based on qaStarted/qaComplete, calculated by the
55
+ * gateway so the frontend doesn't need to replicate business logic
56
+ */
57
+ readonly qaState: ApiScanDatasetQaState;
48
58
  }
49
59
  export default ApiScanDataset;
@@ -2,8 +2,14 @@ import { Matrix4 } from "three";
2
2
  import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
3
3
  import addReadOnlyPropertiesToModel from "../../mixins/add_read_only_properties_to_model";
4
4
  import Matrix4Converter from "../../converters/matrix_4_converter";
5
+ export var ApiScanDatasetQaState;
6
+ (function (ApiScanDatasetQaState) {
7
+ ApiScanDatasetQaState["NOT_STARTED"] = "NOT_STARTED";
8
+ ApiScanDatasetQaState["STARTED"] = "STARTED";
9
+ ApiScanDatasetQaState["COMPLETED"] = "COMPLETED";
10
+ })(ApiScanDatasetQaState || (ApiScanDatasetQaState = {}));
5
11
  export class ApiScanDataset {
6
- constructor({ id, firebaseId, firebaseFloorId, scanNumber, dataPresences, analysisCompleted, manualQcPresent, notes, name, coarseAlignmentMatrix, fineAlignmentMatrix, scanDate, scanDateString, qaStarted, qaComplete }) {
12
+ constructor({ id, firebaseId, firebaseFloorId, scanNumber, dataPresences, analysisCompleted, manualQcPresent, notes, name, coarseAlignmentMatrix, fineAlignmentMatrix, scanDate, scanDateString, qaStarted, qaComplete, qaState, }) {
7
13
  /**
8
14
  * Date that the dataset was captured.
9
15
  */
@@ -16,8 +22,13 @@ export class ApiScanDataset {
16
22
  this.fineAlignmentMatrix = null;
17
23
  this.notes = null;
18
24
  this.name = null;
19
- this.qaComplete = null;
20
25
  this.qaStarted = null;
26
+ this.qaComplete = null;
27
+ /**
28
+ * current QA/QC state based on qaStarted/qaComplete, calculated by the
29
+ * gateway so the frontend doesn't need to replicate business logic
30
+ */
31
+ this.qaState = null;
21
32
  addInstantGetterAndSetterToApiModel(this, "scanDate");
22
33
  addReadOnlyPropertiesToModel(this, { id, firebaseId, firebaseFloorId, scanNumber });
23
34
  let coarseAlignmentMatrixVal, fineAlignmentMatrixVal;
@@ -71,8 +82,9 @@ export class ApiScanDataset {
71
82
  this.scanDateString = scanDateString;
72
83
  this.analysisCompleted = analysisCompleted;
73
84
  this.manualQcPresent = manualQcPresent;
74
- this.qaComplete = qaComplete;
75
85
  this.qaStarted = qaStarted;
86
+ this.qaComplete = qaComplete;
87
+ this.qaState = qaState;
76
88
  }
77
89
  }
78
90
  export default ApiScanDataset;
@@ -1 +1 @@
1
- {"version":3,"file":"api_scan_dataset.js","sourceRoot":"","sources":["../../../../source/models/api/api_scan_dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,mCAAmC,MAAM,yDAAyD,CAAC;AAC1G,OAAO,4BAA4B,MAAM,gDAAgD,CAAC;AAE1F,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AAUnE,MAAM,OAAO,cAAc;IACzB,YAAY,EACV,EAAE,EACF,UAAU,EACV,eAAe,EACf,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,KAAK,EACL,IAAI,EACJ,qBAAqB,EACrB,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,EACa;QA0EzB;;WAEG;QACH,aAAQ,GAAkB,IAAI,CAAC;QAC/B;;WAEG;QACH,mBAAc,GAAkB,IAAI,CAAC;QAIrC,0BAAqB,GAAsB,IAAI,CAAC;QAChD,wBAAmB,GAAsB,IAAI,CAAC;QAE9C,UAAK,GAAkB,IAAI,CAAC;QAC5B,SAAI,GAAkB,IAAI,CAAC;QAC3B,eAAU,GAAgB,IAAI,CAAC;QAC/B,cAAS,GAAgB,IAAI,CAAC;QA1F5B,mCAAmC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,4BAA4B,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;QACpF,IAAI,wBAAwB,EAAE,sBAAsB,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;YAC5B,qBAAqB,EAAE;gBACrB,GAAG;oBACD,OAAO,wBAAwB,CAAC;gBAClC,CAAC;gBACD,GAAG,CAAC,GAAG;oBACL,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;wBAC3B,wBAAwB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC/G;yBAAM,IAAI,GAAG,YAAY,OAAO,EAAE;wBACjC,wBAAwB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;qBACzE;yBAAM;wBACL,wBAAwB,GAAG,GAAG,CAAC;qBAChC;gBACH,CAAC;gBACD,UAAU,EAAE,IAAI;aACjB;YACD,mBAAmB,EAAE;gBACnB,GAAG;oBACD,OAAO,sBAAsB,CAAC;gBAChC,CAAC;gBACD,GAAG,CAAC,GAAG;oBACL,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;wBAC3B,sBAAsB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC7G;yBAAM,IAAI,GAAG,YAAY,OAAO,EAAE;wBACjC,sBAAsB,GAAG,gBAAgB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;qBACvE;yBAAM;wBACL,sBAAsB,GAAG,GAAG,CAAC;qBAC9B;gBACH,CAAC;gBACD,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QACH,aAAa;QACb,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,IAAI,IAAI,CAAC;QAC3D,aAAa;QACb,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,IAAI,CAAC;QACvD,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;SACpC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,aAAa;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CAwCF;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"api_scan_dataset.js","sourceRoot":"","sources":["../../../../source/models/api/api_scan_dataset.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "avvir",
3
3
  "repository": "git@github.com:Avvir/avvir-javascript-client.git",
4
- "version": "2.0.0",
4
+ "version": "3.0.0",
5
5
  "description": "Javascript client for Avvir APIs",
6
6
  "license": "Apache-2.0",
7
7
  "module": "dist/esm/index.js",
@@ -4,6 +4,7 @@ import Http from "../utilities/http";
4
4
  import makeErrorsPretty from "../utilities/make_errors_pretty";
5
5
  import ApiView, { ViewParameter } from "../models/api/api_view";
6
6
  import { DateConverter } from "../converters";
7
+ import {ApiScanDatasetQaState} from "../models/api/api_scan_dataset";
7
8
 
8
9
  export default class ScanDatasetApi {
9
10
  static listScanDatasetsForFloor({ projectId, floorId }: AssociationIds, user: User): Promise<ApiScanDataset[]> {
@@ -11,24 +12,42 @@ export default class ScanDatasetApi {
11
12
  return Http.get(url, user) as unknown as Promise<ApiScanDataset[]>;
12
13
  }
13
14
 
14
- static mergeScanDataset({
15
- projectId,
16
- floorId,
17
- scanDatasetId
18
- }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void> {
19
- const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
20
- return Http.patch(url, user, scanDataset) as unknown as Promise<void>;
15
+ static createScanDataset({
16
+ projectId,
17
+ floorId
18
+ }: AssociationIds, scanDate: DateLike, user: User): Promise<void> {
19
+ let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets?scanDate=${DateConverter.dateToISO(scanDate)}`;
20
+ return Http.post(url, user, null) as unknown as Promise<void>;
21
21
  }
22
22
 
23
- //@Deprecated
23
+ static deleteScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<void> {
24
+ let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
25
+ return Http.delete(url, user) as unknown as Promise<void>;
26
+ };
27
+
24
28
  static updateScanDataset({
25
29
  projectId,
26
30
  floorId,
27
31
  scanDatasetId
28
32
  }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void> {
29
- return this.mergeScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user);
33
+ const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
34
+ return Http.patch(url, user, scanDataset) as unknown as Promise<void>;
35
+ }
36
+
37
+ /**
38
+ * @deprecated use updateScanDataset instead, this is an alias
39
+ */
40
+ static mergeScanDataset({
41
+ projectId,
42
+ floorId,
43
+ scanDatasetId
44
+ }: AssociationIds, scanDataset: ApiScanDataset, user: User): Promise<void> {
45
+ return this.updateScanDataset({ projectId, floorId, scanDatasetId }, scanDataset, user);
30
46
  }
31
47
 
48
+ /**
49
+ * @deprecated use updateScanDataset instead, it does the exact same thing on the back end
50
+ */
32
51
  static replaceScanDataset({
33
52
  projectId,
34
53
  floorId,
@@ -38,30 +57,21 @@ export default class ScanDatasetApi {
38
57
  return Http.put(url, user, scanDataset) as unknown as Promise<void>;
39
58
  }
40
59
 
41
- static createScanDataset({
42
- projectId,
43
- floorId,
44
- scanDate
45
- }: AssociationIds & { scanDate?: DateLike }, user: User): Promise<ApiScanDataset> {
46
- let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets`;
47
- if (scanDate) {
48
- url += `?scanDate=${DateConverter.dateToISO(scanDate)}`;
49
- }
50
- return Http.post(url, user, null) as unknown as Promise<ApiScanDataset>;
51
- }
60
+ static updateQaState({
61
+ projectId,
62
+ floorId,
63
+ scanDatasetId
64
+ }: AssociationIds, qaState: ApiScanDatasetQaState, user: User): Promise<void> {
52
65
 
53
- static deleteScanDataset({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<void> {
54
- let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}`;
55
- return Http.delete(url, user) as unknown as Promise<void>;
56
- };
66
+ const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/qa-state`;
67
+ return Http.post(url, user, qaState) as unknown as Promise<void>;
68
+ }
57
69
 
58
70
  static saveScanAnalysis({
59
71
  projectId,
60
72
  floorId,
61
73
  scanDatasetId
62
- }: AssociationIds,
63
- analysis: ApiScannedElementType<ApiBuiltStatus>[],
64
- user: User): Promise<void> {
74
+ }: AssociationIds, analysis: ApiScannedElementType<ApiBuiltStatus>[], user: User): Promise<void> {
65
75
  const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/analysis?enforceBuiltPersistence=false`;
66
76
  return Http.post(url, user, analysis) as unknown as Promise<void>;
67
77
  }
@@ -12,6 +12,12 @@ export interface ApiScanDatasetArgument extends Partial<Modify<ApiScanDataset, {
12
12
  scanDateString?: string,
13
13
  }>> {}
14
14
 
15
+ export enum ApiScanDatasetQaState {
16
+ NOT_STARTED = "NOT_STARTED",
17
+ STARTED = "STARTED",
18
+ COMPLETED = "COMPLETED",
19
+ }
20
+
15
21
  export class ApiScanDataset {
16
22
  constructor({
17
23
  id,
@@ -28,7 +34,8 @@ export class ApiScanDataset {
28
34
  scanDate,
29
35
  scanDateString,
30
36
  qaStarted,
31
- qaComplete
37
+ qaComplete,
38
+ qaState,
32
39
  }: ApiScanDatasetArgument) {
33
40
  addInstantGetterAndSetterToApiModel(this, "scanDate");
34
41
  addReadOnlyPropertiesToModel(this, { id, firebaseId, firebaseFloorId, scanNumber });
@@ -79,8 +86,9 @@ export class ApiScanDataset {
79
86
  this.scanDateString = scanDateString;
80
87
  this.analysisCompleted = analysisCompleted;
81
88
  this.manualQcPresent = manualQcPresent;
82
- this.qaComplete = qaComplete;
83
89
  this.qaStarted = qaStarted;
90
+ this.qaComplete = qaComplete;
91
+ this.qaState = qaState;
84
92
  }
85
93
 
86
94
  /**
@@ -119,8 +127,13 @@ export class ApiScanDataset {
119
127
  dataPresences?: { scanAnalysis?: boolean };
120
128
  notes: string | null = null;
121
129
  name: string | null = null;
122
- qaComplete: Date | null = null;
123
- qaStarted: Date | null = null;
130
+ readonly qaStarted: Date | null = null;
131
+ readonly qaComplete: Date | null = null;
132
+ /**
133
+ * current QA/QC state based on qaStarted/qaComplete, calculated by the
134
+ * gateway so the frontend doesn't need to replicate business logic
135
+ */
136
+ readonly qaState: ApiScanDatasetQaState = null;
124
137
  }
125
138
 
126
139
  export default ApiScanDataset;