@or-sdk/files 0.20.1-createfilespackage.0 → 0.20.1-createfilespackage.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/Files.js CHANGED
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
17
28
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
29
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
30
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -102,10 +113,17 @@ var Files = (function (_super) {
102
113
  totalItems = [];
103
114
  _b.label = 1;
104
115
  case 1:
105
- queryParams = { isPublic: isPublic, prefix: prefix };
116
+ queryParams = {
117
+ isPublic: isPublic,
118
+ prefix: prefix,
119
+ };
106
120
  if (nextToken)
107
121
  queryParams.nextToken = nextToken;
108
- return [4, this.callApi({ method: 'GET', route: 'api/files', params: queryParams })];
122
+ return [4, this.callApi({
123
+ method: 'GET',
124
+ route: 'api/files',
125
+ params: queryParams,
126
+ })];
109
127
  case 2:
110
128
  _a = _b.sent(), items = _a.items, nextTokenResponse = _a.nextTokenResponse;
111
129
  totalItems = __spreadArray(__spreadArray([], totalItems, true), items, true);
@@ -121,20 +139,271 @@ var Files = (function (_super) {
121
139
  };
122
140
  Files.prototype.createFolder = function (folderName) {
123
141
  return __awaiter(this, void 0, void 0, function () {
124
- var e_1;
125
142
  return __generator(this, function (_a) {
126
143
  switch (_a.label) {
127
- case 0:
128
- _a.trys.push([0, 2, , 3]);
129
- return [4, this.callApi({ method: 'post', route: 'api/files', data: { key: folderName + '/' } })];
144
+ case 0: return [4, this.callApi({
145
+ method: 'post',
146
+ route: 'api/files',
147
+ data: { key: folderName + '/' },
148
+ })];
130
149
  case 1:
131
150
  _a.sent();
132
- return [3, 3];
133
- case 2:
134
- e_1 = _a.sent();
135
- console.log(e_1);
136
- return [3, 3];
137
- case 3: return [2];
151
+ return [2];
152
+ }
153
+ });
154
+ });
155
+ };
156
+ Files.prototype.renameFile = function (key, newKey, isPublic) {
157
+ return __awaiter(this, void 0, void 0, function () {
158
+ return __generator(this, function (_a) {
159
+ switch (_a.label) {
160
+ case 0: return [4, this.callApi({
161
+ method: 'put',
162
+ route: 'api/files',
163
+ params: {
164
+ key: key,
165
+ isPublic: isPublic,
166
+ },
167
+ data: { newKey: newKey },
168
+ })];
169
+ case 1:
170
+ _a.sent();
171
+ return [2];
172
+ }
173
+ });
174
+ });
175
+ };
176
+ Files.prototype.changePrivacy = function (key, newPrivacy, isPublic) {
177
+ return __awaiter(this, void 0, void 0, function () {
178
+ return __generator(this, function (_a) {
179
+ switch (_a.label) {
180
+ case 0: return [4, this.callApi({
181
+ method: 'patch',
182
+ route: 'api/files',
183
+ params: {
184
+ key: key,
185
+ isPublic: isPublic,
186
+ },
187
+ data: { newPrivacy: newPrivacy },
188
+ })];
189
+ case 1:
190
+ _a.sent();
191
+ return [2];
192
+ }
193
+ });
194
+ });
195
+ };
196
+ Files.prototype.deleteFile = function (key, isPublic) {
197
+ return __awaiter(this, void 0, void 0, function () {
198
+ return __generator(this, function (_a) {
199
+ switch (_a.label) {
200
+ case 0: return [4, this.callApi({
201
+ method: 'delete',
202
+ route: 'api/files',
203
+ params: {
204
+ key: key,
205
+ isPublic: isPublic,
206
+ },
207
+ })];
208
+ case 1:
209
+ _a.sent();
210
+ return [2];
211
+ }
212
+ });
213
+ });
214
+ };
215
+ Files.prototype.deleteFolder = function (key) {
216
+ return __awaiter(this, void 0, void 0, function () {
217
+ return __generator(this, function (_a) {
218
+ switch (_a.label) {
219
+ case 0: return [4, this.callApi({
220
+ method: 'delete',
221
+ route: 'api/folder',
222
+ data: { key: key },
223
+ })];
224
+ case 1:
225
+ _a.sent();
226
+ return [2];
227
+ }
228
+ });
229
+ });
230
+ };
231
+ Files.prototype.getObjectSize = function (key, isPublic) {
232
+ return __awaiter(this, void 0, void 0, function () {
233
+ return __generator(this, function (_a) {
234
+ switch (_a.label) {
235
+ case 0: return [4, this.callApi({
236
+ method: 'get',
237
+ route: 'api/folder',
238
+ params: {
239
+ key: key,
240
+ isPublic: isPublic,
241
+ },
242
+ })];
243
+ case 1:
244
+ _a.sent();
245
+ return [2];
246
+ }
247
+ });
248
+ });
249
+ };
250
+ Files.prototype.serviceMetadata = function () {
251
+ return __awaiter(this, void 0, void 0, function () {
252
+ return __generator(this, function (_a) {
253
+ switch (_a.label) {
254
+ case 0: return [4, this.callApi({
255
+ method: 'get',
256
+ route: 'api/meta',
257
+ })];
258
+ case 1:
259
+ _a.sent();
260
+ return [2];
261
+ }
262
+ });
263
+ });
264
+ };
265
+ Files.prototype.getDownloadUrl = function (key, isPublic) {
266
+ return __awaiter(this, void 0, void 0, function () {
267
+ return __generator(this, function (_a) {
268
+ switch (_a.label) {
269
+ case 0: return [4, this.callApi({
270
+ method: 'get',
271
+ route: 'api/url',
272
+ params: {
273
+ key: key,
274
+ isPublic: isPublic,
275
+ },
276
+ })];
277
+ case 1: return [2, _a.sent()];
278
+ }
279
+ });
280
+ });
281
+ };
282
+ Files.prototype.getSystemDownloadUrl = function (postfix, name, options) {
283
+ return __awaiter(this, void 0, void 0, function () {
284
+ return __generator(this, function (_a) {
285
+ switch (_a.label) {
286
+ case 0: return [4, this.callApi({
287
+ method: 'post',
288
+ route: 'downloadurl',
289
+ params: __assign({ postfix: postfix, name: name }, options),
290
+ })];
291
+ case 1: return [2, _a.sent()];
292
+ }
293
+ });
294
+ });
295
+ };
296
+ Files.prototype.getUploadUrl = function (data, isPublic) {
297
+ return __awaiter(this, void 0, void 0, function () {
298
+ return __generator(this, function (_a) {
299
+ switch (_a.label) {
300
+ case 0: return [4, this.callApi({
301
+ method: 'post',
302
+ route: 'api/url',
303
+ params: {
304
+ isPublic: isPublic,
305
+ },
306
+ data: __assign({}, data),
307
+ })];
308
+ case 1: return [2, _a.sent()];
309
+ }
310
+ });
311
+ });
312
+ };
313
+ Files.prototype.getSystemUploadUrl = function (postfix, files) {
314
+ return __awaiter(this, void 0, void 0, function () {
315
+ return __generator(this, function (_a) {
316
+ switch (_a.label) {
317
+ case 0: return [4, this.callApi({
318
+ method: 'post',
319
+ route: 'uploadfile',
320
+ data: {
321
+ postfix: postfix,
322
+ files: files,
323
+ },
324
+ })];
325
+ case 1: return [2, _a.sent()];
326
+ }
327
+ });
328
+ });
329
+ };
330
+ Files.prototype.uploadFile = function (file) {
331
+ return __awaiter(this, void 0, void 0, function () {
332
+ var _a, type, name, contentType, cacheControl, _b, url, fields, FormDataLib, formData;
333
+ return __generator(this, function (_c) {
334
+ switch (_c.label) {
335
+ case 0:
336
+ _a = file.fileModel, type = _a.type, name = _a.name;
337
+ contentType = type || 'binary/octet-stream';
338
+ cacheControl = file.ttl ? "max-age=".concat(file.ttl) : 'no-cache';
339
+ return [4, this.getUploadUrl({
340
+ contentType: contentType,
341
+ key: file.prefix + name,
342
+ maxFileSize: file.maxFileSize,
343
+ cacheControl: cacheControl,
344
+ }, file.isPublic)];
345
+ case 1:
346
+ _b = _c.sent(), url = _b.url, fields = _b.fields;
347
+ FormDataLib = FormData;
348
+ formData = new FormDataLib();
349
+ fields.forEach(function (field) {
350
+ formData.append(field.key, field.value);
351
+ });
352
+ formData.append('cache-control', cacheControl);
353
+ formData.append('content-type', contentType);
354
+ formData.append('File', file.fileModel.file, name);
355
+ return [4, this.callApi({
356
+ method: 'post',
357
+ route: url,
358
+ params: {
359
+ isPublic: file.isPublic,
360
+ },
361
+ data: { formData: formData },
362
+ })];
363
+ case 2: return [2, _c.sent()];
364
+ }
365
+ });
366
+ });
367
+ };
368
+ Files.prototype.uploadSystemFiles = function (postfix, files) {
369
+ return __awaiter(this, void 0, void 0, function () {
370
+ var patchedFiles, uploadParams, FormDataLib, formData;
371
+ var _this = this;
372
+ return __generator(this, function (_a) {
373
+ switch (_a.label) {
374
+ case 0:
375
+ patchedFiles = files.map(function (file) {
376
+ var cacheControl = file.ttl ? "max-age=".concat(file.ttl) : 'no-cache';
377
+ return __assign(__assign({}, file), { cacheControl: cacheControl });
378
+ });
379
+ return [4, this.getSystemUploadUrl(postfix, patchedFiles)];
380
+ case 1:
381
+ uploadParams = _a.sent();
382
+ FormDataLib = FormData;
383
+ formData = new FormDataLib();
384
+ uploadParams.map(function (param, index) { return __awaiter(_this, void 0, void 0, function () {
385
+ var url, fields, file;
386
+ return __generator(this, function (_a) {
387
+ switch (_a.label) {
388
+ case 0:
389
+ url = param.url, fields = param.fields;
390
+ file = patchedFiles[index];
391
+ fields.forEach(function (value) {
392
+ formData.append(value.key, value);
393
+ });
394
+ formData.append('cache-control', file.cacheControl);
395
+ formData.append('content-type', file.contentType);
396
+ formData.append('File', file.fileDescriptor, file.name);
397
+ return [4, this.callApi({
398
+ method: 'post',
399
+ route: url,
400
+ data: { formData: formData },
401
+ })];
402
+ case 1: return [2, _a.sent()];
403
+ }
404
+ });
405
+ }); });
406
+ return [2];
138
407
  }
139
408
  });
140
409
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../src/Files.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoC;AAEpC,yCAA0C;AAS1C;IAA2B,yBAAI;IAO7B,eAAY,MAAmB;QACrB,IAAA,KAAK,GAA0C,MAAM,MAAhD,EAAE,YAAY,GAA4B,MAAM,aAAlC,EAAE,SAAS,GAAiB,MAAM,UAAvB,EAAE,UAAU,GAAK,MAAM,WAAX,CAAY;eAE9D,kBAAM;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,SAAS,WAAA;YACT,UAAU,YAAA;YACV,UAAU,EAAE,uBAAW;SACxB,CAAC;IACJ,CAAC;IAMK,6BAAa,GAAnB,UAAqB,GAAW;;;;;4BACb,WAAM,IAAI,CAAC,OAAO,CAAC;4BAClC,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,YAAY;4BACnB,MAAM,EAAE,EAAE,GAAG,KAAA,EAAE;yBAChB,CAAC,EAAA;;wBAJM,IAAI,GAAK,CAAA,SAIf,CAAA,KAJU;wBAMZ,WAAO,IAAI,EAAA;;;;KACZ;IACK,4BAAY,GAAlB,UAAoB,QAAiB,EAAE,MAAc;;;;;;wBAC/C,SAAS,GAAkB,IAAI,CAAC;wBAChC,UAAU,GAAe,EAAE,CAAC;;;wBAGxB,WAAW,GAAY,EAAE,QAAQ,UAAA,EAAE,MAAM,QAAA,EAAE,CAAC;wBAClD,IAAI,SAAS;4BAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;wBAEQ,WAAM,IAAI,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAC,CAAC,EAAA;;wBAA/H,KAAmD,SAA4E,EAA9H,KAAK,WAAA,EAAE,iBAAiB,uBAAA;wBAC/B,UAAU,mCAAO,UAAU,SAAK,KAAK,OAAC,CAAC;wBAEvC,SAAS,GAAG,iBAAiB,CAAC;;;4BACvB,SAAS;;4BAElB,WAAO,UAAU,EAAC;;;;KACnB;IAEK,4BAAY,GAAlB,UAAoB,UAAkB;;;;;;;wBAElC,WAAM,IAAI,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAG,UAAU,GAAG,GAAG,EAAE,EAAE,CAAC,EAAA;;wBAA3F,SAA2F,CAAA;;;;wBAE3F,OAAO,CAAC,GAAG,CAAC,GAAC,CAAC,CAAA;;;;;;KAEjB;IACH,YAAC;AAAD,CAAC,AAxDD,CAA2B,WAAI,GAwD9B;AAxDY,sBAAK"}
1
+ {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../src/Files.ts"],"names":[],"mappings":"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"}
package/dist/esm/Files.js CHANGED
@@ -35,10 +35,17 @@ export class Files extends Base {
35
35
  let nextToken = null;
36
36
  let totalItems = [];
37
37
  do {
38
- const queryParams = { isPublic, prefix };
38
+ const queryParams = {
39
+ isPublic,
40
+ prefix,
41
+ };
39
42
  if (nextToken)
40
43
  queryParams.nextToken = nextToken;
41
- const { items, nextTokenResponse } = yield this.callApi({ method: 'GET', route: 'api/files', params: queryParams });
44
+ const { items, nextTokenResponse } = yield this.callApi({
45
+ method: 'GET',
46
+ route: 'api/files',
47
+ params: queryParams,
48
+ });
42
49
  totalItems = [...totalItems, ...items];
43
50
  nextToken = nextTokenResponse;
44
51
  } while (nextToken);
@@ -47,12 +54,179 @@ export class Files extends Base {
47
54
  }
48
55
  createFolder(folderName) {
49
56
  return __awaiter(this, void 0, void 0, function* () {
50
- try {
51
- yield this.callApi({ method: 'post', route: 'api/files', data: { key: folderName + '/' } });
52
- }
53
- catch (e) {
54
- console.log(e);
55
- }
57
+ yield this.callApi({
58
+ method: 'post',
59
+ route: 'api/files',
60
+ data: { key: folderName + '/' },
61
+ });
62
+ });
63
+ }
64
+ renameFile(key, newKey, isPublic) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ yield this.callApi({
67
+ method: 'put',
68
+ route: 'api/files',
69
+ params: {
70
+ key,
71
+ isPublic,
72
+ },
73
+ data: { newKey },
74
+ });
75
+ });
76
+ }
77
+ changePrivacy(key, newPrivacy, isPublic) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ yield this.callApi({
80
+ method: 'patch',
81
+ route: 'api/files',
82
+ params: {
83
+ key,
84
+ isPublic,
85
+ },
86
+ data: { newPrivacy },
87
+ });
88
+ });
89
+ }
90
+ deleteFile(key, isPublic) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ yield this.callApi({
93
+ method: 'delete',
94
+ route: 'api/files',
95
+ params: {
96
+ key,
97
+ isPublic,
98
+ },
99
+ });
100
+ });
101
+ }
102
+ deleteFolder(key) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ yield this.callApi({
105
+ method: 'delete',
106
+ route: 'api/folder',
107
+ data: { key },
108
+ });
109
+ });
110
+ }
111
+ getObjectSize(key, isPublic) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ yield this.callApi({
114
+ method: 'get',
115
+ route: 'api/folder',
116
+ params: {
117
+ key,
118
+ isPublic,
119
+ },
120
+ });
121
+ });
122
+ }
123
+ serviceMetadata() {
124
+ return __awaiter(this, void 0, void 0, function* () {
125
+ yield this.callApi({
126
+ method: 'get',
127
+ route: 'api/meta',
128
+ });
129
+ });
130
+ }
131
+ getDownloadUrl(key, isPublic) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ return yield this.callApi({
134
+ method: 'get',
135
+ route: 'api/url',
136
+ params: {
137
+ key,
138
+ isPublic,
139
+ },
140
+ });
141
+ });
142
+ }
143
+ getSystemDownloadUrl(postfix, name, options) {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ return yield this.callApi({
146
+ method: 'post',
147
+ route: 'downloadurl',
148
+ params: Object.assign({ postfix,
149
+ name }, options),
150
+ });
151
+ });
152
+ }
153
+ getUploadUrl(data, isPublic) {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ return yield this.callApi({
156
+ method: 'post',
157
+ route: 'api/url',
158
+ params: {
159
+ isPublic,
160
+ },
161
+ data: Object.assign({}, data),
162
+ });
163
+ });
164
+ }
165
+ getSystemUploadUrl(postfix, files) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ return yield this.callApi({
168
+ method: 'post',
169
+ route: 'uploadfile',
170
+ data: {
171
+ postfix,
172
+ files,
173
+ },
174
+ });
175
+ });
176
+ }
177
+ uploadFile(file) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ const { type, name } = file.fileModel;
180
+ const contentType = type || 'binary/octet-stream';
181
+ const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
182
+ const { url, fields } = yield this.getUploadUrl({
183
+ contentType,
184
+ key: file.prefix + name,
185
+ maxFileSize: file.maxFileSize,
186
+ cacheControl,
187
+ }, file.isPublic);
188
+ const FormDataLib = FormData;
189
+ const formData = new FormDataLib();
190
+ fields.forEach(field => {
191
+ formData.append(field.key, field.value);
192
+ });
193
+ formData.append('cache-control', cacheControl);
194
+ formData.append('content-type', contentType);
195
+ formData.append('File', file.fileModel.file, name);
196
+ return yield this.callApi({
197
+ method: 'post',
198
+ route: url,
199
+ params: {
200
+ isPublic: file.isPublic,
201
+ },
202
+ data: { formData },
203
+ });
204
+ });
205
+ }
206
+ uploadSystemFiles(postfix, files) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ const patchedFiles = files.map(file => {
209
+ const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
210
+ return Object.assign(Object.assign({}, file), { cacheControl });
211
+ });
212
+ const uploadParams = yield this.getSystemUploadUrl(postfix, patchedFiles);
213
+ const FormDataLib = FormData;
214
+ const formData = new FormDataLib();
215
+ uploadParams.map((param, index) => __awaiter(this, void 0, void 0, function* () {
216
+ const { url, fields } = param;
217
+ const file = patchedFiles[index];
218
+ fields.forEach(value => {
219
+ formData.append(value.key, value);
220
+ });
221
+ formData.append('cache-control', file.cacheControl);
222
+ formData.append('content-type', file.contentType);
223
+ formData.append('File', file.fileDescriptor, file.name);
224
+ return yield this.callApi({
225
+ method: 'post',
226
+ route: url,
227
+ data: { formData },
228
+ });
229
+ }));
56
230
  });
