@smarterplan/ngx-smarterplan-core 1.2.45 → 1.2.47

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 (170) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/components/csv-export/csv-export.component.mjs +59 -59
  3. package/esm2020/lib/components/loader/loader.component.mjs +23 -23
  4. package/esm2020/lib/components/menu-bar/avatar/avatar.component.mjs +80 -80
  5. package/esm2020/lib/components/menu-bar/menu-bar.component.mjs +99 -99
  6. package/esm2020/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +384 -384
  7. package/esm2020/lib/components/menu-bar/range-date-picker/range-date-picker.component.mjs +147 -147
  8. package/esm2020/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +40 -40
  9. package/esm2020/lib/components/search-bar/search-bar.component.mjs +63 -63
  10. package/esm2020/lib/components/support-modal/support-modal.component.mjs +66 -66
  11. package/esm2020/lib/config.mjs +4 -4
  12. package/esm2020/lib/helpers.service.mjs +470 -470
  13. package/esm2020/lib/matterport-extensions/hsl-loader/HlsLoader.mjs +69 -69
  14. package/esm2020/lib/matterport-extensions/nest-thermostat/CanvasImage.mjs +51 -51
  15. package/esm2020/lib/matterport-extensions/nest-thermostat/CanvasRenderer.mjs +61 -61
  16. package/esm2020/lib/matterport-extensions/nest-thermostat/NestThermostat.mjs +158 -158
  17. package/esm2020/lib/matterport-extensions/nest-thermostat/PlaneRenderer.mjs +85 -85
  18. package/esm2020/lib/matterport-extensions/scene-component/SceneComponent.mjs +128 -128
  19. package/esm2020/lib/matterport-extensions/security-camera/SecurityCamera.mjs +249 -249
  20. package/esm2020/lib/matterport-extensions/tv-player/TvPlayer.mjs +98 -98
  21. package/esm2020/lib/matterport-extensions/video-renderer/VideoRenderer.mjs +64 -64
  22. package/esm2020/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.mjs +221 -221
  23. package/esm2020/lib/mattertagData.mjs +165 -165
  24. package/esm2020/lib/ngx-smarterplan-core.module.mjs +122 -122
  25. package/esm2020/lib/ngx-smarterplan-core.service.mjs +14 -14
  26. package/esm2020/lib/pipes/duration-to-string.pipe.mjs +66 -66
  27. package/esm2020/lib/pipes/format-date-number-to-digits.pipe.mjs +30 -30
  28. package/esm2020/lib/pipes/hashtag-from-id.pipe.mjs +26 -26
  29. package/esm2020/lib/pipes/safe-url.pipe.mjs +20 -20
  30. package/esm2020/lib/pipes/time-date-to-local-string.pipe.mjs +104 -104
  31. package/esm2020/lib/pipes/username-from-id.pipe.mjs +29 -29
  32. package/esm2020/lib/services/amplify-cache.service.mjs +72 -72
  33. package/esm2020/lib/services/base-tab.service.mjs +24 -24
  34. package/esm2020/lib/services/baseVisibility.service.mjs +18 -18
  35. package/esm2020/lib/services/content.service.mjs +135 -135
  36. package/esm2020/lib/services/filter.service.mjs +599 -599
  37. package/esm2020/lib/services/intervention.service.mjs +236 -236
  38. package/esm2020/lib/services/locale.service.mjs +45 -45
  39. package/esm2020/lib/services/matterport-import.service.mjs +340 -340
  40. package/esm2020/lib/services/matterport.service.mjs +1587 -1587
  41. package/esm2020/lib/services/models/affectation.service.mjs +60 -60
  42. package/esm2020/lib/services/models/base-object.service.mjs +70 -70
  43. package/esm2020/lib/services/models/capture.service.mjs +34 -34
  44. package/esm2020/lib/services/models/comment.service.mjs +98 -98
  45. package/esm2020/lib/services/models/domain.service.mjs +78 -78
  46. package/esm2020/lib/services/models/equipment.service.mjs +683 -683
  47. package/esm2020/lib/services/models/event.service.mjs +128 -128
  48. package/esm2020/lib/services/models/feature.service.mjs +380 -380
  49. package/esm2020/lib/services/models/hashtag.service.mjs +38 -38
  50. package/esm2020/lib/services/models/layer.service.mjs +33 -33
  51. package/esm2020/lib/services/models/measurement.service.mjs +199 -199
  52. package/esm2020/lib/services/models/mission.service.mjs +206 -206
  53. package/esm2020/lib/services/models/navigation.service.mjs +92 -92
  54. package/esm2020/lib/services/models/node.service.mjs +31 -31
  55. package/esm2020/lib/services/models/object3D.service.mjs +364 -364
  56. package/esm2020/lib/services/models/operation.service.mjs +59 -59
  57. package/esm2020/lib/services/models/organisation.service.mjs +73 -73
  58. package/esm2020/lib/services/models/plan.service.mjs +799 -799
  59. package/esm2020/lib/services/models/poi.service.mjs +103 -103
  60. package/esm2020/lib/services/models/profile.service.mjs +58 -58
  61. package/esm2020/lib/services/models/property.service.mjs +44 -44
  62. package/esm2020/lib/services/models/space.service.mjs +204 -204
  63. package/esm2020/lib/services/models/template.service.mjs +41 -41
  64. package/esm2020/lib/services/models/ticket.service.mjs +526 -526
  65. package/esm2020/lib/services/models/visit.service.mjs +130 -130
  66. package/esm2020/lib/services/models/zone.service.mjs +225 -225
  67. package/esm2020/lib/services/navigator.service.mjs +212 -212
  68. package/esm2020/lib/services/s3.service.mjs +137 -137
  69. package/esm2020/lib/services/search.service.mjs +124 -124
  70. package/esm2020/lib/services/support.service.mjs +42 -42
  71. package/esm2020/lib/services/tag.service.mjs +111 -111
  72. package/esm2020/lib/services/user.service.mjs +501 -501
  73. package/esm2020/lib/services/validators.service.mjs +50 -50
  74. package/esm2020/lib/services/viewer.service.mjs +389 -389
  75. package/esm2020/lib/services/zone-drawer.service.mjs +76 -76
  76. package/esm2020/lib/services/zoneChange.service.mjs +30 -30
  77. package/esm2020/lib/types.service.mjs +311 -311
  78. package/esm2020/lib/validators/email.directive.mjs +7 -7
  79. package/esm2020/lib/validators/no-empty.directive.mjs +12 -12
  80. package/esm2020/lib/validators/number.directive.mjs +12 -12
  81. package/esm2020/lib/validators/text.directive.mjs +12 -12
  82. package/esm2020/public-api.mjs +72 -72
  83. package/esm2020/smarterplan-ngx-smarterplan-core.mjs +4 -4
  84. package/fesm2015/smarterplan-ngx-smarterplan-core.mjs +13014 -13014
  85. package/fesm2015/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  86. package/fesm2020/smarterplan-ngx-smarterplan-core.mjs +12263 -12263
  87. package/fesm2020/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  88. package/lib/components/csv-export/csv-export.component.d.ts +18 -18
  89. package/lib/components/loader/loader.component.d.ts +10 -10
  90. package/lib/components/menu-bar/avatar/avatar.component.d.ts +21 -21
  91. package/lib/components/menu-bar/menu-bar.component.d.ts +38 -38
  92. package/lib/components/menu-bar/navigation-bar/navigation-bar.component.d.ts +73 -73
  93. package/lib/components/menu-bar/range-date-picker/range-date-picker.component.d.ts +35 -35
  94. package/lib/components/modal-switch-visit/modal-switch-visit.component.d.ts +22 -22
  95. package/lib/components/search-bar/search-bar.component.d.ts +16 -16
  96. package/lib/components/support-modal/support-modal.component.d.ts +26 -26
  97. package/lib/config.d.ts +22 -22
  98. package/lib/helpers.service.d.ts +79 -79
  99. package/lib/matterport-extensions/hsl-loader/HlsLoader.d.ts +26 -26
  100. package/lib/matterport-extensions/nest-thermostat/CanvasImage.d.ts +31 -31
  101. package/lib/matterport-extensions/nest-thermostat/CanvasRenderer.d.ts +37 -37
  102. package/lib/matterport-extensions/nest-thermostat/NestThermostat.d.ts +42 -42
  103. package/lib/matterport-extensions/nest-thermostat/PlaneRenderer.d.ts +46 -46
  104. package/lib/matterport-extensions/scene-component/SceneComponent.d.ts +388 -388
  105. package/lib/matterport-extensions/security-camera/SecurityCamera.d.ts +47 -47
  106. package/lib/matterport-extensions/tv-player/TvPlayer.d.ts +26 -26
  107. package/lib/matterport-extensions/video-renderer/VideoRenderer.d.ts +26 -26
  108. package/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.d.ts +43 -43
  109. package/lib/mattertagData.d.ts +70 -70
  110. package/lib/ngx-smarterplan-core.module.d.ts +29 -29
  111. package/lib/ngx-smarterplan-core.service.d.ts +6 -6
  112. package/lib/pipes/duration-to-string.pipe.d.ts +12 -12
  113. package/lib/pipes/format-date-number-to-digits.pipe.d.ts +10 -10
  114. package/lib/pipes/hashtag-from-id.pipe.d.ts +10 -10
  115. package/lib/pipes/safe-url.pipe.d.ts +10 -10
  116. package/lib/pipes/time-date-to-local-string.pipe.d.ts +16 -16
  117. package/lib/pipes/username-from-id.pipe.d.ts +11 -11
  118. package/lib/services/amplify-cache.service.d.ts +37 -37
  119. package/lib/services/base-tab.service.d.ts +10 -10
  120. package/lib/services/baseVisibility.service.d.ts +9 -9
  121. package/lib/services/content.service.d.ts +28 -28
  122. package/lib/services/filter.service.d.ts +60 -60
  123. package/lib/services/intervention.service.d.ts +25 -25
  124. package/lib/services/locale.service.d.ts +23 -23
  125. package/lib/services/matterport-import.service.d.ts +53 -53
  126. package/lib/services/matterport.service.d.ts +336 -336
  127. package/lib/services/models/affectation.service.d.ts +14 -14
  128. package/lib/services/models/base-object.service.d.ts +20 -20
  129. package/lib/services/models/capture.service.d.ts +13 -13
  130. package/lib/services/models/comment.service.d.ts +26 -26
  131. package/lib/services/models/domain.service.d.ts +19 -19
  132. package/lib/services/models/equipment.service.d.ts +93 -93
  133. package/lib/services/models/event.service.d.ts +43 -43
  134. package/lib/services/models/feature.service.d.ts +75 -75
  135. package/lib/services/models/hashtag.service.d.ts +13 -13
  136. package/lib/services/models/layer.service.d.ts +11 -11
  137. package/lib/services/models/measurement.service.d.ts +51 -51
  138. package/lib/services/models/mission.service.d.ts +39 -39
  139. package/lib/services/models/navigation.service.d.ts +29 -29
  140. package/lib/services/models/node.service.d.ts +12 -12
  141. package/lib/services/models/object3D.service.d.ts +57 -57
  142. package/lib/services/models/operation.service.d.ts +15 -15
  143. package/lib/services/models/organisation.service.d.ts +19 -19
  144. package/lib/services/models/plan.service.d.ts +133 -133
  145. package/lib/services/models/poi.service.d.ts +25 -25
  146. package/lib/services/models/profile.service.d.ts +16 -16
  147. package/lib/services/models/property.service.d.ts +13 -13
  148. package/lib/services/models/space.service.d.ts +46 -46
  149. package/lib/services/models/template.service.d.ts +15 -15
  150. package/lib/services/models/ticket.service.d.ts +93 -93
  151. package/lib/services/models/visit.service.d.ts +24 -24
  152. package/lib/services/models/zone.service.d.ts +50 -50
  153. package/lib/services/navigator.service.d.ts +61 -61
  154. package/lib/services/s3.service.d.ts +14 -14
  155. package/lib/services/search.service.d.ts +20 -20
  156. package/lib/services/support.service.d.ts +17 -17
  157. package/lib/services/tag.service.d.ts +29 -29
  158. package/lib/services/user.service.d.ts +118 -118
  159. package/lib/services/validators.service.d.ts +18 -18
  160. package/lib/services/viewer.service.d.ts +110 -110
  161. package/lib/services/zone-drawer.service.d.ts +7 -7
  162. package/lib/services/zoneChange.service.d.ts +17 -17
  163. package/lib/types.service.d.ts +842 -842
  164. package/lib/validators/email.directive.d.ts +2 -2
  165. package/lib/validators/no-empty.directive.d.ts +2 -2
  166. package/lib/validators/number.directive.d.ts +2 -2
  167. package/lib/validators/text.directive.d.ts +2 -2
  168. package/package.json +2 -2
  169. package/public-api.d.ts +64 -64
  170. package/smarterplan-ngx-smarterplan-core.d.ts +5 -5
