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,256 +1,256 @@
|
|
|
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.ClientFile = void 0;
|
|
13
|
-
const api_1 = require("../api/api");
|
|
14
|
-
const uploader_1 = require("../internal/uploader");
|
|
15
|
-
/**
|
|
16
|
-
* Describes the "Client File" concept within Bruce.
|
|
17
|
-
* A client file is a record of a file uploaded to Bruce.
|
|
18
|
-
*/
|
|
19
|
-
var ClientFile;
|
|
20
|
-
(function (ClientFile) {
|
|
21
|
-
function GetCacheKey(fileId) {
|
|
22
|
-
return `${api_1.Api.ECacheKey.ClientFile}${api_1.Api.ECacheKey.Id}${fileId}`;
|
|
23
|
-
}
|
|
24
|
-
ClientFile.GetCacheKey = GetCacheKey;
|
|
25
|
-
function GetUrl(params) {
|
|
26
|
-
const { api, fileId } = params;
|
|
27
|
-
return `${api.GetBaseUrl()}file/${fileId}`;
|
|
28
|
-
}
|
|
29
|
-
ClientFile.GetUrl = GetUrl;
|
|
30
|
-
function GetUrlWithExt(params) {
|
|
31
|
-
const { api, file } = params;
|
|
32
|
-
return `${api.GetBaseUrl()}file/${file.ID}${file.FileExt ? file.FileExt : ""}`;
|
|
33
|
-
}
|
|
34
|
-
ClientFile.GetUrlWithExt = GetUrlWithExt;
|
|
35
|
-
function Get(params) {
|
|
36
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
const { api, fileId, req: reqParams } = params;
|
|
38
|
-
if (!fileId) {
|
|
39
|
-
throw ("File ID is required.");
|
|
40
|
-
}
|
|
41
|
-
const key = GetCacheKey(fileId);
|
|
42
|
-
const cache = yield api.GetCacheItem(key, reqParams);
|
|
43
|
-
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
44
|
-
return cache.data;
|
|
45
|
-
}
|
|
46
|
-
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
try {
|
|
48
|
-
const data = yield api.GET(`file/${fileId}/details`, api_1.Api.PrepReqParams(reqParams));
|
|
49
|
-
res({
|
|
50
|
-
clientFile: data
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
catch (e) {
|
|
54
|
-
rej(e);
|
|
55
|
-
}
|
|
56
|
-
}));
|
|
57
|
-
yield api.SetCacheItem({
|
|
58
|
-
key,
|
|
59
|
-
value: prom,
|
|
60
|
-
req: reqParams
|
|
61
|
-
});
|
|
62
|
-
return prom;
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
ClientFile.Get = Get;
|
|
66
|
-
function Delete(params) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const { api, fileIds, req: reqParams } = params;
|
|
69
|
-
if (!fileIds.length) {
|
|
70
|
-
throw ("File IDs are required.");
|
|
71
|
-
}
|
|
72
|
-
const data = {
|
|
73
|
-
Items: fileIds
|
|
74
|
-
};
|
|
75
|
-
yield api.POST("deleteFiles", data, api_1.Api.PrepReqParams(reqParams));
|
|
76
|
-
for (let i = 0; i < fileIds.length; i++) {
|
|
77
|
-
const key = GetCacheKey(fileIds[i]);
|
|
78
|
-
api.Cache.Remove(key);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
ClientFile.Delete = Delete;
|
|
83
|
-
function Upload(params) {
|
|
84
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
-
let { api, file, purpose, req, onProgress } = params;
|
|
86
|
-
if (!file) {
|
|
87
|
-
throw ("File is required.");
|
|
88
|
-
}
|
|
89
|
-
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
90
|
-
if (!size) {
|
|
91
|
-
throw ("You cannot upload a 0byte sized file.");
|
|
92
|
-
}
|
|
93
|
-
req = api_1.Api.PrepReqParams(req);
|
|
94
|
-
let clientFile;
|
|
95
|
-
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
96
|
-
clientFile = yield uploader_1.Uploader.DoMultiPartUpload({
|
|
97
|
-
api,
|
|
98
|
-
file,
|
|
99
|
-
urlSuffix: "fileUpload",
|
|
100
|
-
req,
|
|
101
|
-
onProgress
|
|
102
|
-
});
|
|
103
|
-
// TODO: Check if we can add it to the request like the small file upload.
|
|
104
|
-
if ((clientFile === null || clientFile === void 0 ? void 0 : clientFile.ID) && purpose) {
|
|
105
|
-
yield UpdatePurpose({
|
|
106
|
-
api,
|
|
107
|
-
fileId: clientFile.ID,
|
|
108
|
-
purpose,
|
|
109
|
-
req
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
req.onProgress = (progress) => {
|
|
115
|
-
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
116
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
117
|
-
percent: percent,
|
|
118
|
-
uploaded: false
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
if (purpose) {
|
|
122
|
-
req.formData = {
|
|
123
|
-
Purpose: purpose
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
clientFile = yield api.UPLOAD("file/uploadNew", file, req);
|
|
127
|
-
}
|
|
128
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
129
|
-
percent: 100,
|
|
130
|
-
uploaded: true
|
|
131
|
-
});
|
|
132
|
-
return {
|
|
133
|
-
clientFile
|
|
134
|
-
};
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
ClientFile.Upload = Upload;
|
|
138
|
-
function UpdatePurpose(params) {
|
|
139
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
-
let { api, fileId, purpose, req: reqParams } = params;
|
|
141
|
-
if (!purpose) {
|
|
142
|
-
purpose = "";
|
|
143
|
-
}
|
|
144
|
-
yield api.POST("file/updatepurpose/" + fileId + "/?Purpose=" + purpose, {
|
|
145
|
-
Purpose: purpose
|
|
146
|
-
}, api_1.Api.PrepReqParams(reqParams));
|
|
147
|
-
const cacheKey = GetCacheKey(fileId);
|
|
148
|
-
api.Cache.RemoveByContains(cacheKey);
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
ClientFile.UpdatePurpose = UpdatePurpose;
|
|
152
|
-
/**
|
|
153
|
-
* Uploads a temp file.
|
|
154
|
-
* This will return a temp file id which can be used in various endpoints.
|
|
155
|
-
* @param params
|
|
156
|
-
* @returns
|
|
157
|
-
*/
|
|
158
|
-
function UploadTemp(params) {
|
|
159
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
-
let { api, file, req, onProgress } = params;
|
|
161
|
-
if (!file) {
|
|
162
|
-
throw ("File is required.");
|
|
163
|
-
}
|
|
164
|
-
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
165
|
-
if (!size) {
|
|
166
|
-
throw ("You cannot upload a 0byte sized file.");
|
|
167
|
-
}
|
|
168
|
-
req = api_1.Api.PrepReqParams(req);
|
|
169
|
-
let tempFile;
|
|
170
|
-
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
171
|
-
tempFile = yield uploader_1.Uploader.DoMultiPartUpload({
|
|
172
|
-
api,
|
|
173
|
-
file,
|
|
174
|
-
urlSuffix: "tempFileUpload",
|
|
175
|
-
req,
|
|
176
|
-
onProgress
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
req.onProgress = (progress) => {
|
|
181
|
-
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
182
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
183
|
-
percent: percent,
|
|
184
|
-
uploaded: false
|
|
185
|
-
});
|
|
186
|
-
};
|
|
187
|
-
tempFile = yield api.UPLOAD("file/uploadTemp", file, req);
|
|
188
|
-
}
|
|
189
|
-
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
190
|
-
percent: 100,
|
|
191
|
-
uploaded: true
|
|
192
|
-
});
|
|
193
|
-
return {
|
|
194
|
-
tempFileId: tempFile["TempFile.ID"]
|
|
195
|
-
};
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
ClientFile.UploadTemp = UploadTemp;
|
|
199
|
-
let Filter;
|
|
200
|
-
(function (Filter) {
|
|
201
|
-
let EColumn;
|
|
202
|
-
(function (EColumn) {
|
|
203
|
-
EColumn["ID"] = "id";
|
|
204
|
-
EColumn["Name"] = "name";
|
|
205
|
-
EColumn["DateTime"] = "datetime";
|
|
206
|
-
EColumn["MIMEType"] = "mimeType";
|
|
207
|
-
EColumn["Size"] = "size";
|
|
208
|
-
EColumn["User"] = "user";
|
|
209
|
-
EColumn["Extension"] = "extension";
|
|
210
|
-
})(EColumn = Filter.EColumn || (Filter.EColumn = {}));
|
|
211
|
-
let ESortOrder;
|
|
212
|
-
(function (ESortOrder) {
|
|
213
|
-
ESortOrder["ASC"] = "asc";
|
|
214
|
-
ESortOrder["DEC"] = "desc";
|
|
215
|
-
})(ESortOrder = Filter.ESortOrder || (Filter.ESortOrder = {}));
|
|
216
|
-
let ERowOperator;
|
|
217
|
-
(function (ERowOperator) {
|
|
218
|
-
ERowOperator["AND"] = "AND";
|
|
219
|
-
ERowOperator["OR"] = "OR";
|
|
220
|
-
})(ERowOperator = Filter.ERowOperator || (Filter.ERowOperator = {}));
|
|
221
|
-
})(Filter = ClientFile.Filter || (ClientFile.Filter = {}));
|
|
222
|
-
function GetList(params) {
|
|
223
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
224
|
-
const { api, filter, req: reqParams } = params;
|
|
225
|
-
const data = yield api.POST("files/filtered", filter, api_1.Api.PrepReqParams(reqParams));
|
|
226
|
-
return {
|
|
227
|
-
clientFiles: data.Items,
|
|
228
|
-
totalCount: data.TotalCount
|
|
229
|
-
};
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
ClientFile.GetList = GetList;
|
|
233
|
-
let Processor;
|
|
234
|
-
(function (Processor) {
|
|
235
|
-
let EConvertExt;
|
|
236
|
-
(function (EConvertExt) {
|
|
237
|
-
EConvertExt["GLB"] = ".glb";
|
|
238
|
-
EConvertExt["SKP"] = ".skp";
|
|
239
|
-
})(EConvertExt = Processor.EConvertExt || (Processor.EConvertExt = {}));
|
|
240
|
-
function ConvertFormat(params) {
|
|
241
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
242
|
-
const { api, fileId: clientFileId, ext, req: reqParams } = params;
|
|
243
|
-
if (!clientFileId || !ext) {
|
|
244
|
-
throw ("Client File ID and extension are required.");
|
|
245
|
-
}
|
|
246
|
-
return api.POST("convertFileToFile", {
|
|
247
|
-
clientFileId: clientFileId,
|
|
248
|
-
destinationFormat: ext,
|
|
249
|
-
operations: []
|
|
250
|
-
}, reqParams);
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
Processor.ConvertFormat = ConvertFormat;
|
|
254
|
-
})(Processor = ClientFile.Processor || (ClientFile.Processor = {}));
|
|
255
|
-
})(ClientFile = exports.ClientFile || (exports.ClientFile = {}));
|
|
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.ClientFile = void 0;
|
|
13
|
+
const api_1 = require("../api/api");
|
|
14
|
+
const uploader_1 = require("../internal/uploader");
|
|
15
|
+
/**
|
|
16
|
+
* Describes the "Client File" concept within Bruce.
|
|
17
|
+
* A client file is a record of a file uploaded to Bruce.
|
|
18
|
+
*/
|
|
19
|
+
var ClientFile;
|
|
20
|
+
(function (ClientFile) {
|
|
21
|
+
function GetCacheKey(fileId) {
|
|
22
|
+
return `${api_1.Api.ECacheKey.ClientFile}${api_1.Api.ECacheKey.Id}${fileId}`;
|
|
23
|
+
}
|
|
24
|
+
ClientFile.GetCacheKey = GetCacheKey;
|
|
25
|
+
function GetUrl(params) {
|
|
26
|
+
const { api, fileId } = params;
|
|
27
|
+
return `${api.GetBaseUrl()}file/${fileId}`;
|
|
28
|
+
}
|
|
29
|
+
ClientFile.GetUrl = GetUrl;
|
|
30
|
+
function GetUrlWithExt(params) {
|
|
31
|
+
const { api, file } = params;
|
|
32
|
+
return `${api.GetBaseUrl()}file/${file.ID}${file.FileExt ? file.FileExt : ""}`;
|
|
33
|
+
}
|
|
34
|
+
ClientFile.GetUrlWithExt = GetUrlWithExt;
|
|
35
|
+
function Get(params) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const { api, fileId, req: reqParams } = params;
|
|
38
|
+
if (!fileId) {
|
|
39
|
+
throw ("File ID is required.");
|
|
40
|
+
}
|
|
41
|
+
const key = GetCacheKey(fileId);
|
|
42
|
+
const cache = yield api.GetCacheItem(key, reqParams);
|
|
43
|
+
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
44
|
+
return cache.data;
|
|
45
|
+
}
|
|
46
|
+
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
try {
|
|
48
|
+
const data = yield api.GET(`file/${fileId}/details`, api_1.Api.PrepReqParams(reqParams));
|
|
49
|
+
res({
|
|
50
|
+
clientFile: data
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
rej(e);
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
yield api.SetCacheItem({
|
|
58
|
+
key,
|
|
59
|
+
value: prom,
|
|
60
|
+
req: reqParams
|
|
61
|
+
});
|
|
62
|
+
return prom;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
ClientFile.Get = Get;
|
|
66
|
+
function Delete(params) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
const { api, fileIds, req: reqParams } = params;
|
|
69
|
+
if (!fileIds.length) {
|
|
70
|
+
throw ("File IDs are required.");
|
|
71
|
+
}
|
|
72
|
+
const data = {
|
|
73
|
+
Items: fileIds
|
|
74
|
+
};
|
|
75
|
+
yield api.POST("deleteFiles", data, api_1.Api.PrepReqParams(reqParams));
|
|
76
|
+
for (let i = 0; i < fileIds.length; i++) {
|
|
77
|
+
const key = GetCacheKey(fileIds[i]);
|
|
78
|
+
api.Cache.Remove(key);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
ClientFile.Delete = Delete;
|
|
83
|
+
function Upload(params) {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
let { api, file, purpose, req, onProgress } = params;
|
|
86
|
+
if (!file) {
|
|
87
|
+
throw ("File is required.");
|
|
88
|
+
}
|
|
89
|
+
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
90
|
+
if (!size) {
|
|
91
|
+
throw ("You cannot upload a 0byte sized file.");
|
|
92
|
+
}
|
|
93
|
+
req = api_1.Api.PrepReqParams(req);
|
|
94
|
+
let clientFile;
|
|
95
|
+
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
96
|
+
clientFile = yield uploader_1.Uploader.DoMultiPartUpload({
|
|
97
|
+
api,
|
|
98
|
+
file,
|
|
99
|
+
urlSuffix: "fileUpload",
|
|
100
|
+
req,
|
|
101
|
+
onProgress
|
|
102
|
+
});
|
|
103
|
+
// TODO: Check if we can add it to the request like the small file upload.
|
|
104
|
+
if ((clientFile === null || clientFile === void 0 ? void 0 : clientFile.ID) && purpose) {
|
|
105
|
+
yield UpdatePurpose({
|
|
106
|
+
api,
|
|
107
|
+
fileId: clientFile.ID,
|
|
108
|
+
purpose,
|
|
109
|
+
req
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
req.onProgress = (progress) => {
|
|
115
|
+
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
116
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
117
|
+
percent: percent,
|
|
118
|
+
uploaded: false
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
if (purpose) {
|
|
122
|
+
req.formData = {
|
|
123
|
+
Purpose: purpose
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
clientFile = yield api.UPLOAD("file/uploadNew", file, req);
|
|
127
|
+
}
|
|
128
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
129
|
+
percent: 100,
|
|
130
|
+
uploaded: true
|
|
131
|
+
});
|
|
132
|
+
return {
|
|
133
|
+
clientFile
|
|
134
|
+
};
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
ClientFile.Upload = Upload;
|
|
138
|
+
function UpdatePurpose(params) {
|
|
139
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
let { api, fileId, purpose, req: reqParams } = params;
|
|
141
|
+
if (!purpose) {
|
|
142
|
+
purpose = "";
|
|
143
|
+
}
|
|
144
|
+
yield api.POST("file/updatepurpose/" + fileId + "/?Purpose=" + purpose, {
|
|
145
|
+
Purpose: purpose
|
|
146
|
+
}, api_1.Api.PrepReqParams(reqParams));
|
|
147
|
+
const cacheKey = GetCacheKey(fileId);
|
|
148
|
+
api.Cache.RemoveByContains(cacheKey);
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
ClientFile.UpdatePurpose = UpdatePurpose;
|
|
152
|
+
/**
|
|
153
|
+
* Uploads a temp file.
|
|
154
|
+
* This will return a temp file id which can be used in various endpoints.
|
|
155
|
+
* @param params
|
|
156
|
+
* @returns
|
|
157
|
+
*/
|
|
158
|
+
function UploadTemp(params) {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
let { api, file, req, onProgress } = params;
|
|
161
|
+
if (!file) {
|
|
162
|
+
throw ("File is required.");
|
|
163
|
+
}
|
|
164
|
+
const size = file === null || file === void 0 ? void 0 : file.size;
|
|
165
|
+
if (!size) {
|
|
166
|
+
throw ("You cannot upload a 0byte sized file.");
|
|
167
|
+
}
|
|
168
|
+
req = api_1.Api.PrepReqParams(req);
|
|
169
|
+
let tempFile;
|
|
170
|
+
if (size > uploader_1.Uploader.MIN_LARGE_FILE_SIZE) {
|
|
171
|
+
tempFile = yield uploader_1.Uploader.DoMultiPartUpload({
|
|
172
|
+
api,
|
|
173
|
+
file,
|
|
174
|
+
urlSuffix: "tempFileUpload",
|
|
175
|
+
req,
|
|
176
|
+
onProgress
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
req.onProgress = (progress) => {
|
|
181
|
+
const percent = Math.round((progress.loaded / file.size) * 100);
|
|
182
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
183
|
+
percent: percent,
|
|
184
|
+
uploaded: false
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
tempFile = yield api.UPLOAD("file/uploadTemp", file, req);
|
|
188
|
+
}
|
|
189
|
+
onProgress === null || onProgress === void 0 ? void 0 : onProgress({
|
|
190
|
+
percent: 100,
|
|
191
|
+
uploaded: true
|
|
192
|
+
});
|
|
193
|
+
return {
|
|
194
|
+
tempFileId: tempFile["TempFile.ID"]
|
|
195
|
+
};
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
ClientFile.UploadTemp = UploadTemp;
|
|
199
|
+
let Filter;
|
|
200
|
+
(function (Filter) {
|
|
201
|
+
let EColumn;
|
|
202
|
+
(function (EColumn) {
|
|
203
|
+
EColumn["ID"] = "id";
|
|
204
|
+
EColumn["Name"] = "name";
|
|
205
|
+
EColumn["DateTime"] = "datetime";
|
|
206
|
+
EColumn["MIMEType"] = "mimeType";
|
|
207
|
+
EColumn["Size"] = "size";
|
|
208
|
+
EColumn["User"] = "user";
|
|
209
|
+
EColumn["Extension"] = "extension";
|
|
210
|
+
})(EColumn = Filter.EColumn || (Filter.EColumn = {}));
|
|
211
|
+
let ESortOrder;
|
|
212
|
+
(function (ESortOrder) {
|
|
213
|
+
ESortOrder["ASC"] = "asc";
|
|
214
|
+
ESortOrder["DEC"] = "desc";
|
|
215
|
+
})(ESortOrder = Filter.ESortOrder || (Filter.ESortOrder = {}));
|
|
216
|
+
let ERowOperator;
|
|
217
|
+
(function (ERowOperator) {
|
|
218
|
+
ERowOperator["AND"] = "AND";
|
|
219
|
+
ERowOperator["OR"] = "OR";
|
|
220
|
+
})(ERowOperator = Filter.ERowOperator || (Filter.ERowOperator = {}));
|
|
221
|
+
})(Filter = ClientFile.Filter || (ClientFile.Filter = {}));
|
|
222
|
+
function GetList(params) {
|
|
223
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
224
|
+
const { api, filter, req: reqParams } = params;
|
|
225
|
+
const data = yield api.POST("files/filtered", filter, api_1.Api.PrepReqParams(reqParams));
|
|
226
|
+
return {
|
|
227
|
+
clientFiles: data.Items,
|
|
228
|
+
totalCount: data.TotalCount
|
|
229
|
+
};
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
ClientFile.GetList = GetList;
|
|
233
|
+
let Processor;
|
|
234
|
+
(function (Processor) {
|
|
235
|
+
let EConvertExt;
|
|
236
|
+
(function (EConvertExt) {
|
|
237
|
+
EConvertExt["GLB"] = ".glb";
|
|
238
|
+
EConvertExt["SKP"] = ".skp";
|
|
239
|
+
})(EConvertExt = Processor.EConvertExt || (Processor.EConvertExt = {}));
|
|
240
|
+
function ConvertFormat(params) {
|
|
241
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
242
|
+
const { api, fileId: clientFileId, ext, req: reqParams } = params;
|
|
243
|
+
if (!clientFileId || !ext) {
|
|
244
|
+
throw ("Client File ID and extension are required.");
|
|
245
|
+
}
|
|
246
|
+
return api.POST("convertFileToFile", {
|
|
247
|
+
clientFileId: clientFileId,
|
|
248
|
+
destinationFormat: ext,
|
|
249
|
+
operations: []
|
|
250
|
+
}, reqParams);
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
Processor.ConvertFormat = ConvertFormat;
|
|
254
|
+
})(Processor = ClientFile.Processor || (ClientFile.Processor = {}));
|
|
255
|
+
})(ClientFile = exports.ClientFile || (exports.ClientFile = {}));
|
|
256
256
|
//# sourceMappingURL=client-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-file.js","sourceRoot":"","sources":["../../../src/client-file/client-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client-file.js","sourceRoot":"","sources":["../../../src/client-file/client-file.ts"],"names":[],"mappings":"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"}
|