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

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;
@@ -173,18 +176,18 @@ var Files = (function (_super) {
173
176
  });
174
177
  });
175
178
  };
176
- Files.prototype.changePrivacy = function (key, newPrivacy, isPublic) {
179
+ Files.prototype.duplicateFile = function (key, newKey, isPublic) {
177
180
  return __awaiter(this, void 0, void 0, function () {
178
181
  return __generator(this, function (_a) {
179
182
  switch (_a.label) {
180
183
  case 0: return [4, this.callApi({
181
- method: 'patch',
182
- route: 'api/files',
184
+ method: 'put',
185
+ route: 'api/files/duplicate',
183
186
  params: {
184
187
  key: key,
185
188
  isPublic: isPublic,
186
189
  },
187
- data: { newPrivacy: newPrivacy },
190
+ data: { newKey: newKey },
188
191
  })];
189
192
  case 1:
190
193
  _a.sent();
@@ -193,17 +196,18 @@ var Files = (function (_super) {
193
196
  });
194
197
  });
195
198
  };
196
- Files.prototype.deleteFile = function (key, isPublic) {
199
+ Files.prototype.changePrivacy = function (key, newPrivacy, isPublic) {
197
200
  return __awaiter(this, void 0, void 0, function () {
198
201
  return __generator(this, function (_a) {
199
202
  switch (_a.label) {
200
203
  case 0: return [4, this.callApi({
201
- method: 'delete',
204
+ method: 'patch',
202
205
  route: 'api/files',
203
206
  params: {
204
207
  key: key,
205
208
  isPublic: isPublic,
206
209
  },
210
+ data: { newPrivacy: newPrivacy },
207
211
  })];
208
212
  case 1:
209
213
  _a.sent();
@@ -212,29 +216,13 @@ var Files = (function (_super) {
212
216
  });
213
217
  });
214
218
  };
215
- Files.prototype.deleteFolder = function (key) {
219
+ Files.prototype.deleteFile = function (key, isPublic) {
216
220
  return __awaiter(this, void 0, void 0, function () {
217
221
  return __generator(this, function (_a) {
218
222
  switch (_a.label) {
219
223
  case 0: return [4, this.callApi({
220
224
  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',
225
+ route: 'api/files',
238
226
  params: {
239
227
  key: key,
240
228
  isPublic: isPublic,
@@ -247,13 +235,14 @@ var Files = (function (_super) {
247
235
  });
248
236
  });
249
237
  };
250
- Files.prototype.serviceMetadata = function () {
238
+ Files.prototype.deleteFolder = function (key) {
251
239
  return __awaiter(this, void 0, void 0, function () {
252
240
  return __generator(this, function (_a) {
253
241
  switch (_a.label) {
254
242
  case 0: return [4, this.callApi({
255
- method: 'get',
256
- route: 'api/meta',
243
+ method: 'delete',
244
+ route: 'api/folder',
245
+ data: { key: key },
257
246
  })];
258
247
  case 1:
259
248
  _a.sent();
@@ -279,131 +268,57 @@ var Files = (function (_super) {
279
268
  });
280
269
  });
281
270
  };
282
- Files.prototype.getSystemDownloadUrl = function (postfix, name, options) {
271
+ Files.prototype.getObjectInfo = function (key, isPublic) {
283
272
  return __awaiter(this, void 0, void 0, function () {
284
273
  return __generator(this, function (_a) {
285
274
  switch (_a.label) {
286
275
  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',
276
+ method: 'get',
277
+ route: 'api/file',
303
278
  params: {
279
+ key: key,
304
280
  isPublic: isPublic,
305
281
  },
306
- data: __assign({}, data),
307
282
  })];
308
283
  case 1: return [2, _a.sent()];
309
284
  }
310
285
  });
311
286
  });
312
287
  };
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
- });
288
+ Files.prototype.getUploadUrl = function (data, isPublic) {
289
+ return this.callApi({
290
+ method: 'post',
291
+ route: 'api/url',
292
+ params: {
293
+ isPublic: isPublic,
294
+ prefix: '',
295
+ },
296
+ data: __assign({}, data),
328
297
  });
329
298
  };
330
299
  Files.prototype.uploadFile = function (file) {
331
300
  return __awaiter(this, void 0, void 0, function () {
332
- var _a, type, name, contentType, cacheControl, _b, url, fields, FormDataLib, formData;
301
+ var _a, type, name, contentType, _b, url, fields, formData;
333
302
  return __generator(this, function (_c) {
334
303
  switch (_c.label) {
335
304
  case 0:
336
305
  _a = file.fileModel, type = _a.type, name = _a.name;
337
306
  contentType = type || 'binary/octet-stream';
338
- cacheControl = file.ttl ? "max-age=".concat(file.ttl) : 'no-cache';
339
307
  return [4, this.getUploadUrl({
340
308
  contentType: contentType,
341
309
  key: file.prefix + name,
342
- maxFileSize: file.maxFileSize,
343
- cacheControl: cacheControl,
310
+ cacheControl: 'no-cache',
344
311
  }, file.isPublic)];
345
312
  case 1:
346
313
  _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);
314
+ formData = new FormData();
315
+ Object.entries(fields).forEach(function (value) {
316
+ formData.append(value[0], value[1]);
351
317
  });
352
- formData.append('cache-control', cacheControl);
318
+ formData.append('cache-control', 'no-cache');
353
319
  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];
320
+ formData.append('File', file.fileModel, name);
321
+ return [2, axios_1.default.post(url, formData)];
407
322
  }
408
323
  });
409
324
  });
@@ -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;
@@ -74,45 +74,37 @@ export class Files extends Base {
74
74
  });
75
75
  });
76
76
  }
77
- changePrivacy(key, newPrivacy, isPublic) {
77
+ duplicateFile(key, newKey, isPublic) {
78
78
  return __awaiter(this, void 0, void 0, function* () {
79
79
  yield this.callApi({
80
- method: 'patch',
81
- route: 'api/files',
80
+ method: 'put',
81
+ route: 'api/files/duplicate',
82
82
  params: {
83
83
  key,
84
84
  isPublic,
85
85
  },
86
- data: { newPrivacy },
86
+ data: { newKey },
87
87
  });
88
88
  });
89
89
  }
90
- deleteFile(key, isPublic) {
90
+ changePrivacy(key, newPrivacy, isPublic) {
91
91
  return __awaiter(this, void 0, void 0, function* () {
92
92
  yield this.callApi({
93
- method: 'delete',
93
+ method: 'patch',
94
94
  route: 'api/files',
95
95
  params: {
96
96
  key,
97
97
  isPublic,
98
98
  },
99
+ data: { newPrivacy },
99
100
  });
100
101
  });
101
102
  }
102
- deleteFolder(key) {
103
+ deleteFile(key, isPublic) {
103
104
  return __awaiter(this, void 0, void 0, function* () {
104
105
  yield this.callApi({
105
106
  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',
107
+ route: 'api/files',
116
108
  params: {
117
109
  key,
118
110
  isPublic,
@@ -120,11 +112,12 @@ export class Files extends Base {
120
112
  });
121
113
  });
122
114
  }
123
- serviceMetadata() {
115
+ deleteFolder(key) {
124
116
  return __awaiter(this, void 0, void 0, function* () {
125
117
  yield this.callApi({
126
- method: 'get',
127
- route: 'api/meta',
118
+ method: 'delete',
119
+ route: 'api/folder',
120
+ data: { key },
128
121
  });
129
122
  });
130
123
  }
@@ -140,93 +133,46 @@ export class Files extends Base {
140
133
  });
141
134
  });
142
135
  }
143
- getSystemDownloadUrl(postfix, name, options) {
136
+ getObjectInfo(key, isPublic) {
144
137
  return __awaiter(this, void 0, void 0, function* () {
145
138
  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',
139
+ method: 'get',
140
+ route: 'api/file',
158
141
  params: {
142
+ key,
159
143
  isPublic,
160
144
  },
161
- data: Object.assign({}, data),
162
145
  });
163
146
  });
164
147
  }
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
- });
148
+ getUploadUrl(data, isPublic) {
149
+ return this.callApi({
150
+ method: 'post',
151
+ route: 'api/url',
152
+ params: {
153
+ isPublic,
154
+ prefix: '',
155
+ },
156
+ data: Object.assign({}, data),
175
157
  });
176
158
  }
177
159
  uploadFile(file) {
178
160
  return __awaiter(this, void 0, void 0, function* () {
179
161
  const { type, name } = file.fileModel;
180
162
  const contentType = type || 'binary/octet-stream';
181
- const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
182
163
  const { url, fields } = yield this.getUploadUrl({
183
164
  contentType,
184
165
  key: file.prefix + name,
185
- maxFileSize: file.maxFileSize,
186
- cacheControl,
166
+ cacheControl: 'no-cache',
187
167
  }, file.isPublic);
188
- const FormDataLib = FormData;
189
- const formData = new FormDataLib();
190
- fields.forEach(field => {
191
- formData.append(field.key, field.value);
168
+ const formData = new FormData();
169
+ Object.entries(fields).forEach(value => {
170
+ formData.append(value[0], value[1]);
192
171
  });
193
- formData.append('cache-control', cacheControl);
172
+ formData.append('cache-control', 'no-cache');
194
173
  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
- }));
174
+ formData.append('File', file.fileModel, name);
175
+ return axios.post(url, formData);
230
176
  });
231
177
  }
232
178
  }
@@ -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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"}
@@ -1,26 +1,17 @@
1
1
  import { Base } from '@or-sdk/base';
2
- import { FilesConfig, FileItem, UploadUrlProps, UploadFile, UploadFileProps } 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
7
  createFolder(folderName: string): Promise<void>;
8
8
  renameFile(key: string, newKey: string, isPublic: boolean): Promise<void>;
9
- changePrivacy(key: string, newPrivacy: string, isPublic: boolean): Promise<void>;
9
+ duplicateFile(key: string, newKey: string, isPublic: boolean): Promise<void>;
10
+ changePrivacy(key: string, newPrivacy: 'private' | 'public', isPublic: boolean): Promise<void>;
10
11
  deleteFile(key: string, isPublic: boolean): Promise<void>;
11
12
  deleteFolder(key: string): Promise<void>;
12
- getObjectSize(key: string, isPublic: boolean): Promise<void>;
13
- serviceMetadata(): Promise<void>;
14
13
  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>;
14
+ getObjectInfo(key: string, isPublic: boolean): Promise<HeadData>;
15
+ private getUploadUrl;
16
+ uploadFile(file: UploadFileProps): Promise<void>;
26
17
  }
@@ -5,7 +5,7 @@ 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;
@@ -24,33 +24,36 @@ export declare type FilesPageState = {
24
24
  renameTo: string;
25
25
  items: FileItem[];
26
26
  };
27
- export declare type getItemsListResponse = {
27
+ export declare type HeadData = {
28
+ contentLength: number;
29
+ contentType: string;
30
+ metaData: object;
31
+ };
32
+ export declare type GetItemsListResponse = {
28
33
  items: FileItem[];
29
34
  nextTokenResponse: string | null;
30
35
  };
31
36
  export declare type UploadUrlProps = {
32
37
  key: string;
33
38
  contentType: string;
34
- maxFileSize: number;
39
+ maxFileSize?: number;
35
40
  cacheControl: string;
36
41
  };
37
- export declare type UploadFile = {
38
- name: string;
39
- size: number;
40
- contentType: string;
41
- cacheControl: string;
42
- ttl: number;
42
+ export declare type UploadUrlResponse = {
43
+ url: string;
44
+ fields: {
45
+ key: string;
46
+ bucket: string;
47
+ Policy: string;
48
+ 'X-Amz-Date': string;
49
+ 'X-Amz-Signature': string;
50
+ 'X-Amz-Algorithm': string;
51
+ 'X-Amz-Credential': string;
52
+ 'X-Amz-Security-Token': string;
53
+ }[];
43
54
  };
44
55
  export declare type UploadFileProps = {
45
- fileModel: {
46
- type: string;
47
- name: string;
48
- file: any;
49
- };
56
+ fileModel: File;
50
57
  prefix: string;
51
58
  isPublic: boolean;
52
- expires: any;
53
- progress: any;
54
- maxFileSize: number;
55
- ttl: number;
56
59
  };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.20.1-createfilespackage.1",
2
+ "version": "0.20.1-createfilespackage.11",
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.1"
26
+ "@or-sdk/base": "^0.20.1-createfilespackage.11",
27
+ "axios": "^0.24.0"
27
28
  },
28
- "gitHead": "f89613861f453e95973b64607967b86ddba21700"
29
+ "gitHead": "0861599aa948a3a598dd0456009e04acf518a75f"
29
30
  }
package/src/Files.ts CHANGED
@@ -1,6 +1,7 @@
1
+ import axios from 'axios';
1
2
  import { Base } from '@or-sdk/base';
2
- import { FilesConfig, LsQuery, FileItem, getItemsListResponse, UploadUrlProps, UploadFile, UploadFileProps } from './types';
3
3
  import { SERVICE_KEY } from './constants';
4
+ import { FilesConfig, GetItemsQuery, FileItem, GetItemsListResponse, UploadUrlProps, UploadFileProps, UploadUrlResponse, HeadData } from './types';
4
5
 
5
6
  /**
6
7
  * OneReach Files service client
@@ -17,12 +18,11 @@ export class Files extends Base {
17
18
  * ```
18
19
  */
19
20
  constructor(params: FilesConfig) {
20
- const { token, discoveryUrl, accountId, serviceUrl } = params;
21
+ const { token, discoveryUrl, serviceUrl } = params;
21
22
 
22
23
  super({
23
24
  token,
24
25
  discoveryUrl,
25
- accountId,
26
26
  serviceUrl,
27
27
  serviceKey: SERVICE_KEY,
28
28
  });
@@ -31,28 +31,36 @@ export class Files extends Base {
31
31
  /**
32
32
  * Get folder size
33
33
  * @param key the name of folder
34
+ * @return total folder size in bytes
34
35
  */
35
36
  async getFolderSize(key: string): Promise<number> {
36
37
  const { size } = await this.callApi({
37
- method: 'GET',
38
+ method: 'get',
38
39
  route: 'api/folder',
39
40
  params: { key },
40
41
  });
41
42
 
42
43
  return size;
43
44
  }
44
- async getItemsList(isPublic: boolean, prefix: string): Promise<FileItem[]> {
45
+
46
+ /**
47
+ * Get list of public/private FileItems from api
48
+ * @param isPublic does this file public or private
49
+ * @param treePrefix the folder path where GET FileItems, for Root use ''
50
+ * @return list of FileItems
51
+ */
52
+ async getItemsList(isPublic: boolean, treePrefix: string): Promise<FileItem[]> {
45
53
  let nextToken: null | string = null;
46
54
  let totalItems: FileItem[] = [];
47
55
 
48
56
  do {
49
- const queryParams: LsQuery = {
57
+ const queryParams: GetItemsQuery = {
50
58
  isPublic,
51
- prefix,
59
+ prefix: treePrefix,
52
60
  };
53
61
  if (nextToken) queryParams.nextToken = nextToken;
54
62
 
55
- const { items, nextTokenResponse }: getItemsListResponse = await this.callApi({
63
+ const { items, nextTokenResponse }: GetItemsListResponse = await this.callApi({
56
64
  method: 'GET',
57
65
  route: 'api/files',
58
66
  params: queryParams,
@@ -65,7 +73,11 @@ export class Files extends Base {
65
73
  return totalItems;
66
74
  }
67
75
 
68
- async createFolder(folderName: string) {
76
+ /**
77
+ * Create new folders
78
+ * @param folderName should have folder path + folder name, example: /main/New folder
79
+ */
80
+ async createFolder(folderName: string): Promise<void> {
69
81
  await this.callApi({
70
82
  method: 'post',
71
83
  route: 'api/files',
@@ -73,7 +85,13 @@ export class Files extends Base {
73
85
  });
74
86
  }
75
87
 
76
- async renameFile(key: string, newKey: string, isPublic: boolean) {
88
+ /**
89
+ * Rename exist file
90
+ * @param key old file name
91
+ * @param newKey new file name
92
+ * @param isPublic does this file public or private
93
+ */
94
+ async renameFile(key: string, newKey: string, isPublic: boolean): Promise<void> {
77
95
  await this.callApi({
78
96
  method: 'put',
79
97
  route: 'api/files',
@@ -85,41 +103,52 @@ export class Files extends Base {
85
103
  });
86
104
  }
87
105
 
88
- async changePrivacy(key: string, newPrivacy: string, isPublic: boolean) {
106
+ /**
107
+ * Duplicate file
108
+ * @param key target file name
109
+ * @param newKey new file name
110
+ * @param isPublic does this file public or private
111
+ */
112
+ async duplicateFile(key: string, newKey: string, isPublic: boolean): Promise<void> {
89
113
  await this.callApi({
90
- method: 'patch',
91
- route: 'api/files',
114
+ method: 'put',
115
+ route: 'api/files/duplicate',
92
116
  params: {
93
117
  key,
94
118
  isPublic,
95
119
  },
96
- data: { newPrivacy },
120
+ data: { newKey },
97
121
  });
98
122
  }
99
123
 
100
- async deleteFile(key: string, isPublic: boolean) {
124
+ /**
125
+ * Change file privacy
126
+ * @param key file name
127
+ * @param newPrivacy new file privacy
128
+ * @param isPublic does this file public or private
129
+ */
130
+ async changePrivacy(key: string, newPrivacy: 'private' | 'public', isPublic: boolean): Promise<void> {
101
131
  await this.callApi({
102
- method: 'delete',
132
+ method: 'patch',
103
133
  route: 'api/files',
104
134
  params: {
105
135
  key,
106
136
  isPublic,
107
137
  },
138
+ data: { newPrivacy },
108
139
  });
109
140
  }
110
141
 
111
- async deleteFolder(key: string) {
142
+ /**
143
+ * Delete file
144
+ * @param key file name
145
+ * @param isPublic does this file public or private
146
+ */
147
+ async deleteFile(key: string, isPublic: boolean): Promise<void> {
148
+ // TODO: add error handler and status response true
112
149
  await this.callApi({
113
150
  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',
151
+ route: 'api/files',
123
152
  params: {
124
153
  key,
125
154
  isPublic,
@@ -127,16 +156,26 @@ export class Files extends Base {
127
156
  });
128
157
  }
129
158
 
130
- async serviceMetadata() {
131
- // TODO: i don't know what is it, should test it
159
+ /**
160
+ * Delete folder
161
+ * @param key folder name
162
+ */
163
+ async deleteFolder(key: string): Promise<void> {
164
+ // TODO: add error handler and status response true
132
165
  await this.callApi({
133
- method: 'get',
134
- route: 'api/meta',
166
+ method: 'delete',
167
+ route: 'api/folder',
168
+ data: { key },
135
169
  });
136
170
  }
137
171
 
172
+ /**
173
+ * Get a link to download file, example: for preview
174
+ * @param key folder name
175
+ * @param isPublic does this file public or private
176
+ * @return file url
177
+ */
138
178
  async getDownloadUrl(key: string, isPublic: boolean): Promise<string> {
139
- // TODO: test it
140
179
  return await this.callApi({
141
180
  method: 'get',
142
181
  route: 'api/url',
@@ -147,116 +186,66 @@ export class Files extends Base {
147
186
  });
148
187
  }
149
188
 
150
- async getSystemDownloadUrl(postfix: string, name: string, options: any) {
151
- // TODO: test it
189
+ /**
190
+ * Get object info
191
+ * @param key folder name
192
+ * @param isPublic does this file public or private
193
+ */
194
+ async getObjectInfo(key: string, isPublic: boolean): Promise<HeadData> {
152
195
  return await this.callApi({
153
- method: 'post',
154
- route: 'downloadurl',
196
+ method: 'get',
197
+ route: 'api/file',
155
198
  params: {
156
- postfix,
157
- name,
158
- ...options,
199
+ key,
200
+ isPublic,
159
201
  },
160
202
  });
161
203
  }
162
204
 
163
- async getUploadUrl(data: UploadUrlProps, isPublic: boolean): Promise<{ url: string; fields: { key: string; value: any; }[]; }> {
164
- return await this.callApi({
205
+ /**
206
+ * Get a link for uploading specific file, JUST FOR INNER USE
207
+ * @param data has UploadUrlProps values inside
208
+ * @param isPublic does this file public or private
209
+ * @return uploading Url with different header Fields
210
+ */
211
+ private getUploadUrl(data: UploadUrlProps, isPublic: boolean): Promise<UploadUrlResponse> {
212
+ return this.callApi({
165
213
  method: 'post',
166
214
  route: 'api/url',
167
215
  params: {
168
216
  isPublic,
217
+ prefix: '',
169
218
  },
170
219
  data: { ...data },
171
220
  });
172
221
  }
173
222
 
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) {
223
+ /**
224
+ * Upload file to S3 bucket
225
+ * @param file file itself for uploading with prefix (path) and isPublic boolean
226
+ */
227
+ async uploadFile(file: UploadFileProps): Promise<void> {
189
228
  const { type, name } = file.fileModel;
190
229
  const contentType = type || 'binary/octet-stream';
191
- const cacheControl = file.ttl ? `max-age=${file.ttl}` : 'no-cache';
192
230
 
193
231
  const { url, fields } = await this.getUploadUrl({
194
232
  contentType,
195
233
  key: file.prefix + name,
196
- maxFileSize: file.maxFileSize,
197
- cacheControl,
234
+ cacheControl: 'no-cache',
198
235
  }, file.isPublic);
199
236
 
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];
237
+ const formData = new FormData();
241
238
 
239
+ Object.entries(fields).forEach(value => {
242
240
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
243
241
  // @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);
242
+ formData.append(value[0], value[1]);
243
+ });
250
244
 
251
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
252
- // @ts-ignore
253
- formData.append('File', file.fileDescriptor, file.name);
245
+ formData.append('cache-control', 'no-cache');
246
+ formData.append('content-type', contentType);
247
+ formData.append('File', file.fileModel, name);
254
248
 
255
- return await this.callApi({
256
- method: 'post',
257
- route: url,
258
- data: { formData },
259
- });
260
- });
249
+ return axios.post(url, formData);
261
250
  }
262
251
  }
package/src/types.ts CHANGED
@@ -19,7 +19,7 @@ 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;
@@ -40,7 +40,14 @@ export type FilesPageState = {
40
40
  renameTo: string;
41
41
  items: FileItem[];
42
42
  };
43
- export type getItemsListResponse = {
43
+
44
+ export type HeadData = {
45
+ contentLength: number;
46
+ contentType: string;
47
+ metaData: object;
48
+ };
49
+
50
+ export type GetItemsListResponse = {
44
51
  items: FileItem[];
45
52
  nextTokenResponse: string | null;
46
53
  };
@@ -48,25 +55,27 @@ export type getItemsListResponse = {
48
55
  export type UploadUrlProps = {
49
56
  key: string;
50
57
  contentType: string;
51
- maxFileSize: number;
58
+ maxFileSize?: number;
52
59
  cacheControl: string;
53
60
  };
54
61
 
55
- export type UploadFile = {
56
- name: string;
57
- size: number;
58
- contentType: string;
59
- cacheControl: string;
60
- ttl: number;
62
+ export type UploadUrlResponse = {
63
+ url: string;
64
+ fields: {
65
+ key: string;
66
+ bucket: string;
67
+ Policy: string;
68
+ 'X-Amz-Date': string;
69
+ 'X-Amz-Signature': string;
70
+ 'X-Amz-Algorithm': string;
71
+ 'X-Amz-Credential': string;
72
+ 'X-Amz-Security-Token': string;
73
+ }[];
61
74
  };
62
75
 
63
76
  export type UploadFileProps = {
64
- fileModel: { type: string; name: string; file: any; };
77
+ fileModel: File;
65
78
  prefix: string;
66
79
  isPublic: boolean;
67
- expires: any;
68
- progress: any;
69
- maxFileSize: number;
70
- ttl: number;
71
80
  };
72
81