57
231
  }
58
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../src/Files.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS1C,MAAM,OAAO,KAAM,SAAQ,IAAI;IAO7B,YAAY,MAAmB;QAC7B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAE9D,KAAK,CAAC;YACJ,KAAK;YACL,YAAY;YACZ,SAAS;YACT,UAAU;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC;IAMK,aAAa,CAAE,GAAW;;YAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBAClC,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,EAAE,GAAG,EAAE;aAChB,CAAC,CAAA;YAEF,OAAO,IAAI,CAAA;QACb,CAAC;KAAA;IACK,YAAY,CAAE,QAAiB,EAAE,MAAc;;YACnD,IAAI,SAAS,GAAkB,IAAI,CAAC;YACpC,IAAI,UAAU,GAAe,EAAE,CAAC;YAEhC,GAAG;gBACD,MAAM,WAAW,GAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAClD,IAAI,SAAS;oBAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;gBAEjD,MAAM,EAAC,KAAK,EAAE,iBAAiB,EAAC,GAAyB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAC,CAAC,CAAC;gBACtI,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC;gBAEvC,SAAS,GAAG,iBAAiB,CAAC;aAC/B,QAAQ,SAAS,EAAE;YAEpB,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAEK,YAAY,CAAE,UAAkB;;YACpC,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,GAAG,EAAG,UAAU,GAAG,GAAG,EAAE,EAAE,CAAC,CAAA;aAC5F;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aACf;QACH,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../src/Files.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,26 @@
1
1
  import { Base } from '@or-sdk/base';
