bruce-models 2.3.7 → 2.3.8

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 (195) hide show
  1. package/dist/bruce-models.es5.js +8041 -8037
  2. package/dist/bruce-models.es5.js.map +1 -1
  3. package/dist/bruce-models.umd.js +7805 -7801
  4. package/dist/bruce-models.umd.js.map +1 -1
  5. package/dist/lib/account/account-invite.js +81 -81
  6. package/dist/lib/account/account-settings.js +2 -2
  7. package/dist/lib/account/account.js +169 -169
  8. package/dist/lib/account/account.js.map +1 -1
  9. package/dist/lib/ann-document/ann-document.js +94 -94
  10. package/dist/lib/api/abstract-api.js +269 -269
  11. package/dist/lib/api/api-getters.js +172 -172
  12. package/dist/lib/api/api.js +93 -93
  13. package/dist/lib/api/bruce-api.js +224 -224
  14. package/dist/lib/api/bruce-api.js.map +1 -1
  15. package/dist/lib/api/cam-api.js +88 -88
  16. package/dist/lib/api/global-api.js +82 -82
  17. package/dist/lib/api/guardian-api.js +82 -82
  18. package/dist/lib/api/idm-api.js +90 -90
  19. package/dist/lib/bruce-models.js +95 -91
  20. package/dist/lib/bruce-models.js.map +1 -1
  21. package/dist/lib/calculator/calculator.js +341 -341
  22. package/dist/lib/client-file/client-file.js +255 -255
  23. package/dist/lib/client-file/client-file.js.map +1 -1
  24. package/dist/lib/common/bounds.js +61 -61
  25. package/dist/lib/common/bruce-event.js +46 -46
  26. package/dist/lib/common/bruce-variable.js +60 -60
  27. package/dist/lib/common/cache.js +188 -188
  28. package/dist/lib/common/cache.js.map +1 -1
  29. package/dist/lib/common/camera.js +11 -11
  30. package/dist/lib/common/cartes.js +123 -123
  31. package/dist/lib/common/carto.js +60 -60
  32. package/dist/lib/common/color.js +86 -86
  33. package/dist/lib/common/delay-queue.js +56 -56
  34. package/dist/lib/common/dictionary.js +2 -2
  35. package/dist/lib/common/geometry.js +120 -120
  36. package/dist/lib/common/lru-cache.js +25 -25
  37. package/dist/lib/common/transform.js +2 -2
  38. package/dist/lib/common/utc.js +39 -39
  39. package/dist/lib/custom-form/custom-form-content.js +26 -26
  40. package/dist/lib/custom-form/custom-form.js +114 -114
  41. package/dist/lib/data-lab/data-lab.js +49 -49
  42. package/dist/lib/entity/entity-attachment-type.js +87 -87
  43. package/dist/lib/entity/entity-attachment-type.js.map +1 -1
  44. package/dist/lib/entity/entity-attachment.js +126 -126
  45. package/dist/lib/entity/entity-attachment.js.map +1 -1
  46. package/dist/lib/entity/entity-attribute.js +29 -29
  47. package/dist/lib/entity/entity-comment.js +86 -86
  48. package/dist/lib/entity/entity-comment.js.map +1 -1
  49. package/dist/lib/entity/entity-coords.js +153 -153
  50. package/dist/lib/entity/entity-coords.js.map +1 -1
  51. package/dist/lib/entity/entity-link.js +86 -86
  52. package/dist/lib/entity/entity-link.js.map +1 -1
  53. package/dist/lib/entity/entity-lod-category.js +108 -108
  54. package/dist/lib/entity/entity-lod.js +197 -197
  55. package/dist/lib/entity/entity-lod.js.map +1 -1
  56. package/dist/lib/entity/entity-relation-type.js +117 -117
  57. package/dist/lib/entity/entity-relation-type.js.map +1 -1
  58. package/dist/lib/entity/entity-relation.js +157 -157
  59. package/dist/lib/entity/entity-source.js +136 -136
  60. package/dist/lib/entity/entity-source.js.map +1 -1
  61. package/dist/lib/entity/entity-tag.js +157 -157
  62. package/dist/lib/entity/entity-type-visual-settings.js +13 -13
  63. package/dist/lib/entity/entity-type.js +122 -122
  64. package/dist/lib/entity/entity.js +341 -341
  65. package/dist/lib/entity/entity.js.map +1 -1
  66. package/dist/lib/entity/getters/batched-data-getter.js +84 -84
  67. package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
  68. package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
  69. package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
  70. package/dist/lib/entity/getters/entity-globe.js +175 -175
  71. package/dist/lib/entity/getters/view-monitor.js +2 -2
  72. package/dist/lib/import/import-cad.js +53 -53
  73. package/dist/lib/import/import-cad.js.map +1 -1
  74. package/dist/lib/import/import-csv.js +23 -23
  75. package/dist/lib/import/import-json.js +23 -23
  76. package/dist/lib/import/import-kml.js +23 -23
  77. package/dist/lib/import/imported-file.js +130 -130
  78. package/dist/lib/internal/uploader.js +76 -76
  79. package/dist/lib/internal/uploader.js.map +1 -1
  80. package/dist/lib/markup/markup.js +185 -185
  81. package/dist/lib/plugin/plugin.js +91 -91
  82. package/dist/lib/program-key/program-key.js +120 -120
  83. package/dist/lib/program-key/program-key.js.map +1 -1
  84. package/dist/lib/project/menu-item.js +122 -122
  85. package/dist/lib/project/project-view-bookmark.js +159 -159
  86. package/dist/lib/project/project-view-bookmark.js.map +1 -1
  87. package/dist/lib/project/project-view-legacy-tile.js +77 -77
  88. package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
  89. package/dist/lib/project/project-view-tile.js +125 -125
  90. package/dist/lib/project/project-view.js +141 -141
  91. package/dist/lib/project/zoom-control.js +17 -17
  92. package/dist/lib/server/hosting-location.js +156 -156
  93. package/dist/lib/server/hosting-location.js.map +1 -1
  94. package/dist/lib/server/message-broker.js +142 -142
  95. package/dist/lib/server/message-broker.js.map +1 -1
  96. package/dist/lib/server/pending-action.js +83 -83
  97. package/dist/lib/server/task.js +63 -63
  98. package/dist/lib/style/style.js +129 -129
  99. package/dist/lib/style/style.js.map +1 -1
  100. package/dist/lib/tileset/tileset.js +431 -431
  101. package/dist/lib/tileset/tileset.js.map +1 -1
  102. package/dist/lib/user/permission.js +20 -20
  103. package/dist/lib/user/session.js +145 -142
  104. package/dist/lib/user/session.js.map +1 -1
  105. package/dist/lib/user/user-group.js +94 -94
  106. package/dist/lib/user/user.js +475 -474
  107. package/dist/lib/user/user.js.map +1 -1
  108. package/dist/lib/util/encrypt-utils.js +19 -19
  109. package/dist/lib/util/math-utils.js +40 -40
  110. package/dist/lib/util/object-utils.js +17 -17
  111. package/dist/lib/util/path-utils.js +61 -61
  112. package/dist/lib/util/url-utils.js +94 -94
  113. package/dist/lib/util/url-utils.js.map +1 -1
  114. package/dist/types/account/account-invite.d.ts +68 -68
  115. package/dist/types/account/account-settings.d.ts +24 -24
  116. package/dist/types/account/account.d.ts +84 -84
  117. package/dist/types/ann-document/ann-document.d.ts +50 -50
  118. package/dist/types/api/abstract-api.d.ts +36 -36
  119. package/dist/types/api/api-getters.d.ts +64 -64
  120. package/dist/types/api/api.d.ts +93 -93
  121. package/dist/types/api/bruce-api.d.ts +64 -64
  122. package/dist/types/api/cam-api.d.ts +26 -26
  123. package/dist/types/api/global-api.d.ts +25 -25
  124. package/dist/types/api/guardian-api.d.ts +25 -25
  125. package/dist/types/api/idm-api.d.ts +28 -28
  126. package/dist/types/bruce-models.d.ts +79 -79
  127. package/dist/types/calculator/calculator.d.ts +61 -61
  128. package/dist/types/client-file/client-file.d.ts +130 -130
  129. package/dist/types/common/bounds.d.ts +30 -30
  130. package/dist/types/common/bruce-event.d.ts +12 -12
  131. package/dist/types/common/bruce-variable.d.ts +21 -21
  132. package/dist/types/common/cache.d.ts +57 -57
  133. package/dist/types/common/camera.d.ts +6 -6
  134. package/dist/types/common/cartes.d.ts +51 -51
  135. package/dist/types/common/carto.d.ts +15 -15
  136. package/dist/types/common/color.d.ts +24 -24
  137. package/dist/types/common/delay-queue.d.ts +14 -14
  138. package/dist/types/common/dictionary.d.ts +3 -3
  139. package/dist/types/common/geometry.d.ts +44 -44
  140. package/dist/types/common/lru-cache.d.ts +7 -7
  141. package/dist/types/common/transform.d.ts +15 -15
  142. package/dist/types/common/utc.d.ts +29 -29
  143. package/dist/types/custom-form/custom-form-content.d.ts +60 -60
  144. package/dist/types/custom-form/custom-form.d.ts +49 -49
  145. package/dist/types/data-lab/data-lab.d.ts +28 -28
  146. package/dist/types/entity/entity-attachment-type.d.ts +39 -39
  147. package/dist/types/entity/entity-attachment.d.ts +61 -61
  148. package/dist/types/entity/entity-attribute.d.ts +39 -39
  149. package/dist/types/entity/entity-comment.d.ts +40 -40
  150. package/dist/types/entity/entity-coords.d.ts +66 -66
  151. package/dist/types/entity/entity-link.d.ts +36 -36
  152. package/dist/types/entity/entity-lod-category.d.ts +36 -36
  153. package/dist/types/entity/entity-lod.d.ts +99 -99
  154. package/dist/types/entity/entity-relation-type.d.ts +44 -44
  155. package/dist/types/entity/entity-relation.d.ts +59 -59
  156. package/dist/types/entity/entity-source.d.ts +45 -45
  157. package/dist/types/entity/entity-tag.d.ts +53 -53
  158. package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
  159. package/dist/types/entity/entity-type.d.ts +63 -63
  160. package/dist/types/entity/entity.d.ts +118 -118
  161. package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
  162. package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
  163. package/dist/types/entity/getters/entity-globe.d.ts +21 -21
  164. package/dist/types/entity/getters/view-monitor.d.ts +13 -13
  165. package/dist/types/import/import-cad.d.ts +49 -49
  166. package/dist/types/import/import-csv.d.ts +31 -31
  167. package/dist/types/import/import-json.d.ts +26 -26
  168. package/dist/types/import/import-kml.d.ts +19 -19
  169. package/dist/types/import/imported-file.d.ts +47 -47
  170. package/dist/types/internal/uploader.d.ts +16 -16
  171. package/dist/types/markup/markup.d.ts +227 -227
  172. package/dist/types/plugin/plugin.d.ts +39 -39
  173. package/dist/types/program-key/program-key.d.ts +48 -48
  174. package/dist/types/project/menu-item.d.ts +169 -169
  175. package/dist/types/project/project-view-bookmark.d.ts +179 -179
  176. package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
  177. package/dist/types/project/project-view-tile.d.ts +65 -65
  178. package/dist/types/project/project-view.d.ts +136 -136
  179. package/dist/types/project/zoom-control.d.ts +22 -22
  180. package/dist/types/server/hosting-location.d.ts +74 -74
  181. package/dist/types/server/message-broker.d.ts +86 -86
  182. package/dist/types/server/pending-action.d.ts +66 -66
  183. package/dist/types/server/task.d.ts +36 -36
  184. package/dist/types/style/style.d.ts +107 -107
  185. package/dist/types/tileset/tileset.d.ts +264 -264
  186. package/dist/types/user/permission.d.ts +15 -15
  187. package/dist/types/user/session.d.ts +72 -66
  188. package/dist/types/user/user-group.d.ts +58 -58
  189. package/dist/types/user/user.d.ts +189 -188
  190. package/dist/types/util/encrypt-utils.d.ts +3 -3
  191. package/dist/types/util/math-utils.d.ts +16 -16
  192. package/dist/types/util/object-utils.d.ts +7 -7
  193. package/dist/types/util/path-utils.d.ts +8 -8
  194. package/dist/types/util/url-utils.d.ts +26 -26
  195. package/package.json +79 -78
