bruce-models 2.3.7 → 2.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bruce-models.es5.js +8041 -8037
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +7805 -7801
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/account/account-invite.js +81 -81
- package/dist/lib/account/account-settings.js +2 -2
- package/dist/lib/account/account.js +169 -169
- package/dist/lib/account/account.js.map +1 -1
- package/dist/lib/ann-document/ann-document.js +94 -94
- package/dist/lib/api/abstract-api.js +269 -269
- package/dist/lib/api/api-getters.js +172 -172
- package/dist/lib/api/api.js +93 -93
- package/dist/lib/api/bruce-api.js +224 -224
- package/dist/lib/api/bruce-api.js.map +1 -1
- package/dist/lib/api/cam-api.js +88 -88
- package/dist/lib/api/global-api.js +82 -82
- package/dist/lib/api/guardian-api.js +82 -82
- package/dist/lib/api/idm-api.js +90 -90
- package/dist/lib/bruce-models.js +95 -91
- package/dist/lib/bruce-models.js.map +1 -1
- package/dist/lib/calculator/calculator.js +341 -341
- package/dist/lib/client-file/client-file.js +255 -255
- package/dist/lib/client-file/client-file.js.map +1 -1
- package/dist/lib/common/bounds.js +61 -61
- package/dist/lib/common/bruce-event.js +46 -46
- package/dist/lib/common/bruce-variable.js +60 -60
- package/dist/lib/common/cache.js +188 -188
- package/dist/lib/common/cache.js.map +1 -1
- package/dist/lib/common/camera.js +11 -11
- package/dist/lib/common/cartes.js +123 -123
- package/dist/lib/common/carto.js +60 -60
- package/dist/lib/common/color.js +86 -86
- package/dist/lib/common/delay-queue.js +56 -56
- package/dist/lib/common/dictionary.js +2 -2
- package/dist/lib/common/geometry.js +120 -120
- package/dist/lib/common/lru-cache.js +25 -25
- package/dist/lib/common/transform.js +2 -2
- package/dist/lib/common/utc.js +39 -39
- package/dist/lib/custom-form/custom-form-content.js +26 -26
- package/dist/lib/custom-form/custom-form.js +114 -114
- package/dist/lib/data-lab/data-lab.js +49 -49
- package/dist/lib/entity/entity-attachment-type.js +87 -87
- package/dist/lib/entity/entity-attachment-type.js.map +1 -1
- package/dist/lib/entity/entity-attachment.js +126 -126
- package/dist/lib/entity/entity-attachment.js.map +1 -1
- package/dist/lib/entity/entity-attribute.js +29 -29
- package/dist/lib/entity/entity-comment.js +86 -86
- package/dist/lib/entity/entity-comment.js.map +1 -1
- package/dist/lib/entity/entity-coords.js +153 -153
- package/dist/lib/entity/entity-coords.js.map +1 -1
- package/dist/lib/entity/entity-link.js +86 -86
- package/dist/lib/entity/entity-link.js.map +1 -1
- package/dist/lib/entity/entity-lod-category.js +108 -108
- package/dist/lib/entity/entity-lod.js +197 -197
- package/dist/lib/entity/entity-lod.js.map +1 -1
- package/dist/lib/entity/entity-relation-type.js +117 -117
- package/dist/lib/entity/entity-relation-type.js.map +1 -1
- package/dist/lib/entity/entity-relation.js +157 -157
- package/dist/lib/entity/entity-source.js +136 -136
- package/dist/lib/entity/entity-source.js.map +1 -1
- package/dist/lib/entity/entity-tag.js +157 -157
- package/dist/lib/entity/entity-type-visual-settings.js +13 -13
- package/dist/lib/entity/entity-type.js +122 -122
- package/dist/lib/entity/entity.js +341 -341
- package/dist/lib/entity/entity.js.map +1 -1
- package/dist/lib/entity/getters/batched-data-getter.js +84 -84
- package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
- package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
- package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
- package/dist/lib/entity/getters/entity-globe.js +175 -175
- package/dist/lib/entity/getters/view-monitor.js +2 -2
- package/dist/lib/import/import-cad.js +53 -53
- package/dist/lib/import/import-cad.js.map +1 -1
- package/dist/lib/import/import-csv.js +23 -23
- package/dist/lib/import/import-json.js +23 -23
- package/dist/lib/import/import-kml.js +23 -23
- package/dist/lib/import/imported-file.js +130 -130
- package/dist/lib/internal/uploader.js +76 -76
- package/dist/lib/internal/uploader.js.map +1 -1
- package/dist/lib/markup/markup.js +185 -185
- package/dist/lib/plugin/plugin.js +91 -91
- package/dist/lib/program-key/program-key.js +120 -120
- package/dist/lib/program-key/program-key.js.map +1 -1
- package/dist/lib/project/menu-item.js +122 -122
- package/dist/lib/project/project-view-bookmark.js +159 -159
- package/dist/lib/project/project-view-bookmark.js.map +1 -1
- package/dist/lib/project/project-view-legacy-tile.js +77 -77
- package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
- package/dist/lib/project/project-view-tile.js +125 -125
- package/dist/lib/project/project-view.js +141 -141
- package/dist/lib/project/zoom-control.js +17 -17
- package/dist/lib/server/hosting-location.js +156 -156
- package/dist/lib/server/hosting-location.js.map +1 -1
- package/dist/lib/server/message-broker.js +142 -142
- package/dist/lib/server/message-broker.js.map +1 -1
- package/dist/lib/server/pending-action.js +83 -83
- package/dist/lib/server/task.js +63 -63
- package/dist/lib/style/style.js +129 -129
- package/dist/lib/style/style.js.map +1 -1
- package/dist/lib/tileset/tileset.js +431 -431
- package/dist/lib/tileset/tileset.js.map +1 -1
- package/dist/lib/user/permission.js +20 -20
- package/dist/lib/user/session.js +145 -142
- package/dist/lib/user/session.js.map +1 -1
- package/dist/lib/user/user-group.js +94 -94
- package/dist/lib/user/user.js +475 -474
- package/dist/lib/user/user.js.map +1 -1
- package/dist/lib/util/encrypt-utils.js +19 -19
- package/dist/lib/util/math-utils.js +40 -40
- package/dist/lib/util/object-utils.js +17 -17
- package/dist/lib/util/path-utils.js +61 -61
- package/dist/lib/util/url-utils.js +94 -94
- package/dist/lib/util/url-utils.js.map +1 -1
- package/dist/types/account/account-invite.d.ts +68 -68
- package/dist/types/account/account-settings.d.ts +24 -24
- package/dist/types/account/account.d.ts +84 -84
- package/dist/types/ann-document/ann-document.d.ts +50 -50
- package/dist/types/api/abstract-api.d.ts +36 -36
- package/dist/types/api/api-getters.d.ts +64 -64
- package/dist/types/api/api.d.ts +93 -93
- package/dist/types/api/bruce-api.d.ts +64 -64
- package/dist/types/api/cam-api.d.ts +26 -26
- package/dist/types/api/global-api.d.ts +25 -25
- package/dist/types/api/guardian-api.d.ts +25 -25
- package/dist/types/api/idm-api.d.ts +28 -28
- package/dist/types/bruce-models.d.ts +79 -79
- package/dist/types/calculator/calculator.d.ts +61 -61
- package/dist/types/client-file/client-file.d.ts +130 -130
- package/dist/types/common/bounds.d.ts +30 -30
- package/dist/types/common/bruce-event.d.ts +12 -12
- package/dist/types/common/bruce-variable.d.ts +21 -21
- package/dist/types/common/cache.d.ts +57 -57
- package/dist/types/common/camera.d.ts +6 -6
- package/dist/types/common/cartes.d.ts +51 -51
- package/dist/types/common/carto.d.ts +15 -15
- package/dist/types/common/color.d.ts +24 -24
- package/dist/types/common/delay-queue.d.ts +14 -14
- package/dist/types/common/dictionary.d.ts +3 -3
- package/dist/types/common/geometry.d.ts +44 -44
- package/dist/types/common/lru-cache.d.ts +7 -7
- package/dist/types/common/transform.d.ts +15 -15
- package/dist/types/common/utc.d.ts +29 -29
- package/dist/types/custom-form/custom-form-content.d.ts +60 -60
- package/dist/types/custom-form/custom-form.d.ts +49 -49
- package/dist/types/data-lab/data-lab.d.ts +28 -28
- package/dist/types/entity/entity-attachment-type.d.ts +39 -39
- package/dist/types/entity/entity-attachment.d.ts +61 -61
- package/dist/types/entity/entity-attribute.d.ts +39 -39
- package/dist/types/entity/entity-comment.d.ts +40 -40
- package/dist/types/entity/entity-coords.d.ts +66 -66
- package/dist/types/entity/entity-link.d.ts +36 -36
- package/dist/types/entity/entity-lod-category.d.ts +36 -36
- package/dist/types/entity/entity-lod.d.ts +99 -99
- package/dist/types/entity/entity-relation-type.d.ts +44 -44
- package/dist/types/entity/entity-relation.d.ts +59 -59
- package/dist/types/entity/entity-source.d.ts +45 -45
- package/dist/types/entity/entity-tag.d.ts +53 -53
- package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
- package/dist/types/entity/entity-type.d.ts +63 -63
- package/dist/types/entity/entity.d.ts +118 -118
- package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
- package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
- package/dist/types/entity/getters/entity-globe.d.ts +21 -21
- package/dist/types/entity/getters/view-monitor.d.ts +13 -13
- package/dist/types/import/import-cad.d.ts +49 -49
- package/dist/types/import/import-csv.d.ts +31 -31
- package/dist/types/import/import-json.d.ts +26 -26
- package/dist/types/import/import-kml.d.ts +19 -19
- package/dist/types/import/imported-file.d.ts +47 -47
- package/dist/types/internal/uploader.d.ts +16 -16
- package/dist/types/markup/markup.d.ts +227 -227
- package/dist/types/plugin/plugin.d.ts +39 -39
- package/dist/types/program-key/program-key.d.ts +48 -48
- package/dist/types/project/menu-item.d.ts +169 -169
- package/dist/types/project/project-view-bookmark.d.ts +180 -179
- package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
- package/dist/types/project/project-view-tile.d.ts +65 -65
- package/dist/types/project/project-view.d.ts +136 -136
- package/dist/types/project/zoom-control.d.ts +22 -22
- package/dist/types/server/hosting-location.d.ts +74 -74
- package/dist/types/server/message-broker.d.ts +86 -86
- package/dist/types/server/pending-action.d.ts +66 -66
- package/dist/types/server/task.d.ts +36 -36
- package/dist/types/style/style.d.ts +107 -107
- package/dist/types/tileset/tileset.d.ts +264 -264
- package/dist/types/user/permission.d.ts +15 -15
- package/dist/types/user/session.d.ts +72 -66
- package/dist/types/user/user-group.d.ts +58 -58
- package/dist/types/user/user.d.ts +189 -188
- package/dist/types/util/encrypt-utils.d.ts +3 -3
- package/dist/types/util/math-utils.d.ts +16 -16
- package/dist/types/util/object-utils.d.ts +7 -7
- package/dist/types/util/path-utils.d.ts +8 -8
- package/dist/types/util/url-utils.d.ts +26 -26
- package/package.json +79 -78
|
@@ -1,432 +1,432 @@
|
|
|
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.Tileset = void 0;
|
|
13
|
-
const api_1 = require("../api/api");
|
|
14
|
-
const uploader_1 = require("../internal/uploader");
|
|
15
|
-
/**
|
|
16
|
-
* Describes the "Tileset" concept in Bruce.
|
|
17
|
-
*
|
|
18
|
-
* Tilesets come in three possible variants,
|
|
19
|
-
* 1- A set of instructions to generate a tileset.
|
|
20
|
-
* 2- Settings to load a tileset hosted elsewhere.
|
|
21
|
-
* 3- A set of user-provided files to serve.
|
|
22
|
-
*
|
|
23
|
-
* Read the individual tileset-type settings for each variant.
|
|
24
|
-
*/
|
|
25
|
-
var Tileset;
|
|
26
|
-
(function (Tileset) {
|
|
27
|
-
function GetCacheKey(tilesetId, loadFiles) {
|
|
28
|
-
return `${api_1.Api.ECacheKey.Tileset}${api_1.Api.ECacheKey.Id}${tilesetId}${api_1.Api.ECacheKey.Id}${loadFiles}`;
|
|
29
|
-
}
|
|
30
|
-
Tileset.GetCacheKey = GetCacheKey;
|
|
31
|
-
function GetListCacheKey() {
|
|
32
|
-
return api_1.Api.ECacheKey.Tileset;
|
|
33
|
-
}
|
|
34
|
-
Tileset.GetListCacheKey = GetListCacheKey;
|
|
35
|
-
let EType;
|
|
36
|
-
(function (EType) {
|
|
37
|
-
EType["PointCloud"] = "POINT_CLOUD";
|
|
38
|
-
EType["GeoMap"] = "GEO_MAP";
|
|
39
|
-
EType["EntitiesMap"] = "ENTITIES_MAP";
|
|
40
|
-
EType["EntitiesSet"] = "ENTITIES_SET";
|
|
41
|
-
EType["Cad"] = "MODEL";
|
|
42
|
-
EType["Terrain"] = "GEO_TERR";
|
|
43
|
-
EType["ExternalTerrain"] = "EXTERNAL_TERR";
|
|
44
|
-
EType["ExternalGeoMap"] = "EXTERNAL_MAP";
|
|
45
|
-
EType["LegacyEntitiesSet"] = "D";
|
|
46
|
-
EType["LegacyStatic"] = "S";
|
|
47
|
-
EType["LegacyExternal"] = "X";
|
|
48
|
-
})(EType = Tileset.EType || (Tileset.EType = {}));
|
|
49
|
-
let EPivot;
|
|
50
|
-
(function (EPivot) {
|
|
51
|
-
EPivot["None"] = "none";
|
|
52
|
-
EPivot["Box"] = "box";
|
|
53
|
-
EPivot["Weight"] = "weight";
|
|
54
|
-
EPivot["UCS"] = "ucs";
|
|
55
|
-
})(EPivot = Tileset.EPivot || (Tileset.EPivot = {}));
|
|
56
|
-
function Get(params) {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
const { api, tilesetId, loadFiles, req: reqParams } = params;
|
|
59
|
-
if (!tilesetId) {
|
|
60
|
-
throw ("Tileset ID is required.");
|
|
61
|
-
}
|
|
62
|
-
const cache = yield api.GetCacheItem(GetCacheKey(tilesetId, loadFiles), reqParams);
|
|
63
|
-
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
64
|
-
return cache.data;
|
|
65
|
-
}
|
|
66
|
-
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
try {
|
|
68
|
-
const data = yield api.GET(`tileset/get/${tilesetId}?noFiles=${Boolean(loadFiles) ? 0 : 1}`, reqParams);
|
|
69
|
-
res({
|
|
70
|
-
tileset: data
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
catch (e) {
|
|
74
|
-
rej(e);
|
|
75
|
-
}
|
|
76
|
-
}));
|
|
77
|
-
yield api.SetCacheItem({
|
|
78
|
-
key: GetCacheKey(tilesetId, loadFiles),
|
|
79
|
-
value: prom,
|
|
80
|
-
req: reqParams
|
|
81
|
-
});
|
|
82
|
-
return prom;
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
Tileset.Get = Get;
|
|
86
|
-
/**
|
|
87
|
-
* Returns tileset types for given tileset ids.
|
|
88
|
-
* @param params
|
|
89
|
-
* @returns
|
|
90
|
-
*/
|
|
91
|
-
function GetTypes(params) {
|
|
92
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
// Our api is auto-converting legacy types right now which makes it impossible to know what they are.
|
|
94
|
-
// This uses the legacy end-point which doesn't do that...
|
|
95
|
-
const { api, tilesetIds, req: reqParams } = params;
|
|
96
|
-
const mapping = {};
|
|
97
|
-
if (tilesetIds.length == 1) {
|
|
98
|
-
const tileset = yield api.GET("ui.tileset/" + tilesetIds[0], api_1.Api.PrepReqParams(reqParams));
|
|
99
|
-
if (tileset) {
|
|
100
|
-
mapping[tilesetIds[0]] = tileset.Type;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else if (tilesetIds.length > 1) {
|
|
104
|
-
const tilesets = yield api.GET("ui.tilesets", api_1.Api.PrepReqParams(reqParams));
|
|
105
|
-
for (const tileset of tilesets) {
|
|
106
|
-
if (tilesetIds.indexOf(tileset.ID) >= 0) {
|
|
107
|
-
mapping[tileset.ID] = tileset.Type;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return {
|
|
112
|
-
typeMapping: mapping
|
|
113
|
-
};
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
Tileset.GetTypes = GetTypes;
|
|
117
|
-
function GetList(params) {
|
|
118
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
const { api, req: reqParams } = params;
|
|
120
|
-
const cache = yield api.GetCacheItem(GetListCacheKey(), reqParams);
|
|
121
|
-
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
122
|
-
return cache.data;
|
|
123
|
-
}
|
|
124
|
-
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
try {
|
|
126
|
-
const data = yield api.GET("tileset/getList", reqParams);
|
|
127
|
-
res({
|
|
128
|
-
tilesets: data
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
catch (e) {
|
|
132
|
-
rej(e);
|
|
133
|
-
}
|
|
134
|
-
}));
|
|
135
|
-
yield api.SetCacheItem({
|
|
136
|
-
key: GetListCacheKey(),
|
|
137
|
-
value: req,
|
|
138
|
-
req: reqParams
|
|
139
|
-
});
|
|
140
|
-
return req;
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
Tileset.GetList = GetList;
|
|
144
|
-
function Delete(params) {
|
|
145
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
-
const { api, tilesetId, req: reqParams } = params;
|
|
147
|
-
if (!tilesetId) {
|
|
148
|
-
throw ("Tileset ID is required.");
|
|
149
|
-
}
|
|
150
|
-
yield api.DELETE(`tileset/delete/${tilesetId}`, reqParams);
|
|
151
|
-
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset + api_1.Api.ECacheKey.Id + tilesetId);
|
|
152
|
-
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset);
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
Tileset.Delete = Delete;
|
|
156
|
-
function Update(params) {
|
|
157
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
let { api, tileset: data, req: reqParams } = params;
|
|
159
|
-
if (!(data === null || data === void 0 ? void 0 : data.name) || !(data === null || data === void 0 ? void 0 : data.type)) {
|
|
160
|
-
throw ("Tileset name and type are required.");
|
|
161
|
-
}
|
|
162
|
-
let isNew = !data.id;
|
|
163
|
-
if (isNew) {
|
|
164
|
-
const res = yield api.GET(`tileset/new?type=${data.type}&name=${api_1.Api.Encode(data.name)}`, reqParams);
|
|
165
|
-
data = Object.assign(Object.assign(Object.assign({}, res), data), { settings: Object.assign(Object.assign({}, res.settings), data.settings), id: res.id });
|
|
166
|
-
}
|
|
167
|
-
yield api.POST(`tileset/update/${data.id}`, data, api_1.Api.PrepReqParams(reqParams));
|
|
168
|
-
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset + api_1.Api.ECacheKey.Id + data.id);
|
|
169
|
-
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset);
|
|
170
|
-
return {
|
|
171
|
-
tileset: data
|
|
172
|
-
};
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
Tileset.Update = Update;
|
|
176
|
-
function UploadFile(params) {
|
|
177
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
178
|
-
let { api, file, req, tilesetId, onProgress } = params;
|
|
179
|
-
if (!tilesetId || !file) {
|
|
180
|
-
throw ("Tileset ID and file are required.");
|
|
181
|
-
}
|
|
182
|
-
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
183
|
-
if (!size) {
|
|
184
|
-
throw ("You cannot upload a 0byte sized file.");
|
|
185
|
-
}
|
|
186
|
-
req = api_1.Api.PrepReqParams(req);
|
|
187
|
-
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
188
|
-
yield uploader_1.Uploader.DoMultiPartUpload({
|
|
189
|
-
api,
|
|
190
|
-
file,
|
|
191
|
-
urlSuffix: `tileset/uploadFileEx/${tilesetId}/add`,
|
|
192
|
-
req,
|
|
193
|
-
onProgress
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
else {
|
|
197
|
-
req.onProgress = (progress) => {
|
|
198
|
-
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
199
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
200
|
-
percent: percent,
|
|
201
|
-
uploaded: false
|
|
202
|
-
});
|
|
203
|
-
};
|
|
204
|
-
yield api.UPLOAD(`tileset/uploadFile/${tilesetId}/files`, file, req);
|
|
205
|
-
}
|
|
206
|
-
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
207
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
208
|
-
percent: 100,
|
|
209
|
-
uploaded: true
|
|
210
|
-
});
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
Tileset.UploadFile = UploadFile;
|
|
214
|
-
function DeleteFile(params) {
|
|
215
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
216
|
-
const { api, tilesetId, file, req: reqParams } = params;
|
|
217
|
-
if (!tilesetId || !file) {
|
|
218
|
-
throw ("Tileset ID and file are required.");
|
|
219
|
-
}
|
|
220
|
-
yield api.DELETE(`tileset/deleteFile/${tilesetId}/files/${file}`, reqParams);
|
|
221
|
-
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
Tileset.DeleteFile = DeleteFile;
|
|
225
|
-
function UploadSrcFile(params) {
|
|
226
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
-
let { api, file, req, tilesetId, onProgress } = params;
|
|
228
|
-
if (!tilesetId || !file) {
|
|
229
|
-
throw ("Tileset ID and file are required.");
|
|
230
|
-
}
|
|
231
|
-
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
232
|
-
if (!size) {
|
|
233
|
-
throw ("You cannot upload a 0byte sized file.");
|
|
234
|
-
}
|
|
235
|
-
req = api_1.Api.PrepReqParams(req);
|
|
236
|
-
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
237
|
-
yield uploader_1.Uploader.DoMultiPartUpload({
|
|
238
|
-
api,
|
|
239
|
-
file,
|
|
240
|
-
urlSuffix: `tileset/uploadFileEx/${tilesetId}/src`,
|
|
241
|
-
req,
|
|
242
|
-
onProgress
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
req.onProgress = (progress) => {
|
|
247
|
-
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
248
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
249
|
-
percent: percent,
|
|
250
|
-
uploaded: false
|
|
251
|
-
});
|
|
252
|
-
};
|
|
253
|
-
yield api.UPLOAD(`tileset/uploadFile/${tilesetId}/src`, file, req);
|
|
254
|
-
}
|
|
255
|
-
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
256
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
257
|
-
percent: 100,
|
|
258
|
-
uploaded: true
|
|
259
|
-
});
|
|
260
|
-
return;
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
Tileset.UploadSrcFile = UploadSrcFile;
|
|
264
|
-
function DeleteSrcFile(params) {
|
|
265
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
266
|
-
const { api, tilesetId, file, req: reqParams } = params;
|
|
267
|
-
if (!tilesetId || !file) {
|
|
268
|
-
throw ("Tileset ID and file are required.");
|
|
269
|
-
}
|
|
270
|
-
yield api.DELETE(`tileset/deleteFile/${tilesetId}/src/${file}`, reqParams);
|
|
271
|
-
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
Tileset.DeleteSrcFile = DeleteSrcFile;
|
|
275
|
-
function GetFileUrl(params) {
|
|
276
|
-
let { api, tilesetId, file } = params;
|
|
277
|
-
if (!tilesetId) {
|
|
278
|
-
throw ("Tileset ID is required.");
|
|
279
|
-
}
|
|
280
|
-
if (!file) {
|
|
281
|
-
file = "";
|
|
282
|
-
}
|
|
283
|
-
return api.GetBaseUrl() + `tileset/getFile/${tilesetId}/files/${file}`;
|
|
284
|
-
}
|
|
285
|
-
Tileset.GetFileUrl = GetFileUrl;
|
|
286
|
-
function GetSrcFileUrl(params) {
|
|
287
|
-
let { api, tilesetId, file } = params;
|
|
288
|
-
if (!tilesetId) {
|
|
289
|
-
throw ("Tileset ID is required.");
|
|
290
|
-
}
|
|
291
|
-
if (!file) {
|
|
292
|
-
file = "";
|
|
293
|
-
}
|
|
294
|
-
return api.GetBaseUrl() + `tileset/getFile/${tilesetId}/src/${file}`;
|
|
295
|
-
}
|
|
296
|
-
Tileset.GetSrcFileUrl = GetSrcFileUrl;
|
|
297
|
-
function GetPublicFileUrl(params) {
|
|
298
|
-
let { api, tilesetId, file } = params;
|
|
299
|
-
if (!tilesetId) {
|
|
300
|
-
throw ("Tileset ID is required.");
|
|
301
|
-
}
|
|
302
|
-
if (!file) {
|
|
303
|
-
file = "";
|
|
304
|
-
}
|
|
305
|
-
return api.GetBaseUrl() + `tileset/file/${tilesetId}/${file}`;
|
|
306
|
-
}
|
|
307
|
-
Tileset.GetPublicFileUrl = GetPublicFileUrl;
|
|
308
|
-
function Generate(params) {
|
|
309
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
310
|
-
const { api, tilesetId, req: reqParams } = params;
|
|
311
|
-
if (!tilesetId) {
|
|
312
|
-
throw ("Tileset ID is required.");
|
|
313
|
-
}
|
|
314
|
-
const res = yield api.GET(`tileset/generate/${tilesetId}`, api_1.Api.PrepReqParams(reqParams));
|
|
315
|
-
return {
|
|
316
|
-
pendingActionId: res.ID
|
|
317
|
-
};
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
Tileset.Generate = Generate;
|
|
321
|
-
let Publish;
|
|
322
|
-
(function (Publish) {
|
|
323
|
-
function GetCacheKey(accountId, tilesetId) {
|
|
324
|
-
if (!tilesetId) {
|
|
325
|
-
tilesetId = "";
|
|
326
|
-
}
|
|
327
|
-
return api_1.Api.ECacheKey.PublishTileset + api_1.Api.ECacheKey.Id + accountId + api_1.Api.ECacheKey.Id + tilesetId;
|
|
328
|
-
}
|
|
329
|
-
Publish.GetCacheKey = GetCacheKey;
|
|
330
|
-
function Update(params) {
|
|
331
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
332
|
-
const { api, published: data, req: reqParams } = params;
|
|
333
|
-
if (!(data === null || data === void 0 ? void 0 : data["Tileset.ID"]) || !(data === null || data === void 0 ? void 0 : data["PublishedBy.ClientAccount.ID"]) || !(data === null || data === void 0 ? void 0 : data["PublishedBy.User.ID"])) {
|
|
334
|
-
throw ("Tileset ID, client account ID, and user ID are required.");
|
|
335
|
-
}
|
|
336
|
-
if (!data.ID) {
|
|
337
|
-
data.ID = 0;
|
|
338
|
-
}
|
|
339
|
-
const res = yield api.POST(`tileset/${data.ID}`, data, reqParams);
|
|
340
|
-
const req = {
|
|
341
|
-
"ClientAccount.ID": data["EnabledFor.ClientAccount.ID"]
|
|
342
|
-
};
|
|
343
|
-
data.ID = res.ID;
|
|
344
|
-
yield api.POST(`tileset/${data.ID}/enableForAccounts`, req, reqParams);
|
|
345
|
-
api.Cache.Remove(GetCacheKey(data["PublishedBy.ClientAccount.ID"], data["Tileset.ID"]));
|
|
346
|
-
api.Cache.Remove(GetCacheKey(data["PublishedBy.ClientAccount.ID"]));
|
|
347
|
-
return {
|
|
348
|
-
published: data
|
|
349
|
-
};
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
Publish.Update = Update;
|
|
353
|
-
function Get(params) {
|
|
354
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
355
|
-
const { api, accountId, tilesetId, req: reqParams } = params;
|
|
356
|
-
if (!accountId || !tilesetId) {
|
|
357
|
-
throw ("Client account ID and tileset ID are required.");
|
|
358
|
-
}
|
|
359
|
-
const cache = yield api.GetCacheItem(GetCacheKey(accountId, tilesetId), reqParams);
|
|
360
|
-
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
361
|
-
return cache.data;
|
|
362
|
-
}
|
|
363
|
-
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
364
|
-
try {
|
|
365
|
-
const data = yield api.GET(`tilesetByPublisher/${accountId}/${tilesetId}`, reqParams);
|
|
366
|
-
res({
|
|
367
|
-
published: data
|
|
368
|
-
});
|
|
369
|
-
}
|
|
370
|
-
catch (e) {
|
|
371
|
-
rej(e);
|
|
372
|
-
}
|
|
373
|
-
}));
|
|
374
|
-
yield api.SetCacheItem({
|
|
375
|
-
key: GetCacheKey(accountId, tilesetId),
|
|
376
|
-
value: prom,
|
|
377
|
-
req: reqParams
|
|
378
|
-
});
|
|
379
|
-
return prom;
|
|
380
|
-
});
|
|
381
|
-
}
|
|
382
|
-
Publish.Get = Get;
|
|
383
|
-
function GetList(params) {
|
|
384
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
385
|
-
const { api, accountId, req: reqParams } = params;
|
|
386
|
-
if (!accountId) {
|
|
387
|
-
throw ("Client account ID is required.");
|
|
388
|
-
}
|
|
389
|
-
const cache = yield api.GetCacheItem(GetCacheKey(accountId), reqParams);
|
|
390
|
-
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
391
|
-
return cache.data;
|
|
392
|
-
}
|
|
393
|
-
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
394
|
-
try {
|
|
395
|
-
const data = yield api.GET(`tilesets/enabledForAccount/${accountId}`, reqParams);
|
|
396
|
-
res({
|
|
397
|
-
published: data.Items
|
|
398
|
-
});
|
|
399
|
-
}
|
|
400
|
-
catch (e) {
|
|
401
|
-
rej(e);
|
|
402
|
-
}
|
|
403
|
-
}));
|
|
404
|
-
yield api.SetCacheItem({
|
|
405
|
-
key: GetCacheKey(accountId),
|
|
406
|
-
value: req,
|
|
407
|
-
req: reqParams
|
|
408
|
-
});
|
|
409
|
-
return req;
|
|
410
|
-
});
|
|
411
|
-
}
|
|
412
|
-
Publish.GetList = GetList;
|
|
413
|
-
})(Publish = Tileset.Publish || (Tileset.Publish = {}));
|
|
414
|
-
let Settings;
|
|
415
|
-
(function (Settings) {
|
|
416
|
-
let EMapTileSize;
|
|
417
|
-
(function (EMapTileSize) {
|
|
418
|
-
EMapTileSize[EMapTileSize["IMG_256"] = 256] = "IMG_256";
|
|
419
|
-
EMapTileSize[EMapTileSize["IMG_512"] = 512] = "IMG_512";
|
|
420
|
-
EMapTileSize[EMapTileSize["IMG_1024"] = 1024] = "IMG_1024";
|
|
421
|
-
EMapTileSize[EMapTileSize["IMG_2048"] = 2048] = "IMG_2048";
|
|
422
|
-
})(EMapTileSize = Settings.EMapTileSize || (Settings.EMapTileSize = {}));
|
|
423
|
-
let EExternalMapType;
|
|
424
|
-
(function (EExternalMapType) {
|
|
425
|
-
EExternalMapType["TileMapImagery"] = "TileMapImagery";
|
|
426
|
-
EExternalMapType["OpenStreetMapImagery"] = "OpenStreetMapImagery";
|
|
427
|
-
EExternalMapType["MapBoxImagery"] = "MapBoxImagery";
|
|
428
|
-
EExternalMapType["CesiumIon"] = "CesiumIon";
|
|
429
|
-
})(EExternalMapType = Settings.EExternalMapType || (Settings.EExternalMapType = {}));
|
|
430
|
-
})(Settings = Tileset.Settings || (Tileset.Settings = {}));
|
|
431
|
-
})(Tileset = exports.Tileset || (exports.Tileset = {}));
|
|
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.Tileset = void 0;
|
|
13
|
+
const api_1 = require("../api/api");
|
|
14
|
+
const uploader_1 = require("../internal/uploader");
|
|
15
|
+
/**
|
|
16
|
+
* Describes the "Tileset" concept in Bruce.
|
|
17
|
+
*
|
|
18
|
+
* Tilesets come in three possible variants,
|
|
19
|
+
* 1- A set of instructions to generate a tileset.
|
|
20
|
+
* 2- Settings to load a tileset hosted elsewhere.
|
|
21
|
+
* 3- A set of user-provided files to serve.
|
|
22
|
+
*
|
|
23
|
+
* Read the individual tileset-type settings for each variant.
|
|
24
|
+
*/
|
|
25
|
+
var Tileset;
|
|
26
|
+
(function (Tileset) {
|
|
27
|
+
function GetCacheKey(tilesetId, loadFiles) {
|
|
28
|
+
return `${api_1.Api.ECacheKey.Tileset}${api_1.Api.ECacheKey.Id}${tilesetId}${api_1.Api.ECacheKey.Id}${loadFiles}`;
|
|
29
|
+
}
|
|
30
|
+
Tileset.GetCacheKey = GetCacheKey;
|
|
31
|
+
function GetListCacheKey() {
|
|
32
|
+
return api_1.Api.ECacheKey.Tileset;
|
|
33
|
+
}
|
|
34
|
+
Tileset.GetListCacheKey = GetListCacheKey;
|
|
35
|
+
let EType;
|
|
36
|
+
(function (EType) {
|
|
37
|
+
EType["PointCloud"] = "POINT_CLOUD";
|
|
38
|
+
EType["GeoMap"] = "GEO_MAP";
|
|
39
|
+
EType["EntitiesMap"] = "ENTITIES_MAP";
|
|
40
|
+
EType["EntitiesSet"] = "ENTITIES_SET";
|
|
41
|
+
EType["Cad"] = "MODEL";
|
|
42
|
+
EType["Terrain"] = "GEO_TERR";
|
|
43
|
+
EType["ExternalTerrain"] = "EXTERNAL_TERR";
|
|
44
|
+
EType["ExternalGeoMap"] = "EXTERNAL_MAP";
|
|
45
|
+
EType["LegacyEntitiesSet"] = "D";
|
|
46
|
+
EType["LegacyStatic"] = "S";
|
|
47
|
+
EType["LegacyExternal"] = "X";
|
|
48
|
+
})(EType = Tileset.EType || (Tileset.EType = {}));
|
|
49
|
+
let EPivot;
|
|
50
|
+
(function (EPivot) {
|
|
51
|
+
EPivot["None"] = "none";
|
|
52
|
+
EPivot["Box"] = "box";
|
|
53
|
+
EPivot["Weight"] = "weight";
|
|
54
|
+
EPivot["UCS"] = "ucs";
|
|
55
|
+
})(EPivot = Tileset.EPivot || (Tileset.EPivot = {}));
|
|
56
|
+
function Get(params) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const { api, tilesetId, loadFiles, req: reqParams } = params;
|
|
59
|
+
if (!tilesetId) {
|
|
60
|
+
throw ("Tileset ID is required.");
|
|
61
|
+
}
|
|
62
|
+
const cache = yield api.GetCacheItem(GetCacheKey(tilesetId, loadFiles), reqParams);
|
|
63
|
+
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
64
|
+
return cache.data;
|
|
65
|
+
}
|
|
66
|
+
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
try {
|
|
68
|
+
const data = yield api.GET(`tileset/get/${tilesetId}?noFiles=${Boolean(loadFiles) ? 0 : 1}`, reqParams);
|
|
69
|
+
res({
|
|
70
|
+
tileset: data
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
rej(e);
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
77
|
+
yield api.SetCacheItem({
|
|
78
|
+
key: GetCacheKey(tilesetId, loadFiles),
|
|
79
|
+
value: prom,
|
|
80
|
+
req: reqParams
|
|
81
|
+
});
|
|
82
|
+
return prom;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
Tileset.Get = Get;
|
|
86
|
+
/**
|
|
87
|
+
* Returns tileset types for given tileset ids.
|
|
88
|
+
* @param params
|
|
89
|
+
* @returns
|
|
90
|
+
*/
|
|
91
|
+
function GetTypes(params) {
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
// Our api is auto-converting legacy types right now which makes it impossible to know what they are.
|
|
94
|
+
// This uses the legacy end-point which doesn't do that...
|
|
95
|
+
const { api, tilesetIds, req: reqParams } = params;
|
|
96
|
+
const mapping = {};
|
|
97
|
+
if (tilesetIds.length == 1) {
|
|
98
|
+
const tileset = yield api.GET("ui.tileset/" + tilesetIds[0], api_1.Api.PrepReqParams(reqParams));
|
|
99
|
+
if (tileset) {
|
|
100
|
+
mapping[tilesetIds[0]] = tileset.Type;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else if (tilesetIds.length > 1) {
|
|
104
|
+
const tilesets = yield api.GET("ui.tilesets", api_1.Api.PrepReqParams(reqParams));
|
|
105
|
+
for (const tileset of tilesets) {
|
|
106
|
+
if (tilesetIds.indexOf(tileset.ID) >= 0) {
|
|
107
|
+
mapping[tileset.ID] = tileset.Type;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
typeMapping: mapping
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
Tileset.GetTypes = GetTypes;
|
|
117
|
+
function GetList(params) {
|
|
118
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
+
const { api, req: reqParams } = params;
|
|
120
|
+
const cache = yield api.GetCacheItem(GetListCacheKey(), reqParams);
|
|
121
|
+
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
122
|
+
return cache.data;
|
|
123
|
+
}
|
|
124
|
+
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
try {
|
|
126
|
+
const data = yield api.GET("tileset/getList", reqParams);
|
|
127
|
+
res({
|
|
128
|
+
tilesets: data
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
rej(e);
|
|
133
|
+
}
|
|
134
|
+
}));
|
|
135
|
+
yield api.SetCacheItem({
|
|
136
|
+
key: GetListCacheKey(),
|
|
137
|
+
value: req,
|
|
138
|
+
req: reqParams
|
|
139
|
+
});
|
|
140
|
+
return req;
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
Tileset.GetList = GetList;
|
|
144
|
+
function Delete(params) {
|
|
145
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
const { api, tilesetId, req: reqParams } = params;
|
|
147
|
+
if (!tilesetId) {
|
|
148
|
+
throw ("Tileset ID is required.");
|
|
149
|
+
}
|
|
150
|
+
yield api.DELETE(`tileset/delete/${tilesetId}`, reqParams);
|
|
151
|
+
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset + api_1.Api.ECacheKey.Id + tilesetId);
|
|
152
|
+
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
Tileset.Delete = Delete;
|
|
156
|
+
function Update(params) {
|
|
157
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
+
let { api, tileset: data, req: reqParams } = params;
|
|
159
|
+
if (!(data === null || data === void 0 ? void 0 : data.name) || !(data === null || data === void 0 ? void 0 : data.type)) {
|
|
160
|
+
throw ("Tileset name and type are required.");
|
|
161
|
+
}
|
|
162
|
+
let isNew = !data.id;
|
|
163
|
+
if (isNew) {
|
|
164
|
+
const res = yield api.GET(`tileset/new?type=${data.type}&name=${api_1.Api.Encode(data.name)}`, reqParams);
|
|
165
|
+
data = Object.assign(Object.assign(Object.assign({}, res), data), { settings: Object.assign(Object.assign({}, res.settings), data.settings), id: res.id });
|
|
166
|
+
}
|
|
167
|
+
yield api.POST(`tileset/update/${data.id}`, data, api_1.Api.PrepReqParams(reqParams));
|
|
168
|
+
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset + api_1.Api.ECacheKey.Id + data.id);
|
|
169
|
+
yield api.Cache.RemoveByStartsWith(api_1.Api.ECacheKey.Tileset);
|
|
170
|
+
return {
|
|
171
|
+
tileset: data
|
|
172
|
+
};
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
Tileset.Update = Update;
|
|
176
|
+
function UploadFile(params) {
|
|
177
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
178
|
+
let { api, file, req, tilesetId, onProgress } = params;
|
|
179
|
+
if (!tilesetId || !file) {
|
|
180
|
+
throw ("Tileset ID and file are required.");
|
|
181
|
+
}
|
|
182
|
+
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
183
|
+
if (!size) {
|
|
184
|
+
throw ("You cannot upload a 0byte sized file.");
|
|
185
|
+
}
|
|
186
|
+
req = api_1.Api.PrepReqParams(req);
|
|
187
|
+
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
188
|
+
yield uploader_1.Uploader.DoMultiPartUpload({
|
|
189
|
+
api,
|
|
190
|
+
file,
|
|
191
|
+
urlSuffix: `tileset/uploadFileEx/${tilesetId}/add`,
|
|
192
|
+
req,
|
|
193
|
+
onProgress
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
req.onProgress = (progress) => {
|
|
198
|
+
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
199
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
200
|
+
percent: percent,
|
|
201
|
+
uploaded: false
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
yield api.UPLOAD(`tileset/uploadFile/${tilesetId}/files`, file, req);
|
|
205
|
+
}
|
|
206
|
+
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
207
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
208
|
+
percent: 100,
|
|
209
|
+
uploaded: true
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
Tileset.UploadFile = UploadFile;
|
|
214
|
+
function DeleteFile(params) {
|
|
215
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
216
|
+
const { api, tilesetId, file, req: reqParams } = params;
|
|
217
|
+
if (!tilesetId || !file) {
|
|
218
|
+
throw ("Tileset ID and file are required.");
|
|
219
|
+
}
|
|
220
|
+
yield api.DELETE(`tileset/deleteFile/${tilesetId}/files/${file}`, reqParams);
|
|
221
|
+
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
Tileset.DeleteFile = DeleteFile;
|
|
225
|
+
function UploadSrcFile(params) {
|
|
226
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
+
let { api, file, req, tilesetId, onProgress } = params;
|
|
228
|
+
if (!tilesetId || !file) {
|
|
229
|
+
throw ("Tileset ID and file are required.");
|
|
230
|
+
}
|
|
231
|
+
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
232
|
+
if (!size) {
|
|
233
|
+
throw ("You cannot upload a 0byte sized file.");
|
|
234
|
+
}
|
|
235
|
+
req = api_1.Api.PrepReqParams(req);
|
|
236
|
+
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
237
|
+
yield uploader_1.Uploader.DoMultiPartUpload({
|
|
238
|
+
api,
|
|
239
|
+
file,
|
|
240
|
+
urlSuffix: `tileset/uploadFileEx/${tilesetId}/src`,
|
|
241
|
+
req,
|
|
242
|
+
onProgress
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
req.onProgress = (progress) => {
|
|
247
|
+
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
248
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
249
|
+
percent: percent,
|
|
250
|
+
uploaded: false
|
|
251
|
+
});
|
|
252
|
+
};
|
|
253
|
+
yield api.UPLOAD(`tileset/uploadFile/${tilesetId}/src`, file, req);
|
|
254
|
+
}
|
|
255
|
+
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
256
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
257
|
+
percent: 100,
|
|
258
|
+
uploaded: true
|
|
259
|
+
});
|
|
260
|
+
return;
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
Tileset.UploadSrcFile = UploadSrcFile;
|
|
264
|
+
function DeleteSrcFile(params) {
|
|
265
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
266
|
+
const { api, tilesetId, file, req: reqParams } = params;
|
|
267
|
+
if (!tilesetId || !file) {
|
|
268
|
+
throw ("Tileset ID and file are required.");
|
|
269
|
+
}
|
|
270
|
+
yield api.DELETE(`tileset/deleteFile/${tilesetId}/src/${file}`, reqParams);
|
|
271
|
+
api.Cache.Remove(GetCacheKey(tilesetId, true));
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
Tileset.DeleteSrcFile = DeleteSrcFile;
|
|
275
|
+
function GetFileUrl(params) {
|
|
276
|
+
let { api, tilesetId, file } = params;
|
|
277
|
+
if (!tilesetId) {
|
|
278
|
+
throw ("Tileset ID is required.");
|
|
279
|
+
}
|
|
280
|
+
if (!file) {
|
|
281
|
+
file = "";
|
|
282
|
+
}
|
|
283
|
+
return api.GetBaseUrl() + `tileset/getFile/${tilesetId}/files/${file}`;
|
|
284
|
+
}
|
|
285
|
+
Tileset.GetFileUrl = GetFileUrl;
|
|
286
|
+
function GetSrcFileUrl(params) {
|
|
287
|
+
let { api, tilesetId, file } = params;
|
|
288
|
+
if (!tilesetId) {
|
|
289
|
+
throw ("Tileset ID is required.");
|
|
290
|
+
}
|
|
291
|
+
if (!file) {
|
|
292
|
+
file = "";
|
|
293
|
+
}
|
|
294
|
+
return api.GetBaseUrl() + `tileset/getFile/${tilesetId}/src/${file}`;
|
|
295
|
+
}
|
|
296
|
+
Tileset.GetSrcFileUrl = GetSrcFileUrl;
|
|
297
|
+
function GetPublicFileUrl(params) {
|
|
298
|
+
let { api, tilesetId, file } = params;
|
|
299
|
+
if (!tilesetId) {
|
|
300
|
+
throw ("Tileset ID is required.");
|
|
301
|
+
}
|
|
302
|
+
if (!file) {
|
|
303
|
+
file = "";
|
|
304
|
+
}
|
|
305
|
+
return api.GetBaseUrl() + `tileset/file/${tilesetId}/${file}`;
|
|
306
|
+
}
|
|
307
|
+
Tileset.GetPublicFileUrl = GetPublicFileUrl;
|
|
308
|
+
function Generate(params) {
|
|
309
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
310
|
+
const { api, tilesetId, req: reqParams } = params;
|
|
311
|
+
if (!tilesetId) {
|
|
312
|
+
throw ("Tileset ID is required.");
|
|
313
|
+
}
|
|
314
|
+
const res = yield api.GET(`tileset/generate/${tilesetId}`, api_1.Api.PrepReqParams(reqParams));
|
|
315
|
+
return {
|
|
316
|
+
pendingActionId: res.ID
|
|
317
|
+
};
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
Tileset.Generate = Generate;
|
|
321
|
+
let Publish;
|
|
322
|
+
(function (Publish) {
|
|
323
|
+
function GetCacheKey(accountId, tilesetId) {
|
|
324
|
+
if (!tilesetId) {
|
|
325
|
+
tilesetId = "";
|
|
326
|
+
}
|
|
327
|
+
return api_1.Api.ECacheKey.PublishTileset + api_1.Api.ECacheKey.Id + accountId + api_1.Api.ECacheKey.Id + tilesetId;
|
|
328
|
+
}
|
|
329
|
+
Publish.GetCacheKey = GetCacheKey;
|
|
330
|
+
function Update(params) {
|
|
331
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
332
|
+
const { api, published: data, req: reqParams } = params;
|
|
333
|
+
if (!(data === null || data === void 0 ? void 0 : data["Tileset.ID"]) || !(data === null || data === void 0 ? void 0 : data["PublishedBy.ClientAccount.ID"]) || !(data === null || data === void 0 ? void 0 : data["PublishedBy.User.ID"])) {
|
|
334
|
+
throw ("Tileset ID, client account ID, and user ID are required.");
|
|
335
|
+
}
|
|
336
|
+
if (!data.ID) {
|
|
337
|
+
data.ID = 0;
|
|
338
|
+
}
|
|
339
|
+
const res = yield api.POST(`tileset/${data.ID}`, data, reqParams);
|
|
340
|
+
const req = {
|
|
341
|
+
"ClientAccount.ID": data["EnabledFor.ClientAccount.ID"]
|
|
342
|
+
};
|
|
343
|
+
data.ID = res.ID;
|
|
344
|
+
yield api.POST(`tileset/${data.ID}/enableForAccounts`, req, reqParams);
|
|
345
|
+
api.Cache.Remove(GetCacheKey(data["PublishedBy.ClientAccount.ID"], data["Tileset.ID"]));
|
|
346
|
+
api.Cache.Remove(GetCacheKey(data["PublishedBy.ClientAccount.ID"]));
|
|
347
|
+
return {
|
|
348
|
+
published: data
|
|
349
|
+
};
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
Publish.Update = Update;
|
|
353
|
+
function Get(params) {
|
|
354
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
355
|
+
const { api, accountId, tilesetId, req: reqParams } = params;
|
|
356
|
+
if (!accountId || !tilesetId) {
|
|
357
|
+
throw ("Client account ID and tileset ID are required.");
|
|
358
|
+
}
|
|
359
|
+
const cache = yield api.GetCacheItem(GetCacheKey(accountId, tilesetId), reqParams);
|
|
360
|
+
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
361
|
+
return cache.data;
|
|
362
|
+
}
|
|
363
|
+
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
364
|
+
try {
|
|
365
|
+
const data = yield api.GET(`tilesetByPublisher/${accountId}/${tilesetId}`, reqParams);
|
|
366
|
+
res({
|
|
367
|
+
published: data
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
catch (e) {
|
|
371
|
+
rej(e);
|
|
372
|
+
}
|
|
373
|
+
}));
|
|
374
|
+
yield api.SetCacheItem({
|
|
375
|
+
key: GetCacheKey(accountId, tilesetId),
|
|
376
|
+
value: prom,
|
|
377
|
+
req: reqParams
|
|
378
|
+
});
|
|
379
|
+
return prom;
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
Publish.Get = Get;
|
|
383
|
+
function GetList(params) {
|
|
384
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
385
|
+
const { api, accountId, req: reqParams } = params;
|
|
386
|
+
if (!accountId) {
|
|
387
|
+
throw ("Client account ID is required.");
|
|
388
|
+
}
|
|
389
|
+
const cache = yield api.GetCacheItem(GetCacheKey(accountId), reqParams);
|
|
390
|
+
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
391
|
+
return cache.data;
|
|
392
|
+
}
|
|
393
|
+
const req = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
394
|
+
try {
|
|
395
|
+
const data = yield api.GET(`tilesets/enabledForAccount/${accountId}`, reqParams);
|
|
396
|
+
res({
|
|
397
|
+
published: data.Items
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
catch (e) {
|
|
401
|
+
rej(e);
|
|
402
|
+
}
|
|
403
|
+
}));
|
|
404
|
+
yield api.SetCacheItem({
|
|
405
|
+
key: GetCacheKey(accountId),
|
|
406
|
+
value: req,
|
|
407
|
+
req: reqParams
|
|
408
|
+
});
|
|
409
|
+
return req;
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
Publish.GetList = GetList;
|
|
413
|
+
})(Publish = Tileset.Publish || (Tileset.Publish = {}));
|
|
414
|
+
let Settings;
|
|
415
|
+
(function (Settings) {
|
|
416
|
+
let EMapTileSize;
|
|
417
|
+
(function (EMapTileSize) {
|
|
418
|
+
EMapTileSize[EMapTileSize["IMG_256"] = 256] = "IMG_256";
|
|
419
|
+
EMapTileSize[EMapTileSize["IMG_512"] = 512] = "IMG_512";
|
|
420
|
+
EMapTileSize[EMapTileSize["IMG_1024"] = 1024] = "IMG_1024";
|
|
421
|
+
EMapTileSize[EMapTileSize["IMG_2048"] = 2048] = "IMG_2048";
|
|
422
|
+
})(EMapTileSize = Settings.EMapTileSize || (Settings.EMapTileSize = {}));
|
|
423
|
+
let EExternalMapType;
|
|
424
|
+
(function (EExternalMapType) {
|
|
425
|
+
EExternalMapType["TileMapImagery"] = "TileMapImagery";
|
|
426
|
+
EExternalMapType["OpenStreetMapImagery"] = "OpenStreetMapImagery";
|
|
427
|
+
EExternalMapType["MapBoxImagery"] = "MapBoxImagery";
|
|
428
|
+
EExternalMapType["CesiumIon"] = "CesiumIon";
|
|
429
|
+
})(EExternalMapType = Settings.EExternalMapType || (Settings.EExternalMapType = {}));
|
|
430
|
+
})(Settings = Tileset.Settings || (Tileset.Settings = {}));
|
|
431
|
+
})(Tileset = exports.Tileset || (exports.Tileset = {}));
|
|
432
432
|
//# sourceMappingURL=tileset.js.map
|