@@ -1,60 +1,60 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class AffectationService {
4
- constructor(apiInjected) {
5
- this.API = apiInjected;
6
- }
7
- async getAffectationsFromTicketID(ticketID) {
8
- return this.API.__proto__.ListAffectations({
9
- ticketID: {
10
- eq: ticketID,
11
- },
12
- })
13
- .then((results) => {
14
- return results.items;
15
- })
16
- .catch((error) => {
17
- console.log(` Error while retrieving affectations for ${ticketID} : ${JSON.stringify(error)}`);
18
- });
19
- }
20
- async getAffectationsFromMissionID(missionID) {
21
- return this.API.__proto__.AffectationsByMission(missionID).then((resposne) => resposne.items);
22
- }
23
- async softDeleteAffectationByMissionByTicket(ticketID, missionID) {
24
- const affectations = await this.getAffecationsForTicketForMission(missionID, ticketID);
25
- await Promise.all(affectations.map(async (affectation) => {
26
- const deleted = await this.API.__proto__.UpdateAffectation({
27
- id: affectation.id,
28
- deletedAt: Date.now(),
29
- });
30
- console.log("soft deleted affectation", deleted);
31
- }));
32
- return affectations;
33
- }
34
- async getAffecationsForTicketForMission(ticketID, missionID) {
35
- return this.API.__proto__.AffectationsByMissionByTicket(missionID, {
36
- eq: ticketID,
37
- }).then((resposne) => resposne.items);
38
- }
39
- async softDeleteAffectationByID(affectationID) {
40
- return this.API.__proto__.UpdateAffectation({
41
- id: affectationID,
42
- deletedAt: Date.now(),
43
- });
44
- }
45
- async createAffectation(input) {
46
- return this.API.__proto__.CreateAffectation(input);
47
- }
48
- }
49
- AffectationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AffectationService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
50
- AffectationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AffectationService, providedIn: "root" });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AffectationService, decorators: [{
52
- type: Injectable,
53
- args: [{
54
- providedIn: "root",
55
- }]
56
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
57
- type: Inject,
58
- args: ['currentAPIService']
59
- }] }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmZWN0YXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2FmZmVjdGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0sT0FBTyxrQkFBa0I7SUFHM0IsWUFDaUMsV0FBZ0I7UUFDN0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FDN0IsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN2QyxRQUFRLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLFFBQVE7YUFDZjtTQUNKLENBQUM7YUFDRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQ1AsNENBQTRDLFFBQVEsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3BGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQzlCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELEtBQUssQ0FBQyxzQ0FBc0MsQ0FDeEMsUUFBZ0IsRUFDaEIsU0FBaUI7UUFFakIsTUFBTSxZQUFZLEdBQ2QsTUFBTSxJQUFJLENBQUMsaUNBQWlDLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDYixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO2dCQUN2RCxFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ3hCLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsaUNBQWlDLENBQ25DLFFBQWdCLEVBQ2hCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsU0FBUyxFQUFFO1lBQy9ELEVBQUUsRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQzNCLGFBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7WUFDeEMsRUFBRSxFQUFFLGFBQWE7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFrQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OytHQXRFUSxrQkFBa0Isa0JBSWYsbUJBQW1CO21IQUp0QixrQkFBa0IsY0FGZixNQUFNOzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUtRLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFmZmVjdGF0aW9uIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcblxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEFmZmVjdGF0aW9uU2VydmljZSAge1xuICAgIEFQSTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEFmZmVjdGF0aW9uc0Zyb21UaWNrZXRJRChcbiAgICAgICAgdGlja2V0SUQ6IHN0cmluZyxcbiAgICApOiBQcm9taXNlPEFmZmVjdGF0aW9uW10gfCB2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdEFmZmVjdGF0aW9ucyh7XG4gICAgICAgICAgICB0aWNrZXRJRDoge1xuICAgICAgICAgICAgICAgIGVxOiB0aWNrZXRJRCxcbiAgICAgICAgICAgIH0gLFxuICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdHMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5pdGVtcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgICAgIGAgRXJyb3Igd2hpbGUgcmV0cmlldmluZyBhZmZlY3RhdGlvbnMgZm9yICR7dGlja2V0SUR9IDogJHtKU09OLnN0cmluZ2lmeShlcnJvcil9YCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0QWZmZWN0YXRpb25zRnJvbU1pc3Npb25JRChcbiAgICAgICAgbWlzc2lvbklEOiBzdHJpbmcsXG4gICAgKTogUHJvbWlzZTxBZmZlY3RhdGlvbltdIHwgdm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkFmZmVjdGF0aW9uc0J5TWlzc2lvbihtaXNzaW9uSUQpLnRoZW4oKHJlc3Bvc25lKSA9PiByZXNwb3NuZS5pdGVtcyk7XG4gICAgfVxuXG4gICAgYXN5bmMgc29mdERlbGV0ZUFmZmVjdGF0aW9uQnlNaXNzaW9uQnlUaWNrZXQoXG4gICAgICAgIHRpY2tldElEOiBzdHJpbmcsXG4gICAgICAgIG1pc3Npb25JRDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xuICAgICAgICBjb25zdCBhZmZlY3RhdGlvbnM6IEFmZmVjdGF0aW9uW10gPVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRBZmZlY2F0aW9uc0ZvclRpY2tldEZvck1pc3Npb24obWlzc2lvbklELCB0aWNrZXRJRCk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgYWZmZWN0YXRpb25zLm1hcChhc3luYyAoYWZmZWN0YXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWxldGVkID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZUFmZmVjdGF0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGFmZmVjdGF0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgICBkZWxldGVkQXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJzb2Z0IGRlbGV0ZWQgYWZmZWN0YXRpb25cIiwgZGVsZXRlZCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGFmZmVjdGF0aW9ucztcbiAgICB9XG5cbiAgICBhc3luYyBnZXRBZmZlY2F0aW9uc0ZvclRpY2tldEZvck1pc3Npb24oXG4gICAgICAgIHRpY2tldElEOiBzdHJpbmcsXG4gICAgICAgIG1pc3Npb25JRDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkFmZmVjdGF0aW9uc0J5TWlzc2lvbkJ5VGlja2V0KG1pc3Npb25JRCwge1xuICAgICAgICAgICAgZXE6IHRpY2tldElELFxuICAgICAgICB9KS50aGVuKChyZXNwb3NuZSkgPT4gcmVzcG9zbmUuaXRlbXMpO1xuICAgIH1cblxuICAgIGFzeW5jIHNvZnREZWxldGVBZmZlY3RhdGlvbkJ5SUQoXG4gICAgICAgIGFmZmVjdGF0aW9uSUQ6IHN0cmluZyxcbiAgICApOiBQcm9taXNlPEFmZmVjdGF0aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlQWZmZWN0YXRpb24oe1xuICAgICAgICAgICAgaWQ6IGFmZmVjdGF0aW9uSUQsXG4gICAgICAgICAgICBkZWxldGVkQXQ6IERhdGUubm93KCksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZUFmZmVjdGF0aW9uKGlucHV0OiBBZmZlY3RhdGlvbik6IFByb21pc2U8QWZmZWN0YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVBZmZlY3RhdGlvbihpbnB1dCk7XG4gICAgfVxufVxuIl19
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AffectationService {
4
+ constructor(apiInjected) {
5
+ this.API = apiInjected;
6
+ }
7
+ async getAffectationsFromTicketID(ticketID) {
8
+ return this.API.__proto__.ListAffectations({
9
+ ticketID: {
10
+ eq: ticketID,
11
+ },
12
+ })
13
+ .then((results) => {
14
+ return results.items;
15
+ })
16
+ .catch((error) => {
17
+ console.log(` Error while retrieving affectations for ${ticketID} : ${JSON.stringify(error)}`);
18
+ });
19
+ }
20
+ async getAffectationsFromMissionID(missionID) {
21
+ return this.API.__proto__.AffectationsByMission(missionID).then((resposne) => resposne.items);
22
+ }
23
+ async softDeleteAffectationByMissionByTicket(ticketID, missionID) {
24
+ const affectations = await this.getAffecationsForTicketForMission(missionID, ticketID);
25
+ await Promise.all(affectations.map(async (affectation) => {
26
+ const deleted = await this.API.__proto__.UpdateAffectation({
27
+ id: affectation.id,
28
+ deletedAt: Date.now(),
29
+ });
30
+ console.log("soft deleted affectation", deleted);
31
+ }));
32
+ return affectations;
33
+ }
34
+ async getAffecationsForTicketForMission(ticketID, missionID) {
35
+ return this.API.__proto__.AffectationsByMissionByTicket(missionID, {
36
+ eq: ticketID,
37
+ }).then((resposne) => resposne.items);
38
+ }
39
+ async softDeleteAffectationByID(affectationID) {
40
+ return this.API.__proto__.UpdateAffectation({
41
+ id: affectationID,
42
+ deletedAt: Date.now(),
43
+ });
44
+ }
45
+ async createAffectation(input) {
46
+ return this.API.__proto__.CreateAffectation(input);
47
+ }
48
+ }
49
+ AffectationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AffectationService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
50
+ AffectationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AffectationService, providedIn: "root" });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AffectationService, decorators: [{
52
+ type: Injectable,
53
+ args: [{
54
+ providedIn: "root",
55
+ }]
56
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
57
+ type: Inject,
58
+ args: ['currentAPIService']
59
+ }] }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmZWN0YXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2FmZmVjdGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0sT0FBTyxrQkFBa0I7SUFHM0IsWUFDaUMsV0FBZ0I7UUFDN0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FDN0IsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN2QyxRQUFRLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLFFBQVE7YUFDZjtTQUNKLENBQUM7YUFDRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQ1AsNENBQTRDLFFBQVEsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3BGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQzlCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELEtBQUssQ0FBQyxzQ0FBc0MsQ0FDeEMsUUFBZ0IsRUFDaEIsU0FBaUI7UUFFakIsTUFBTSxZQUFZLEdBQ2QsTUFBTSxJQUFJLENBQUMsaUNBQWlDLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDYixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO2dCQUN2RCxFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ3hCLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsaUNBQWlDLENBQ25DLFFBQWdCLEVBQ2hCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsU0FBUyxFQUFFO1lBQy9ELEVBQUUsRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQzNCLGFBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7WUFDeEMsRUFBRSxFQUFFLGFBQWE7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFrQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OytHQXRFUSxrQkFBa0Isa0JBSWYsbUJBQW1CO21IQUp0QixrQkFBa0IsY0FGZixNQUFNOzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUtRLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWZmZWN0YXRpb24gfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWZmZWN0YXRpb25TZXJ2aWNlICB7XHJcbiAgICBBUEk6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnkpIHtcclxuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldEFmZmVjdGF0aW9uc0Zyb21UaWNrZXRJRChcclxuICAgICAgICB0aWNrZXRJRDogc3RyaW5nLFxyXG4gICAgKTogUHJvbWlzZTxBZmZlY3RhdGlvbltdIHwgdm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdEFmZmVjdGF0aW9ucyh7XHJcbiAgICAgICAgICAgIHRpY2tldElEOiB7XHJcbiAgICAgICAgICAgICAgICBlcTogdGlja2V0SUQsXHJcbiAgICAgICAgICAgIH0gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHRzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5pdGVtcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgICAgICAgICAgYCBFcnJvciB3aGlsZSByZXRyaWV2aW5nIGFmZmVjdGF0aW9ucyBmb3IgJHt0aWNrZXRJRH0gOiAke0pTT04uc3RyaW5naWZ5KGVycm9yKX1gLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0QWZmZWN0YXRpb25zRnJvbU1pc3Npb25JRChcclxuICAgICAgICBtaXNzaW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXSB8IHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkFmZmVjdGF0aW9uc0J5TWlzc2lvbihtaXNzaW9uSUQpLnRoZW4oKHJlc3Bvc25lKSA9PiByZXNwb3NuZS5pdGVtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc29mdERlbGV0ZUFmZmVjdGF0aW9uQnlNaXNzaW9uQnlUaWNrZXQoXHJcbiAgICAgICAgdGlja2V0SUQ6IHN0cmluZyxcclxuICAgICAgICBtaXNzaW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xyXG4gICAgICAgIGNvbnN0IGFmZmVjdGF0aW9uczogQWZmZWN0YXRpb25bXSA9XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0QWZmZWNhdGlvbnNGb3JUaWNrZXRGb3JNaXNzaW9uKG1pc3Npb25JRCwgdGlja2V0SUQpO1xyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICBhZmZlY3RhdGlvbnMubWFwKGFzeW5jIChhZmZlY3RhdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGVsZXRlZCA9IGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVBZmZlY3RhdGlvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGFmZmVjdGF0aW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZWRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJzb2Z0IGRlbGV0ZWQgYWZmZWN0YXRpb25cIiwgZGVsZXRlZCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGFmZmVjdGF0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRBZmZlY2F0aW9uc0ZvclRpY2tldEZvck1pc3Npb24oXHJcbiAgICAgICAgdGlja2V0SUQ6IHN0cmluZyxcclxuICAgICAgICBtaXNzaW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uQWZmZWN0YXRpb25zQnlNaXNzaW9uQnlUaWNrZXQobWlzc2lvbklELCB7XHJcbiAgICAgICAgICAgIGVxOiB0aWNrZXRJRCxcclxuICAgICAgICB9KS50aGVuKChyZXNwb3NuZSkgPT4gcmVzcG9zbmUuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNvZnREZWxldGVBZmZlY3RhdGlvbkJ5SUQoXHJcbiAgICAgICAgYWZmZWN0YXRpb25JRDogc3RyaW5nLFxyXG4gICAgKTogUHJvbWlzZTxBZmZlY3RhdGlvbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlQWZmZWN0YXRpb24oe1xyXG4gICAgICAgICAgICBpZDogYWZmZWN0YXRpb25JRCxcclxuICAgICAgICAgICAgZGVsZXRlZEF0OiBEYXRlLm5vdygpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZUFmZmVjdGF0aW9uKGlucHV0OiBBZmZlY3RhdGlvbik6IFByb21pc2U8QWZmZWN0YXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZUFmZmVjdGF0aW9uKGlucHV0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,70 +1,70 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./poi.service";
4
- import * as i2 from "./navigation.service";
5
- export class BaseObjectService {
6
- constructor(poiService, navigationService) {
7
- this.poiService = poiService;
8
- this.navigationService = navigationService;
9
- }
10
- async getModel3dAndSweep(object) {
11
- return this.poiService
12
- .getPoiByElementId(object.id)
13
- .then(async (poi) => {
14
- if (poi && poi.matterportSweepID) {
15
- const navigations = await this.navigationService.getNavigationsForMatterportIDForSpace(poi.matterportSweepID, object.spaceID);
16
- const [poiNavigation] = navigations;
17
- if (this.poiService.poiIsVirtual(poi)) {
18
- return {
19
- model3D: poiNavigation.node.model3D,
20
- sweep: null,
21
- rotation: null,
22
- };
23
- }
24
- const coordinate = JSON.parse(poi.coordinate);
25
- let rotation = null;
26
- if (coordinate.xRotation) {
27
- rotation = {
28
- x: Number(coordinate.xRotation),
29
- y: Number(coordinate.yRotation),
30
- };
31
- }
32
- return {
33
- model3D: poiNavigation.node.model3D,
34
- sweep: poi.matterportSweepID,
35
- rotation,
36
- };
37
- }
38
- return null;
39
- })
40
- .catch((error) => {
41
- return null;
42
- });
43
- }
44
- async updateIconForAllObjects(objects, tagIcon) {
45
- const IDs = [];
46
- for (const object of objects) {
47
- IDs.push(object.id);
48
- }
49
- const pois = [];
50
- await Promise.all(IDs.map(async (id) => {
51
- const poi = await this.poiService.getPoiByElementId(id);
52
- const updated = await this.poiService.updatePoi({
53
- id: poi.id,
54
- tagIcon,
55
- });
56
- pois.push(updated);
57
- }));
58
- console.log("updated", pois.length, "pois with new icons");
59
- return pois;
60
- }
61
- }
62
- BaseObjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseObjectService, deps: [{ token: i1.PoiService }, { token: i2.NavigationService }], target: i0.ɵɵFactoryTarget.Injectable });
63
- BaseObjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseObjectService, providedIn: "root" });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseObjectService, decorators: [{
65
- type: Injectable,
66
- args: [{
67
- providedIn: "root",
68
- }]
69
- }], ctorParameters: function () { return [{ type: i1.PoiService }, { type: i2.NavigationService }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1vYmplY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2Jhc2Utb2JqZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQ2MsVUFBc0IsRUFDeEIsaUJBQW9DO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUM3QyxDQUFDO0lBRUosS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQW9DO1FBS3pELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDakIsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDOUIsTUFBTSxXQUFXLEdBQ2IsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMscUNBQXFDLENBQzlELEdBQUcsQ0FBQyxpQkFBaUIsRUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FDakIsQ0FBQztnQkFDTixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsV0FBVyxDQUFDO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuQyxPQUFPO3dCQUNILE9BQU8sRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU87d0JBQ25DLEtBQUssRUFBRSxJQUFJO3dCQUNYLFFBQVEsRUFBRSxJQUFJO3FCQUNqQixDQUFDO2lCQUNMO2dCQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRTtvQkFDdEIsUUFBUSxHQUFHO3dCQUNQLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQzt3QkFDL0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO3FCQUNsQyxDQUFDO2lCQUNMO2dCQUNELE9BQU87b0JBQ0gsT0FBTyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTztvQkFDbkMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQzVCLFFBQVE7aUJBQ1gsQ0FBQzthQUNMO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQ3pCLE9BQTJDLEVBQzNDLE9BQWU7UUFFZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN2QjtRQUNELE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7Z0JBQzVDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDVixPQUFPO2FBQ1YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzhHQXRFUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRXF1aXBtZW50LCBGZWF0dXJlLCBQT0ksIFRpY2tldCB9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gXCIuL25hdmlnYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgUG9pU2VydmljZSB9IGZyb20gXCIuL3BvaS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgQmFzZU9iamVjdFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgcG9pU2VydmljZTogUG9pU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuYXZpZ2F0aW9uU2VydmljZTogTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgYXN5bmMgZ2V0TW9kZWwzZEFuZFN3ZWVwKG9iamVjdDogRmVhdHVyZSB8IFRpY2tldCB8IEVxdWlwbWVudCk6IFByb21pc2U8e1xuICAgICAgICBtb2RlbDNEOiBzdHJpbmc7XG4gICAgICAgIHN3ZWVwOiBzdHJpbmc7XG4gICAgICAgIHJvdGF0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XG4gICAgfSB8IHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9pU2VydmljZVxuICAgICAgICAgICAgLmdldFBvaUJ5RWxlbWVudElkKG9iamVjdC5pZClcbiAgICAgICAgICAgIC50aGVuKGFzeW5jIChwb2kpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocG9pICYmIHBvaS5tYXR0ZXJwb3J0U3dlZXBJRCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuYXZpZ2F0aW9ucyA9XG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmdldE5hdmlnYXRpb25zRm9yTWF0dGVycG9ydElERm9yU3BhY2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pLm1hdHRlcnBvcnRTd2VlcElELFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC5zcGFjZUlELFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW3BvaU5hdmlnYXRpb25dID0gbmF2aWdhdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvaVNlcnZpY2UucG9pSXNWaXJ0dWFsKHBvaSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWwzRDogcG9pTmF2aWdhdGlvbi5ub2RlLm1vZGVsM0QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dlZXA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb3JkaW5hdGUgPSBKU09OLnBhcnNlKHBvaS5jb29yZGluYXRlKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJvdGF0aW9uID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvb3JkaW5hdGUueFJvdGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBOdW1iZXIoY29vcmRpbmF0ZS54Um90YXRpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IE51bWJlcihjb29yZGluYXRlLnlSb3RhdGlvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDNEOiBwb2lOYXZpZ2F0aW9uLm5vZGUubW9kZWwzRCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3ZWVwOiBwb2kubWF0dGVycG9ydFN3ZWVwSUQsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGVJY29uRm9yQWxsT2JqZWN0cyhcbiAgICAgICAgb2JqZWN0czogVGlja2V0W10gfCBGZWF0dXJlW10gfCBFcXVpcG1lbnRbXSxcbiAgICAgICAgdGFnSWNvbjogc3RyaW5nLFxuICAgICk6IFByb21pc2U8UE9JW10+IHtcbiAgICAgICAgY29uc3QgSURzID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgb2JqZWN0IG9mIG9iamVjdHMpIHtcbiAgICAgICAgICAgIElEcy5wdXNoKG9iamVjdC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pcyA9IFtdO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIElEcy5tYXAoYXN5bmMgKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9pID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLmdldFBvaUJ5RWxlbWVudElkKGlkKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLnVwZGF0ZVBvaSh7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBwb2kuaWQsXG4gICAgICAgICAgICAgICAgICAgIHRhZ0ljb24sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcG9pcy5wdXNoKHVwZGF0ZWQpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnNvbGUubG9nKFwidXBkYXRlZFwiLCBwb2lzLmxlbmd0aCwgXCJwb2lzIHdpdGggbmV3IGljb25zXCIpO1xuICAgICAgICByZXR1cm4gcG9pcztcbiAgICB9XG59XG4iXX0=
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./poi.service";
4
+ import * as i2 from "./navigation.service";
5
+ export class BaseObjectService {
6
+ constructor(poiService, navigationService) {
7
+ this.poiService = poiService;
8
+ this.navigationService = navigationService;
9
+ }
10
+ async getModel3dAndSweep(object) {
11
+ return this.poiService
12
+ .getPoiByElementId(object.id)
13
+ .then(async (poi) => {
14
+ if (poi && poi.matterportSweepID) {
15
+ const navigations = await this.navigationService.getNavigationsForMatterportIDForSpace(poi.matterportSweepID, object.spaceID);
16
+ const [poiNavigation] = navigations;
17
+ if (this.poiService.poiIsVirtual(poi)) {
18
+ return {
19
+ model3D: poiNavigation.node.model3D,
20
+ sweep: null,
21
+ rotation: null,
22
+ };
23
+ }
24
+ const coordinate = JSON.parse(poi.coordinate);
25
+ let rotation = null;
26
+ if (coordinate.xRotation) {
27
+ rotation = {
28
+ x: Number(coordinate.xRotation),
29
+ y: Number(coordinate.yRotation),
30
+ };
31
+ }
32
+ return {
33
+ model3D: poiNavigation.node.model3D,
34
+ sweep: poi.matterportSweepID,
35
+ rotation,
36
+ };
37
+ }
38
+ return null;
39
+ })
40
+ .catch((error) => {
41
+ return null;
42
+ });
43
+ }
44
+ async updateIconForAllObjects(objects, tagIcon) {
45
+ const IDs = [];
46
+ for (const object of objects) {
47
+ IDs.push(object.id);
48
+ }
49
+ const pois = [];
50
+ await Promise.all(IDs.map(async (id) => {
51
+ const poi = await this.poiService.getPoiByElementId(id);
52
+ const updated = await this.poiService.updatePoi({
53
+ id: poi.id,
54
+ tagIcon,
55
+ });
56
+ pois.push(updated);
57
+ }));
58
+ console.log("updated", pois.length, "pois with new icons");
59
+ return pois;
60
+ }
61
+ }
62
+ BaseObjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseObjectService, deps: [{ token: i1.PoiService }, { token: i2.NavigationService }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ BaseObjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseObjectService, providedIn: "root" });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BaseObjectService, decorators: [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: "root",
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i1.PoiService }, { type: i2.NavigationService }]; } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1vYmplY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2Jhc2Utb2JqZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQ2MsVUFBc0IsRUFDeEIsaUJBQW9DO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUM3QyxDQUFDO0lBRUosS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQW9DO1FBS3pELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDakIsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDOUIsTUFBTSxXQUFXLEdBQ2IsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMscUNBQXFDLENBQzlELEdBQUcsQ0FBQyxpQkFBaUIsRUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FDakIsQ0FBQztnQkFDTixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsV0FBVyxDQUFDO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNuQyxPQUFPO3dCQUNILE9BQU8sRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU87d0JBQ25DLEtBQUssRUFBRSxJQUFJO3dCQUNYLFFBQVEsRUFBRSxJQUFJO3FCQUNqQixDQUFDO2lCQUNMO2dCQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRTtvQkFDdEIsUUFBUSxHQUFHO3dCQUNQLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQzt3QkFDL0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO3FCQUNsQyxDQUFDO2lCQUNMO2dCQUNELE9BQU87b0JBQ0gsT0FBTyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTztvQkFDbkMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQzVCLFFBQVE7aUJBQ1gsQ0FBQzthQUNMO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQ3pCLE9BQTJDLEVBQzNDLE9BQWU7UUFFZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN2QjtRQUNELE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7Z0JBQzVDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDVixPQUFPO2FBQ1YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OzhHQXRFUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFcXVpcG1lbnQsIEZlYXR1cmUsIFBPSSwgVGlja2V0IH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9uYXZpZ2F0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUG9pU2VydmljZSB9IGZyb20gXCIuL3BvaS5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VPYmplY3RTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBwb2lTZXJ2aWNlOiBQb2lTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdGlvblNlcnZpY2U6IE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIGFzeW5jIGdldE1vZGVsM2RBbmRTd2VlcChvYmplY3Q6IEZlYXR1cmUgfCBUaWNrZXQgfCBFcXVpcG1lbnQpOiBQcm9taXNlPHtcclxuICAgICAgICBtb2RlbDNEOiBzdHJpbmc7XHJcbiAgICAgICAgc3dlZXA6IHN0cmluZztcclxuICAgICAgICByb3RhdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG4gICAgfSB8IHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb2lTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRQb2lCeUVsZW1lbnRJZChvYmplY3QuaWQpXHJcbiAgICAgICAgICAgIC50aGVuKGFzeW5jIChwb2kpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChwb2kgJiYgcG9pLm1hdHRlcnBvcnRTd2VlcElEKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmF2aWdhdGlvbnMgPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmdldE5hdmlnYXRpb25zRm9yTWF0dGVycG9ydElERm9yU3BhY2UoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2kubWF0dGVycG9ydFN3ZWVwSUQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Quc3BhY2VJRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBbcG9pTmF2aWdhdGlvbl0gPSBuYXZpZ2F0aW9ucztcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wb2lTZXJ2aWNlLnBvaUlzVmlydHVhbChwb2kpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDNEOiBwb2lOYXZpZ2F0aW9uLm5vZGUubW9kZWwzRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3ZWVwOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb246IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb3JkaW5hdGUgPSBKU09OLnBhcnNlKHBvaS5jb29yZGluYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcm90YXRpb24gPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb29yZGluYXRlLnhSb3RhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IE51bWJlcihjb29yZGluYXRlLnhSb3RhdGlvbiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBOdW1iZXIoY29vcmRpbmF0ZS55Um90YXRpb24pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbDNEOiBwb2lOYXZpZ2F0aW9uLm5vZGUubW9kZWwzRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3dlZXA6IHBvaS5tYXR0ZXJwb3J0U3dlZXBJRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGVJY29uRm9yQWxsT2JqZWN0cyhcclxuICAgICAgICBvYmplY3RzOiBUaWNrZXRbXSB8IEZlYXR1cmVbXSB8IEVxdWlwbWVudFtdLFxyXG4gICAgICAgIHRhZ0ljb246IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8UE9JW10+IHtcclxuICAgICAgICBjb25zdCBJRHMgPSBbXTtcclxuICAgICAgICBmb3IgKGNvbnN0IG9iamVjdCBvZiBvYmplY3RzKSB7XHJcbiAgICAgICAgICAgIElEcy5wdXNoKG9iamVjdC5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHBvaXMgPSBbXTtcclxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgSURzLm1hcChhc3luYyAoaWQpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBvaSA9IGF3YWl0IHRoaXMucG9pU2VydmljZS5nZXRQb2lCeUVsZW1lbnRJZChpZCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLnVwZGF0ZVBvaSh7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHBvaS5pZCxcclxuICAgICAgICAgICAgICAgICAgICB0YWdJY29uLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBwb2lzLnB1c2godXBkYXRlZCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJ1cGRhdGVkXCIsIHBvaXMubGVuZ3RoLCBcInBvaXMgd2l0aCBuZXcgaWNvbnNcIik7XHJcbiAgICAgICAgcmV0dXJuIHBvaXM7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,34 +1,34 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class CaptureService {
4
- constructor(apiInjected) {
5
- this.API = apiInjected;
6
- }
7
- async getCapturesBySpace(spaceID) {
8
- return this.API.CapturesBySpace(spaceID).then((cap) => cap.items);
9
- }
10
- async getCapture(captureID) {
11
- return this.API.__proto__.GetCapture(captureID);
12
- }
13
- async deleteCapture(captureID) {
14
- return this.API.__proto__.DeleteCapture({ id: captureID });
15
- }
16
- async updateCapture(capture) {
17
- return this.API.__proto__.UpdateCapture(capture);
18
- }
19
- async createCapture(capture) {
20
- return this.API.__proto__.CreateCapture(capture);
21
- }
22
- }
23
- CaptureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CaptureService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
24
- CaptureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CaptureService, providedIn: "root" });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CaptureService, decorators: [{
26
- type: Injectable,
27
- args: [{
28
- providedIn: "root",
29
- }]
30
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
31
- type: Inject,
32
- args: ['currentAPIService']
33
- }] }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY2FwdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1uRCxNQUFNLE9BQU8sY0FBYztJQUd2QixZQUF5QyxXQUFnQjtRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQTtJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQWU7UUFDcEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFpQjtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFpQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7MkdBekJRLGNBQWMsa0JBR0gsbUJBQW1COytHQUg5QixjQUFjLGNBRlgsTUFBTTsyRkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSWdCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENhcHR1cmUgfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIENhcHR1cmVTZXJ2aWNlIHtcbiAgICBBUEk6IGFueTsgLy9BV1NcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkXG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0Q2FwdHVyZXNCeVNwYWNlKHNwYWNlSUQ6IHN0cmluZyk6IFByb21pc2U8Q2FwdHVyZVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5DYXB0dXJlc0J5U3BhY2Uoc3BhY2VJRCkudGhlbigoY2FwKSA9PiBjYXAuaXRlbXMpO1xuICAgIH1cblxuICAgIGFzeW5jIGdldENhcHR1cmUoY2FwdHVyZUlEOiBzdHJpbmcpOiBQcm9taXNlPENhcHR1cmU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRDYXB0dXJlKGNhcHR1cmVJRCk7XG4gICAgfVxuXG4gICAgYXN5bmMgZGVsZXRlQ2FwdHVyZShjYXB0dXJlSUQ6IHN0cmluZyk6IFByb21pc2U8Q2FwdHVyZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZUNhcHR1cmUoe2lkOiBjYXB0dXJlSUR9KTtcbiAgICB9XG5cbiAgICBhc3luYyB1cGRhdGVDYXB0dXJlKGNhcHR1cmU6IGFueSk6IFByb21pc2U8Q2FwdHVyZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZUNhcHR1cmUoY2FwdHVyZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgY3JlYXRlQ2FwdHVyZShjYXB0dXJlOiBDYXB0dXJlKTogUHJvbWlzZTxDYXB0dXJlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uQ3JlYXRlQ2FwdHVyZShjYXB0dXJlKTtcbiAgICB9XG59XG4iXX0=
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class CaptureService {
4
+ constructor(apiInjected) {
5
+ this.API = apiInjected;
6
+ }
7
+ async getCapturesBySpace(spaceID) {
8
+ return this.API.CapturesBySpace(spaceID).then((cap) => cap.items);
9
+ }
10
+ async getCapture(captureID) {
11
+ return this.API.__proto__.GetCapture(captureID);
12
+ }
13
+ async deleteCapture(captureID) {
14
+ return this.API.__proto__.DeleteCapture({ id: captureID });
15
+ }
16
+ async updateCapture(capture) {
17
+ return this.API.__proto__.UpdateCapture(capture);
18
+ }
19
+ async createCapture(capture) {
20
+ return this.API.__proto__.CreateCapture(capture);
21
+ }
22
+ }
23
+ CaptureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CaptureService, deps: [{ token: 'currentAPIService' }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ CaptureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CaptureService, providedIn: "root" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CaptureService, decorators: [{
26
+ type: Injectable,
27
+ args: [{
28
+ providedIn: "root",
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
31
+ type: Inject,
32
+ args: ['currentAPIService']
33
+ }] }]; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY2FwdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1uRCxNQUFNLE9BQU8sY0FBYztJQUd2QixZQUF5QyxXQUFnQjtRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQTtJQUMxQixDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQWU7UUFDcEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFpQjtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFpQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQVk7UUFDNUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7MkdBekJRLGNBQWMsa0JBR0gsbUJBQW1COytHQUg5QixjQUFjLGNBRlgsTUFBTTsyRkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSWdCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2FwdHVyZSB9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIENhcHR1cmVTZXJ2aWNlIHtcclxuICAgIEFQSTogYW55OyAvL0FXU1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWRcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRDYXB0dXJlc0J5U3BhY2Uoc3BhY2VJRDogc3RyaW5nKTogUHJvbWlzZTxDYXB0dXJlW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuQ2FwdHVyZXNCeVNwYWNlKHNwYWNlSUQpLnRoZW4oKGNhcCkgPT4gY2FwLml0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRDYXB0dXJlKGNhcHR1cmVJRDogc3RyaW5nKTogUHJvbWlzZTxDYXB0dXJlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRDYXB0dXJlKGNhcHR1cmVJRCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlQ2FwdHVyZShjYXB0dXJlSUQ6IHN0cmluZyk6IFByb21pc2U8Q2FwdHVyZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlQ2FwdHVyZSh7aWQ6IGNhcHR1cmVJRH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZUNhcHR1cmUoY2FwdHVyZTogYW55KTogUHJvbWlzZTxDYXB0dXJlPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVDYXB0dXJlKGNhcHR1cmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZUNhcHR1cmUoY2FwdHVyZTogQ2FwdHVyZSk6IFByb21pc2U8Q2FwdHVyZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uQ3JlYXRlQ2FwdHVyZShjYXB0dXJlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,98 +1,98 @@
1
- import { Inject, Injectable } from "@angular/core";
2
- import { CommentType } from "../../types.service";
3
- import { uploadFileToS3 } from "../s3.service";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./poi.service";
6
- export class CommentService {
7
- constructor(apiInjected, poiService) {
8
- this.poiService = poiService;
9
- this.API = apiInjected;
10
- }
11
- getCommentsFromTicketID(ticketID) {
12
- return this.API.__proto__.CommentsByTicket(ticketID).then((res) => res.items);
13
- }
14
- async getCommentsBySpaceID(spaceID) {
15
- return this.API.__proto__.CommentsBySpace(spaceID).then((comments) => comments.items);
16
- }
17
- async readCommentAsMeasurement(commentID) {
18
- const comment = await this.getComment(commentID);
19
- if (comment.ticketID && !comment.ticket) {
20
- comment.ticket = await this.API.__proto__.GetTicket(comment.ticketID);
21
- }
22
- const values = comment.dimensions;
23
- const numberPoints = values.length + 1;
24
- const poi = await this.poiService.getPoiByElementId(commentID);
25
- const measure = {
26
- id: comment.id,
27
- comment,
28
- poi,
29
- numberPoints,
30
- values,
31
- };
32
- return measure;
33
- }
34
- /**
35
- * CRUD
36
- *
37
- */
38
- async getComment(commentID) {
39
- return this.API.__proto__.GetComment(commentID);
40
- }
41
- async deleteComment(commentID) {
42
- return this.API.__proto__.DeleteComment({ id: commentID });
43
- }
44
- async createComment(comment) {
45
- return this.API.__proto__.CreateComment(comment);
46
- }
47
- async updateComment(input) {
48
- return this.API.__proto__.UpdateComment(input);
49
- }
50
- async uploadFileForComment(file, id = null) {
51
- return uploadFileToS3("comments/", file, id);
52
- }
53
- /** Create a new comment with an existing Annexe */
54
- async createCommentWithFileURL(comment, url) {
55
- const newComment = comment;
56
- newComment.annexe = url;
57
- return this.createComment(newComment);
58
- }
59
- async createCommentWithFile(comment, file) {
60
- let createdComment = await this.createComment(comment);
61
- if (file) {
62
- const url = await this.uploadFileForComment(file, createdComment.id);
63
- createdComment = await this.updateComment({
64
- id: createdComment.id,
65
- annexe: url,
66
- });
67
- }
68
- return createdComment;
69
- }
70
- async setCommentAsCoverForFeature(commentID, feature) {
71
- const updatedComment = await this.updateComment({
72
- id: commentID,
73
- isCoverImage: true,
74
- });
75
- await Promise.all(feature.comments.items.map(async (image) => {
76
- if (image.type === CommentType.IMAGE &&
77
- image.id !== commentID) {
78
- await this.updateComment({
79
- id: image.id,
80
- isCoverImage: false,
81
- });
82
- }
83
- }));
84
- return updatedComment;
85
- }
86
- }
87
- CommentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CommentService, deps: [{ token: 'currentAPIService' }, { token: i1.PoiService }], target: i0.ɵɵFactoryTarget.Injectable });
88
- CommentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CommentService, providedIn: "root" });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CommentService, decorators: [{
90
- type: Injectable,
91
- args: [{
92
- providedIn: "root",
93
- }]
94
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
95
- type: Inject,
96
- args: ['currentAPIService']
97
- }] }, { type: i1.PoiService }]; } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY29tbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBMEMsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTS9DLE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQXlDLFdBQWdCLEVBQzdDLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDOUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQWdCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkQsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQWlCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLElB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Q0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEtBQUs7Z0JBQ2hDLEtBQUssQ0FBQyxFQUFFLEtBQUssU0FBUyxFQUN4QjtnQkFDRSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUM7b0JBQ3JCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDWixZQUFZLEVBQUUsS0FBSztpQkFDdEIsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQzs7MkdBaEhRLGNBQWMsa0JBR0gsbUJBQW1COytHQUg5QixjQUFjLGNBRlgsTUFBTTsyRkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSWdCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1lYXN1cmVtZW50LCBGZWF0dXJlLCBDb21tZW50LCBJVXBkYXRlLCBDb21tZW50VHlwZSB9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyB1cGxvYWRGaWxlVG9TMyB9IGZyb20gXCIuLi9zMy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBQb2lTZXJ2aWNlIH0gZnJvbSBcIi4vcG9pLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBDb21tZW50U2VydmljZSB7XG5cbiAgICBBUEk6IGFueTsgLy8gQVdTXG4gICAgY29uc3RydWN0b3IoQEluamVjdCgnY3VycmVudEFQSVNlcnZpY2UnKSBhcGlJbmplY3RlZDogYW55LFxuICAgICAgICBwcml2YXRlIHBvaVNlcnZpY2U6IFBvaVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5BUEkgPSBhcGlJbmplY3RlZDtcbiAgICB9XG5cbiAgICBnZXRDb21tZW50c0Zyb21UaWNrZXRJRCh0aWNrZXRJRDogc3RyaW5nKTogUHJvbWlzZTxDb21tZW50W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5Db21tZW50c0J5VGlja2V0KHRpY2tldElEKS50aGVuKChyZXMpID0+IHJlcy5pdGVtcyk7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0Q29tbWVudHNCeVNwYWNlSUQoc3BhY2VJRDogc3RyaW5nKTogUHJvbWlzZTxDb21tZW50W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5Db21tZW50c0J5U3BhY2Uoc3BhY2VJRCkudGhlbihcbiAgICAgICAgICAgIChjb21tZW50cykgPT4gY29tbWVudHMuaXRlbXMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVhZENvbW1lbnRBc01lYXN1cmVtZW50KGNvbW1lbnRJRDogc3RyaW5nKTogUHJvbWlzZTxNZWFzdXJlbWVudD4ge1xuICAgICAgICBjb25zdCBjb21tZW50ID0gYXdhaXQgdGhpcy5nZXRDb21tZW50KGNvbW1lbnRJRCk7XG4gICAgICAgIGlmIChjb21tZW50LnRpY2tldElEICYmICFjb21tZW50LnRpY2tldCkge1xuICAgICAgICAgICAgY29tbWVudC50aWNrZXQgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uR2V0VGlja2V0KGNvbW1lbnQudGlja2V0SUQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IGNvbW1lbnQuZGltZW5zaW9ucztcbiAgICAgICAgY29uc3QgbnVtYmVyUG9pbnRzID0gdmFsdWVzLmxlbmd0aCArIDE7XG4gICAgICAgIGNvbnN0IHBvaSA9IGF3YWl0IHRoaXMucG9pU2VydmljZS5nZXRQb2lCeUVsZW1lbnRJZChjb21tZW50SUQpO1xuICAgICAgICBjb25zdCBtZWFzdXJlID0ge1xuICAgICAgICAgICAgaWQ6IGNvbW1lbnQuaWQsXG4gICAgICAgICAgICBjb21tZW50LFxuICAgICAgICAgICAgcG9pLFxuICAgICAgICAgICAgbnVtYmVyUG9pbnRzLFxuICAgICAgICAgICAgdmFsdWVzLFxuICAgICAgICB9IGFzIE1lYXN1cmVtZW50O1xuICAgICAgICByZXR1cm4gbWVhc3VyZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDUlVEXG4gICAgICpcbiAgICAgKi9cbiAgICBhc3luYyBnZXRDb21tZW50KGNvbW1lbnRJRDogc3RyaW5nKTogUHJvbWlzZTxDb21tZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uR2V0Q29tbWVudChjb21tZW50SUQpO1xuICAgIH1cblxuICAgIGFzeW5jIGRlbGV0ZUNvbW1lbnQoY29tbWVudElEOiBzdHJpbmcpOiBQcm9taXNlPENvbW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVDb21tZW50KHsgaWQ6IGNvbW1lbnRJRCB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBjcmVhdGVDb21tZW50KGNvbW1lbnQ6IENvbW1lbnQpOiBQcm9taXNlPENvbW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVDb21tZW50KGNvbW1lbnQpO1xuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZUNvbW1lbnQoaW5wdXQ6IGFueSk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZUNvbW1lbnQoaW5wdXQpO1xuICAgIH1cblxuICAgIGFzeW5jIHVwbG9hZEZpbGVGb3JDb21tZW50KGZpbGU6IEZpbGUsIGlkOiBzdHJpbmcgPSBudWxsKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHVwbG9hZEZpbGVUb1MzKFwiY29tbWVudHMvXCIsIGZpbGUsIGlkKTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbmV3IGNvbW1lbnQgd2l0aCBhbiBleGlzdGluZyBBbm5leGUgKi9cbiAgICBhc3luYyBjcmVhdGVDb21tZW50V2l0aEZpbGVVUkwoXG4gICAgICAgIGNvbW1lbnQ6IENvbW1lbnQsXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICBjb25zdCBuZXdDb21tZW50ID0gY29tbWVudDtcbiAgICAgICAgbmV3Q29tbWVudC5hbm5leGUgPSB1cmw7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbW1lbnQobmV3Q29tbWVudCk7XG4gICAgfVxuXG4gICAgYXN5bmMgY3JlYXRlQ29tbWVudFdpdGhGaWxlKFxuICAgICAgICBjb21tZW50OiBDb21tZW50LFxuICAgICAgICBmaWxlOiBGaWxlLFxuICAgICk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICBsZXQgY3JlYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLmNyZWF0ZUNvbW1lbnQoY29tbWVudCk7XG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCB0aGlzLnVwbG9hZEZpbGVGb3JDb21tZW50KFxuICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgY3JlYXRlZENvbW1lbnQuaWQsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY3JlYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLnVwZGF0ZUNvbW1lbnQoe1xuICAgICAgICAgICAgICAgIGlkOiBjcmVhdGVkQ29tbWVudC5pZCxcbiAgICAgICAgICAgICAgICBhbm5leGU6IHVybCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjcmVhdGVkQ29tbWVudDtcbiAgICB9XG5cblxuXG4gICAgYXN5bmMgc2V0Q29tbWVudEFzQ292ZXJGb3JGZWF0dXJlKFxuICAgICAgICBjb21tZW50SUQ6IHN0cmluZyxcbiAgICAgICAgZmVhdHVyZTogRmVhdHVyZSxcbiAgICApOiBQcm9taXNlPENvbW1lbnQ+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLnVwZGF0ZUNvbW1lbnQoe1xuICAgICAgICAgICAgaWQ6IGNvbW1lbnRJRCxcbiAgICAgICAgICAgIGlzQ292ZXJJbWFnZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgZmVhdHVyZS5jb21tZW50cy5pdGVtcy5tYXAoYXN5bmMgKGltYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpbWFnZS50eXBlID09PSBDb21tZW50VHlwZS5JTUFHRSAmJlxuICAgICAgICAgICAgICAgICAgICBpbWFnZS5pZCAhPT0gY29tbWVudElEXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tbWVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaW1hZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0NvdmVySW1hZ2U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRDb21tZW50O1xuICAgIH1cbn1cbiJdfQ==
1
+ import { Inject, Injectable } from "@angular/core";
2
+ import { CommentType } from "../../types.service";
3
+ import { uploadFileToS3 } from "../s3.service";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./poi.service";
6
+ export class CommentService {
7
+ constructor(apiInjected, poiService) {
8
+ this.poiService = poiService;
9
+ this.API = apiInjected;
10
+ }
11
+ getCommentsFromTicketID(ticketID) {
12
+ return this.API.__proto__.CommentsByTicket(ticketID).then((res) => res.items);
13
+ }
14
+ async getCommentsBySpaceID(spaceID) {
15
+ return this.API.__proto__.CommentsBySpace(spaceID).then((comments) => comments.items);
16
+ }
17
+ async readCommentAsMeasurement(commentID) {
18
+ const comment = await this.getComment(commentID);
19
+ if (comment.ticketID && !comment.ticket) {
20
+ comment.ticket = await this.API.__proto__.GetTicket(comment.ticketID);
21
+ }
22
+ const values = comment.dimensions;
23
+ const numberPoints = values.length + 1;
24
+ const poi = await this.poiService.getPoiByElementId(commentID);
25
+ const measure = {
26
+ id: comment.id,
27
+ comment,
28
+ poi,
29
+ numberPoints,
30
+ values,
31
+ };
32
+ return measure;
33
+ }
34
+ /**
35
+ * CRUD
36
+ *
37
+ */
38
+ async getComment(commentID) {
39
+ return this.API.__proto__.GetComment(commentID);
40
+ }
41
+ async deleteComment(commentID) {
42
+ return this.API.__proto__.DeleteComment({ id: commentID });
43
+ }
44
+ async createComment(comment) {
45
+ return this.API.__proto__.CreateComment(comment);
46
+ }
47
+ async updateComment(input) {
48
+ return this.API.__proto__.UpdateComment(input);
49
+ }
50
+ async uploadFileForComment(file, id = null) {
51
+ return uploadFileToS3("comments/", file, id);
52
+ }
53
+ /** Create a new comment with an existing Annexe */
54
+ async createCommentWithFileURL(comment, url) {
55
+ const newComment = comment;
56
+ newComment.annexe = url;
57
+ return this.createComment(newComment);
58
+ }
59
+ async createCommentWithFile(comment, file) {
60
+ let createdComment = await this.createComment(comment);
61
+ if (file) {
62
+ const url = await this.uploadFileForComment(file, createdComment.id);
63
+ createdComment = await this.updateComment({
64
+ id: createdComment.id,
65
+ annexe: url,
66
+ });
67
+ }
68
+ return createdComment;
69
+ }
70
+ async setCommentAsCoverForFeature(commentID, feature) {
71
+ const updatedComment = await this.updateComment({
72
+ id: commentID,
73
+ isCoverImage: true,
74
+ });
75
+ await Promise.all(feature.comments.items.map(async (image) => {
76
+ if (image.type === CommentType.IMAGE &&
77
+ image.id !== commentID) {
78
+ await this.updateComment({
79
+ id: image.id,
80
+ isCoverImage: false,
81
+ });
82
+ }
83
+ }));
84
+ return updatedComment;
85
+ }
86
+ }
87
+ CommentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CommentService, deps: [{ token: 'currentAPIService' }, { token: i1.PoiService }], target: i0.ɵɵFactoryTarget.Injectable });
88
+ CommentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CommentService, providedIn: "root" });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CommentService, decorators: [{
90
+ type: Injectable,
91
+ args: [{
92
+ providedIn: "root",
93
+ }]
94
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
95
+ type: Inject,
96
+ args: ['currentAPIService']
97
+ }] }, { type: i1.PoiService }]; } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY29tbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBMEMsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTS9DLE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQXlDLFdBQWdCLEVBQzdDLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDOUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQWdCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkQsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQWlCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLElB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Q0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLEtBQUs7Z0JBQ2hDLEtBQUssQ0FBQyxFQUFFLEtBQUssU0FBUyxFQUN4QjtnQkFDRSxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUM7b0JBQ3JCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDWixZQUFZLEVBQUUsS0FBSztpQkFDdEIsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ0YsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQzs7MkdBaEhRLGNBQWMsa0JBR0gsbUJBQW1COytHQUg5QixjQUFjLGNBRlgsTUFBTTsyRkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSWdCLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWVhc3VyZW1lbnQsIEZlYXR1cmUsIENvbW1lbnQsIElVcGRhdGUsIENvbW1lbnRUeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgdXBsb2FkRmlsZVRvUzMgfSBmcm9tIFwiLi4vczMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQb2lTZXJ2aWNlIH0gZnJvbSBcIi4vcG9pLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWVudFNlcnZpY2Uge1xyXG5cclxuICAgIEFQSTogYW55OyAvLyBBV1NcclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSxcclxuICAgICAgICBwcml2YXRlIHBvaVNlcnZpY2U6IFBvaVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbW1lbnRzRnJvbVRpY2tldElEKHRpY2tldElEOiBzdHJpbmcpOiBQcm9taXNlPENvbW1lbnRbXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uQ29tbWVudHNCeVRpY2tldCh0aWNrZXRJRCkudGhlbigocmVzKSA9PiByZXMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldENvbW1lbnRzQnlTcGFjZUlEKHNwYWNlSUQ6IHN0cmluZyk6IFByb21pc2U8Q29tbWVudFtdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5Db21tZW50c0J5U3BhY2Uoc3BhY2VJRCkudGhlbihcclxuICAgICAgICAgICAgKGNvbW1lbnRzKSA9PiBjb21tZW50cy5pdGVtcyxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlYWRDb21tZW50QXNNZWFzdXJlbWVudChjb21tZW50SUQ6IHN0cmluZyk6IFByb21pc2U8TWVhc3VyZW1lbnQ+IHtcclxuICAgICAgICBjb25zdCBjb21tZW50ID0gYXdhaXQgdGhpcy5nZXRDb21tZW50KGNvbW1lbnRJRCk7XHJcbiAgICAgICAgaWYgKGNvbW1lbnQudGlja2V0SUQgJiYgIWNvbW1lbnQudGlja2V0KSB7XHJcbiAgICAgICAgICAgIGNvbW1lbnQudGlja2V0ID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLkdldFRpY2tldChjb21tZW50LnRpY2tldElEKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmFsdWVzID0gY29tbWVudC5kaW1lbnNpb25zO1xyXG4gICAgICAgIGNvbnN0IG51bWJlclBvaW50cyA9IHZhbHVlcy5sZW5ndGggKyAxO1xyXG4gICAgICAgIGNvbnN0IHBvaSA9IGF3YWl0IHRoaXMucG9pU2VydmljZS5nZXRQb2lCeUVsZW1lbnRJZChjb21tZW50SUQpO1xyXG4gICAgICAgIGNvbnN0IG1lYXN1cmUgPSB7XHJcbiAgICAgICAgICAgIGlkOiBjb21tZW50LmlkLFxyXG4gICAgICAgICAgICBjb21tZW50LFxyXG4gICAgICAgICAgICBwb2ksXHJcbiAgICAgICAgICAgIG51bWJlclBvaW50cyxcclxuICAgICAgICAgICAgdmFsdWVzLFxyXG4gICAgICAgIH0gYXMgTWVhc3VyZW1lbnQ7XHJcbiAgICAgICAgcmV0dXJuIG1lYXN1cmU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDUlVEXHJcbiAgICAgKlxyXG4gICAgICovXHJcbiAgICBhc3luYyBnZXRDb21tZW50KGNvbW1lbnRJRDogc3RyaW5nKTogUHJvbWlzZTxDb21tZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRDb21tZW50KGNvbW1lbnRJRCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlQ29tbWVudChjb21tZW50SUQ6IHN0cmluZyk6IFByb21pc2U8Q29tbWVudD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uRGVsZXRlQ29tbWVudCh7IGlkOiBjb21tZW50SUQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlQ29tbWVudChjb21tZW50OiBDb21tZW50KTogUHJvbWlzZTxDb21tZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVDb21tZW50KGNvbW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwZGF0ZUNvbW1lbnQoaW5wdXQ6IGFueSk6IFByb21pc2U8Q29tbWVudD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlQ29tbWVudChpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdXBsb2FkRmlsZUZvckNvbW1lbnQoZmlsZTogRmlsZSwgaWQ6IHN0cmluZyA9IG51bGwpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB1cGxvYWRGaWxlVG9TMyhcImNvbW1lbnRzL1wiLCBmaWxlLCBpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIENyZWF0ZSBhIG5ldyBjb21tZW50IHdpdGggYW4gZXhpc3RpbmcgQW5uZXhlICovXHJcbiAgICBhc3luYyBjcmVhdGVDb21tZW50V2l0aEZpbGVVUkwoXHJcbiAgICAgICAgY29tbWVudDogQ29tbWVudCxcclxuICAgICAgICB1cmw6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8Q29tbWVudD4ge1xyXG4gICAgICAgIGNvbnN0IG5ld0NvbW1lbnQgPSBjb21tZW50O1xyXG4gICAgICAgIG5ld0NvbW1lbnQuYW5uZXhlID0gdXJsO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbW1lbnQobmV3Q29tbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY3JlYXRlQ29tbWVudFdpdGhGaWxlKFxyXG4gICAgICAgIGNvbW1lbnQ6IENvbW1lbnQsXHJcbiAgICAgICAgZmlsZTogRmlsZSxcclxuICAgICk6IFByb21pc2U8Q29tbWVudD4ge1xyXG4gICAgICAgIGxldCBjcmVhdGVkQ29tbWVudCA9IGF3YWl0IHRoaXMuY3JlYXRlQ29tbWVudChjb21tZW50KTtcclxuICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCB0aGlzLnVwbG9hZEZpbGVGb3JDb21tZW50KFxyXG4gICAgICAgICAgICAgICAgZmlsZSxcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRDb21tZW50LmlkLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjcmVhdGVkQ29tbWVudCA9IGF3YWl0IHRoaXMudXBkYXRlQ29tbWVudCh7XHJcbiAgICAgICAgICAgICAgICBpZDogY3JlYXRlZENvbW1lbnQuaWQsXHJcbiAgICAgICAgICAgICAgICBhbm5leGU6IHVybCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjcmVhdGVkQ29tbWVudDtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGFzeW5jIHNldENvbW1lbnRBc0NvdmVyRm9yRmVhdHVyZShcclxuICAgICAgICBjb21tZW50SUQ6IHN0cmluZyxcclxuICAgICAgICBmZWF0dXJlOiBGZWF0dXJlLFxyXG4gICAgKTogUHJvbWlzZTxDb21tZW50PiB7XHJcbiAgICAgICAgY29uc3QgdXBkYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLnVwZGF0ZUNvbW1lbnQoe1xyXG4gICAgICAgICAgICBpZDogY29tbWVudElELFxyXG4gICAgICAgICAgICBpc0NvdmVySW1hZ2U6IHRydWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXHJcbiAgICAgICAgICAgIGZlYXR1cmUuY29tbWVudHMuaXRlbXMubWFwKGFzeW5jIChpbWFnZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlLnR5cGUgPT09IENvbW1lbnRUeXBlLklNQUdFICYmXHJcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2UuaWQgIT09IGNvbW1lbnRJRFxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVDb21tZW50KHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGltYWdlLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0NvdmVySW1hZ2U6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiB1cGRhdGVkQ29tbWVudDtcclxuICAgIH1cclxufVxyXG4iXX0=