@tblabs/storage 5.15.4 → 5.15.5

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.
@@ -4,7 +4,8 @@ import { DatasetBase } from "../DatasetBase";
4
4
  import { DatasetType } from "../../Services/DatasetType";
5
5
  import { FilePack } from "./FilePack";
6
6
  import { FilesUploadConfig } from "../../Models/FilesUploadConfig";
7
- export declare class FileDataset extends DatasetBase {
7
+ import { IFileDataset } from "./IFileDataset";
8
+ export declare class FileDataset extends DatasetBase implements IFileDataset {
8
9
  protected _db: OnlineStorage;
9
10
  protected dataset: dir;
10
11
  Type: DatasetType;
@@ -0,0 +1,13 @@
1
+ import { FilesUploadConfig } from "../../Models/FilesUploadConfig";
2
+ import { DatasetType } from "../../Services/DatasetType";
3
+ import { FilePack } from "./FilePack";
4
+ export interface IFileDataset {
5
+ Type: DatasetType;
6
+ SetConfig(config: Partial<FilesUploadConfig>): void;
7
+ GetConfig(): FilesUploadConfig;
8
+ GetAllIds(): Promise<string[]>;
9
+ GetOne(fileId: string): Promise<FilePack>;
10
+ GetAll(): Promise<FilePack[]>;
11
+ Add(files: File[]): Promise<FilePack[]>;
12
+ Delete(fileId: string): Promise<void>;
13
+ }
@@ -1,10 +1,10 @@
1
- import { IRepoBase } from "../IRepoBase";
2
- export interface IRepo<T> extends IRepoBase {
3
- Add(id: string, item: T): Promise<void>;
1
+ import { DatasetType } from "../../Services/DatasetType";
2
+ export interface IObjectDataset<T extends object> {
3
+ Type: DatasetType.Object;
4
4
  GetOne(id: string): Promise<T>;
5
5
  GetAll(): Promise<T[]>;
6
6
  GetAllIds(): Promise<string[]>;
7
+ Add(id: string, item: T): Promise<void>;
7
8
  Update(id: string, item: T): Promise<void>;
8
9
  Delete(id: string): Promise<void>;
9
- Drop(): Promise<void>;
10
10
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { OnlineStorage } from "../../Services/OnlineStorage";
2
+ import { dir } from "../../Types/dir";
3
+ export interface IObjectDatasets<T extends object> {
4
+ get Names(): string[];
5
+ get Database(): OnlineStorage;
6
+ GetOne(dataset: dir, id: string): Promise<T>;
7
+ GetAll(dataset: dir): Promise<T[]>;
8
+ GetAllIds(dataset: dir): Promise<string[]>;
9
+ Add(dataset: dir, id: string, item: T): Promise<void>;
10
+ Update(dataset: dir, id: string, item: T): Promise<void>;
11
+ Move(id: string, sourceDataset: dir, targetDataset: dir): Promise<void>;
12
+ Delete(dataset: dir, id: string): Promise<void>;
13
+ Drop(datasets?: dir[]): Promise<void>;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,14 +1,14 @@
1
+ import { dir } from "../../Types/dir";
1
2
  import { OnlineStorage } from "../../Services/OnlineStorage";
2
3
  import { IConverter } from "../../Converters/IConverter";
3
- import { IRepo } from "./IRepo";
4
- import { dir } from "../../Types/dir";
5
4
  import { DatasetBase } from "../DatasetBase";
6
5
  import { DatasetType } from "../../Services/DatasetType";
7
- export declare class ObjectDataset<T extends object> extends DatasetBase implements IRepo<T> {
6
+ import { IObjectDataset } from "./IObjectDataset";
7
+ export declare class ObjectDataset<T extends object> extends DatasetBase implements IObjectDataset<T> {
8
8
  protected _db: OnlineStorage;
9
9
  protected dataset: dir;
10
10
  protected _converter: IConverter<any, T>;
11
- Type: DatasetType;
11
+ readonly Type: DatasetType.Object;
12
12
  constructor(_db: OnlineStorage, dataset: dir, _converter?: IConverter<any, T>);
13
13
  GetOne(id: string): Promise<T>;
14
14
  GetAll(): Promise<T[]>;
@@ -1,8 +1,8 @@
1
+ import { dir } from "../../Types/dir";
1
2
  import { IConverter } from "../../Converters/IConverter";
2
- import { IRepos } from "./IRepos";
3
3
  import { OnlineStorage } from "../../Services/OnlineStorage";
4
- import { dir } from "../../Types/dir";
5
- export declare class ObjectDatasets<T extends object> implements IRepos<T> {
4
+ import { IObjectDatasets } from "./IObjectDatasets";
5
+ export declare class ObjectDatasets<T extends object> implements IObjectDatasets<T> {
6
6
  private _db;
7
7
  private datasets;
8
8
  private _converter;
@@ -25,60 +25,6 @@ export class ObjectDatasets {
25
25
  get Database() {
26
26
  return this._db;
27
27
  }
28
- // public CanUserDo(action: keyof IStorageUserPrivileges): boolean
29
- // {
30
- // if (!this._db.User.Privileges)
31
- // {
32
- // return false;
33
- // }
34
- // const privilege = this._db.User.Privileges[action];
35
- // if (!privilege)
36
- // {
37
- // return false;
38
- // }
39
- // // ex. AddFile: { Datasets: "all" } or AddFile: { Datasets: ["Public"] }
40
- // if (typeof privilege === "object")
41
- // {
42
- // const allowedDatasets = privilege.Datasets;
43
- // // ex. AddFile: { Datasets: "all" }
44
- // if (typeof allowedDatasets === "string")
45
- // {
46
- // if (allowedDatasets == "all")
47
- // {
48
- // return true;
49
- // }
50
- // else if (allowedDatasets == "none")
51
- // {
52
- // return false;
53
- // }
54
- // else
55
- // {
56
- // return false;
57
- // }
58
- // }
59
- // // ex. AddFile: { Datasets: ["Public"] }
60
- // else if (typeof allowedDatasets === "object")
61
- // {
62
- // if (Array.isArray(allowedDatasets))
63
- // {
64
- // for (const dataset of this.datasets)
65
- // {
66
- // if (allowedDatasets.includes(dataset))
67
- // {
68
- // return true;
69
- // }
70
- // }
71
- // return false;
72
- // }
73
- // }
74
- // }
75
- // // ex. CreateUser: true
76
- // else if (typeof privilege === "boolean")
77
- // {
78
- // return privilege;
79
- // }
80
- // return false;
81
- // }
82
28
  async GetOne(dataset, id) {
83
29
  this._db.Log(`Fetching "${id}" from "${dataset}"...`);
84
30
  const queryResult = await this._db.Send(new GetObjectQuery(this._db.DatabaseDir, dataset, id));
@@ -0,0 +1,13 @@
1
+ import { DatasetType } from "../../Services/DatasetType";
2
+ import { PicsConfig } from "./PicsConfig";
3
+ import { PicturePack } from "./PicturePack";
4
+ export interface IPictureDataset {
5
+ Type: DatasetType;
6
+ SetConfig(config: Partial<PicsConfig>): void;
7
+ GetConfig(): PicsConfig;
8
+ GetAllIds(): Promise<string[]>;
9
+ GetOne(pictureDir: string): Promise<PicturePack>;
10
+ GetAll(): Promise<PicturePack[]>;
11
+ Add(files: File[]): Promise<PicturePack[]>;
12
+ Delete(pictureDir: string): Promise<void>;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -4,7 +4,8 @@ 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 PictureDataset extends DatasetBase {
7
+ import { IPictureDataset } from "./IPictureDataset";
8
+ export declare class PictureDataset extends DatasetBase implements IPictureDataset {
8
9
  protected _db: OnlineStorage;
9
10
  protected dataset: dir;
10
11
  Type: DatasetType;
@@ -0,0 +1,12 @@
1
+ import { DatasetType } from "../../Services/DatasetType";
2
+ export interface IRawTextDataset {
3
+ Type: DatasetType;
4
+ Read(id: string, offset?: number, limit?: number): Promise<string[]>;
5
+ GetAllIds(): Promise<string[]>;
6
+ Create(id: string): Promise<void>;
7
+ AppendText(id: string, text: string): Promise<void>;
8
+ Clear(id: string): Promise<void>;
9
+ ReplaceText(id: string, text: string): Promise<void>;
10
+ AppendLine(id: string, line: string): Promise<void>;
11
+ Delete(id: string): Promise<void>;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface ITextDataset<T> {
2
+ Load(id: string, offset?: number, limit?: number): Promise<T[]>;
3
+ Append(id: string, entry: T): Promise<void>;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,9 +1,9 @@
1
1
  import { DatasetBase } from "../DatasetBase";
2
- import { ITextRepo } from "./ITextRepo";
3
2
  import { DatasetType } from "../../Services/DatasetType";
4
3
  import { OnlineStorage } from "../../Services/OnlineStorage";
5
4
  import { dir } from "../../Types/dir";
6
- export declare class RawTextDataset extends DatasetBase implements ITextRepo {
5
+ import { IRawTextDataset } from "./IRawTextDataset";
6
+ export declare class RawTextDataset extends DatasetBase implements IRawTextDataset {
7
7
  protected _db: OnlineStorage;
8
8
  protected dataset: dir;
9
9
  Type: DatasetType;
@@ -2,7 +2,8 @@ import { OnlineStorage } from "../../Services/OnlineStorage";
2
2
  import { RawTextDataset } from "./RawTextDataset";
3
3
  import { ITextConverter } from "../../Converters/ITextConverter";
4
4
  import { dir } from "../../Types/dir";
5
- export declare class TextDataset<T> extends RawTextDataset {
5
+ import { ITextDataset } from "./ITextDataset";
6
+ export declare class TextDataset<T> extends RawTextDataset implements ITextDataset<T> {
6
7
  protected _db: OnlineStorage;
7
8
  protected dataset: dir;
8
9
  protected _converter: ITextConverter<T>;
@@ -0,0 +1,50 @@
1
+ import { IConverter } from "../Converters/IConverter";
2
+ import { ITextConverter } from "../Converters/ITextConverter";
3
+ import { FileDataset } from "../Datasets/File/FileDataset";
4
+ import { ObjectDataset } from "../Datasets/Object/ObjectDataset";
5
+ import { ObjectDatasets } from "../Datasets/Object/ObjectDatasets";
6
+ import { PicsConfig } from "../Datasets/Picture/PicsConfig";
7
+ import { PictureDataset } from "../Datasets/Picture/PictureDataset";
8
+ import { RawTextDataset } from "../Datasets/Text/RawTextDataset";
9
+ import { TextDataset } from "../Datasets/Text/TextDataset";
10
+ import { IMessage } from "../MessageBus/IMessage";
11
+ import { MessageBusResponse } from "../MessageBus/MessageBusResponse";
12
+ import { DatabaseInfo } from "../Models/DatabaseInfo";
13
+ import { DatasetInfo } from "../Models/DatasetInfo";
14
+ import { FilesUploadConfig } from "../Models/FilesUploadConfig";
15
+ import { IStorageUser } from "../Models/IStorageUser";
16
+ import { dir, url } from "../Types/dir";
17
+ import { DatasetType } from "./DatasetType";
18
+ export interface IOnlineStorage {
19
+ Server: string;
20
+ DatabaseDir: dir;
21
+ User: IStorageUser;
22
+ SetServer(server: url): this;
23
+ SetDatabase(database: dir): this;
24
+ SetUser(user: IStorageUser): this;
25
+ EnableLog(): this;
26
+ DisableLog(): this;
27
+ Log(...message: any[]): void;
28
+ Ping(): Promise<boolean>;
29
+ Send(message: IMessage): Promise<MessageBusResponse>;
30
+ ListDatasets(): Promise<DatasetInfo[]>;
31
+ CreateDataset(type: DatasetType, datasetName: string): Promise<void>;
32
+ DatasetExists(datasetName: string): Promise<boolean>;
33
+ RemoveDataset(datasetName: string): Promise<void>;
34
+ Move(fileId: string, sourceDataset: ObjectDataset<any>, targetDataset: ObjectDataset<any>): Promise<void>;
35
+ ListUsers(): Promise<IStorageUser[]>;
36
+ GetUser(userId: string): Promise<IStorageUser>;
37
+ UpdateUser(user: IStorageUser): Promise<void>;
38
+ AddUser(user: IStorageUser): Promise<void>;
39
+ DeleteUser(user: IStorageUser): Promise<void>;
40
+ ListDatabases(): Promise<DatabaseInfo[]>;
41
+ CreateDatabase(databaseName: string): Promise<void>;
42
+ DeleteDatabase(databaseName: string): Promise<void>;
43
+ GetLog(id: string): Promise<string>;
44
+ GetLogsList(): Promise<string[]>;
45
+ GetObjectDataset<T extends object>(dataset: dir, converter: IConverter<any, T>): ObjectDataset<T>;
46
+ GetObjectDatasets<T extends object>(datasets: dir[], converter?: IConverter<any, T>): ObjectDatasets<T>;
47
+ GetTextDataset(datasetName: string, converter?: ITextConverter<any>): TextDataset<any> | RawTextDataset;
48
+ GetPictureDataset(dataset: dir, picsConfig: PicsConfig): PictureDataset;
49
+ GetFileDataset(dataset: dir, config?: FilesUploadConfig): FileDataset;
50
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -18,7 +18,8 @@ import { PicsConfig } from "../Datasets/Picture/PicsConfig";
18
18
  import { FileDataset } from "../Datasets/File/FileDataset";
19
19
  import { FilesUploadConfig } from "../Models/FilesUploadConfig";
20
20
  import { ObjectDatasets } from "../Datasets/Object/ObjectDatasets";
21
- export declare class OnlineStorage {
21
+ import { IOnlineStorage } from "./IOnlineStorage";
22
+ export declare class OnlineStorage implements IOnlineStorage {
22
23
  private server;
23
24
  private database;
24
25
  private sender;
package/index.d.ts CHANGED
@@ -4,28 +4,33 @@ export * from "./Models/IEntitiesSet";
4
4
  export * from "./Models/IStorageUser";
5
5
  export * from "./Models/DatabaseInfo";
6
6
  export * from "./Datasets/IRepoBase";
7
- export * from "./Datasets/Object/IRepo";
8
7
  export * from "./Datasets/Text/ITextRepo";
9
- export * from "./Datasets/Object/IRepos";
10
8
  export * from "./Models/DatasetMetadata";
11
9
  export * from "./Datasets/DatasetBase";
12
10
  export * from "./Services/DatasetType";
13
11
  export * from "./Converters/IConverter";
14
12
  export * from "./Converters/Converter";
13
+ export * from "./Datasets/Object/IObjectDataset";
14
+ export * from "./Datasets/Object/IObjectDatasets";
15
15
  export * from "./Datasets/Object/ObjectDataset";
16
16
  export * from "./Datasets/Object/ObjectDatasets";
17
17
  export * from "./Converters/DummyConverter";
18
+ export * from "./Datasets/Text/IRawTextDataset";
19
+ export * from "./Datasets/Text/ITextDataset";
18
20
  export * from "./Datasets/Text/RawTextDataset";
19
21
  export * from "./Datasets/Text/TextDataset";
20
22
  export * from "./Converters/ITextConverter";
21
23
  export * from "./Converters/JsonTextConverter";
24
+ export * from "./Datasets/Picture/IPictureDataset";
22
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
29
  export * from "./Models/PictureDatasetMetadata";
30
+ export * from "./Datasets/File/IFileDataset";
27
31
  export * from "./Datasets/File/FileDataset";
28
32
  export * from "./Datasets/File/FilePack";
29
33
  export * from "./Models/FileDatasetMetadata";
30
34
  export * from "./Models/FilesUploadConfig";
35
+ export * from "./Services/IOnlineStorage";
31
36
  export * from "./Services/OnlineStorage";
package/index.js CHANGED
@@ -4,9 +4,7 @@ export * from "./Models/IEntitiesSet";
4
4
  export * from "./Models/IStorageUser";
5
5
  export * from "./Models/DatabaseInfo";
6
6
  export * from "./Datasets/IRepoBase";
7
- export * from "./Datasets/Object/IRepo";
8
7
  export * from "./Datasets/Text/ITextRepo";
9
- export * from "./Datasets/Object/IRepos";
10
8
  // Common for datasets
11
9
  export * from "./Models/DatasetMetadata";
12
10
  export * from "./Datasets/DatasetBase";
@@ -14,24 +12,31 @@ export * from "./Services/DatasetType";
14
12
  export * from "./Converters/IConverter";
15
13
  export * from "./Converters/Converter";
16
14
  // Object datasets
15
+ export * from "./Datasets/Object/IObjectDataset";
16
+ export * from "./Datasets/Object/IObjectDatasets";
17
17
  export * from "./Datasets/Object/ObjectDataset";
18
18
  export * from "./Datasets/Object/ObjectDatasets";
19
19
  export * from "./Converters/DummyConverter";
20
20
  // Text datasets
21
+ export * from "./Datasets/Text/IRawTextDataset";
22
+ export * from "./Datasets/Text/ITextDataset";
21
23
  export * from "./Datasets/Text/RawTextDataset";
22
24
  export * from "./Datasets/Text/TextDataset";
23
25
  export * from "./Converters/ITextConverter";
24
26
  export * from "./Converters/JsonTextConverter";
25
27
  // Picture datasets
28
+ export * from "./Datasets/Picture/IPictureDataset";
26
29
  export * from "./Datasets/Picture/PictureDataset";
27
30
  export * from "./Datasets/Picture/PicConfig";
28
31
  export * from "./Datasets/Picture/PicsConfig";
29
32
  export * from "./Datasets/Picture/PicturePack";
30
33
  export * from "./Models/PictureDatasetMetadata";
31
34
  // File datasets
35
+ export * from "./Datasets/File/IFileDataset";
32
36
  export * from "./Datasets/File/FileDataset";
33
37
  export * from "./Datasets/File/FilePack";
34
38
  export * from "./Models/FileDatasetMetadata";
35
39
  export * from "./Models/FilesUploadConfig";
36
40
  // Storage
41
+ export * from "./Services/IOnlineStorage";
37
42
  export * from "./Services/OnlineStorage";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tblabs/storage",
3
- "version": "5.15.4",
3
+ "version": "5.15.5",
4
4
  "description": "online storage module with auth",
5
5
  "license": "beerware",
6
6
  "main": "index.js",
Binary file
@@ -1,9 +0,0 @@
1
- export interface IRepos<T> {
2
- Add(dataset: string, id: string, item: T): Promise<void>;
3
- GetAll(dataset: string): Promise<T[]>;
4
- GetOne(dataset: string, id: string): Promise<T | null>;
5
- Update(dataset: string, id: string, item: T): Promise<void>;
6
- Delete(dataset: string, id: string): Promise<void>;
7
- Drop(datasets?: string[]): Promise<void>;
8
- Move(id: string, sourceDataset: string, targetDataset: string): Promise<void>;
9
- }
@@ -1,2 +0,0 @@
1
- // import { IStorageUserPrivileges } from "../../Models/IStorageUserPrivileges";
2
- export {};
Binary file