2
- import { FilesConfig, FileItem } from './types';
2
+ import { FilesConfig, FileItem, UploadUrlProps, UploadFile, UploadFileProps } from './types';
3
3
  export declare class Files extends Base {
4
4
  constructor(params: FilesConfig);
5
5
  getFolderSize(key: string): Promise<number>;
6
6
  getItemsList(isPublic: boolean, prefix: string): Promise<FileItem[]>;
7
7
  createFolder(folderName: string): Promise<void>;
8
+ renameFile(key: string, newKey: string, isPublic: boolean): Promise<void>;
9
+ changePrivacy(key: string, newPrivacy: string, isPublic: boolean): Promise<void>;
10
+ deleteFile(key: string, isPublic: boolean): Promise<void>;
11
+ deleteFolder(key: string): Promise<void>;
12
+ getObjectSize(key: string, isPublic: boolean): Promise<void>;
13
+ serviceMetadata(): Promise<void>;
14
+ getDownloadUrl(key: string, isPublic: boolean): Promise<string>;
15
+ getSystemDownloadUrl(postfix: string, name: string, options: any): Promise<unknown>;
16
+ getUploadUrl(data: UploadUrlProps, isPublic: boolean): Promise<{
17
+ url: string;
18
+ fields: {
19
+ key: string;
20
+ value: any;
21
+ }[];
22
+ }>;
23
+ getSystemUploadUrl(postfix: string, files: UploadFile[]): Promise<unknown>;
24
+ uploadFile(file: UploadFileProps): Promise<unknown>;
25
+ uploadSystemFiles(postfix: string, files: UploadFile[]): Promise<void>;
8
26
  }