@@ -1,225 +1,225 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BruceApi = void 0;
13
- const abstract_api_1 = require("./abstract-api");
14
- const api_1 = require("./api");
15
- const message_broker_1 = require("../server/message-broker");
16
- const guardian_api_1 = require("./guardian-api");
17
- const hosting_location_1 = require("../server/hosting-location");
18
- var BruceApi;
19
- (function (BruceApi) {
20
- /**
21
- * This is the request handler for Bruce Api,
22
- * it should be passed to any method that wants to communicate with this particular api.
23
- */
24
- class Api extends abstract_api_1.AbstractApi {
25
- /**
26
- * @param params
27
- */
28
- constructor(params) {
29
- super({
30
- ssidHeader: "x-sessionid",
31
- cacheId: `BRUCE_API_${params === null || params === void 0 ? void 0 : params.env}_${params === null || params === void 0 ? void 0 : params.accountId}_`
32
- });
33
- this.loadCancelled = false;
34
- let { accountId, env, guardian, loadRegionalBaseUrl, loadConfig } = params;
35
- this.accountId = accountId;
36
- this.env = env !== null && env !== void 0 ? env : api_1.Api.EEnv.PROD;
37
- if (loadRegionalBaseUrl) {
38
- loadConfig = true;
39
- }
40
- if (!guardian && loadConfig) {
41
- guardian = new guardian_api_1.GuardianApi.Api({
42
- env: this.env
43
- });
44
- }
45
- this.loadProm = this.init(guardian, loadConfig);
46
- }
47
- get MessageBroker() {
48
- return this.messageBroker;
49
- }
50
- // Indicates if the init process has finished loading.
51
- // This means the regional base url has been set and message broker is ready.
52
- get Loading() {
53
- return this.loadProm;
54
- }
55
- /**
56
- * Loads regional base url and sets up message broker.
57
- * @param guardian Required for loading regional base url.
58
- * @param loadConfig
59
- * @returns
60
- */
61
- init(guardian, loadConfig) {
62
- var _a, _b, _c;
63
- return __awaiter(this, void 0, void 0, function* () {
64
- if (!this.accountId) {
65
- throw ("accountId is required.");
66
- }
67
- const env = this.env.toUpperCase();
68
- let domain = "nextspace.host";
69
- switch (env) {
70
- case api_1.Api.EEnv.DEV:
71
- domain = "nextspace-dev.net";
72
- break;
73
- case api_1.Api.EEnv.STG:
74
- domain = "nextspace-stg.net";
75
- break;
76
- case api_1.Api.EEnv.UAT:
77
- domain = "nextspace-uat.net";
78
- break;
79
- case api_1.Api.EEnv.PROD:
80
- domain = "nextspace.host";
81
- break;
82
- default:
83
- console.error("Specified Environment is not valid. SuppliedEnv=" + env);
84
- }
85
- // Set using a stable default.
86
- this.baseUrl = `https://${this.accountId}.api.${domain}/`;
87
- if (guardian && loadConfig) {
88
- try {
89
- const host = yield hosting_location_1.HostingLocation.GetByAccountId({
90
- accountId: this.accountId,
91
- api: guardian
92
- });
93
- if (host === null || host === void 0 ? void 0 : host.location) {
94
- const settings = host.location.Settings;
95
- // Attempt to load regional base url.
96
- // First try go through settings.
97
- let urlSet = false;
98
- if (settings === null || settings === void 0 ? void 0 : settings.BruceAPIURL) {
99
- let envUrl = settings.BruceAPIURL[env];
100
- if (envUrl) {
101
- envUrl = envUrl
102
- .replace("<ACCOUNTID>", this.accountId)
103
- .replace("<ACCOUNT>", this.accountId);
104
- if (envUrl && envUrl.length > 1) {
105
- this.baseUrl = envUrl;
106
- urlSet = true;
107
- }
108
- }
109
- }
110
- // Try go through host location's base url.
111
- // This may be wrong env which is why it's used as fallback right now.
112
- if (!urlSet && host.location.BruceAPIURL) {
113
- const regionalUrl = host.location.BruceAPIURL
114
- .replace("<ACCOUNTID>", this.accountId)
115
- .replace("<ACCOUNT>", this.accountId)
116
- .replace("<DOMAIN>", domain);
117
- if (regionalUrl && regionalUrl.length > 1) {
118
- this.baseUrl = regionalUrl;
119
- urlSet = true;
120
- }
121
- }
122
- // Attempt to load CDN settings.
123
- if (settings === null || settings === void 0 ? void 0 : settings.CDN) {
124
- this.EntityCdnUrl = (_a = settings.CDN.entityURL) === null || _a === void 0 ? void 0 : _a[env];
125
- // We need to fix our configs.
126
- if (this.EntityCdnUrl) {
127
- if (this.EntityCdnUrl.includes("entitiesListForCDN")) {
128
- this.EntityCdnUrl = this.EntityCdnUrl.replace("<ACCOUNT>", this.accountId);
129
- }
130
- else {
131
- this.EntityCdnUrl = this.EntityCdnUrl.replace("<ACCOUNT>", "entitiesListForCDN/" + this.accountId);
132
- }
133
- }
134
- this.LegacyTilesetCdnUrl = (_b = settings.CDN.legacyTilesetURL) === null || _b === void 0 ? void 0 : _b[env];
135
- this.TilesetCdnUrl = (_c = settings.CDN.tilesetURL) === null || _c === void 0 ? void 0 : _c[env];
136
- if (this.TilesetCdnUrl) {
137
- this.TilesetCdnUrl = this.TilesetCdnUrl.replace("<ACCOUNT>", this.accountId);
138
- }
139
- }
140
- }
141
- }
142
- catch (e) {
143
- console.error(e);
144
- }
145
- }
146
- try {
147
- this.messageBroker = new message_broker_1.MessageBroker.WebSocketBroker(this.baseUrl, this.env);
148
- }
149
- catch (e) {
150
- console.warn("BruceApi: Failed to create message broker.", e);
151
- }
152
- });
153
- }
154
- /**
155
- * Warning: This method does not wait for init to finish loading.
156
- * This means the url could be changed once fully initialized.
157
- * The url will be valid either way, but the loaded one may be faster as it is region specific.
158
- * Await the "Loading" promise if you care about this.
159
- * @returns
160
- */
161
- GetBaseUrl() {
162
- return this.baseUrl;
163
- }
164
- /**
165
- * Warning: This will cancel the init process.
166
- * The init process loads a region specific endpoint.
167
- * Setting a base url will stop that process from completing.
168
- * @param url
169
- */
170
- SetBaseUrl(url) {
171
- this.baseUrl = url;
172
- if (!this.baseUrl.endsWith("/")) {
173
- this.baseUrl += "/";
174
- }
175
- this.loadCancelled = true;
176
- }
177
- GET(url, params) {
178
- return __awaiter(this, void 0, void 0, function* () {
179
- return new Promise((res, rej) => {
180
- this.loadProm.then(() => {
181
- this.get(this.baseUrl + url, params).then(res).catch(rej);
182
- }).catch(rej);
183
- });
184
- });
185
- }
186
- DELETE(url, params) {
187
- return __awaiter(this, void 0, void 0, function* () {
188
- return new Promise((res, rej) => {
189
- this.loadProm.then(() => {
190
- this.delete(this.baseUrl + url, params).then(res).catch(rej);
191
- }).catch(rej);
192
- });
193
- });
194
- }
195
- POST(url, data, params) {
196
- return __awaiter(this, void 0, void 0, function* () {
197
- return new Promise((res, rej) => {
198
- this.loadProm.then(() => {
199
- this.post(this.baseUrl + url, data, params).then(res).catch(rej);
200
- }).catch(rej);
201
- });
202
- });
203
- }
204
- PUT(url, data, params) {
205
- return __awaiter(this, void 0, void 0, function* () {
206
- return new Promise((res, rej) => {
207
- this.loadProm.then(() => {
208
- this.put(this.baseUrl + url, data, params).then(res).catch(rej);
209
- }).catch(rej);
210
- });
211
- });
212
- }
213
- UPLOAD(url, blob, params) {
214
- return __awaiter(this, void 0, void 0, function* () {
215
- return new Promise((res, rej) => {
216
- this.loadProm.then(() => {
217
- this.upload(this.baseUrl + url, blob, params).then(res).catch(rej);
218
- }).catch(rej);
219
- });
220
- });
221
- }
222
- }
223
- BruceApi.Api = Api;
224
- })(BruceApi = exports.BruceApi || (exports.BruceApi = {}));
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BruceApi = void 0;
13
+ const abstract_api_1 = require("./abstract-api");
14
+ const api_1 = require("./api");
15
+ const message_broker_1 = require("../server/message-broker");
16
+ const guardian_api_1 = require("./guardian-api");
17
+ const hosting_location_1 = require("../server/hosting-location");
18
+ var BruceApi;
19
+ (function (BruceApi) {
20
+ /**
21
+ * This is the request handler for Bruce Api,
22
+ * it should be passed to any method that wants to communicate with this particular api.
23
+ */
24
+ class Api extends abstract_api_1.AbstractApi {
25
+ get MessageBroker() {
26
+ return this.messageBroker;
27
+ }
28
+ // Indicates if the init process has finished loading.
29
+ // This means the regional base url has been set and message broker is ready.
30
+ get Loading() {
31
+ return this.loadProm;
32
+ }
33
+ /**
34
+ * @param params
35
+ */
36
+ constructor(params) {
37
+ super({
38
+ ssidHeader: "x-sessionid",
39
+ cacheId: `BRUCE_API_${params === null || params === void 0 ? void 0 : params.env}_${params === null || params === void 0 ? void 0 : params.accountId}_`
40
+ });
41
+ this.loadCancelled = false;
42
+ let { accountId, env, guardian, loadRegionalBaseUrl, loadConfig } = params;
43
+ this.accountId = accountId;
44
+ this.env = env !== null && env !== void 0 ? env : api_1.Api.EEnv.PROD;
45
+ if (loadRegionalBaseUrl) {
46
+ loadConfig = true;
47
+ }
48
+ if (!guardian && loadConfig) {
49
+ guardian = new guardian_api_1.GuardianApi.Api({
50
+ env: this.env
51
+ });
52
+ }
53
+ this.loadProm = this.init(guardian, loadConfig);
54
+ }
55
+ /**
56
+ * Loads regional base url and sets up message broker.
57
+ * @param guardian Required for loading regional base url.
58
+ * @param loadConfig
59
+ * @returns
60
+ */
61
+ init(guardian, loadConfig) {
62
+ var _a, _b, _c;
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ if (!this.accountId) {
65
+ throw ("accountId is required.");
66
+ }
67
+ const env = this.env.toUpperCase();
68
+ let domain = "nextspace.host";
69
+ switch (env) {
70
+ case api_1.Api.EEnv.DEV:
71
+ domain = "nextspace-dev.net";
72
+ break;
73
+ case api_1.Api.EEnv.STG:
74
+ domain = "nextspace-stg.net";
75
+ break;
76
+ case api_1.Api.EEnv.UAT:
77
+ domain = "nextspace-uat.net";
78
+ break;
79
+ case api_1.Api.EEnv.PROD:
80
+ domain = "nextspace.host";
81
+ break;
82
+ default:
83
+ console.error("Specified Environment is not valid. SuppliedEnv=" + env);
84
+ }
85
+ // Set using a stable default.
86
+ this.baseUrl = `https://${this.accountId}.api.${domain}/`;
87
+ if (guardian && loadConfig) {
88
+ try {
89
+ const host = yield hosting_location_1.HostingLocation.GetByAccountId({
90
+ accountId: this.accountId,
91
+ api: guardian
92
+ });
93
+ if (host === null || host === void 0 ? void 0 : host.location) {
94
+ const settings = host.location.Settings;
95
+ // Attempt to load regional base url.
96
+ // First try go through settings.
97
+ let urlSet = false;
98
+ if (settings === null || settings === void 0 ? void 0 : settings.BruceAPIURL) {
99
+ let envUrl = settings.BruceAPIURL[env];
100
+ if (envUrl) {
101
+ envUrl = envUrl
102
+ .replace("<ACCOUNTID>", this.accountId)
103
+ .replace("<ACCOUNT>", this.accountId);
104
+ if (envUrl && envUrl.length > 1) {
105
+ this.baseUrl = envUrl;
106
+ urlSet = true;
107
+ }
108
+ }
109
+ }
110
+ // Try go through host location's base url.
111
+ // This may be wrong env which is why it's used as fallback right now.
112
+ if (!urlSet && host.location.BruceAPIURL) {
113
+ const regionalUrl = host.location.BruceAPIURL
114
+ .replace("<ACCOUNTID>", this.accountId)
115
+ .replace("<ACCOUNT>", this.accountId)
116
+ .replace("<DOMAIN>", domain);
117
+ if (regionalUrl && regionalUrl.length > 1) {
118
+ this.baseUrl = regionalUrl;
119
+ urlSet = true;
120
+ }
121
+ }
122
+ // Attempt to load CDN settings.
123
+ if (settings === null || settings === void 0 ? void 0 : settings.CDN) {
124
+ this.EntityCdnUrl = (_a = settings.CDN.entityURL) === null || _a === void 0 ? void 0 : _a[env];
125
+ // We need to fix our configs.
126
+ if (this.EntityCdnUrl) {
127
+ if (this.EntityCdnUrl.includes("entitiesListForCDN")) {
128
+ this.EntityCdnUrl = this.EntityCdnUrl.replace("<ACCOUNT>", this.accountId);
129
+ }
130
+ else {
131
+ this.EntityCdnUrl = this.EntityCdnUrl.replace("<ACCOUNT>", "entitiesListForCDN/" + this.accountId);
132
+ }
133
+ }
134
+ this.LegacyTilesetCdnUrl = (_b = settings.CDN.legacyTilesetURL) === null || _b === void 0 ? void 0 : _b[env];
135
+ this.TilesetCdnUrl = (_c = settings.CDN.tilesetURL) === null || _c === void 0 ? void 0 : _c[env];
136
+ if (this.TilesetCdnUrl) {
137
+ this.TilesetCdnUrl = this.TilesetCdnUrl.replace("<ACCOUNT>", this.accountId);
138
+ }
139
+ }
140
+ }
141
+ }
142
+ catch (e) {
143
+ console.error(e);
144
+ }
145
+ }
146
+ try {
147
+ this.messageBroker = new message_broker_1.MessageBroker.WebSocketBroker(this.baseUrl, this.env);
148
+ }
149
+ catch (e) {
150
+ console.warn("BruceApi: Failed to create message broker.", e);
151
+ }
152
+ });
153
+ }
154
+ /**
155
+ * Warning: This method does not wait for init to finish loading.
156
+ * This means the url could be changed once fully initialized.
157
+ * The url will be valid either way, but the loaded one may be faster as it is region specific.
158
+ * Await the "Loading" promise if you care about this.
159
+ * @returns
160
+ */
161
+ GetBaseUrl() {
162
+ return this.baseUrl;
163
+ }
164
+ /**
165
+ * Warning: This will cancel the init process.
166
+ * The init process loads a region specific endpoint.
167
+ * Setting a base url will stop that process from completing.
168
+ * @param url
169
+ */
170
+ SetBaseUrl(url) {
171
+ this.baseUrl = url;
172
+ if (!this.baseUrl.endsWith("/")) {
173
+ this.baseUrl += "/";
174
+ }
175
+ this.loadCancelled = true;
176
+ }
177
+ GET(url, params) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ return new Promise((res, rej) => {
180
+ this.loadProm.then(() => {
181
+ this.get(this.baseUrl + url, params).then(res).catch(rej);
182
+ }).catch(rej);
183
+ });
184
+ });
185
+ }
186
+ DELETE(url, params) {
187
+ return __awaiter(this, void 0, void 0, function* () {
188
+ return new Promise((res, rej) => {
189
+ this.loadProm.then(() => {
190
+ this.delete(this.baseUrl + url, params).then(res).catch(rej);
191
+ }).catch(rej);
192
+ });
193
+ });
194
+ }
195
+ POST(url, data, params) {
196
+ return __awaiter(this, void 0, void 0, function* () {
197
+ return new Promise((res, rej) => {
198
+ this.loadProm.then(() => {
199
+ this.post(this.baseUrl + url, data, params).then(res).catch(rej);
200
+ }).catch(rej);
201
+ });
202
+ });
203
+ }
204
+ PUT(url, data, params) {
205
+ return __awaiter(this, void 0, void 0, function* () {
206
+ return new Promise((res, rej) => {
207
+ this.loadProm.then(() => {
208
+ this.put(this.baseUrl + url, data, params).then(res).catch(rej);
209
+ }).catch(rej);
210
+ });
211
+ });
212
+ }
213
+ UPLOAD(url, blob, params) {
214
+ return __awaiter(this, void 0, void 0, function* () {
215
+ return new Promise((res, rej) => {
216
+ this.loadProm.then(() => {
217
+ this.upload(this.baseUrl + url, blob, params).then(res).catch(rej);
218
+ }).catch(rej);
219
+ });
220
+ });
221
+ }
222
+ }
223
+ BruceApi.Api = Api;
224
+ })(BruceApi = exports.BruceApi || (exports.BruceApi = {}));
225
225
  //# sourceMappingURL=bruce-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bruce-api.js","sourceRoot":"","sources":["../../../src/api/bruce-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bruce-api.js","sourceRoot":"","sources":["../../../src/api/bruce-api.ts"],"names":[],"mappings":"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"}