bruce-models 2.3.7 → 2.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/bruce-models.es5.js +8041 -8037
  2. package/dist/bruce-models.es5.js.map +1 -1
  3. package/dist/bruce-models.umd.js +7805 -7801
  4. package/dist/bruce-models.umd.js.map +1 -1
  5. package/dist/lib/account/account-invite.js +81 -81
  6. package/dist/lib/account/account-settings.js +2 -2
  7. package/dist/lib/account/account.js +169 -169
  8. package/dist/lib/account/account.js.map +1 -1
  9. package/dist/lib/ann-document/ann-document.js +94 -94
  10. package/dist/lib/api/abstract-api.js +269 -269
  11. package/dist/lib/api/api-getters.js +172 -172
  12. package/dist/lib/api/api.js +93 -93
  13. package/dist/lib/api/bruce-api.js +224 -224
  14. package/dist/lib/api/bruce-api.js.map +1 -1
  15. package/dist/lib/api/cam-api.js +88 -88
  16. package/dist/lib/api/global-api.js +82 -82
  17. package/dist/lib/api/guardian-api.js +82 -82
  18. package/dist/lib/api/idm-api.js +90 -90
  19. package/dist/lib/bruce-models.js +95 -91
  20. package/dist/lib/bruce-models.js.map +1 -1
  21. package/dist/lib/calculator/calculator.js +341 -341
  22. package/dist/lib/client-file/client-file.js +255 -255
  23. package/dist/lib/client-file/client-file.js.map +1 -1
  24. package/dist/lib/common/bounds.js +61 -61
  25. package/dist/lib/common/bruce-event.js +46 -46
  26. package/dist/lib/common/bruce-variable.js +60 -60
  27. package/dist/lib/common/cache.js +188 -188
  28. package/dist/lib/common/cache.js.map +1 -1
  29. package/dist/lib/common/camera.js +11 -11
  30. package/dist/lib/common/cartes.js +123 -123
  31. package/dist/lib/common/carto.js +60 -60
  32. package/dist/lib/common/color.js +86 -86
  33. package/dist/lib/common/delay-queue.js +56 -56
  34. package/dist/lib/common/dictionary.js +2 -2
  35. package/dist/lib/common/geometry.js +120 -120
  36. package/dist/lib/common/lru-cache.js +25 -25
  37. package/dist/lib/common/transform.js +2 -2
  38. package/dist/lib/common/utc.js +39 -39
  39. package/dist/lib/custom-form/custom-form-content.js +26 -26
  40. package/dist/lib/custom-form/custom-form.js +114 -114
  41. package/dist/lib/data-lab/data-lab.js +49 -49
  42. package/dist/lib/entity/entity-attachment-type.js +87 -87
  43. package/dist/lib/entity/entity-attachment-type.js.map +1 -1
  44. package/dist/lib/entity/entity-attachment.js +126 -126
  45. package/dist/lib/entity/entity-attachment.js.map +1 -1
  46. package/dist/lib/entity/entity-attribute.js +29 -29
  47. package/dist/lib/entity/entity-comment.js +86 -86
  48. package/dist/lib/entity/entity-comment.js.map +1 -1
  49. package/dist/lib/entity/entity-coords.js +153 -153
  50. package/dist/lib/entity/entity-coords.js.map +1 -1
  51. package/dist/lib/entity/entity-link.js +86 -86
  52. package/dist/lib/entity/entity-link.js.map +1 -1
  53. package/dist/lib/entity/entity-lod-category.js +108 -108
  54. package/dist/lib/entity/entity-lod.js +197 -197
  55. package/dist/lib/entity/entity-lod.js.map +1 -1
  56. package/dist/lib/entity/entity-relation-type.js +117 -117
  57. package/dist/lib/entity/entity-relation-type.js.map +1 -1
  58. package/dist/lib/entity/entity-relation.js +157 -157
  59. package/dist/lib/entity/entity-source.js +136 -136
  60. package/dist/lib/entity/entity-source.js.map +1 -1
  61. package/dist/lib/entity/entity-tag.js +157 -157
  62. package/dist/lib/entity/entity-type-visual-settings.js +13 -13
  63. package/dist/lib/entity/entity-type.js +122 -122
  64. package/dist/lib/entity/entity.js +341 -341
  65. package/dist/lib/entity/entity.js.map +1 -1
  66. package/dist/lib/entity/getters/batched-data-getter.js +84 -84
  67. package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
  68. package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
  69. package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
  70. package/dist/lib/entity/getters/entity-globe.js +175 -175
  71. package/dist/lib/entity/getters/view-monitor.js +2 -2
  72. package/dist/lib/import/import-cad.js +53 -53
  73. package/dist/lib/import/import-cad.js.map +1 -1
  74. package/dist/lib/import/import-csv.js +23 -23
  75. package/dist/lib/import/import-json.js +23 -23
  76. package/dist/lib/import/import-kml.js +23 -23
  77. package/dist/lib/import/imported-file.js +130 -130
  78. package/dist/lib/internal/uploader.js +76 -76
  79. package/dist/lib/internal/uploader.js.map +1 -1
  80. package/dist/lib/markup/markup.js +185 -185
  81. package/dist/lib/plugin/plugin.js +91 -91
  82. package/dist/lib/program-key/program-key.js +120 -120
  83. package/dist/lib/program-key/program-key.js.map +1 -1
  84. package/dist/lib/project/menu-item.js +122 -122
  85. package/dist/lib/project/project-view-bookmark.js +159 -159
  86. package/dist/lib/project/project-view-bookmark.js.map +1 -1
  87. package/dist/lib/project/project-view-legacy-tile.js +77 -77
  88. package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
  89. package/dist/lib/project/project-view-tile.js +125 -125
  90. package/dist/lib/project/project-view.js +141 -141
  91. package/dist/lib/project/zoom-control.js +17 -17
  92. package/dist/lib/server/hosting-location.js +156 -156
  93. package/dist/lib/server/hosting-location.js.map +1 -1
  94. package/dist/lib/server/message-broker.js +142 -142
  95. package/dist/lib/server/message-broker.js.map +1 -1
  96. package/dist/lib/server/pending-action.js +83 -83
  97. package/dist/lib/server/task.js +63 -63
  98. package/dist/lib/style/style.js +129 -129
  99. package/dist/lib/style/style.js.map +1 -1
  100. package/dist/lib/tileset/tileset.js +431 -431
  101. package/dist/lib/tileset/tileset.js.map +1 -1
  102. package/dist/lib/user/permission.js +20 -20
  103. package/dist/lib/user/session.js +145 -142
  104. package/dist/lib/user/session.js.map +1 -1
  105. package/dist/lib/user/user-group.js +94 -94
  106. package/dist/lib/user/user.js +475 -474
  107. package/dist/lib/user/user.js.map +1 -1
  108. package/dist/lib/util/encrypt-utils.js +19 -19
  109. package/dist/lib/util/math-utils.js +40 -40
  110. package/dist/lib/util/object-utils.js +17 -17
  111. package/dist/lib/util/path-utils.js +61 -61
  112. package/dist/lib/util/url-utils.js +94 -94
  113. package/dist/lib/util/url-utils.js.map +1 -1
  114. package/dist/types/account/account-invite.d.ts +68 -68
  115. package/dist/types/account/account-settings.d.ts +24 -24
  116. package/dist/types/account/account.d.ts +84 -84
  117. package/dist/types/ann-document/ann-document.d.ts +50 -50
  118. package/dist/types/api/abstract-api.d.ts +36 -36
  119. package/dist/types/api/api-getters.d.ts +64 -64
  120. package/dist/types/api/api.d.ts +93 -93
  121. package/dist/types/api/bruce-api.d.ts +64 -64
  122. package/dist/types/api/cam-api.d.ts +26 -26
  123. package/dist/types/api/global-api.d.ts +25 -25
  124. package/dist/types/api/guardian-api.d.ts +25 -25
  125. package/dist/types/api/idm-api.d.ts +28 -28
  126. package/dist/types/bruce-models.d.ts +79 -79
  127. package/dist/types/calculator/calculator.d.ts +61 -61
  128. package/dist/types/client-file/client-file.d.ts +130 -130
  129. package/dist/types/common/bounds.d.ts +30 -30
  130. package/dist/types/common/bruce-event.d.ts +12 -12
  131. package/dist/types/common/bruce-variable.d.ts +21 -21
  132. package/dist/types/common/cache.d.ts +57 -57
  133. package/dist/types/common/camera.d.ts +6 -6
  134. package/dist/types/common/cartes.d.ts +51 -51
  135. package/dist/types/common/carto.d.ts +15 -15
  136. package/dist/types/common/color.d.ts +24 -24
  137. package/dist/types/common/delay-queue.d.ts +14 -14
  138. package/dist/types/common/dictionary.d.ts +3 -3
  139. package/dist/types/common/geometry.d.ts +44 -44
  140. package/dist/types/common/lru-cache.d.ts +7 -7
  141. package/dist/types/common/transform.d.ts +15 -15
  142. package/dist/types/common/utc.d.ts +29 -29
  143. package/dist/types/custom-form/custom-form-content.d.ts +60 -60
  144. package/dist/types/custom-form/custom-form.d.ts +49 -49
  145. package/dist/types/data-lab/data-lab.d.ts +28 -28
  146. package/dist/types/entity/entity-attachment-type.d.ts +39 -39
  147. package/dist/types/entity/entity-attachment.d.ts +61 -61
  148. package/dist/types/entity/entity-attribute.d.ts +39 -39
  149. package/dist/types/entity/entity-comment.d.ts +40 -40
  150. package/dist/types/entity/entity-coords.d.ts +66 -66
  151. package/dist/types/entity/entity-link.d.ts +36 -36
  152. package/dist/types/entity/entity-lod-category.d.ts +36 -36
  153. package/dist/types/entity/entity-lod.d.ts +99 -99
  154. package/dist/types/entity/entity-relation-type.d.ts +44 -44
  155. package/dist/types/entity/entity-relation.d.ts +59 -59
  156. package/dist/types/entity/entity-source.d.ts +45 -45
  157. package/dist/types/entity/entity-tag.d.ts +53 -53
  158. package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
  159. package/dist/types/entity/entity-type.d.ts +63 -63
  160. package/dist/types/entity/entity.d.ts +118 -118
  161. package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
  162. package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
  163. package/dist/types/entity/getters/entity-globe.d.ts +21 -21
  164. package/dist/types/entity/getters/view-monitor.d.ts +13 -13
  165. package/dist/types/import/import-cad.d.ts +49 -49
  166. package/dist/types/import/import-csv.d.ts +31 -31
  167. package/dist/types/import/import-json.d.ts +26 -26
  168. package/dist/types/import/import-kml.d.ts +19 -19
  169. package/dist/types/import/imported-file.d.ts +47 -47
  170. package/dist/types/internal/uploader.d.ts +16 -16
  171. package/dist/types/markup/markup.d.ts +227 -227
  172. package/dist/types/plugin/plugin.d.ts +39 -39
  173. package/dist/types/program-key/program-key.d.ts +48 -48
  174. package/dist/types/project/menu-item.d.ts +169 -169
  175. package/dist/types/project/project-view-bookmark.d.ts +179 -179
  176. package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
  177. package/dist/types/project/project-view-tile.d.ts +65 -65
  178. package/dist/types/project/project-view.d.ts +136 -136
  179. package/dist/types/project/zoom-control.d.ts +22 -22
  180. package/dist/types/server/hosting-location.d.ts +74 -74
  181. package/dist/types/server/message-broker.d.ts +86 -86
  182. package/dist/types/server/pending-action.d.ts +66 -66
  183. package/dist/types/server/task.d.ts +36 -36
  184. package/dist/types/style/style.d.ts +107 -107
  185. package/dist/types/tileset/tileset.d.ts +264 -264
  186. package/dist/types/user/permission.d.ts +15 -15
  187. package/dist/types/user/session.d.ts +72 -66
  188. package/dist/types/user/user-group.d.ts +58 -58
  189. package/dist/types/user/user.d.ts +189 -188
  190. package/dist/types/util/encrypt-utils.d.ts +3 -3
  191. package/dist/types/util/math-utils.d.ts +16 -16
  192. package/dist/types/util/object-utils.d.ts +7 -7
  193. package/dist/types/util/path-utils.d.ts +8 -8
  194. package/dist/types/util/url-utils.d.ts +26 -26
  195. package/package.json +79 -78
@@ -1,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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"}