@@ -20,9 +20,37 @@ export declare type FilesPageState = {
20
20
  discoveryUrl: string;
21
21
  serviceUrl: string;
22
22
  accountId: string;
23
+ renameFrom: string;
24
+ renameTo: string;
23
25
  items: FileItem[];
24
26
  };
25
27
  export declare type getItemsListResponse = {
26
28
  items: FileItem[];
27
29
  nextTokenResponse: string | null;
28
30
  };
31
+ export declare type UploadUrlProps = {
32
+ key: string;
33
+ contentType: string;
34
+ maxFileSize: number;
35
+ cacheControl: string;
36
+ };
37
+ export declare type UploadFile = {
38
+ name: string;
39
+ size: number;
40
+ contentType: string;
41
+ cacheControl: string;
42
+ ttl: number;
43
+ };
44
+ export declare type UploadFileProps = {
45
+ fileModel: {
46
+ type: string;
47
+ name: string;
48
+ file: any;
49
+ };
50
+ prefix: string;
51
+ isPublic: boolean;
52
+ expires: any;
53
+ progress: any;
54
+ maxFileSize: number;
55
+ ttl: number;
56
+ };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.20.1-createfilespackage.0",
2
+ "version": "0.20.1-createfilespackage.1",
3
3
  "name": "@or-sdk/files",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
