@or-sdk/files 0.20.1-createfilespackage.2 → 0.20.1-createfilespackage.20

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
@@ -70,18 +70,21 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
70
70
  }
71
71
  return to.concat(ar || Array.prototype.slice.call(from));
72
72
  };
73
+ var __importDefault = (this && this.__importDefault) || function (mod) {
74
+ return (mod && mod.__esModule) ? mod : { "default": mod };
75
+ };
73
76
  Object.defineProperty(exports, "__esModule", { value: true });
74
77
  exports.Files = void 0;
78
+ var axios_1 = __importDefault(require("axios"));
75
79
  var base_1 = require("@or-sdk/base");
76
80
  var constants_1 = require("./constants");
77
81
  var Files = (function (_super) {
78
82
  __extends(Files, _super);
79
83
  function Files(params) {
80
- var token = params.token, discoveryUrl = params.discoveryUrl, accountId = params.accountId, serviceUrl = params.serviceUrl;
84
+ var token = params.token, discoveryUrl = params.discoveryUrl, serviceUrl = params.serviceUrl;
81
85
  return _super.call(this, {
82
86
  token: token,
83
87
  discoveryUrl: discoveryUrl,
84
- accountId: accountId,
85
88
  serviceUrl: serviceUrl,
86
89
  serviceKey: constants_1.SERVICE_KEY,
87
90
  }) || this;
@@ -92,7 +95,7 @@ var Files = (function (_super) {
92
95
  return __generator(this, function (_a) {
93
96
  switch (_a.label) {
94
97
  case 0: return [4, this.callApi({
95
- method: 'GET',
98
+ method: 'get',
96
99
  route: 'api/folder',
97
100
  params: { key: key },
98
101
  })];
@@ -103,7 +106,7 @@ var Files = (function (_super) {
103
106
  });
104
107
  });
105
108
  };
106
- Files.prototype.getItemsList = function (isPublic, prefix) {
109
+ Files.prototype.getItemsList = function (isPublic, treePrefix) {
107
110
  return __awaiter(this, void 0, void 0, function () {
108
111
  var nextToken, totalItems, queryParams, _a, items, nextTokenResponse;
109
112
  return __generator(this, function (_b) {
@@ -115,7 +118,7 @@ var Files = (function (_super) {
115
118
  case 1:
116
119
  queryParams = {
117
120
  isPublic: isPublic,
118
- prefix: prefix,
121
+ prefix: treePrefix,
119
122
  };
120
123
  if (nextToken)
121
124
  queryParams.nextToken = nextToken;
@@ -137,6 +140,40 @@ var Files = (function (_super) {
137
140
  });
138
141
  });
139
142
  };
143
+ Files.prototype.search = function (isPublic, term) {
144
+ return __awaiter(this, void 0, void 0, function () {
145
+ var nextToken, totalItems, queryParams, _a, files, nextTokenResponse;
146
+ return __generator(this, function (_b) {
147
+ switch (_b.label) {
148
+ case 0:
149
+ nextToken = null;
150
+ totalItems = [];
151
+ _b.label = 1;
152
+ case 1:
153
+ queryParams = {
154
+ isPublic: isPublic,
155
+ term: term,
156
+ };
157
+ if (nextToken)
158
+ queryParams.nextToken = nextToken;
159
+ return [4, this.callApi({
160
+ method: 'GET',
161
+ route: 'api/files/search',
162
+ params: queryParams,
163
+ })];
164
+ case 2:
165
+ _a = _b.sent(), files = _a.files, nextTokenResponse = _a.nextTokenResponse;
166
+ totalItems = __spreadArray(__spreadArray([], totalItems, true), files, true);
167
+ nextToken = nextTokenResponse;
168
+ _b.label = 3;
169
+ case 3:
170
+ if (nextToken) return [3, 1];
171
+ _b.label = 4;
172
+ case 4: return [2, totalItems];
173
+ }
174
+ });
175
+ });
176
+ };
140
177
  Files.prototype.createFolder = function (folderName) {
141
178
  return __awaiter(this, void 0, void 0, function () {
142
179
  return __generator(this, function (_a) {
@@ -144,7 +181,7 @@ var Files = (function (_super) {
144
181
  case 0: return [4, this.callApi({
145
182
  method: 'post',
146
183
  route: 'api/files',
147
- data: { key: folderName + '/' },
184
+ data: { key: folderName },
148
185
  })];
149
186
  case 1:
150
187
  _a.sent();
@@ -173,18 +210,18 @@ var Files = (function (_super) {
173
210
  });
174
211
  });
175
212
  };
176
- Files.prototype.changePrivacy = function (key, newPrivacy, isPublic) {
213
+ Files.prototype.duplicateFile = function (key, newKey, isPublic) {
177
214
  return __awaiter(this, void 0, void 0, function () {
178
215
  return __generator(this, function (_a) {
179
216
  switch (_a.label) {
180
217
  case 0: return [4, this.callApi({
181
- method: 'patch',
182
- route: 'api/files',
218
+ method: 'put',
219
+ route: 'api/files/duplicate',
183
220
  params: {
184
221
  key: key,
185
222
  isPublic: isPublic,
186
223
  },
187
- data: { newPrivacy: newPrivacy },
224
+ data: { newKey: newKey },
188
225
  })];
189
226
  case 1:
190
227
  _a.sent();
@@ -193,17 +230,18 @@ var Files = (function (_super) {
193
230
  });
194
231
  });
195
232
  };
196
- Files.prototype.deleteFile = function (key, isPublic) {
233
+ Files.prototype.changePrivacy = function (key, newPrivacy, isPublic) {
197
234
  return __awaiter(this, void 0, void 0, function () {
198
235
  return __generator(this, function (_a) {
199
236
  switch (_a.label) {
200
237
  case 0: return [4, this.callApi({
201
- method: 'delete',
238
+ method: 'patch',
202
239
  route: 'api/files',
203
240
  params: {
204
241
  key: key,
205
242
  isPublic: isPublic,
206
243
  },
244
+ data: { newPrivacy: newPrivacy },
207
245
  })];
208
246
  case 1:
209
247
  _a.sent();
@@ -212,14 +250,17 @@ var Files = (function (_super) {
212
250
  });
213
251
  });
214
252
  };
215
- Files.prototype.deleteFolder = function (key) {
253
+ Files.prototype.deleteFile = function (key, isPublic) {
216
254
  return __awaiter(this, void 0, void 0, function () {
217
255
  return __generator(this, function (_a) {
218
256
  switch (_a.label) {
219
257
  case 0: return [4, this.callApi({
220
258
  method: 'delete',
221
- route: 'api/folder',
222
- data: { key: key },
259
+ route: 'api/files',
260
+ params: {
261
+ key: key,
262
+ isPublic: isPublic,
263
+ },
223
264
  })];
224
265
  case 1:
225
266
  _a.sent();
@@ -228,17 +269,14 @@ var Files = (function (_super) {
228
269
  });
229
270
  });
230
271
  };
231
- Files.prototype.getObjectSize = function (key, isPublic) {
272
+ Files.prototype.deleteFolder = function (key) {
232
273
  return __awaiter(this, void 0, void 0, function () {
233
274
  return __generator(this, function (_a) {
234
275
  switch (_a.label) {
235
276
  case 0: return [4, this.callApi({
236
- method: 'get',
277
+ method: 'delete',
237
278
  route: 'api/folder',
238
- params: {
239
- key: key,
240
- isPublic: isPublic,
241
- },
279
+ data: { key: key },
242
280
  })];
243
281
  case 1:
244
282
  _a.sent();
@@ -264,74 +302,59 @@ var Files = (function (_super) {
264
302
  });
265
303
  });
266
304
  };
267
- Files.prototype.getUploadUrl = function (data, isPublic) {
305
+ Files.prototype.getObjectInfo = function (key, isPublic) {
268
306
  return __awaiter(this, void 0, void 0, function () {
269
307
  return __generator(this, function (_a) {
270
308
  switch (_a.label) {
271
309
  case 0: return [4, this.callApi({
272
- method: 'post',
273
- route: 'api/url',
310
+ method: 'get',
311
+ route: 'api/file',
274
312
  params: {
313
+ key: key,
275
314
  isPublic: isPublic,
276
315
  },
277
- data: __assign({}, data),
278
316
  })];
279
317
  case 1: return [2, _a.sent()];
280
318
  }
281
319
  });
282
320
  });
283
321
  };
284
- Files.prototype.getSystemUploadUrl = function (postfix, files) {
285
- return __awaiter(this, void 0, void 0, function () {
286
- return __generator(this, function (_a) {
287
- switch (_a.label) {
288
- case 0: return [4, this.callApi({
289
- method: 'post',
290
- route: 'uploadfile',
291
- data: {
292
- postfix: postfix,
293
- files: files,
294
- },
295
- })];
296
- case 1: return [2, _a.sent()];
297
- }
298
- });
322
+ Files.prototype.getUploadUrl = function (data, isPublic) {
323
+ return this.callApi({
324
+ method: 'post',
325
+ route: 'api/url',
326
+ params: {
327
+ isPublic: isPublic,
328
+ prefix: '',
329
+ },
330
+ data: __assign({}, data),
299
331
  });
300
332
  };
301
333
  Files.prototype.uploadFile = function (file) {
302
334
  return __awaiter(this, void 0, void 0, function () {
303
- var _a, type, name, contentType, cacheControl, _b, url, fields, FormDataLib, formData;
335
+ var _a, type, name, contentType, _b, url, fields, formData;
304
336
  return __generator(this, function (_c) {
305
337
  switch (_c.label) {
306
338
  case 0:
307
339
  _a = file.fileModel, type = _a.type, name = _a.name;
308
340
  contentType = type || 'binary/octet-stream';
309
- cacheControl = file.ttl ? "max-age=".concat(file.ttl) : 'no-cache';
310
341
  return [4, this.getUploadUrl({
311
342
  contentType: contentType,
312
343
  key: file.prefix + name,
313
- maxFileSize: file.maxFileSize,
314
- cacheControl: cacheControl,
344
+ cacheControl: 'no-cache',
315
345
  }, file.isPublic)];
316
346
  case 1:
317
347
  _b = _c.sent(), url = _b.url, fields = _b.fields;
318
- FormDataLib = FormData;
319
- formData = new FormDataLib();
320
- fields.forEach(function (field) {
321
- formData.append(field.key, field.value);
348
+ formData = new FormData();
349
+ Object.entries(fields).forEach(function (value) {
350
+ formData.append(value[0], value[1]);
322
351
  });
323
- formData.append('cache-control', cacheControl);
352
+ formData.append('cache-control', 'no-cache');
324
353
  formData.append('content-type', contentType);
325
- formData.append('File', file.fileModel.file, name);
326
- return [4, this.callApi({
327
- method: 'post',
328
- route: url,
329
- params: {
330
- isPublic: file.isPublic,
331
- },
332
- data: { formData: formData },
354
+ formData.append('File', file.fileModel, name);
355
+ return [2, axios_1.default.post(url, formData, {
356
+ onUploadProgress: function (event) { return file.progress(event, name); },
333
357
  })];
334
- case 2: return [2, _c.sent()];
335
358
  }
336
359
  });
337
360
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../src/Files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../src/Files.ts"],"names":[],"mappings":"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"}
package/dist/esm/Files.js CHANGED
@@ -7,15 +7,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ import axios from 'axios';
10
11
  import { Base } from '@or-sdk/base';
11
12
  import { SERVICE_KEY } from './constants';
12
13
  export class Files extends Base {
13
14
  constructor(params) {
14
- const { token, discoveryUrl, accountId, serviceUrl } = params;
15
+ const { token, discoveryUrl, serviceUrl } = params;
15
16
  super({
16
17
  token,
17
18
  discoveryUrl,
18
- accountId,
19
19
  serviceUrl,
20
20
  serviceKey: SERVICE_KEY,
21
21
  });
@@ -23,21 +23,21 @@ export class Files extends Base {
23
23
  getFolderSize(key) {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
25
  const { size } = yield this.callApi({
26
- method: 'GET',
26
+ method: 'get',
27
27
  route: 'api/folder',
28
28
  params: { key },
29
29
  });
30
30
  return size;
31
31
  });
32
32
  }
33
- getItemsList(isPublic, prefix) {
33
+ getItemsList(isPublic, treePrefix) {
34
34
  return __awaiter(this, void 0, void 0, function* () {
35
35
  let nextToken = null;
36
36
  let totalItems = [];
37
37
  do {
38
38
  const queryParams = {
39
39
  isPublic,
40
- prefix,
40
+ prefix: treePrefix,
41
41
  };
42
42
  if (nextToken)
43
43
  queryParams.nextToken = nextToken;
@@ -52,12 +52,34 @@ export class Files extends Base {
52
52
  return totalItems;
53
53
  });
54
54
  }
55
+ search(isPublic, term) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ let nextToken = null;
58
+ let totalItems = [];
59
+ do {
60
+ const queryParams = {
61
+ isPublic,
62
+ term,
63
+ };
64
+ if (nextToken)
65
+ queryParams.nextToken = nextToken;
66
+ const { files, nextTokenResponse } = yield this.callApi({
67
+ method: 'GET',
68
+ route: 'api/files/search',
69
+ params: queryParams,
70
+ });
71
+ totalItems = [...totalItems, ...files];
72
+ nextToken = nextTokenResponse;
73
+ } while (nextToken);
74
+ return totalItems;
75
+ });
76
+ }
55
77
  createFolder(folderName) {
56
78
  return __awaiter(this, void 0, void 0, function* () {
57
79
  yield this.callApi({
58
80
  method: 'post',
59
81
  route: 'api/files',
60
- data: { key: folderName + '/' },
82
+ data: { key: folderName },
61
83
  });
62
84
  });
63
85
  }
@@ -74,6 +96,19 @@ export class Files extends Base {
74
96
  });
75
97
  });
76
98
  }
99
+ duplicateFile(key, newKey, isPublic) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ yield this.callApi({
102
+ method: 'put',
103
+ route: 'api/files/duplicate',
104
+ params: {
105
+ key,
106
+ isPublic,
107
+ },
108
+ data: { newKey },
109
+ });
110
+ });
111
+ }
77
112
  changePrivacy(key, newPrivacy, isPublic) {
78
113
  return __awaiter(this, void 0, void 0, function* () {
79
114
  yield this.callApi({
@@ -108,18 +143,6 @@ export class Files extends Base {
108
143
  });
109
144
  });
110
145
  }
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
146
  getDownloadUrl(key, isPublic) {
124
147
  return __awaiter(this, void 0, void 0, function* () {
125
148
  return yield this.callApi({
@@ -132,56 +155,47 @@ export class Files extends Base {
132
155
  });
133
156
  });
134
157
  }
135
- getUploadUrl(data, isPublic) {
158
+ getObjectInfo(key, isPublic) {
136
159
  return __awaiter(this, void 0, void 0, function* () {
137
160
  return yield this.callApi({
138
- method: 'post',
139
- route: 'api/url',
161
+ method: 'get',
162
+ route: 'api/file',
140
163
  params: {
164
+ key,
141
165
  isPublic,
142
166
  },
143
- data: Object.assign({}, data),
144
167
  });
145
168
  });
146
169
  }
147
- getSystemUploadUrl(postfix, files) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- return yield this.callApi({
150
- method: 'post',
151
- route: 'uploadfile',
152
- data: {
153
- postfix,
154
- files,
155
- },
156
- });
170
+ getUploadUrl(data, isPublic) {
171
+ return this.callApi({
172
+ method: 'post',
173
+ route: 'api/url',
174
+ params: {
175
+ isPublic,
176
+ prefix: '',
177
+ },
178
+ data: Object.assign({}, data),
157
179
  });
158
180
  }
159
181
  uploadFile(file) {
160
182
  return __awaiter(this, void 0, void 0, function* () {
161
183
  const { type, name } = file.fileModel;
162
184
  const contentType = type || 'binary/octet-stream';
163
- const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
164
185
  const { url, fields } = yield this.getUploadUrl({
165
186
  contentType,
166
187
  key: file.prefix + name,
167
- maxFileSize: file.maxFileSize,
168
- cacheControl,
188
+ cacheControl: 'no-cache',
169
189
  }, file.isPublic);
170
- const FormDataLib = FormData;
171
- const formData = new FormDataLib();
172
- fields.forEach(field => {
173
- formData.append(field.key, field.value);
190
+ const formData = new FormData();
191
+ Object.entries(fields).forEach(value => {
192
+ formData.append(value[0], value[1]);
174
193
  });
175
- formData.append('cache-control', cacheControl);
194
+ formData.append('cache-control', 'no-cache');
176
195
  formData.append('content-type', contentType);
177
- formData.append('File', file.fileModel.file, name);
178
- return yield this.callApi({
179
- method: 'post',
180
- route: url,
181
- params: {
182
- isPublic: file.isPublic,
183
- },
184
- data: { formData },
196
+ formData.append('File', file.fileModel, name);
197
+ return axios.post(url, formData, {
198
+ onUploadProgress: event => file.progress(event, name),
185
199
  });
186
200
  });
187
201
  }
@@ -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,CAAC,GAAW;;YAC7B,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,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IACK,YAAY,CAAC,QAAiB,EAAE,MAAc;;YAClD,IAAI,SAAS,GAAkB,IAAI,CAAC;YACpC,IAAI,UAAU,GAAe,EAAE,CAAC;YAEhC,GAAG;gBACD,MAAM,WAAW,GAAY;oBAC3B,QAAQ;oBACR,MAAM;iBACP,CAAC;gBACF,IAAI,SAAS;oBAAE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;gBAEjD,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAyB,MAAM,IAAI,CAAC,OAAO,CAAC;oBAC5E,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBACH,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,CAAC,UAAkB;;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,GAAG,GAAG,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU,CAAC,GAAW,EAAE,MAAc,EAAE,QAAiB;;YAC7D,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE;oBACN,GAAG;oBACH,QAAQ;iBACT;gBACD,IAAI,EAAE,EAAE,MAAM,EAAE;aACjB,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,aAAa,CAAC,GAAW,EAAE,UAAkB,EAAE,QAAiB;;YACpE,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE;oBACN,GAAG;oBACH,QAAQ;iBACT;gBACD,IAAI,EAAE,EAAE,UAAU,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU,CAAC,GAAW,EAAE,QAAiB;;YAC7C,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE;oBACN,GAAG;oBACH,QAAQ;iBACT;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,YAAY,CAAC,GAAW;;YAC5B,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,EAAE,GAAG,EAAE;aACd,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,aAAa,CAAC,GAAW,EAAE,QAAiB;;YAChD,MAAM,IAAI,CAAC,OAAO,CAAC;gBACjB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE;oBACN,GAAG;oBACH,QAAQ;iBACT;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,cAAc,CAAC,GAAW,EAAE,QAAiB;;YAEjD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;gBACxB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE;oBACN,GAAG;oBACH,QAAQ;iBACT;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,YAAY,CAAC,IAAoB,EAAE,QAAiB;;YACxD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;gBACxB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE;oBACN,QAAQ;iBACT;gBACD,IAAI,oBAAO,IAAI,CAAE;aAClB,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,kBAAkB,CAAC,OAAe,EAAE,KAAmB;;YAC3D,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;gBACxB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE;oBACJ,OAAO;oBACP,KAAK;iBAIN;aACF,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU,CAAC,IAAqB;;YACpC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,IAAI,qBAAqB,CAAC;YAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAEnE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;gBAC9C,WAAW;gBACX,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY;aACb,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElB,MAAM,WAAW,GAAG,QAAQ,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;YAEnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACrB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAC/C,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YAC7C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAGnD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;gBACxB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE;oBACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;gBACD,IAAI,EAAE,EAAE,QAAQ,EAAE;aACnB,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"Files.js","sourceRoot":"","sources":["../../src/Files.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
1
  import { Base } from '@or-sdk/base';
2
- import { FilesConfig, FileItem, UploadUrlProps, UploadFile, UploadFileProps, UploadUrlResponse } from './types';
2
+ import { FilesConfig, FileItem, UploadFileProps, HeadData } from './types';
3
3
  export declare class Files extends Base {
4
4
  constructor(params: FilesConfig);
5
5
  getFolderSize(key: string): Promise<number>;
6
- getItemsList(isPublic: boolean, prefix: string): Promise<FileItem[]>;
6
+ getItemsList(isPublic: boolean, treePrefix: string): Promise<FileItem[]>;
7
+ search(isPublic: boolean, term: string): Promise<FileItem[]>;
7
8
  createFolder(folderName: string): Promise<void>;
8
9
  renameFile(key: string, newKey: string, isPublic: boolean): Promise<void>;
9
- changePrivacy(key: string, newPrivacy: string, isPublic: boolean): Promise<void>;
10
+ duplicateFile(key: string, newKey: string, isPublic: boolean): Promise<void>;
11
+ changePrivacy(key: string, newPrivacy: 'private' | 'public', isPublic: boolean): Promise<void>;
10
12
  deleteFile(key: string, isPublic: boolean): Promise<void>;
11
13
  deleteFolder(key: string): Promise<void>;
12
- getObjectSize(key: string, isPublic: boolean): Promise<void>;
13
14
  getDownloadUrl(key: string, isPublic: boolean): Promise<string>;
14
- getUploadUrl(data: UploadUrlProps, isPublic: boolean): Promise<UploadUrlResponse>;
15
- getSystemUploadUrl(postfix: string, files: UploadFile[]): Promise<unknown>;
16
- uploadFile(file: UploadFileProps): Promise<unknown>;
15
+ getObjectInfo(key: string, isPublic: boolean): Promise<HeadData>;
16
+ private getUploadUrl;
17
+ uploadFile(file: UploadFileProps): Promise<void>;
17
18
  }
@@ -5,14 +5,20 @@ export declare type FilesConfig = {
5
5
  accountId?: string;
6
6
  serviceUrl?: string;
7
7
  };
8
- export declare type LsQuery = {
8
+ export declare type GetItemsQuery = {
9
9
  isPublic: boolean;
10
10
  prefix: string;
11
11
  nextToken?: string;
12
12
  };
13
+ export declare type SearchQuery = {
14
+ isPublic: boolean;
15
+ term: string;
16
+ nextToken?: string;
17
+ };
13
18
  export declare type FileItem = {
14
19
  key: string;
15
20
  size?: number;
21
+ lastModified?: string;
16
22
  };
17
23
  export declare type FilesPageState = {
18
24
  filesInstance: any;
@@ -22,42 +28,45 @@ export declare type FilesPageState = {
22
28
  accountId: string;
23
29
  renameFrom: string;
24
30
  renameTo: string;
31
+ searchString: string;
25
32
  items: FileItem[];
33
+ searchItems: FileItem[];
34
+ };
35
+ export declare type HeadData = {
36
+ contentLength: number;
37
+ contentType: string;
38
+ metaData: object;
26
39
  };
27
- export declare type getItemsListResponse = {
40
+ export declare type GetItemsListResponse = {
28
41
  items: FileItem[];
29
42
  nextTokenResponse: string | null;
30
43
  };
44
+ export declare type SearchItemsListResponse = {
45
+ files: FileItem[];
46
+ nextTokenResponse: string | null;
47
+ };
31
48
  export declare type UploadUrlProps = {
32
49
  key: string;
33
50
  contentType: string;
34
- maxFileSize: number;
51
+ maxFileSize?: number;
35
52
  cacheControl: string;
36
53
  };
37
54
  export declare type UploadUrlResponse = {
38
55
  url: string;
39
56
  fields: {
40
57
  key: string;
41
- value: any;
58
+ bucket: string;
59
+ Policy: string;
60
+ 'X-Amz-Date': string;
61
+ 'X-Amz-Signature': string;
62
+ 'X-Amz-Algorithm': string;
63
+ 'X-Amz-Credential': string;
64
+ 'X-Amz-Security-Token': string;
42
65
  }[];
43
66
  };
44
- export declare type UploadFile = {
45
- name: string;
46
- size: number;
47
- contentType: string;
48
- cacheControl: string;
49
- ttl: number;
50
- };
51
67
  export declare type UploadFileProps = {
52
- fileModel: {
53
- type: string;
54
- name: string;
55
- file: any;
56
- };
68
+ fileModel: File;
57
69
  prefix: string;
58
70
  isPublic: boolean;
59
- expires: any;
60
- progress: any;
61
- maxFileSize: number;
62
- ttl: number;
71
+ progress: (event: ProgressEvent, name: string) => void;
63
72
  };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.20.1-createfilespackage.2",
2
+ "version": "0.20.1-createfilespackage.20",
3
3
  "name": "@or-sdk/files",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
@@ -23,7 +23,8 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@or-sdk/base": "^0.20.1-createfilespackage.2"
26
+ "@or-sdk/base": "^0.20.1-createfilespackage.20",
27
+ "axios": "^0.24.0"
27
28
  },
28
- "gitHead": "ad802277a99d7af5b7a92856f4917c0c6f4c9604"
29
+ "gitHead": "91f4845ec94874576bcb803cfce781b689ffee68"
29
30
  }
package/src/Files.ts CHANGED
@@ -1,6 +1,10 @@
1
+ import axios from 'axios';
1
2
  import { Base } from '@or-sdk/base';
2
- import { FilesConfig, LsQuery, FileItem, getItemsListResponse, UploadUrlProps, UploadFile, UploadFileProps, UploadUrlResponse } from './types';
3
3
  import { SERVICE_KEY } from './constants';
4
+ import {
5
+ FilesConfig, GetItemsQuery, SearchItemsListResponse, SearchQuery, FileItem,
6
+ GetItemsListResponse, UploadUrlProps, UploadFileProps, UploadUrlResponse, HeadData,
7
+ } from './types';
4
8
 
5
9
  /**
6
10
  * OneReach Files service client
@@ -17,12 +21,11 @@ export class Files extends Base {
17
21
  * ```
18
22
  */
19
23
  constructor(params: FilesConfig) {
20
- const { token, discoveryUrl, accountId, serviceUrl } = params;
24
+ const { token, discoveryUrl, serviceUrl } = params;
21
25
 
22
26
  super({
23
27
  token,
24
28
  discoveryUrl,
25
- accountId,
26
29
  serviceUrl,
27
30
  serviceKey: SERVICE_KEY,
28
31
  });
@@ -31,28 +34,36 @@ export class Files extends Base {
31
34
  /**
32
35
  * Get folder size
33
36
  * @param key the name of folder
37
+ * @return total folder size in bytes
34
38
  */
35
39
  async getFolderSize(key: string): Promise<number> {
36
40
  const { size } = await this.callApi({
37
- method: 'GET',
41
+ method: 'get',
38
42
  route: 'api/folder',
39
43
  params: { key },
40
44
  });
41
45
 
42
46
  return size;
43
47
  }
44
- async getItemsList(isPublic: boolean, prefix: string): Promise<FileItem[]> {
48
+
49
+ /**
50
+ * Get list of public/private FileItems from api
51
+ * @param isPublic does this file public or private
52
+ * @param treePrefix the folder path where GET FileItems, for Root use ''
53
+ * @return list of FileItems
54
+ */
55
+ async getItemsList(isPublic: boolean, treePrefix: string): Promise<FileItem[]> {
45
56
  let nextToken: null | string = null;
46
57
  let totalItems: FileItem[] = [];
47
58
 
48
59
  do {
49
- const queryParams: LsQuery = {
60
+ const queryParams: GetItemsQuery = {
50
61
  isPublic,
51
- prefix,
62
+ prefix: treePrefix,
52
63
  };
53
64
  if (nextToken) queryParams.nextToken = nextToken;
54
65
 
55
- const { items, nextTokenResponse }: getItemsListResponse = await this.callApi({
66
+ const { items, nextTokenResponse }: GetItemsListResponse = await this.callApi({
56
67
  method: 'GET',
57
68
  route: 'api/files',
58
69
  params: queryParams,
@@ -65,15 +76,51 @@ export class Files extends Base {
65
76
  return totalItems;
66
77
  }
67
78
 
68
- async createFolder(folderName: string) {
79
+ async search(isPublic: boolean, term: string): Promise<FileItem[]> {
80
+ let nextToken = null;
81
+ let totalItems: FileItem[] = [];
82
+
83
+ do {
84
+ const queryParams: SearchQuery = {
85
+ isPublic,
86
+ term,
87
+ };
88
+
89
+ if (nextToken) queryParams.nextToken = nextToken;
90
+
91
+ const { files, nextTokenResponse }: SearchItemsListResponse = await this.callApi({
92
+ method: 'GET',
93
+ route: 'api/files/search',
94
+ params: queryParams,
95
+ });
96
+
97
+ totalItems = [...totalItems, ...files];
98
+ nextToken = nextTokenResponse;
99
+
100
+ } while (nextToken);
101
+
102
+ return totalItems;
103
+ }
104
+
105
+ /**
106
+ * Create new folders
107
+ * @param folderName should have folder path + folder name, example: /main/New folder
108
+ */
109
+ async createFolder(folderName: string): Promise<void> {
69
110
  await this.callApi({
70
111
  method: 'post',
71
112
  route: 'api/files',
72
- data: { key: folderName + '/' },
113
+ data: { key: folderName },
73
114
  });
74
115
  }
75
116
 
76
- async renameFile(key: string, newKey: string, isPublic: boolean) {
117
+ /**
118
+ * Rename exist file
119
+ * @param key old file name
120
+ * @param newKey new file name
121
+ * @param isPublic does this file public or private
122
+ */
123
+ async renameFile(key: string, newKey: string, isPublic: boolean): Promise<void> {
77
124
  await this.callApi({
78
125
  method: 'put',
79
126
  route: 'api/files',
@@ -85,7 +132,31 @@ export class Files extends Base {
85
132
  });
86
133
  }
87
134
 
88
- async changePrivacy(key: string, newPrivacy: string, isPublic: boolean) {
135
+ /**
136
+ * Duplicate file
137
+ * @param key target file name
138
+ * @param newKey new file name
139
+ * @param isPublic does this file public or private
140
+ */
141
+ async duplicateFile(key: string, newKey: string, isPublic: boolean): Promise<void> {
142
+ await this.callApi({
143
+ method: 'put',
144
+ route: 'api/files/duplicate',
145
+ params: {
146
+ key,
147
+ isPublic,
148
+ },
149
+ data: { newKey },
150
+ });
151
+ }
152
+
153
+ /**
154
+ * Change file privacy
155
+ * @param key file name
156
+ * @param newPrivacy new file privacy
157
+ * @param isPublic does this file public or private
158
+ */
159
+ async changePrivacy(key: string, newPrivacy: 'private' | 'public', isPublic: boolean): Promise<void> {
89
160
  await this.callApi({
90
161
  method: 'patch',
91
162
  route: 'api/files',
@@ -97,7 +168,13 @@ export class Files extends Base {
97
168
  });
98
169
  }
99
170
 
100
- async deleteFile(key: string, isPublic: boolean) {
171
+ /**
172
+ * Delete file
173
+ * @param key file name
174
+ * @param isPublic does this file public or private
175
+ */
176
+ async deleteFile(key: string, isPublic: boolean): Promise<void> {
177
+ // TODO: add error handler and status response true
101
178
  await this.callApi({
102
179
  method: 'delete',
103
180
  route: 'api/files',
@@ -108,7 +185,12 @@ export class Files extends Base {
108
185
  });
109
186
  }
110
187
 
111
- async deleteFolder(key: string) {
188
+ /**
189
+ * Delete folder
190
+ * @param key folder name
191
+ */
192
+ async deleteFolder(key: string): Promise<void> {
193
+ // TODO: add error handler and status response true
112
194
  await this.callApi({
113
195
  method: 'delete',
114
196
  route: 'api/folder',
@@ -116,10 +198,16 @@ export class Files extends Base {
116
198
  });
117
199
  }
118
200
 
119
- async getObjectSize(key: string, isPublic: boolean) {
120
- await this.callApi({
201
+ /**
202
+ * Get a link to download file, example: for preview
203
+ * @param key folder name
204
+ * @param isPublic does this file public or private
205
+ * @return file url
206
+ */
207
+ async getDownloadUrl(key: string, isPublic: boolean): Promise<string> {
208
+ return await this.callApi({
121
209
  method: 'get',
122
- route: 'api/folder',
210
+ route: 'api/url',
123
211
  params: {
124
212
  key,
125
213
  isPublic,
@@ -127,11 +215,15 @@ export class Files extends Base {
127
215
  });
128
216
  }
129
217
 
130
- async getDownloadUrl(key: string, isPublic: boolean): Promise<string> {
131
- // TODO: test it, it's used in old-files-ui
218
+ /**
219
+ * Get object info
220
+ * @param key folder name
221
+ * @param isPublic does this file public or private
222
+ */
223
+ async getObjectInfo(key: string, isPublic: boolean): Promise<HeadData> {
132
224
  return await this.callApi({
133
225
  method: 'get',
134
- route: 'api/url',
226
+ route: 'api/file',
135
227
  params: {
136
228
  key,
137
229
  isPublic,
@@ -139,62 +231,52 @@ export class Files extends Base {
139
231
  });
140
232
  }
141
233
 
142
- async getUploadUrl(data: UploadUrlProps, isPublic: boolean): Promise<UploadUrlResponse> {
143
- return await this.callApi({
234
+ /**
235
+ * Get a link for uploading specific file, JUST FOR INNER USE
236
+ * @param data has UploadUrlProps values inside
237
+ * @param isPublic does this file public or private
238
+ * @return uploading Url with different header Fields
239
+ */
240
+ private getUploadUrl(data: UploadUrlProps, isPublic: boolean): Promise<UploadUrlResponse> {
241
+ return this.callApi({
144
242
  method: 'post',
145
243
  route: 'api/url',
146
244
  params: {
147
245
  isPublic,
246
+ prefix: '',
148
247
  },
149
248
  data: { ...data },
150
249
  });
151
250
  }
152
251
 
153
- async getSystemUploadUrl(postfix: string, files: UploadFile[]) {
154
- return await this.callApi({
155
- method: 'post',
156
- route: 'uploadfile',
157
- data: {
158
- postfix,
159
- files,
160
- // old version
161
- // files: _.map(files, file => _.omit(file, ['fileDescriptor'])),
162
- // ...(!_.isEmpty(options) && options),
163
- },
164
- });
165
- }
166
-
167
- async uploadFile(file: UploadFileProps) {
252
+ /**
253
+ * Upload file to S3 bucket
254
+ * @param file file itself for uploading with prefix (path) and isPublic boolean
255
+ */
256
+ async uploadFile(file: UploadFileProps): Promise<void> {
168
257
  const { type, name } = file.fileModel;
169
258
  const contentType = type || 'binary/octet-stream';
170
- const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
171
259
 
172
260
  const { url, fields } = await this.getUploadUrl({
173
261
  contentType,
174
262
  key: file.prefix + name,
175
- maxFileSize: file.maxFileSize,
176
- cacheControl,
263
+ cacheControl: 'no-cache',
177
264
  }, file.isPublic);
178
265
 
179
- const FormDataLib = FormData;
180
- const formData = new FormDataLib();
266
+ const formData = new FormData();
181
267
 
182
- fields.forEach(field => {
183
- formData.append(field.key, field.value);
268
+ Object.entries(fields).forEach(value => {
269
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
270
+ // @ts-ignore
271
+ formData.append(value[0], value[1]);
184
272
  });
185
273
 
186
- formData.append('cache-control', cacheControl);
274
+ formData.append('cache-control', 'no-cache');
187
275
  formData.append('content-type', contentType);
188
- formData.append('File', file.fileModel.file, name);
189
-
276
+ formData.append('File', file.fileModel, name);
190
277
 
191
- return await this.callApi({
192
- method: 'post',
193
- route: url,
194
- params: {
195
- isPublic: file.isPublic,
196
- },
197
- data: { formData },
278
+ return axios.post(url, formData, {
279
+ onUploadProgress: event => file.progress(event, name),
198
280
  });
199
281
  }
200
282
  }
package/src/types.ts CHANGED
@@ -19,15 +19,22 @@ export type FilesConfig = {
19
19
  serviceUrl?: string;
20
20
  };
21
21
 
22
- export type LsQuery = {
22
+ export type GetItemsQuery = {
23
23
  isPublic: boolean;
24
24
  prefix: string;
25
25
  nextToken?: string;
26
26
  };
27
27
 
28
+ export type SearchQuery = {
29
+ isPublic: boolean;
30
+ term: string;
31
+ nextToken?: string;
32
+ };
33
+
28
34
  export type FileItem = {
29
35
  key: string;
30
36
  size?: number;
37
+ lastModified?: string;
31
38
  };
32
39
 
33
40
  export type FilesPageState = {
@@ -38,17 +45,31 @@ export type FilesPageState = {
38
45
  accountId: string;
39
46
  renameFrom: string;
40
47
  renameTo: string;
48
+ searchString: string;
41
49
  items: FileItem[];
50
+ searchItems: FileItem[];
42
51
  };
43
- export type getItemsListResponse = {
52
+
53
+ export type HeadData = {
54
+ contentLength: number;
55
+ contentType: string;
56
+ metaData: object;
57
+ };
58
+
59
+ export type GetItemsListResponse = {
44
60
  items: FileItem[];
45
61
  nextTokenResponse: string | null;
46
62
  };
47
63
 
64
+ export type SearchItemsListResponse = {
65
+ files: FileItem[];
66
+ nextTokenResponse: string | null;
67
+ };
68
+
48
69
  export type UploadUrlProps = {
49
70
  key: string;
50
71
  contentType: string;
51
- maxFileSize: number;
72
+ maxFileSize?: number;
52
73
  cacheControl: string;
53
74
  };
54
75
 
@@ -56,25 +77,20 @@ export type UploadUrlResponse = {
56
77
  url: string;
57
78
  fields: {
58
79
  key: string;
59
- value: any;
80
+ bucket: string;
81
+ Policy: string;
82
+ 'X-Amz-Date': string;
83
+ 'X-Amz-Signature': string;
84
+ 'X-Amz-Algorithm': string;
85
+ 'X-Amz-Credential': string;
86
+ 'X-Amz-Security-Token': string;
60
87
  }[];
61
88
  };
62
89
 
63
- export type UploadFile = {
64
- name: string;
65
- size: number;
66
- contentType: string;
67
- cacheControl: string;
68
- ttl: number;
69
- };
70
-
71
90
  export type UploadFileProps = {
72
- fileModel: { type: string; name: string; file: any; };
91
+ fileModel: File;
73
92
  prefix: string;
74
93
  isPublic: boolean;
75
- expires: any;
76
- progress: any;
77
- maxFileSize: number;
78
- ttl: number;
94
+ progress: (event: ProgressEvent, name: string) => void;
79
95
  };
80
96