@mapvx/web-js 1.2.1 → 1.2.3-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +2 -2
- package/README.md +12 -9
- package/dist/cjs/assets/icons.js +6 -8
- package/dist/cjs/assets/icons.js.map +1 -1
- package/dist/cjs/controllers/routeController.js +19 -19
- package/dist/cjs/controllers/routeController.js.map +1 -1
- package/dist/cjs/domain/models/animation.js +2 -2
- package/dist/cjs/domain/models/categories.js +23 -10
- package/dist/cjs/domain/models/categories.js.map +1 -1
- package/dist/cjs/domain/models/mapConfig.js +10 -1
- package/dist/cjs/domain/models/mapConfig.js.map +1 -1
- package/dist/cjs/domain/models/marker.js +86 -80
- package/dist/cjs/domain/models/marker.js.map +1 -1
- package/dist/cjs/domain/models/routeConfiguration.js +3 -1
- package/dist/cjs/domain/models/routeConfiguration.js.map +1 -1
- package/dist/cjs/index.js +17 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/logger/logger.js +13 -8
- package/dist/cjs/logger/logger.js.map +1 -1
- package/dist/cjs/logger/rollbar.js +11 -6
- package/dist/cjs/logger/rollbar.js.map +1 -1
- package/dist/cjs/map/map.js +102 -26
- package/dist/cjs/map/map.js.map +1 -1
- package/dist/cjs/map/mapInteractionOptions.js +56 -0
- package/dist/cjs/map/mapInteractionOptions.js.map +1 -0
- package/dist/cjs/repository/repository.js +25 -26
- package/dist/cjs/repository/repository.js.map +1 -1
- package/dist/cjs/repository/requester.js +71 -91
- package/dist/cjs/repository/requester.js.map +1 -1
- package/dist/cjs/sdk.js +18 -1
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/cjs/utils/semaphore.js +143 -0
- package/dist/cjs/utils/semaphore.js.map +1 -0
- package/dist/es/assets/icons.d.ts +4 -4
- package/dist/es/assets/icons.d.ts.map +1 -1
- package/dist/es/assets/icons.js +6 -8
- package/dist/es/assets/icons.js.map +1 -1
- package/dist/es/controllers/routeController.d.ts.map +1 -1
- package/dist/es/controllers/routeController.js +19 -19
- package/dist/es/controllers/routeController.js.map +1 -1
- package/dist/es/domain/models/animation.d.ts +3 -3
- package/dist/es/domain/models/animation.js +2 -2
- package/dist/es/domain/models/categories.d.ts +34 -10
- package/dist/es/domain/models/categories.d.ts.map +1 -1
- package/dist/es/domain/models/categories.js +21 -9
- package/dist/es/domain/models/categories.js.map +1 -1
- package/dist/es/domain/models/configuration.d.ts +8 -0
- package/dist/es/domain/models/configuration.d.ts.map +1 -1
- package/dist/es/domain/models/mapConfig.d.ts +118 -3
- package/dist/es/domain/models/mapConfig.d.ts.map +1 -1
- package/dist/es/domain/models/mapConfig.js +9 -0
- package/dist/es/domain/models/mapConfig.js.map +1 -1
- package/dist/es/domain/models/marker.d.ts +8 -0
- package/dist/es/domain/models/marker.d.ts.map +1 -1
- package/dist/es/domain/models/marker.js +86 -80
- package/dist/es/domain/models/marker.js.map +1 -1
- package/dist/es/domain/models/routeConfiguration.d.ts +47 -0
- package/dist/es/domain/models/routeConfiguration.d.ts.map +1 -1
- package/dist/es/domain/models/routeConfiguration.js +3 -1
- package/dist/es/domain/models/routeConfiguration.js.map +1 -1
- package/dist/es/index.d.ts +13 -12
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +8 -6
- package/dist/es/index.js.map +1 -1
- package/dist/es/interfaces/routeCacheResponse.d.ts.map +1 -1
- package/dist/es/logger/logger.d.ts.map +1 -1
- package/dist/es/logger/logger.js +13 -8
- package/dist/es/logger/logger.js.map +1 -1
- package/dist/es/logger/rollbar.d.ts.map +1 -1
- package/dist/es/logger/rollbar.js +11 -6
- package/dist/es/logger/rollbar.js.map +1 -1
- package/dist/es/map/map.d.ts +79 -0
- package/dist/es/map/map.d.ts.map +1 -1
- package/dist/es/map/map.js +104 -28
- package/dist/es/map/map.js.map +1 -1
- package/dist/es/map/mapInteractionOptions.d.ts +37 -0
- package/dist/es/map/mapInteractionOptions.d.ts.map +1 -0
- package/dist/es/map/mapInteractionOptions.js +51 -0
- package/dist/es/map/mapInteractionOptions.js.map +1 -0
- package/dist/es/repository/repository.d.ts +0 -1
- package/dist/es/repository/repository.d.ts.map +1 -1
- package/dist/es/repository/repository.js +25 -26
- package/dist/es/repository/repository.js.map +1 -1
- package/dist/es/repository/requester.d.ts +12 -2
- package/dist/es/repository/requester.d.ts.map +1 -1
- package/dist/es/repository/requester.js +71 -91
- package/dist/es/repository/requester.js.map +1 -1
- package/dist/es/sdk.d.ts +2 -0
- package/dist/es/sdk.d.ts.map +1 -1
- package/dist/es/sdk.js +18 -1
- package/dist/es/sdk.js.map +1 -1
- package/dist/es/utils/semaphore.d.ts +70 -0
- package/dist/es/utils/semaphore.d.ts.map +1 -0
- package/dist/es/utils/semaphore.js +139 -0
- package/dist/es/utils/semaphore.js.map +1 -0
- package/dist/umd/index.js +1092 -643
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/styles.css +32 -14
- package/dist/umd/styles.css.map +1 -1
- package/package.json +63 -49
- package/dist/cjs/assets/route_animation_icon.svg +0 -15
- package/dist/cjs/assets/user-dot-icon.svg +0 -3
- package/dist/es/assets/route_animation_icon.svg +0 -15
- package/dist/es/assets/user-dot-icon.svg +0 -3
|
@@ -38,7 +38,6 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
38
38
|
this.token = token;
|
|
39
39
|
this.currentLang = lang;
|
|
40
40
|
this.requester = new requester_1.Requester(lang, apiUrl, mapvxRequestContext);
|
|
41
|
-
this.lang = lang;
|
|
42
41
|
this.cache = cache !== null && cache !== void 0 ? cache : new CacheManager_1.CacheManager();
|
|
43
42
|
}
|
|
44
43
|
/**
|
|
@@ -122,7 +121,7 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
122
121
|
}
|
|
123
122
|
async fetchAndParsePlaceDetail(placeId) {
|
|
124
123
|
try {
|
|
125
|
-
const cachedPlace = this.cache.getPlace(placeId, this.
|
|
124
|
+
const cachedPlace = this.cache.getPlace(placeId, this.currentLang);
|
|
126
125
|
if (cachedPlace != null) {
|
|
127
126
|
this.logEvent("fetchAndParsePlaceDetail", { cached: "true" });
|
|
128
127
|
return cachedPlace;
|
|
@@ -134,9 +133,9 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
134
133
|
}
|
|
135
134
|
const responseData = (await response.json());
|
|
136
135
|
const place = new place_1.MVXPlace(responseData);
|
|
137
|
-
this.cache.setPlace(place.mapvxId, place, this.
|
|
136
|
+
this.cache.setPlace(place.mapvxId, place, this.currentLang);
|
|
138
137
|
if (place.clientId != null) {
|
|
139
|
-
this.cache.setPlace(place.clientId, place, this.
|
|
138
|
+
this.cache.setPlace(place.clientId, place, this.currentLang);
|
|
140
139
|
}
|
|
141
140
|
this.logEvent("fetchAndParsePlaceDetail", { cached: "false" });
|
|
142
141
|
return place;
|
|
@@ -147,7 +146,7 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
147
146
|
}
|
|
148
147
|
async fetchAndParseAnyPlaceDetail(placeId, authToken) {
|
|
149
148
|
try {
|
|
150
|
-
const cachedPlace = this.cache.getPlace(placeId, this.
|
|
149
|
+
const cachedPlace = this.cache.getPlace(placeId, this.currentLang);
|
|
151
150
|
if (cachedPlace != null) {
|
|
152
151
|
this.logEvent("fetchAndParseAnyPlaceDetail", { cached: "true" });
|
|
153
152
|
return cachedPlace;
|
|
@@ -159,9 +158,9 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
159
158
|
}
|
|
160
159
|
const responseData = (await response.json());
|
|
161
160
|
const place = new place_1.MVXPlace(responseData);
|
|
162
|
-
this.cache.setPlace(place.mapvxId, place, this.
|
|
161
|
+
this.cache.setPlace(place.mapvxId, place, this.currentLang);
|
|
163
162
|
if (place.clientId != null) {
|
|
164
|
-
this.cache.setPlace(place.clientId, place, this.
|
|
163
|
+
this.cache.setPlace(place.clientId, place, this.currentLang);
|
|
165
164
|
}
|
|
166
165
|
this.logEvent("fetchAndParseAnyPlaceDetail", { cached: "false" });
|
|
167
166
|
return place;
|
|
@@ -216,11 +215,11 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
216
215
|
const subPlaces = responseData.map((place) => new place_1.MVXPlace(place));
|
|
217
216
|
this.logEvent("fetchAndParseAnySubPlaces");
|
|
218
217
|
subPlaces.forEach((place) => {
|
|
219
|
-
if (!this.cache.hasPlace(place.mapvxId, this.
|
|
220
|
-
this.cache.setPlace(place.mapvxId, place, this.
|
|
218
|
+
if (!this.cache.hasPlace(place.mapvxId, this.currentLang)) {
|
|
219
|
+
this.cache.setPlace(place.mapvxId, place, this.currentLang);
|
|
221
220
|
}
|
|
222
|
-
if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.
|
|
223
|
-
this.cache.setPlace(place.clientId, place, this.
|
|
221
|
+
if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.currentLang)) {
|
|
222
|
+
this.cache.setPlace(place.clientId, place, this.currentLang);
|
|
224
223
|
}
|
|
225
224
|
});
|
|
226
225
|
return subPlaces;
|
|
@@ -242,11 +241,11 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
242
241
|
});
|
|
243
242
|
this.logEvent("fetchAndParseAvailablePlaces");
|
|
244
243
|
data.forEach((place) => {
|
|
245
|
-
if (!this.cache.hasPlace(place.mapvxId, this.
|
|
246
|
-
this.cache.setPlace(place.mapvxId, place, this.
|
|
244
|
+
if (!this.cache.hasPlace(place.mapvxId, this.currentLang)) {
|
|
245
|
+
this.cache.setPlace(place.mapvxId, place, this.currentLang);
|
|
247
246
|
}
|
|
248
|
-
if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.
|
|
249
|
-
this.cache.setPlace(place.clientId, place, this.
|
|
247
|
+
if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.currentLang)) {
|
|
248
|
+
this.cache.setPlace(place.clientId, place, this.currentLang);
|
|
250
249
|
}
|
|
251
250
|
});
|
|
252
251
|
return data;
|
|
@@ -269,11 +268,11 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
269
268
|
});
|
|
270
269
|
this.logEvent("fetchAndParsePlacesFromInstitution");
|
|
271
270
|
data.forEach((place) => {
|
|
272
|
-
if (!this.cache.hasPlace(place.mapvxId, this.
|
|
273
|
-
this.cache.setPlace(place.mapvxId, place, this.
|
|
271
|
+
if (!this.cache.hasPlace(place.mapvxId, this.currentLang)) {
|
|
272
|
+
this.cache.setPlace(place.mapvxId, place, this.currentLang);
|
|
274
273
|
}
|
|
275
|
-
if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.
|
|
276
|
-
this.cache.setPlace(place.clientId, place, this.
|
|
274
|
+
if (place.clientId != null && !this.cache.hasPlace(place.clientId, this.currentLang)) {
|
|
275
|
+
this.cache.setPlace(place.clientId, place, this.currentLang);
|
|
277
276
|
}
|
|
278
277
|
});
|
|
279
278
|
return data;
|
|
@@ -288,7 +287,7 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
288
287
|
getCachedPlaces(ids) {
|
|
289
288
|
const places = [];
|
|
290
289
|
ids.forEach((id) => {
|
|
291
|
-
const place = this.cache.getPlace(id, this.
|
|
290
|
+
const place = this.cache.getPlace(id, this.currentLang);
|
|
292
291
|
if (place != null) {
|
|
293
292
|
places.push(place);
|
|
294
293
|
}
|
|
@@ -360,9 +359,9 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
360
359
|
}
|
|
361
360
|
async fetchAndParseTransport(stopId) {
|
|
362
361
|
try {
|
|
363
|
-
const cachedResponse = this.cache.getVehicle(stopId, this.
|
|
362
|
+
const cachedResponse = this.cache.getVehicle(stopId, this.currentLang);
|
|
364
363
|
if (cachedResponse != null &&
|
|
365
|
-
(Date.now() - cachedResponse.timestamp < 60 *
|
|
364
|
+
(Date.now() - cachedResponse.timestamp < 60 * 1000 ||
|
|
366
365
|
cachedResponse.data.routes.length === 0)) {
|
|
367
366
|
this.logEvent("fetchAndParseTransport", { cached: "true" });
|
|
368
367
|
return cachedResponse.data;
|
|
@@ -387,12 +386,12 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
387
386
|
this.cache.setVehicle(stopId, {
|
|
388
387
|
timestamp: Date.now(),
|
|
389
388
|
data: transport,
|
|
390
|
-
}, this.
|
|
389
|
+
}, this.currentLang);
|
|
391
390
|
this.logEvent("fetchAndParseTransport", { cached: "false" });
|
|
392
391
|
return transport;
|
|
393
392
|
}
|
|
394
393
|
catch (error) {
|
|
395
|
-
const cachedResponse = this.cache.getVehicle(stopId, this.
|
|
394
|
+
const cachedResponse = this.cache.getVehicle(stopId, this.currentLang);
|
|
396
395
|
if (cachedResponse != null) {
|
|
397
396
|
const transport = new transport_1.MVXTransport({
|
|
398
397
|
realtimeSchedules: [],
|
|
@@ -408,7 +407,7 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
408
407
|
}
|
|
409
408
|
async fetchAndParseStops(stopId, vehicleId) {
|
|
410
409
|
try {
|
|
411
|
-
const cachedResponse = this.cache.getStops(stopId + vehicleId, this.
|
|
410
|
+
const cachedResponse = this.cache.getStops(stopId + vehicleId, this.currentLang);
|
|
412
411
|
if (cachedResponse != null && Date.now() - cachedResponse.timestamp < 60 * 1000) {
|
|
413
412
|
this.logEvent("fetchAndParseStops", { cached: "true" });
|
|
414
413
|
return { id: vehicleId, places: cachedResponse.data };
|
|
@@ -422,7 +421,7 @@ class Repository extends loggeable_1.Loggeable {
|
|
|
422
421
|
const data = typedResponseData.map((e) => {
|
|
423
422
|
return new place_1.MVXPlace(e);
|
|
424
423
|
});
|
|
425
|
-
this.cache.setStops(stopId + vehicleId, { timestamp: Date.now(), data }, this.
|
|
424
|
+
this.cache.setStops(stopId + vehicleId, { timestamp: Date.now(), data }, this.currentLang);
|
|
426
425
|
this.logEvent("fetchAndParseStops", { cached: "false" });
|
|
427
426
|
return { id: vehicleId, places: data };
|
|
428
427
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/repository/repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/repository/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,9 @@ class Requester {
|
|
|
14
14
|
// Ensure we have an absolute URL (required for new URL() in fetchFromUrl)
|
|
15
15
|
const withProtocol = apiUrl.startsWith("http://") || apiUrl.startsWith("https://") ? apiUrl : `https://${apiUrl}`;
|
|
16
16
|
const cleanApiUrl = withProtocol.endsWith("/") ? withProtocol.slice(0, -1) : withProtocol;
|
|
17
|
-
this.baseUrl = `${cleanApiUrl}/api/sdk/`;
|
|
18
|
-
this.baseUrlV2 = `${cleanApiUrl}/api/sdk/v2/`;
|
|
19
|
-
this.baseUrlApi = `${cleanApiUrl}/api/`;
|
|
17
|
+
this.baseUrl = `${cleanApiUrl}/api/sdk/v2/`;
|
|
20
18
|
this.baseUrlPortal = `${cleanApiUrl}/api/portal/`;
|
|
21
|
-
this.baseUrlHealth = `https://api.mapvx.com/api/health
|
|
19
|
+
this.baseUrlHealth = `https://api.mapvx.com/api/sdk/v2/health`;
|
|
22
20
|
this.oldBaseUrl = `https://api.mapvx.com/api/sdk/`;
|
|
23
21
|
this.routeBaseUrl = "https://api.mapvx.com/sdk/";
|
|
24
22
|
}
|
|
@@ -95,10 +93,10 @@ class Requester {
|
|
|
95
93
|
method: "GET",
|
|
96
94
|
headers: {
|
|
97
95
|
"content-type": "application/json",
|
|
96
|
+
Authorization: `Bearer ${token}`,
|
|
98
97
|
},
|
|
99
98
|
};
|
|
100
99
|
const params = {
|
|
101
|
-
token,
|
|
102
100
|
stopId,
|
|
103
101
|
lang: this.lang,
|
|
104
102
|
};
|
|
@@ -116,10 +114,10 @@ class Requester {
|
|
|
116
114
|
method: "GET",
|
|
117
115
|
headers: {
|
|
118
116
|
"content-type": "application/json",
|
|
117
|
+
Authorization: `Bearer ${token}`,
|
|
119
118
|
},
|
|
120
119
|
};
|
|
121
120
|
const params = {
|
|
122
|
-
token,
|
|
123
121
|
stopId,
|
|
124
122
|
vehicleId,
|
|
125
123
|
lang: this.lang,
|
|
@@ -137,10 +135,10 @@ class Requester {
|
|
|
137
135
|
method: "GET",
|
|
138
136
|
headers: {
|
|
139
137
|
"content-type": "application/json",
|
|
138
|
+
Authorization: `Bearer ${token}`,
|
|
140
139
|
},
|
|
141
140
|
};
|
|
142
141
|
const params = {
|
|
143
|
-
token,
|
|
144
142
|
lang: this.lang,
|
|
145
143
|
};
|
|
146
144
|
if (placeId != null) {
|
|
@@ -184,10 +182,10 @@ class Requester {
|
|
|
184
182
|
method: "GET",
|
|
185
183
|
headers: {
|
|
186
184
|
"content-type": "application/json",
|
|
185
|
+
Authorization: `Bearer ${token}`,
|
|
187
186
|
},
|
|
188
187
|
};
|
|
189
188
|
const params = {
|
|
190
|
-
token,
|
|
191
189
|
lang: this.lang,
|
|
192
190
|
};
|
|
193
191
|
return this.fetchFromUrl(this.baseUrl + "availablePlaces", params, options);
|
|
@@ -227,10 +225,10 @@ class Requester {
|
|
|
227
225
|
method: "GET",
|
|
228
226
|
headers: {
|
|
229
227
|
"content-type": "application/json",
|
|
228
|
+
Authorization: `Bearer ${token}`,
|
|
230
229
|
},
|
|
231
230
|
};
|
|
232
231
|
const params = {
|
|
233
|
-
token,
|
|
234
232
|
place_id: placeId,
|
|
235
233
|
lang: this.lang,
|
|
236
234
|
};
|
|
@@ -271,10 +269,10 @@ class Requester {
|
|
|
271
269
|
method: "GET",
|
|
272
270
|
headers: {
|
|
273
271
|
"content-type": "application/json",
|
|
272
|
+
Authorization: `Bearer ${token}`,
|
|
274
273
|
},
|
|
275
274
|
};
|
|
276
275
|
const params = {
|
|
277
|
-
token,
|
|
278
276
|
targetPlace: targetPlaceId,
|
|
279
277
|
lang: this.lang,
|
|
280
278
|
};
|
|
@@ -307,17 +305,17 @@ class Requester {
|
|
|
307
305
|
return this.fetchFromUrl(this.baseUrlPortal + "subPlaces", params, options);
|
|
308
306
|
}
|
|
309
307
|
/**
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
308
|
+
* Build the cleaned query parameters for a route request.
|
|
309
|
+
*
|
|
310
|
+
* Resolves both the origin (`from*`) and destination (`to*`) sides of the route
|
|
311
|
+
* from the provided configuration. For {@link IdLocation} endpoints this also
|
|
312
|
+
* forwards the building (`fromBuilding`/`toBuilding`) and floor
|
|
313
|
+
* (`fromFloor`/`toFloor`) so internal aliases that are reused across buildings
|
|
314
|
+
* can be disambiguated. Parameters that resolve to `null`/`undefined` are dropped.
|
|
315
|
+
* @param routeConfig The route configuration to translate into query params.
|
|
316
|
+
* @returns The cleaned query parameters ready to be appended to the request URL.
|
|
313
317
|
*/
|
|
314
|
-
|
|
315
|
-
const options = {
|
|
316
|
-
method: "GET",
|
|
317
|
-
headers: {
|
|
318
|
-
"content-type": "application/json",
|
|
319
|
-
},
|
|
320
|
-
};
|
|
318
|
+
buildRouteParams(routeConfig) {
|
|
321
319
|
const params = {
|
|
322
320
|
fromLatLng: undefined,
|
|
323
321
|
fromBuilding: undefined,
|
|
@@ -330,15 +328,21 @@ class Requester {
|
|
|
330
328
|
travelMode: routeConfiguration_1.TransportationMode.walking,
|
|
331
329
|
reducedMobility: routeConfig.preferAccessibleRoute ? 1 : 0,
|
|
332
330
|
announceFormat: routeConfig.announceFormat,
|
|
333
|
-
userBearing:
|
|
331
|
+
userBearing: routeConfig.userBearing,
|
|
334
332
|
lang: this.lang,
|
|
335
333
|
unitSystem: routeConfig.unitSystem,
|
|
336
|
-
token,
|
|
337
334
|
};
|
|
338
335
|
if ("id" in routeConfig.initialLocation) {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
336
|
+
const { id, buildingId, floorId, level } = routeConfig.initialLocation;
|
|
337
|
+
params.fromPlaceId = id;
|
|
338
|
+
if (buildingId !== undefined) {
|
|
339
|
+
params.fromBuilding = buildingId;
|
|
340
|
+
}
|
|
341
|
+
if (floorId !== undefined) {
|
|
342
|
+
params.fromFloor = floorId;
|
|
343
|
+
}
|
|
344
|
+
else if (level !== undefined) {
|
|
345
|
+
params.fromFloor = level;
|
|
342
346
|
}
|
|
343
347
|
}
|
|
344
348
|
else {
|
|
@@ -348,9 +352,16 @@ class Requester {
|
|
|
348
352
|
params.fromBuilding = placeId;
|
|
349
353
|
}
|
|
350
354
|
if ("id" in routeConfig.finalLocation) {
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
355
|
+
const { id, buildingId, floorId, level } = routeConfig.finalLocation;
|
|
356
|
+
params.toPlaceId = id;
|
|
357
|
+
if (buildingId !== undefined) {
|
|
358
|
+
params.toBuilding = buildingId;
|
|
359
|
+
}
|
|
360
|
+
if (floorId !== undefined) {
|
|
361
|
+
params.toFloor = floorId;
|
|
362
|
+
}
|
|
363
|
+
else if (level !== undefined) {
|
|
364
|
+
params.toFloor = level;
|
|
354
365
|
}
|
|
355
366
|
}
|
|
356
367
|
else {
|
|
@@ -366,6 +377,22 @@ class Requester {
|
|
|
366
377
|
cleanParams[key] = value;
|
|
367
378
|
}
|
|
368
379
|
}
|
|
380
|
+
return cleanParams;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* To obtain the route
|
|
384
|
+
* @param routeConfig
|
|
385
|
+
* @returns
|
|
386
|
+
*/
|
|
387
|
+
async fetchRoute(routeConfig, token) {
|
|
388
|
+
const options = {
|
|
389
|
+
method: "GET",
|
|
390
|
+
headers: {
|
|
391
|
+
"content-type": "application/json",
|
|
392
|
+
Authorization: `Bearer ${token}`,
|
|
393
|
+
},
|
|
394
|
+
};
|
|
395
|
+
const cleanParams = this.buildRouteParams(routeConfig);
|
|
369
396
|
return this.fetchFromUrl(this.routeBaseUrl + "route", cleanParams, options);
|
|
370
397
|
}
|
|
371
398
|
/**
|
|
@@ -378,56 +405,10 @@ class Requester {
|
|
|
378
405
|
method: "GET",
|
|
379
406
|
headers: {
|
|
380
407
|
"content-type": "application/json",
|
|
408
|
+
Authorization: `Bearer ${token}`,
|
|
381
409
|
},
|
|
382
410
|
};
|
|
383
|
-
const
|
|
384
|
-
fromLatLng: undefined,
|
|
385
|
-
fromBuilding: undefined,
|
|
386
|
-
fromFloor: undefined,
|
|
387
|
-
toLatLng: undefined,
|
|
388
|
-
toBuilding: undefined,
|
|
389
|
-
toFloor: undefined,
|
|
390
|
-
fromPlaceId: undefined,
|
|
391
|
-
toPlaceId: undefined,
|
|
392
|
-
travelMode: routeConfiguration_1.TransportationMode.walking,
|
|
393
|
-
reducedMobility: routeConfig.preferAccessibleRoute ? 1 : 0,
|
|
394
|
-
announceFormat: routeConfig.announceFormat,
|
|
395
|
-
userBearing: 0,
|
|
396
|
-
lang: this.lang,
|
|
397
|
-
unitSystem: routeConfig.unitSystem,
|
|
398
|
-
token,
|
|
399
|
-
};
|
|
400
|
-
if ("id" in routeConfig.initialLocation) {
|
|
401
|
-
params.fromPlaceId = routeConfig.initialLocation.id;
|
|
402
|
-
if (routeConfig.initialLocation.level !== undefined) {
|
|
403
|
-
params.fromFloor = routeConfig.initialLocation.level;
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
else {
|
|
407
|
-
const { lat, lng, floorId, placeId } = routeConfig.initialLocation;
|
|
408
|
-
params.fromLatLng = `${lat},${lng}`;
|
|
409
|
-
params.fromFloor = floorId;
|
|
410
|
-
params.fromBuilding = placeId;
|
|
411
|
-
}
|
|
412
|
-
if ("id" in routeConfig.finalLocation) {
|
|
413
|
-
params.toPlaceId = routeConfig.finalLocation.id;
|
|
414
|
-
if (routeConfig.finalLocation.level !== undefined) {
|
|
415
|
-
params.toFloor = routeConfig.finalLocation.level;
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
else {
|
|
419
|
-
const { lat, lng, floorId, placeId } = routeConfig.finalLocation;
|
|
420
|
-
params.toLatLng = `${lat},${lng}`;
|
|
421
|
-
params.toFloor = floorId;
|
|
422
|
-
params.toBuilding = placeId;
|
|
423
|
-
}
|
|
424
|
-
const cleanParams = {};
|
|
425
|
-
for (const key in params) {
|
|
426
|
-
const value = params[key];
|
|
427
|
-
if (value != null) {
|
|
428
|
-
cleanParams[key] = value;
|
|
429
|
-
}
|
|
430
|
-
}
|
|
411
|
+
const cleanParams = this.buildRouteParams(routeConfig);
|
|
431
412
|
return this.fetchFromUrl(this.routeBaseUrl + "v2/route", cleanParams, options);
|
|
432
413
|
}
|
|
433
414
|
/**
|
|
@@ -442,10 +423,10 @@ class Requester {
|
|
|
442
423
|
method: "GET",
|
|
443
424
|
headers: {
|
|
444
425
|
"content-type": "application/json",
|
|
426
|
+
Authorization: `Bearer ${token}`,
|
|
445
427
|
},
|
|
446
428
|
};
|
|
447
429
|
const params = {
|
|
448
|
-
token: token,
|
|
449
430
|
lang: this.lang,
|
|
450
431
|
};
|
|
451
432
|
return this.fetchFromUrl(this.baseUrl + "institution", params, options);
|
|
@@ -467,13 +448,13 @@ class Requester {
|
|
|
467
448
|
method: "GET",
|
|
468
449
|
headers: {
|
|
469
450
|
"content-type": "application/json",
|
|
451
|
+
Authorization: `Bearer ${token}`,
|
|
470
452
|
},
|
|
471
453
|
};
|
|
472
454
|
const params = {
|
|
473
455
|
institution_id: institutionId,
|
|
474
456
|
input,
|
|
475
457
|
lang: this.lang,
|
|
476
|
-
token,
|
|
477
458
|
};
|
|
478
459
|
if (parentIds) {
|
|
479
460
|
params.parentPlaces = [...parentIds];
|
|
@@ -511,7 +492,7 @@ class Requester {
|
|
|
511
492
|
* @returns Response promise.
|
|
512
493
|
*/
|
|
513
494
|
async fetchSearchPlacesByTags(institutionId, tags, token, parentPlaces, sort, origin, lat, lng, floor) {
|
|
514
|
-
// The v2
|
|
495
|
+
// The v2 endpoints authenticate via the Authorization header (Bearer),
|
|
515
496
|
// not via a `token` query parameter like the legacy /api/sdk/* routes.
|
|
516
497
|
const options = {
|
|
517
498
|
method: "GET",
|
|
@@ -543,49 +524,49 @@ class Requester {
|
|
|
543
524
|
if (floor) {
|
|
544
525
|
params.floor = floor;
|
|
545
526
|
}
|
|
546
|
-
return this.fetchFromUrl(this.
|
|
527
|
+
return this.fetchFromUrl(this.baseUrl + "searchPlacesByTags", params, options);
|
|
547
528
|
}
|
|
548
529
|
async fetchConfiguration(token, place_id, product) {
|
|
549
530
|
const options = {
|
|
550
531
|
method: "GET",
|
|
551
532
|
headers: {
|
|
552
533
|
"content-type": "application/json",
|
|
534
|
+
Authorization: `Bearer ${token}`,
|
|
553
535
|
},
|
|
554
536
|
};
|
|
555
537
|
const params = {
|
|
556
|
-
token: token,
|
|
557
538
|
lang: this.lang,
|
|
558
539
|
};
|
|
559
540
|
if (place_id)
|
|
560
541
|
params.place_id = place_id;
|
|
561
542
|
if (product)
|
|
562
543
|
params.product = product;
|
|
563
|
-
return this.fetchFromUrl(this.
|
|
544
|
+
return this.fetchFromUrl(this.baseUrl + "configuration", params, options);
|
|
564
545
|
}
|
|
565
546
|
async fetchCategories(token, place_id) {
|
|
566
547
|
const options = {
|
|
567
548
|
method: "GET",
|
|
568
549
|
headers: {
|
|
569
550
|
"content-type": "application/json",
|
|
551
|
+
Authorization: `Bearer ${token}`,
|
|
570
552
|
},
|
|
571
553
|
};
|
|
572
554
|
const params = {
|
|
573
|
-
token: token,
|
|
574
555
|
lang: this.lang,
|
|
575
556
|
};
|
|
576
557
|
if (place_id)
|
|
577
558
|
params.id = place_id;
|
|
578
|
-
return this.fetchFromUrl(this.
|
|
559
|
+
return this.fetchFromUrl(this.baseUrl + "category", params, options);
|
|
579
560
|
}
|
|
580
561
|
async fetchRoutesForOrigin(token, parentPlaceId, fromPlaceId, announceFormat, unitSystem, mode) {
|
|
581
562
|
const options = {
|
|
582
563
|
method: "GET",
|
|
583
564
|
headers: {
|
|
584
565
|
"content-type": "application/json",
|
|
566
|
+
Authorization: `Bearer ${token}`,
|
|
585
567
|
},
|
|
586
568
|
};
|
|
587
569
|
const params = {
|
|
588
|
-
token,
|
|
589
570
|
placeId: parentPlaceId,
|
|
590
571
|
fromPlace: fromPlaceId,
|
|
591
572
|
announceFormat,
|
|
@@ -600,10 +581,10 @@ class Requester {
|
|
|
600
581
|
method: "GET",
|
|
601
582
|
headers: {
|
|
602
583
|
"content-type": "application/json",
|
|
584
|
+
Authorization: `Bearer ${token}`,
|
|
603
585
|
},
|
|
604
586
|
};
|
|
605
587
|
const params = {
|
|
606
|
-
token,
|
|
607
588
|
placeId,
|
|
608
589
|
};
|
|
609
590
|
return this.fetchFromUrl(this.routeBaseUrl + "cache_timestamp", params, options);
|
|
@@ -613,13 +594,13 @@ class Requester {
|
|
|
613
594
|
method: "GET",
|
|
614
595
|
headers: {
|
|
615
596
|
"content-type": "application/json",
|
|
597
|
+
Authorization: `Bearer ${token}`,
|
|
616
598
|
},
|
|
617
599
|
};
|
|
618
600
|
const params = {
|
|
619
|
-
token,
|
|
620
601
|
type,
|
|
621
602
|
};
|
|
622
|
-
return this.fetchFromUrl(this.
|
|
603
|
+
return this.fetchFromUrl(this.baseUrl + "styles/customStyles", params, options);
|
|
623
604
|
}
|
|
624
605
|
async postHealth(token, healthPingId, placeId, totemId, status) {
|
|
625
606
|
const requestData = JSON.stringify({
|
|
@@ -628,14 +609,13 @@ class Requester {
|
|
|
628
609
|
totemId: totemId,
|
|
629
610
|
status: status,
|
|
630
611
|
});
|
|
631
|
-
const params = {
|
|
632
|
-
token: token,
|
|
633
|
-
};
|
|
612
|
+
const params = {};
|
|
634
613
|
const options = {
|
|
635
614
|
method: "POST",
|
|
636
615
|
headers: {
|
|
637
616
|
accept: "application/json",
|
|
638
617
|
"Content-Type": "application/json",
|
|
618
|
+
Authorization: `Bearer ${token}`,
|
|
639
619
|
},
|
|
640
620
|
body: requestData,
|
|
641
621
|
};
|