@@ -23,7 +23,7 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@or-sdk/base": "^0.20.1-createfilespackage.0"
26
+ "@or-sdk/base": "^0.20.1-createfilespackage.1"
27
27
  },
28
- "gitHead": "64b4356c7b747020f554242be7c3885b2f651ad3"
28
+ "gitHead": "f89613861f453e95973b64607967b86ddba21700"
29
29
  }
package/src/Files.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Base } from '@or-sdk/base';
2
- import { FilesConfig, LsQuery, FileItem, getItemsListResponse } from './types';
2
+ import { FilesConfig, LsQuery, FileItem, getItemsListResponse, UploadUrlProps, UploadFile, UploadFileProps } from './types';
3
3
  import { SERVICE_KEY } from './constants';
4
4
 
5
5
  /**
@@ -32,24 +32,31 @@ export class Files extends Base {
32
32
  * Get folder size
33
33
  * @param key the name of folder
34
34
  */
35
- async getFolderSize (key: string): Promise<number> {
35
+ async getFolderSize(key: string): Promise<number> {
36
36
  const { size } = await this.callApi({
37
37
  method: 'GET',
38
38
  route: 'api/folder',
39
39
  params: { key },
40
- })
40
+ });
41
41
 
42
- return size
42
+ return size;
43
43
  }
