@neuralinnovations/dataisland-sdk 0.0.1-dev56 → 0.0.1-dev58

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.0.1-dev56",
3
+ "version": "0.0.1-dev58",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -98,6 +98,7 @@
98
98
  },
99
99
  "dependencies": {
100
100
  "dotenv": "^16.3.2",
101
- "jsdom": "^23.2.0"
101
+ "jsdom": "^23.2.0",
102
+ "typescript-map": "^0.1.0"
102
103
  }
103
104
  }
@@ -30,6 +30,7 @@ export interface FileDto {
30
30
  modifiedAt: number;
31
31
  name: string;
32
32
  description: string;
33
+ fileMetadata: string;
33
34
  url: string;
34
35
  previewUrl: string;
35
36
  hash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workspacesResponse.d.ts","sourceRoot":"","sources":["../../../src/dto/workspacesResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,WAAW,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,mBAAmB,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB"}
1
+ {"version":3,"file":"workspacesResponse.d.ts","sourceRoot":"","sources":["../../../src/dto/workspacesResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,WAAW,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,mBAAmB,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,YAAY,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB"}
@@ -1,6 +1,7 @@
1
1
  import { FileProgressDto } from "../../dto/workspacesResponse";
2
2
  import { EventDispatcher } from "../../events";
3
3
  import { FilesEvent } from "./files";
4
+ import { TSMap } from "typescript-map";
4
5
  export type FileId = string;
5
6
  export declare enum FileStatus {
6
7
  UPLOADING = "uploading",
@@ -19,6 +20,14 @@ export declare abstract class File extends EventDispatcher<FilesEvent, File> {
19
20
  * File name.
20
21
  */
21
22
  abstract get name(): string;
23
+ /**
24
+ * File description.
25
+ */
26
+ abstract get description(): string;
27
+ /**
28
+ * File metadata.
29
+ */
30
+ abstract get metadata(): string;
22
31
  /**
23
32
  * File date added.
24
33
  */
@@ -43,5 +52,9 @@ export declare abstract class File extends EventDispatcher<FilesEvent, File> {
43
52
  * Get temporary url.
44
53
  */
45
54
  abstract get previewUrl(): string;
55
+ /**
56
+ * Update file.
57
+ */
58
+ abstract update(name: string, metadata: TSMap<string, string>, description?: string): Promise<void>;
46
59
  }
47
60
  //# sourceMappingURL=file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/storages/files/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,oBAAY,UAAU;IACpB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,8BAAsB,IAAK,SAAQ,eAAe,CAChD,UAAU,EACV,IAAI,CACL;IACC;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAA;IACjC;;OAEG;IACH,QAAQ,KAAK,QAAQ,IAAI,eAAe,CAAA;IAExC;;OAEG;IACH,QAAQ,KAAK,MAAM,IAAI,UAAU,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAA;CAClC"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/storages/files/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAEpC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,oBAAY,UAAU;IACpB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,8BAAsB,IAAK,SAAQ,eAAe,CAChD,UAAU,EACV,IAAI,CACL;IACC;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAA;IAElC;;OAEG;IACH,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAA;IAE/B;;OAEG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,QAAQ,IAAI,eAAe,CAAA;IAExC;;OAEG;IACH,QAAQ,KAAK,MAAM,IAAI,UAAU,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,MAAM,CAAA;IAEjC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACpG"}
@@ -2,6 +2,7 @@ import { Context } from "../../context";
2
2
  import { Disposable } from "../../disposable";
3
3
  import { FileDto, FileProgressDto } from "../../dto/workspacesResponse";
4
4
  import { File, FileStatus } from "./file";
5
+ import { TSMap } from "typescript-map";
5
6
  export declare class FileImpl extends File implements Disposable {
6
7
  private readonly context;
7
8
  private _isDisposed;
@@ -13,6 +14,8 @@ export declare class FileImpl extends File implements Disposable {
13
14
  dispose(): void;
14
15
  get id(): string;
15
16
  get name(): string;
17
+ get description(): string;
18
+ get metadata(): string;
16
19
  get createdAt(): number;
17
20
  get modifiedAt(): number;
18
21
  get url(): string;
@@ -21,5 +24,6 @@ export declare class FileImpl extends File implements Disposable {
21
24
  get status(): FileStatus;
22
25
  fetchAfter(): void;
23
26
  updateStatus(): Promise<void>;
27
+ update(name: string, metadata: TSMap<string, string>, description?: string): Promise<void>;
24
28
  }
25
29
  //# sourceMappingURL=file.impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/files/file.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAGvE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAIzC,qBAAa,QAAS,SAAQ,IAAK,YAAW,UAAU;IAK1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAiB;gBAEN,OAAO,EAAE,OAAO;IAIvC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,IAAI,IAAI;IAIf,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,QAAQ,IAAI,eAAe,CAE9B;IAED,IAAI,MAAM,IAAI,UAAU,CAWvB;IAEM,UAAU;IAMX,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CA6BpC"}
1
+ {"version":3,"file":"file.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/files/file.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,8BAA8B,CAAA;AAGrE,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,QAAQ,CAAA;AAGvC,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAA;AAEpC,qBAAa,QAAS,SAAQ,IAAK,YAAW,UAAU;IAK1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAiB;gBAEN,OAAO,EAAE,OAAO;IAIvC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,IAAI,IAAI;IAIf,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,QAAQ,IAAI,eAAe,CAE9B;IAED,IAAI,MAAM,IAAI,UAAU,CAWvB;IAEM,UAAU;IAMX,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM;CAgCjF"}
@@ -31,6 +31,14 @@ class FileImpl extends file_1.File {
31
31
  var _a;
32
32
  return (_a = this._content) === null || _a === void 0 ? void 0 : _a.name;
33
33
  }
34
+ get description() {
35
+ var _a;
36
+ return (_a = this._content) === null || _a === void 0 ? void 0 : _a.description;
37
+ }
38
+ get metadata() {
39
+ var _a;
40
+ return (_a = this._content) === null || _a === void 0 ? void 0 : _a.fileMetadata;
41
+ }
34
42
  get createdAt() {
35
43
  var _a;
36
44
  return (_a = this._content) === null || _a === void 0 ? void 0 : _a.createdAt;
@@ -88,6 +96,30 @@ class FileImpl extends file_1.File {
88
96
  }
89
97
  this.fetchAfter();
90
98
  }
99
+ async update(name, metadata, description) {
100
+ var _a;
101
+ if (!this._content) {
102
+ throw new Error("File is not loaded.");
103
+ }
104
+ if (name === undefined || metadata === undefined || name === null || metadata === null) {
105
+ throw new Error("File update, one of parameters is undefined or null");
106
+ }
107
+ const response = await ((_a = this.context
108
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Files").sendPutJson({
109
+ fileId: this.id,
110
+ name: name,
111
+ description: description !== null && description !== void 0 ? description : this.description,
112
+ metadata: JSON.stringify(metadata.toJSON())
113
+ }));
114
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
115
+ await responseUtils_1.ResponseUtils.throwError("Failed to update file", response);
116
+ }
117
+ this._content = (await response.json()).file;
118
+ this.dispatch({
119
+ type: files_1.FilesEvent.UPDATED,
120
+ data: this
121
+ });
122
+ }
91
123
  }
92
124
  exports.FileImpl = FileImpl;
93
125
  //# sourceMappingURL=file.impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.impl.js","sourceRoot":"","sources":["../../../../src/storages/files/file.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.impl.js","sourceRoot":"","sources":["../../../../src/storages/files/file.impl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/storages/files/file.ts"],"names":[],"mappings":";;;AACA,yCAA8C;AAK9C,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED;;GAEG;AACH,MAAsB,IAAK,SAAQ,wBAGlC;CAuCA;AA1CD,oBA0CC"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/storages/files/file.ts"],"names":[],"mappings":";;;AACA,yCAA8C;AAM9C,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED;;GAEG;AACH,MAAsB,IAAK,SAAQ,wBAGlC;CAuDA;AA1DD,oBA0DC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.0.1-dev56",
3
+ "version": "0.0.1-dev58",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -98,6 +98,7 @@
98
98
  },
99
99
  "dependencies": {
100
100
  "dotenv": "^16.3.2",
101
- "jsdom": "^23.2.0"
101
+ "jsdom": "^23.2.0",
102
+ "typescript-map": "^0.1.0"
102
103
  }
103
104
  }
@@ -36,6 +36,7 @@ export interface FileDto {
36
36
  modifiedAt: number
37
37
  name: string
38
38
  description: string
39
+ fileMetadata: string
39
40
  url: string
40
41
  previewUrl: string
41
42
  hash: string
@@ -1,11 +1,12 @@
1
- import { Context } from "../../context"
2
- import { Disposable } from "../../disposable"
3
- import { FileDto, FileProgressDto } from "../../dto/workspacesResponse"
4
- import { RpcService } from "../../services/rpcService"
5
- import { ResponseUtils } from "../../services/responseUtils"
6
- import { File, FileStatus } from "./file"
7
- import { FilesEvent } from "./files"
8
- import { isNullOrUndefined } from "../../utils/utils"
1
+ import {Context} from "../../context"
2
+ import {Disposable} from "../../disposable"
3
+ import {FileDto, FileProgressDto} from "../../dto/workspacesResponse"
4
+ import {RpcService} from "../../services/rpcService"
5
+ import {ResponseUtils} from "../../services/responseUtils"
6
+ import {File, FileStatus} from "./file"
7
+ import {FilesEvent} from "./files"
8
+ import {isNullOrUndefined} from "../../utils/utils"
9
+ import {TSMap} from "typescript-map"
9
10
 
10
11
  export class FileImpl extends File implements Disposable {
11
12
  private _isDisposed: boolean = false
@@ -40,6 +41,14 @@ export class FileImpl extends File implements Disposable {
40
41
  return <string>this._content?.name
41
42
  }
42
43
 
44
+ get description(): string {
45
+ return <string>this._content?.description
46
+ }
47
+
48
+ get metadata(): string {
49
+ return <string>this._content?.fileMetadata
50
+ }
51
+
43
52
  get createdAt(): number {
44
53
  return <number>this._content?.createdAt
45
54
  }
@@ -108,4 +117,37 @@ export class FileImpl extends File implements Disposable {
108
117
 
109
118
  this.fetchAfter()
110
119
  }
120
+
121
+ async update(name: string, metadata: TSMap<string, string>, description?: string){
122
+ if (!this._content) {
123
+ throw new Error("File is not loaded.")
124
+ }
125
+
126
+ if (name === undefined || metadata === undefined || name === null || metadata === null ){
127
+ throw new Error("File update, one of parameters is undefined or null")
128
+ }
129
+
130
+ const response = await this.context
131
+ .resolve(RpcService)
132
+ ?.requestBuilder("api/v1/Files")
133
+ .sendPutJson({
134
+ fileId: this.id,
135
+ name: name,
136
+ description: description ?? this.description,
137
+ metadata: JSON.stringify(metadata.toJSON())
138
+ })
139
+
140
+ if (ResponseUtils.isFail(response)) {
141
+ await ResponseUtils.throwError("Failed to update file", response)
142
+ }
143
+
144
+ this._content = (await response!.json() as {
145
+ file: FileDto
146
+ }).file as FileDto
147
+
148
+ this.dispatch({
149
+ type: FilesEvent.UPDATED,
150
+ data: this
151
+ })
152
+ }
111
153
  }
@@ -1,6 +1,7 @@
1
1
  import { FileProgressDto } from "../../dto/workspacesResponse"
2
2
  import { EventDispatcher } from "../../events"
3
3
  import { FilesEvent } from "./files"
4
+ import {TSMap} from "typescript-map"
4
5
 
5
6
  export type FileId = string
6
7
 
@@ -27,6 +28,16 @@ export abstract class File extends EventDispatcher<
27
28
  */
28
29
  abstract get name(): string
29
30
 
31
+ /**
32
+ * File description.
33
+ */
34
+ abstract get description(): string
35
+
36
+ /**
37
+ * File metadata.
38
+ */
39
+ abstract get metadata(): string
40
+
30
41
  /**
31
42
  * File date added.
32
43
  */
@@ -36,6 +47,7 @@ export abstract class File extends EventDispatcher<
36
47
  * File date modified.
37
48
  */
38
49
  abstract get modifiedAt(): number
50
+
39
51
  /**
40
52
  * File uploading progress
41
53
  */
@@ -55,4 +67,9 @@ export abstract class File extends EventDispatcher<
55
67
  * Get temporary url.
56
68
  */
57
69
  abstract get previewUrl(): string
70
+
71
+ /**
72
+ * Update file.
73
+ */
74
+ abstract update(name: string, metadata: TSMap<string, string>, description?: string): Promise<void>
58
75
  }