@tblabs/storage 5.15.0 → 5.15.3

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.
@@ -3,11 +3,15 @@ import { dir } from "../../Types/dir";
3
3
  import { DatasetBase } from "../DatasetBase";
4
4
  import { DatasetType } from "../../Services/DatasetType";
5
5
  import { FilePack } from "./FilePack";
6
+ import { FilesUploadConfig } from "../../Models/FilesUploadConfig";
6
7
  export declare class FileDataset extends DatasetBase {
7
8
  protected _db: OnlineStorage;
8
9
  protected dataset: dir;
9
10
  Type: DatasetType;
10
- constructor(_db: OnlineStorage, dataset: dir);
11
+ private config;
12
+ constructor(_db: OnlineStorage, dataset: dir, config?: Partial<FilesUploadConfig>);
13
+ SetConfig(config: Partial<FilesUploadConfig>): void;
14
+ GetConfig(): FilesUploadConfig;
11
15
  GetAllIds(): Promise<string[]>;
12
16
  GetOne(fileId: string): Promise<FilePack>;
13
17
  GetAll(): Promise<FilePack[]>;
@@ -4,14 +4,25 @@ import { ListFilesQuery } from "../../Messages/ListFilesQuery";
4
4
  import { ListFilesIdsQuery } from "../../Messages/ListFilesIdsQuery";
5
5
  import { GetFileQuery } from "../../Messages/GetFileQuery";
6
6
  import { DeleteFileCommand } from "../../Messages/DeleteFileCommand";
7
+ import { DefaultFilesUploadConfig } from "../../Models/FilesUploadConfig";
7
8
  export class FileDataset extends DatasetBase {
8
9
  _db;
9
10
  dataset;
10
11
  Type = DatasetType.File;
11
- constructor(_db, dataset) {
12
+ config = new DefaultFilesUploadConfig();
13
+ constructor(_db, dataset, config) {
12
14
  super(_db, dataset);
13
15
  this._db = _db;
14
16
  this.dataset = dataset;
17
+ if (config) {
18
+ this.config = { ...this.config, ...config };
19
+ }
20
+ }
21
+ SetConfig(config) {
22
+ this.config = { ...this.config, ...config };
23
+ }
24
+ GetConfig() {
25
+ return this.config;
15
26
  }
16
27
  async GetAllIds() {
17
28
  const result = await this._db.Send(new ListFilesIdsQuery(this._db.DatabaseDir, this.dataset));
@@ -47,6 +58,7 @@ export class FileDataset extends DatasetBase {
47
58
  formData.append('database', this._db.DatabaseDir);
48
59
  formData.append('dataset', this.dataset);
49
60
  formData.append('userId', this._db.User.Id);
61
+ formData.append('config', JSON.stringify(this.config));
50
62
  let serverUrl = this._db.Server;
51
63
  if (serverUrl.endsWith("/")) // Because for local env we use ".../src/" but for prod ".../v5"
52
64
  {
@@ -59,8 +71,6 @@ export class FileDataset extends DatasetBase {
59
71
  if (!response.ok) {
60
72
  throw new Error(`Request failed with status ${response.status}`);
61
73
  }
62
- // const t = await response.text();
63
- // console.log(t);
64
74
  const result = await response.json();
65
75
  if (!result.IsSuccess) {
66
76
  throw new Error("Failed to upload files: " + result.ErrorMessage);
@@ -1,7 +1,10 @@
1
1
  export interface FilePack {
2
2
  Id: string;
3
3
  Name: string;
4
- OryginalName: number;
4
+ OriginalName: string;
5
5
  Extension: string;
6
6
  Url: string;
7
+ Size: number;
8
+ CreatedAt: Date;
9
+ CreatedBy: string;
7
10
  }
@@ -1,2 +1,5 @@
1
1
  import { PicsConfig } from "./PicsConfig";
2
- export declare const DefaultPicsConfig: PicsConfig;
2
+ export declare class DefaultPicsConfig implements PicsConfig {
3
+ KeepSource: boolean;
4
+ Sizes: {};
5
+ }
@@ -1,4 +1,4 @@
1
- export const DefaultPicsConfig = {
2
- KeepSource: true,
3
- Sizes: {}
4
- };
1
+ export class DefaultPicsConfig {
2
+ KeepSource = true;
3
+ Sizes = {};
4
+ }
@@ -4,13 +4,13 @@ import { DatasetBase } from "../DatasetBase";
4
4
  import { PicsConfig } from "./PicsConfig";
5
5
  import { PicturePack } from "./PicturePack";
6
6
  import { DatasetType } from "../../Services/DatasetType";
7
- export declare class PicturesDataset extends DatasetBase {
7
+ export declare class PictureDataset extends DatasetBase {
8
8
  protected _db: OnlineStorage;
9
9
  protected dataset: dir;
10
- protected picsConfig: PicsConfig;
11
10
  Type: DatasetType;
12
- constructor(_db: OnlineStorage, dataset: dir, picsConfig?: PicsConfig);
13
- SetConfig(config: PicsConfig): void;
11
+ private picsConfig;
12
+ constructor(_db: OnlineStorage, dataset: dir, config?: Partial<PicsConfig>);
13
+ SetConfig(config: Partial<PicsConfig>): void;
14
14
  GetConfig(): PicsConfig;
15
15
  GetAllIds(): Promise<string[]>;
16
16
  GetOne(pictureDir: string): Promise<PicturePack>;
@@ -5,19 +5,21 @@ import { DefaultPicsConfig } from "./DefaultPicsConfig";
5
5
  import { DatasetType } from "../../Services/DatasetType";
6
6
  import { ListPicturesIdsQuery } from "../../Messages/ListPicturesIdsQuery";
7
7
  import { GetPictureQuery } from "../../Messages/GetPictureQuery";
8
- export class PicturesDataset extends DatasetBase {
8
+ export class PictureDataset extends DatasetBase {
9
9
  _db;
10
10
  dataset;
11
- picsConfig;
12
11
  Type = DatasetType.Picture;
13
- constructor(_db, dataset, picsConfig = DefaultPicsConfig) {
12
+ picsConfig = new DefaultPicsConfig();
13
+ constructor(_db, dataset, config) {
14
14
  super(_db, dataset);
15
15
  this._db = _db;
16
16
  this.dataset = dataset;
17
- this.picsConfig = picsConfig;
17
+ if (config) {
18
+ this.picsConfig = { ...this.picsConfig, ...config };
19
+ }
18
20
  }
19
21
  SetConfig(config) {
20
- this.picsConfig = config;
22
+ this.picsConfig = { ...this.picsConfig, ...config };
21
23
  }
22
24
  GetConfig() {
23
25
  return this.picsConfig;
@@ -1,9 +1,5 @@
1
- import { PicsConfig } from "../Datasets/Picture/PicsConfig";
2
1
  export interface DatasetMetadata {
3
2
  Type: string;
4
3
  CreatedBy: string;
5
4
  CreatedAt: Date;
6
5
  }
7
- export interface PictureDatasetMetadata extends DatasetMetadata {
8
- Config: PicsConfig;
9
- }
@@ -0,0 +1,5 @@
1
+ import { DatasetMetadata } from "./DatasetMetadata";
2
+ import { FilesUploadConfig } from "./FilesUploadConfig";
3
+ export interface FileDatasetMetadata extends DatasetMetadata {
4
+ Config: FilesUploadConfig;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface FilesUploadConfig {
2
+ MaxDatasetSize: number;
3
+ SingleFileMaxSize: number;
4
+ AllowedExtensions: "any" | string[];
5
+ }
6
+ export declare class DefaultFilesUploadConfig implements FilesUploadConfig {
7
+ MaxDatasetSize: number;
8
+ SingleFileMaxSize: number;
9
+ AllowedExtensions: "any" | string[];
10
+ }
@@ -0,0 +1,5 @@
1
+ export class DefaultFilesUploadConfig {
2
+ MaxDatasetSize = 1024 * 1024 * 1024; // 1GB
3
+ SingleFileMaxSize = 100 * 1024 * 1024; // 100MB
4
+ AllowedExtensions = "any";
5
+ }
@@ -0,0 +1,5 @@
1
+ import { PicsConfig } from "../Datasets/Picture/PicsConfig";
2
+ import { DatasetMetadata } from "./DatasetMetadata";
3
+ export interface PictureDatasetMetadata extends DatasetMetadata {
4
+ Config: PicsConfig;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -13,9 +13,10 @@ import { RawTextDataset } from "../Datasets/Text/RawTextDataset";
13
13
  import { TextDataset } from "../Datasets/Text/TextDataset";
14
14
  import { ITextConverter } from "../Converters/ITextConverter";
15
15
  import { DatasetType } from "./DatasetType";
16
- import { PicturesDataset } from "../Datasets/Picture/PicturesDataset";
16
+ import { PictureDataset } from "../Datasets/Picture/PictureDataset";
17
17
  import { PicsConfig } from "../Datasets/Picture/PicsConfig";
18
18
  import { FileDataset } from "../Datasets/File/FileDataset";
19
+ import { FilesUploadConfig } from "../Models/FilesUploadConfig";
19
20
  export declare class OnlineStorage {
20
21
  private server;
21
22
  private database;
@@ -41,8 +42,8 @@ export declare class OnlineStorage {
41
42
  DeleteUser(user: IStorageUser): Promise<void>;
42
43
  GetObjectDataset<T extends object>(datasetName: string, converter?: IConverter<any, T>): ObjectDataset<T>;
43
44
  GetTextDataset(datasetName: string, converter?: ITextConverter<any>): TextDataset<any> | RawTextDataset;
44
- GetPictureDataset(datasetName: string, picsConfig?: PicsConfig): PicturesDataset;
45
- GetFileDataset(datasetName: string): FileDataset;
45
+ GetPictureDataset(datasetName: string, picsConfig?: PicsConfig): PictureDataset;
46
+ GetFileDataset(datasetName: string, config?: Partial<FilesUploadConfig>): FileDataset;
46
47
  private IsBrowserEnvironment;
47
48
  private LoadUserFromLocalStorage;
48
49
  Login(password: string, login?: string): Promise<IStorageUser>;
@@ -18,7 +18,7 @@ import { ListDatasetsQuery } from '../Messages/ListDatasetsQuery';
18
18
  import { DeleteDatabaseCommand } from "../Messages/DeleteDatabaseCommand";
19
19
  import { RawTextDataset } from "../Datasets/Text/RawTextDataset";
20
20
  import { TextDataset } from "../Datasets/Text/TextDataset";
21
- import { PicturesDataset } from "../Datasets/Picture/PicturesDataset";
21
+ import { PictureDataset } from "../Datasets/Picture/PictureDataset";
22
22
  import { FileDataset } from "../Datasets/File/FileDataset";
23
23
  export class OnlineStorage {
24
24
  server;
@@ -117,10 +117,10 @@ export class OnlineStorage {
117
117
  : new RawTextDataset(this, datasetName);
118
118
  }
119
119
  GetPictureDataset(datasetName, picsConfig) {
120
- return new PicturesDataset(this, datasetName, picsConfig);
120
+ return new PictureDataset(this, datasetName, picsConfig);
121
121
  }
122
- GetFileDataset(datasetName) {
123
- return new FileDataset(this, datasetName);
122
+ GetFileDataset(datasetName, config) {
123
+ return new FileDataset(this, datasetName, config);
124
124
  }
125
125
  IsBrowserEnvironment() {
126
126
  return typeof window !== "undefined" && typeof window.localStorage !== "undefined";
package/index.d.ts CHANGED
@@ -3,25 +3,28 @@ export * from "./Models/IStorageUserPrivileges";
3
3
  export * from "./Models/IEntitiesSet";
4
4
  export * from "./Models/IStorageUser";
5
5
  export * from "./Models/DatabaseInfo";
6
- export * from "./Models/DatasetMetadata";
7
- export * from "./Converters/IConverter";
8
- export * from "./Converters/Converter";
9
- export * from "./Converters/DummyConverter";
10
- export * from "./Converters/ITextConverter";
11
- export * from "./Converters/JsonTextConverter";
12
6
  export * from "./Datasets/IRepoBase";
13
7
  export * from "./Datasets/Object/IRepo";
14
8
  export * from "./Datasets/Text/ITextRepo";
15
9
  export * from "./Datasets/Object/IRepos";
16
- export * from "./Datasets/File/FileDataset";
17
- export * from "./Datasets/File/FilePack";
10
+ export * from "./Models/DatasetMetadata";
18
11
  export * from "./Datasets/DatasetBase";
12
+ export * from "./Services/DatasetType";
13
+ export * from "./Converters/IConverter";
14
+ export * from "./Converters/Converter";
19
15
  export * from "./Datasets/Object/ObjectDataset";
16
+ export * from "./Converters/DummyConverter";
20
17
  export * from "./Datasets/Text/RawTextDataset";
21
18
  export * from "./Datasets/Text/TextDataset";
22
- export * from "./Datasets/Picture/PicturesDataset";
19
+ export * from "./Converters/ITextConverter";
20
+ export * from "./Converters/JsonTextConverter";
21
+ export * from "./Datasets/Picture/PictureDataset";
23
22
  export * from "./Datasets/Picture/PicConfig";
24
23
  export * from "./Datasets/Picture/PicsConfig";
25
24
  export * from "./Datasets/Picture/PicturePack";
26
- export * from "./Services/DatasetType";
25
+ export * from "./Models/PictureDatasetMetadata";
26
+ export * from "./Datasets/File/FileDataset";
27
+ export * from "./Datasets/File/FilePack";
28
+ export * from "./Models/FileDatasetMetadata";
29
+ export * from "./Models/FilesUploadConfig";
27
30
  export * from "./Services/OnlineStorage";
package/index.js CHANGED
@@ -3,25 +3,34 @@ export * from "./Models/IStorageUserPrivileges";
3
3
  export * from "./Models/IEntitiesSet";
4
4
  export * from "./Models/IStorageUser";
5
5
  export * from "./Models/DatabaseInfo";
6
- export * from "./Models/DatasetMetadata";
7
- export * from "./Converters/IConverter";
8
- export * from "./Converters/Converter";
9
- export * from "./Converters/DummyConverter";
10
- export * from "./Converters/ITextConverter";
11
- export * from "./Converters/JsonTextConverter";
12
6
  export * from "./Datasets/IRepoBase";
13
7
  export * from "./Datasets/Object/IRepo";
14
8
  export * from "./Datasets/Text/ITextRepo";
15
9
  export * from "./Datasets/Object/IRepos";
16
- export * from "./Datasets/File/FileDataset";
17
- export * from "./Datasets/File/FilePack";
10
+ // Common for datasets
11
+ export * from "./Models/DatasetMetadata";
18
12
  export * from "./Datasets/DatasetBase";
13
+ export * from "./Services/DatasetType";
14
+ export * from "./Converters/IConverter";
15
+ export * from "./Converters/Converter";
16
+ // Object datasets
19
17
  export * from "./Datasets/Object/ObjectDataset";
18
+ export * from "./Converters/DummyConverter";
19
+ // Text datasets
20
20
  export * from "./Datasets/Text/RawTextDataset";
21
21
  export * from "./Datasets/Text/TextDataset";
22
- export * from "./Datasets/Picture/PicturesDataset";
22
+ export * from "./Converters/ITextConverter";
23
+ export * from "./Converters/JsonTextConverter";
24
+ // Picture datasets
25
+ export * from "./Datasets/Picture/PictureDataset";
23
26
  export * from "./Datasets/Picture/PicConfig";
24
27
  export * from "./Datasets/Picture/PicsConfig";
25
28
  export * from "./Datasets/Picture/PicturePack";
26
- export * from "./Services/DatasetType";
29
+ export * from "./Models/PictureDatasetMetadata";
30
+ // File datasets
31
+ export * from "./Datasets/File/FileDataset";
32
+ export * from "./Datasets/File/FilePack";
33
+ export * from "./Models/FileDatasetMetadata";
34
+ export * from "./Models/FilesUploadConfig";
35
+ // Storage
27
36
  export * from "./Services/OnlineStorage";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tblabs/storage",
3
- "version": "5.15.0",
3
+ "version": "5.15.3",
4
4
  "description": "online storage module with auth",
5
5
  "license": "beerware",
6
6
  "main": "index.js",
Binary file
@@ -1,5 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- import { dir } from '../Types/dir';
3
- export declare class DropPicturesCommand extends Message {
4
- constructor(Database: dir, Dataset: dir);
5
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class DropPicturesCommand extends Message {
3
- constructor(Database, Dataset) {
4
- super("DropPictures", { Database, Dataset });
5
- }
6
- }
Binary file