44
- async getItemsList (isPublic: boolean, prefix: string): Promise<FileItem[]> {
44
+ async getItemsList(isPublic: boolean, prefix: string): Promise<FileItem[]> {
45
45
  let nextToken: null | string = null;
46
46
  let totalItems: FileItem[] = [];
47
47
 
48
48
  do {
49
- const queryParams :LsQuery = { isPublic, prefix };
49
+ const queryParams: LsQuery = {
50
+ isPublic,
51
+ prefix,
52
+ };
50
53
  if (nextToken) queryParams.nextToken = nextToken;
51
54
 
52
- const {items, nextTokenResponse}: getItemsListResponse = await this.callApi({method: 'GET', route: 'api/files', params: queryParams});
55
+ const { items, nextTokenResponse }: getItemsListResponse = await this.callApi({
56
+ method: 'GET',
57
+ route: 'api/files',
58
+ params: queryParams,
59
+ });
53
60
  totalItems = [...totalItems, ...items];
54
61
 
55
62
  nextToken = nextTokenResponse;
@@ -58,11 +65,198 @@ export class Files extends Base {
58
65
  return totalItems;
59
66
  }
60
67
 
61
- async createFolder (folderName: string) {
62
- try {
63
- await this.callApi({method: 'post', route: 'api/files', data: { key : folderName + '/' } })
64
- } catch (e) {
65
- console.log(e)
66
- }
68
+ async createFolder(folderName: string) {
69
+ await this.callApi({
70
+ method: 'post',
71
+ route: 'api/files',
72
+ data: { key: folderName + '/' },
73
+ });
74
+ }
75
+
76
+ async renameFile(key: string, newKey: string, isPublic: boolean) {
77
+ await this.callApi({
78
+ method: 'put',
79
+ route: 'api/files',
80
+ params: {
81
+ key,
82
+ isPublic,
83
+ },
84
+ data: { newKey },
85
+ });
86
+ }
87
+
88
+ async changePrivacy(key: string, newPrivacy: string, isPublic: boolean) {
89
+ await this.callApi({
90
+ method: 'patch',
91
+ route: 'api/files',
92
+ params: {
93
+ key,
94
+ isPublic,
95
+ },
96
+ data: { newPrivacy },
97
+ });
98
+ }
99
+
100
+ async deleteFile(key: string, isPublic: boolean) {
101
+ await this.callApi({
102
+ method: 'delete',
103
+ route: 'api/files',
104
+ params: {
105
+ key,
106
+ isPublic,
107
+ },
108
+ });
109
+ }
110
+
111
+ async deleteFolder(key: string) {
112
+ await this.callApi({
113
+ method: 'delete',
114
+ route: 'api/folder',
115
+ data: { key },
116
+ });
117
+ }
118
+
119
+ async getObjectSize(key: string, isPublic: boolean) {
120
+ await this.callApi({
121
+ method: 'get',
122
+ route: 'api/folder',
123
+ params: {
124
+ key,
125
+ isPublic,
126
+ },
127
+ });
128
+ }
129
+
130
+ async serviceMetadata() {
131
+ // TODO: i don't know what is it, should test it
132
+ await this.callApi({
133
+ method: 'get',
134
+ route: 'api/meta',
135
+ });
136
+ }
137
+
138
+ async getDownloadUrl(key: string, isPublic: boolean): Promise<string> {
139
+ // TODO: test it
140
+ return await this.callApi({
141
+ method: 'get',
142
+ route: 'api/url',
143
+ params: {
144
+ key,
145
+ isPublic,
146
+ },
147
+ });
148
+ }
149
+
150
+ async getSystemDownloadUrl(postfix: string, name: string, options: any) {
151
+ // TODO: test it
152
+ return await this.callApi({
153
+ method: 'post',
154
+ route: 'downloadurl',
155
+ params: {
156
+ postfix,
157
+ name,
158
+ ...options,
159
+ },
160
+ });
161
+ }
162
+
163
+ async getUploadUrl(data: UploadUrlProps, isPublic: boolean): Promise<{ url: string; fields: { key: string; value: any; }[]; }> {
164
+ return await this.callApi({
165
+ method: 'post',
166
+ route: 'api/url',
167
+ params: {
168
+ isPublic,
169
+ },
170
+ data: { ...data },
171
+ });
172
+ }
173
+
174
+ async getSystemUploadUrl(postfix: string, files: UploadFile[]) {
175
+ return await this.callApi({
176
+ method: 'post',
177
+ route: 'uploadfile',
178
+ data: {
179
+ postfix,
180
+ files,
181
+ // old version
182
+ // files: _.map(files, file => _.omit(file, ['fileDescriptor'])),
183
+ // ...(!_.isEmpty(options) && options),
184
+ },
185
+ });
186
+ }
187
+
188
+ async uploadFile(file: UploadFileProps) {
189
+ const { type, name } = file.fileModel;
190
+ const contentType = type || 'binary/octet-stream';
191
+ const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
192
+
193
+ const { url, fields } = await this.getUploadUrl({
194
+ contentType,
195
+ key: file.prefix + name,
196
+ maxFileSize: file.maxFileSize,
197
+ cacheControl,
198
+ }, file.isPublic);
199
+
200
+ const FormDataLib = FormData;
201
+ const formData = new FormDataLib();
202
+
203
+ fields.forEach(field => {
204
+ formData.append(field.key, field.value);
205
+ });
206
+
207
+ formData.append('cache-control', cacheControl);
208
+ formData.append('content-type', contentType);
209
+ formData.append('File', file.fileModel.file, name);
210
+
211
+
212
+ return await this.callApi({
213
+ method: 'post',
214
+ route: url,
215
+ params: {
216
+ isPublic: file.isPublic,
217
+ },
218
+ data: { formData },
219
+ });
220
+ }
221
+
222
+ async uploadSystemFiles(postfix: string, files: UploadFile[]) {
223
+ const patchedFiles = files.map(file => {
224
+ const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
225
+ return {
226
+ ...file,
227
+ cacheControl,
228
+ };
229
+ });
230
+
231
+ const uploadParams = await this.getSystemUploadUrl(postfix, patchedFiles);
232
+
233
+ const FormDataLib = FormData;
234
+ const formData = new FormDataLib();
235
+
236
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
237
+ // @ts-ignore
238
+ uploadParams.map(async (param, index) => {
239
+ const { url, fields } = param;
240
+ const file = patchedFiles[index];
241
+
242
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
243
+ // @ts-ignore
244
+ fields.forEach(value => {
245
+ formData.append(value.key, value);
246
+ });
247
+
248
+ formData.append('cache-control', file.cacheControl);
249
+ formData.append('content-type', file.contentType);
250
+
251
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
252
+ // @ts-ignore
253
+ formData.append('File', file.fileDescriptor, file.name);
254
+
255
+ return await this.callApi({
256
+ method: 'post',
257
+ route: url,
258
+ data: { formData },
259
+ });
260
+ });
67
261
  }
68
262
  }
package/src/types.ts CHANGED
@@ -20,25 +20,53 @@ export type FilesConfig = {
20
20
  };
21
21
 
22
22
  export type LsQuery = {
23
- isPublic: boolean,
24
- prefix: string,
25
- nextToken?: string
26
- }
23
+ isPublic: boolean;
24
+ prefix: string;
25
+ nextToken?: string;
26
+ };
27
27
 
28
28
  export type FileItem = {
29
- key: string,
30
- size?: number
31
- }
29
+ key: string;
30
+ size?: number;
31
+ };
32
32
 
33
33
  export type FilesPageState = {
34
- filesInstance: any,
35
- userToken: string,
36
- discoveryUrl: string,
37
- serviceUrl: string,
38
- accountId: string,
39
- items: FileItem[]
40
- }
34
+ filesInstance: any;
35
+ userToken: string;
36
+ discoveryUrl: string;
37
+ serviceUrl: string;
38
+ accountId: string;
39
+ renameFrom: string;
40
+ renameTo: string;
41
+ items: FileItem[];
42
+ };
41
43
  export type getItemsListResponse = {
42
- items: FileItem[],
43
- nextTokenResponse: string | null
44
- }
44
+ items: FileItem[];
45
+ nextTokenResponse: string | null;
46
+ };
47
+
48
+ export type UploadUrlProps = {
49
+ key: string;
50
+ contentType: string;
51
+ maxFileSize: number;
52
+ cacheControl: string;
53
+ };
54
+
55
+ export type UploadFile = {
56
+ name: string;
57
+ size: number;
58
+ contentType: string;
59
+ cacheControl: string;
60
+ ttl: number;
61
+ };
62
+
63
+ export type UploadFileProps = {
64
+ fileModel: { type: string; name: string; file: any; };
65
+ prefix: string;
66
+ isPublic: boolean;
67
+ expires: any;
68
+ progress: any;
69
+ maxFileSize: number;
70
+ ttl: number;
71
+ };
72
+