@tblabs/storage 5.11.0 → 5.12.0

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.
Files changed (84) hide show
  1. package/{TextConverter.d.ts → Converters/ITextConverter.d.ts} +1 -1
  2. package/Converters/JsonTextConverter.d.ts +5 -0
  3. package/{Dataset.d.ts → Datasets/Dataset.d.ts} +5 -5
  4. package/{Dataset.js → Datasets/Dataset.js} +8 -8
  5. package/{DatasetBase.d.ts → Datasets/DatasetBase.d.ts} +3 -3
  6. package/{IRepoBase.d.ts → Datasets/IRepoBase.d.ts} +2 -2
  7. package/{IRepos.d.ts → Datasets/IRepos.d.ts} +1 -1
  8. package/Datasets/PicturesDataset/DefaultPicsConfig.d.ts +2 -0
  9. package/Datasets/PicturesDataset/DefaultPicsConfig.js +7 -0
  10. package/Datasets/PicturesDataset/PicConfig.d.ts +5 -0
  11. package/Datasets/PicturesDataset/PicsConfig.d.ts +4 -0
  12. package/Datasets/PicturesDataset/PicturePack.d.ts +5 -0
  13. package/Datasets/PicturesDataset/PicturesDataset.d.ts +15 -0
  14. package/Datasets/PicturesDataset/PicturesDataset.js +55 -0
  15. package/Datasets/PicturesDataset/PicturesUploadResult.d.ts +9 -0
  16. package/Datasets/PicturesDataset/PicturesUploadResult.js +16 -0
  17. package/{RawTextDataset.d.ts → Datasets/RawTextDataset.d.ts} +4 -4
  18. package/{RawTextDataset.js → Datasets/RawTextDataset.js} +7 -7
  19. package/{TextDataset.d.ts → Datasets/TextDataset.d.ts} +5 -5
  20. package/{TextDataset.js → Datasets/TextDataset.js} +1 -1
  21. package/Messages/AddUserCommand.d.ts +1 -1
  22. package/{CreateDatabaseCommand.d.ts → Messages/CreateDatabaseCommand.d.ts} +2 -2
  23. package/{CreateDatabaseCommand.js → Messages/CreateDatabaseCommand.js} +1 -1
  24. package/Messages/CreateDatasetCommand.d.ts +2 -1
  25. package/Messages/CreateDatasetCommand.js +2 -2
  26. package/{DeleteDatabaseCommand.d.ts → Messages/DeleteDatabaseCommand.d.ts} +2 -2
  27. package/{DeleteDatabaseCommand.js → Messages/DeleteDatabaseCommand.js} +1 -1
  28. package/Messages/DeletePictureCommand.d.ts +5 -0
  29. package/Messages/DeletePictureCommand.js +6 -0
  30. package/Messages/ListDatabasesQuery.d.ts +3 -4
  31. package/Messages/ListDatabasesQuery.js +4 -4
  32. package/Messages/ListDatasetsQuery.d.ts +5 -0
  33. package/Messages/ListDatasetsQuery.js +6 -0
  34. package/Messages/ListPicturesQuery.d.ts +5 -0
  35. package/Messages/ListPicturesQuery.js +6 -0
  36. package/Messages/UpdateUserCommand.d.ts +1 -1
  37. package/Models/DatasetInfo.d.ts +8 -0
  38. package/Models/DatasetInfo.js +1 -0
  39. package/Models/IEntitiesSet.js +1 -0
  40. package/{IStorageUser.d.ts → Models/IStorageUser.d.ts} +1 -1
  41. package/Models/IStorageUser.js +1 -0
  42. package/{IStorageUserPrivileges.d.ts → Models/IStorageUserPrivileges.d.ts} +20 -2
  43. package/Models/IStorageUserPrivileges.js +1 -0
  44. package/Services/DatasetType.d.ts +6 -0
  45. package/Services/DatasetType.js +7 -0
  46. package/{OnlineStorage.d.ts → Services/OnlineStorage.d.ts} +17 -15
  47. package/{OnlineStorage.js → Services/OnlineStorage.js} +27 -28
  48. package/index.d.ts +23 -18
  49. package/index.js +23 -18
  50. package/package.json +1 -1
  51. package/tblabs-storage-5.12.0.tgz +0 -0
  52. package/DatasetInfo.d.ts +0 -4
  53. package/Datasets.d.ts +0 -22
  54. package/Datasets.js +0 -147
  55. package/IStorageUserPrivileges.js +0 -20
  56. package/JsonTextConverter.d.ts +0 -5
  57. package/ListDatabasesQuery.d.ts +0 -4
  58. package/ListDatabasesQuery.js +0 -6
  59. package/Utils/Delay.d.ts +0 -1
  60. package/Utils/Delay.js +0 -3
  61. package/Utils/OperationRepeater.d.ts +0 -3
  62. package/Utils/OperationRepeater.js +0 -19
  63. package/tblabs-storage-5.11.0.tgz +0 -0
  64. /package/{Converter.d.ts → Converters/Converter.d.ts} +0 -0
  65. /package/{Converter.js → Converters/Converter.js} +0 -0
  66. /package/{DummyConverter.d.ts → Converters/DummyConverter.d.ts} +0 -0
  67. /package/{DummyConverter.js → Converters/DummyConverter.js} +0 -0
  68. /package/{IConverter.d.ts → Converters/IConverter.d.ts} +0 -0
  69. /package/{IConverter.js → Converters/IConverter.js} +0 -0
  70. /package/{DatabaseInfo.js → Converters/ITextConverter.js} +0 -0
  71. /package/{JsonTextConverter.js → Converters/JsonTextConverter.js} +0 -0
  72. /package/{DatasetBase.js → Datasets/DatasetBase.js} +0 -0
  73. /package/{IRepo.d.ts → Datasets/IRepo.d.ts} +0 -0
  74. /package/{IRepo.js → Datasets/IRepo.js} +0 -0
  75. /package/{IRepoBase.js → Datasets/IRepoBase.js} +0 -0
  76. /package/{IRepos.js → Datasets/IRepos.js} +0 -0
  77. /package/{ITextRepo.d.ts → Datasets/ITextRepo.d.ts} +0 -0
  78. /package/{ITextRepo.js → Datasets/ITextRepo.js} +0 -0
  79. /package/{DatasetInfo.js → Datasets/PicturesDataset/PicConfig.js} +0 -0
  80. /package/{IEntitiesSet.js → Datasets/PicturesDataset/PicsConfig.js} +0 -0
  81. /package/{IStorageUser.js → Datasets/PicturesDataset/PicturePack.js} +0 -0
  82. /package/{DatabaseInfo.d.ts → Models/DatabaseInfo.d.ts} +0 -0
  83. /package/{TextConverter.js → Models/DatabaseInfo.js} +0 -0
  84. /package/{IEntitiesSet.d.ts → Models/IEntitiesSet.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- export interface TextConverter<T> {
1
+ export interface ITextConverter<T> {
2
2
  ToLine(entry: T): string;
3
3
  ToEntry(line: string): T;
4
4
  }
@@ -0,0 +1,5 @@
1
+ import { ITextConverter } from "./ITextConverter";
2
+ export declare class JsonTextConverter<T> implements ITextConverter<T> {
3
+ ToLine(entry: T): string;
4
+ ToEntry(line: string): T;
5
+ }
@@ -1,8 +1,8 @@
1
- import { OnlineStorage } from "./OnlineStorage";
2
- import { IConverter } from "./IConverter";
3
- import { IRepo } from "./IRepo";
4
- import { dir } from "./Types/dir";
5
- import { DatasetBase } from "./DatasetBase";
1
+ import { OnlineStorage } from "../Services/OnlineStorage";
2
+ import { IConverter } from "../Converters/IConverter";
3
+ import { IRepo } from "../Datasets/IRepo";
4
+ import { dir } from "../Types/dir";
5
+ import { DatasetBase } from "../Datasets/DatasetBase";
6
6
  export declare class Dataset<T extends object> extends DatasetBase implements IRepo<T> {
7
7
  protected _db: OnlineStorage;
8
8
  protected _converter: IConverter<any, T>;
@@ -1,11 +1,11 @@
1
- import { AddFileCommand } from "./Messages/AddFileCommand";
2
- import { DeleteFileCommand } from "./Messages/DeleteFileCommand";
3
- import { DropDatasetCommand } from "./Messages/DropDatasetCommand";
4
- import { ListFilesQuery } from "./Messages/ListFilesQuery";
5
- import { GetFileQuery } from "./Messages/GetFileQuery";
6
- import { UpdateFileCommand } from "./Messages/UpdateFileCommand";
7
- import { ListFilesIdsQuery } from "./Messages/ListFilesIdsQuery";
8
- import { DatasetBase } from "./DatasetBase";
1
+ import { AddFileCommand } from "../Messages/AddFileCommand";
2
+ import { DeleteFileCommand } from "../Messages/DeleteFileCommand";
3
+ import { DropDatasetCommand } from "../Messages/DropDatasetCommand";
4
+ import { ListFilesQuery } from "../Messages/ListFilesQuery";
5
+ import { GetFileQuery } from "../Messages/GetFileQuery";
6
+ import { UpdateFileCommand } from "../Messages/UpdateFileCommand";
7
+ import { ListFilesIdsQuery } from "../Messages/ListFilesIdsQuery";
8
+ import { DatasetBase } from "../Datasets/DatasetBase";
9
9
  export class Dataset extends DatasetBase {
10
10
  _db;
11
11
  _converter;
@@ -1,6 +1,6 @@
1
- import { IStorageUserPrivileges } from "./IStorageUserPrivileges";
2
- import { OnlineStorage } from "./OnlineStorage";
3
- import { dir } from "./Types/dir";
1
+ import { IStorageUserPrivileges } from "../Models/IStorageUserPrivileges";
2
+ import { OnlineStorage } from "../Services/OnlineStorage";
3
+ import { dir } from "../Types/dir";
4
4
  export declare class DatasetBase {
5
5
  protected _db: OnlineStorage;
6
6
  protected dataset: dir;
@@ -1,5 +1,5 @@
1
- import { IStorageUserPrivileges } from "./IStorageUserPrivileges";
2
- import { OnlineStorage } from "./OnlineStorage";
1
+ import { IStorageUserPrivileges } from "../Models/IStorageUserPrivileges";
2
+ import { OnlineStorage } from "../Services/OnlineStorage";
3
3
  export interface IRepoBase {
4
4
  get Name(): string;
5
5
  get Database(): OnlineStorage;
@@ -1,4 +1,4 @@
1
- import { IStorageUserPrivileges } from "./IStorageUserPrivileges";
1
+ import { IStorageUserPrivileges } from "../Models/IStorageUserPrivileges";
2
2
  export interface IRepos<T> {
3
3
  CanUserDo(action: keyof IStorageUserPrivileges): boolean;
4
4
  Add(dataset: string, id: string, item: T): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import { PicsConfig } from "./PicsConfig";
2
+ export declare const DefaultPicsConfig: PicsConfig;
@@ -0,0 +1,7 @@
1
+ export const DefaultPicsConfig = {
2
+ Sizes: {
3
+ "h1024": { ResizeTo: "height", Height: 1024 },
4
+ "w256": { ResizeTo: "width", Width: 256 },
5
+ "w64": { ResizeTo: "width", Width: 64 }
6
+ }
7
+ };
@@ -0,0 +1,5 @@
1
+ export interface PicConfig {
2
+ ResizeTo: "height" | "width";
3
+ Height?: number;
4
+ Width?: number;
5
+ }
@@ -0,0 +1,4 @@
1
+ import { PicConfig } from "./PicConfig";
2
+ export interface PicsConfig {
3
+ Sizes: Record<string, PicConfig>;
4
+ }
@@ -0,0 +1,5 @@
1
+ export interface PicturePack {
2
+ Name: string;
3
+ Extension: string;
4
+ Sizes: string[];
5
+ }
@@ -0,0 +1,15 @@
1
+ import { OnlineStorage } from "../../Services/OnlineStorage";
2
+ import { dir } from "../../Types/dir";
3
+ import { DatasetBase } from "../DatasetBase";
4
+ import { PicturesUploadResult } from "./PicturesUploadResult";
5
+ import { PicsConfig } from "./PicsConfig";
6
+ import { PicturePack } from "./PicturePack";
7
+ export declare class PicturesDataset extends DatasetBase {
8
+ protected _db: OnlineStorage;
9
+ protected dataset: dir;
10
+ protected picsConfig: PicsConfig;
11
+ constructor(_db: OnlineStorage, dataset: dir, picsConfig?: PicsConfig);
12
+ ListPictures(): Promise<PicturePack[]>;
13
+ UploadPictures(files: File[]): Promise<PicturesUploadResult>;
14
+ DeletePicture(id: string): Promise<void>;
15
+ }
@@ -0,0 +1,55 @@
1
+ import { DeletePictureCommand } from "../../Messages/DeletePictureCommand";
2
+ import { ListPicturesQuery } from "../../Messages/ListPicturesQuery";
3
+ import { DatasetBase } from "../DatasetBase";
4
+ import { DefaultPicsConfig } from "./DefaultPicsConfig";
5
+ import { PicturesUploadResult } from "./PicturesUploadResult";
6
+ export class PicturesDataset extends DatasetBase {
7
+ _db;
8
+ dataset;
9
+ picsConfig;
10
+ constructor(_db, dataset, picsConfig = DefaultPicsConfig) {
11
+ super(_db, dataset);
12
+ this._db = _db;
13
+ this.dataset = dataset;
14
+ this.picsConfig = picsConfig;
15
+ }
16
+ async ListPictures() {
17
+ const result = await this._db.Send(new ListPicturesQuery(this._db.DatabaseDir, this.dataset));
18
+ if (!result.IsSuccess) {
19
+ throw new Error("Failed to list picture packs: " + result.ErrorMessage);
20
+ }
21
+ return result.Result;
22
+ }
23
+ async UploadPictures(files) {
24
+ try {
25
+ if (!files) {
26
+ return PicturesUploadResult.Failure("No files provided");
27
+ }
28
+ const formData = new FormData();
29
+ for (let i = 0; i < files.length; i++) {
30
+ formData.append('files[]', files[i]); // Tak, te [] w nazwie zmiennej są konieczne! bez tego php (mimo że odbiera przez $_FILES["files"]) nie jest w stanie odebrać wielu plików xd
31
+ }
32
+ formData.append('database', this._db.DatabaseDir);
33
+ formData.append('dataset', this.dataset);
34
+ formData.append('config', JSON.stringify(this.picsConfig));
35
+ const response = await fetch(this._db.Server + "/picures-upload", {
36
+ method: 'POST',
37
+ body: formData,
38
+ });
39
+ if (!response.ok) {
40
+ return PicturesUploadResult.Failure(`Request failed with status ${response.status}`);
41
+ }
42
+ const picturePacks = await response.json();
43
+ return PicturesUploadResult.Success(picturePacks);
44
+ }
45
+ catch (ex) {
46
+ return PicturesUploadResult.Failure(`Can not upload: ${ex.message}`);
47
+ }
48
+ }
49
+ async DeletePicture(id) {
50
+ const result = await this._db.Send(new DeletePictureCommand(this._db.DatabaseDir, this.dataset, id));
51
+ if (!result.IsSuccess) {
52
+ throw new Error("Failed to delete picture: " + result.ErrorMessage);
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,9 @@
1
+ import { PicturePack } from "./PicturePack";
2
+ export declare class PicturesUploadResult {
3
+ IsSuccess: boolean;
4
+ PicturePacks: PicturePack[] | null;
5
+ ErrorMessage: string;
6
+ constructor(IsSuccess?: boolean, PicturePacks?: PicturePack[] | null, ErrorMessage?: string);
7
+ static Success(packs: PicturePack[]): PicturesUploadResult;
8
+ static Failure(reason: string): PicturesUploadResult;
9
+ }
@@ -0,0 +1,16 @@
1
+ export class PicturesUploadResult {
2
+ IsSuccess;
3
+ PicturePacks;
4
+ ErrorMessage;
5
+ constructor(IsSuccess = false, PicturePacks = null, ErrorMessage = "") {
6
+ this.IsSuccess = IsSuccess;
7
+ this.PicturePacks = PicturePacks;
8
+ this.ErrorMessage = ErrorMessage;
9
+ }
10
+ static Success(packs) {
11
+ return new PicturesUploadResult(true, packs, "");
12
+ }
13
+ static Failure(reason) {
14
+ return new PicturesUploadResult(false, null, reason);
15
+ }
16
+ }
@@ -1,7 +1,7 @@
1
- import { DatasetBase } from "./DatasetBase";
2
- import { ITextRepo } from "./ITextRepo";
3
- import { OnlineStorage } from "./OnlineStorage";
4
- import { dir } from "./Types/dir";
1
+ import { DatasetBase } from "../Datasets/DatasetBase";
2
+ import { ITextRepo } from "../Datasets/ITextRepo";
3
+ import { OnlineStorage } from "../Services/OnlineStorage";
4
+ import { dir } from "../Types/dir";
5
5
  export declare class RawTextDataset extends DatasetBase implements ITextRepo {
6
6
  protected _db: OnlineStorage;
7
7
  protected dataset: dir;
@@ -1,10 +1,10 @@
1
- import { DatasetBase } from "./DatasetBase";
2
- import { AppendCommand } from "./Messages/AppendCommand";
3
- import { CreateFileCommand } from "./Messages/CreateFileCommand";
4
- import { DeleteFileCommand } from "./Messages/DeleteFileCommand";
5
- import { DropDatasetCommand } from "./Messages/DropDatasetCommand";
6
- import { ListFilesIdsQuery } from "./Messages/ListFilesIdsQuery";
7
- import { ReadFileQuery } from "./Messages/ReadFileQuery";
1
+ import { DatasetBase } from "../Datasets/DatasetBase";
2
+ import { AppendCommand } from "../Messages/AppendCommand";
3
+ import { CreateFileCommand } from "../Messages/CreateFileCommand";
4
+ import { DeleteFileCommand } from "../Messages/DeleteFileCommand";
5
+ import { DropDatasetCommand } from "../Messages/DropDatasetCommand";
6
+ import { ListFilesIdsQuery } from "../Messages/ListFilesIdsQuery";
7
+ import { ReadFileQuery } from "../Messages/ReadFileQuery";
8
8
  export class RawTextDataset extends DatasetBase {
9
9
  _db;
10
10
  dataset;
@@ -1,12 +1,12 @@
1
- import { OnlineStorage } from "./OnlineStorage";
1
+ import { OnlineStorage } from "../Services/OnlineStorage";
2
2
  import { RawTextDataset } from "./RawTextDataset";
3
- import { TextConverter } from "./TextConverter";
4
- import { dir } from "./Types/dir";
3
+ import { ITextConverter } from "../Converters/ITextConverter";
4
+ import { dir } from "../Types/dir";
5
5
  export declare class TextDataset<T> extends RawTextDataset {
6
6
  protected _db: OnlineStorage;
7
7
  protected dataset: dir;
8
- protected _converter: TextConverter<T>;
9
- constructor(_db: OnlineStorage, dataset: dir, _converter?: TextConverter<T>);
8
+ protected _converter: ITextConverter<T>;
9
+ constructor(_db: OnlineStorage, dataset: dir, _converter?: ITextConverter<T>);
10
10
  Load(id: string, offset?: number, limit?: number): Promise<T[]>;
11
11
  Append(id: string, entry: T): Promise<void>;
12
12
  }
@@ -1,4 +1,4 @@
1
- import { JsonTextConverter } from "./JsonTextConverter";
1
+ import { JsonTextConverter } from "../Converters/JsonTextConverter";
2
2
  import { RawTextDataset } from "./RawTextDataset";
3
3
  export class TextDataset extends RawTextDataset {
4
4
  _db;
@@ -1,4 +1,4 @@
1
- import { IStorageUser } from '../IStorageUser';
1
+ import { IStorageUser } from '../Models/IStorageUser';
2
2
  import { Message } from '../MessageBus/Message';
3
3
  import { dir } from '../Types/dir';
4
4
  export declare class AddUserCommand extends Message {
@@ -1,5 +1,5 @@
1
- import { Message } from "./MessageBus/Message";
2
- import { dir } from "./Types/dir";
1
+ import { Message } from "../MessageBus/Message";
2
+ import { dir } from "../Types/dir";
3
3
  export declare class CreateDatabaseCommand extends Message {
4
4
  constructor(Database: dir);
5
5
  }
@@ -1,4 +1,4 @@
1
- import { Message } from "./MessageBus/Message";
1
+ import { Message } from "../MessageBus/Message";
2
2
  export class CreateDatabaseCommand extends Message {
3
3
  constructor(Database) {
4
4
  super("CreateDatabase", { Database });
@@ -1,5 +1,6 @@
1
1
  import { Message } from '../MessageBus/Message';
2
+ import { DatasetType } from '../Services/DatasetType';
2
3
  import { dir } from '../Types/dir';
3
4
  export declare class CreateDatasetCommand extends Message {
4
- constructor(Database: dir, Dataset: dir);
5
+ constructor(Database: dir, Type: DatasetType, Dataset: dir);
5
6
  }
@@ -1,6 +1,6 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  export class CreateDatasetCommand extends Message {
3
- constructor(Database, Dataset) {
4
- super("CreateDataset", { Database, Dataset });
3
+ constructor(Database, Type, Dataset) {
4
+ super("CreateDataset", { Database, Type, Dataset });
5
5
  }
6
6
  }
@@ -1,5 +1,5 @@
1
- import { Message } from "./MessageBus/Message";
2
- import { dir } from "./Types/dir";
1
+ import { Message } from "../MessageBus/Message";
2
+ import { dir } from "../Types/dir";
3
3
  export declare class DeleteDatabaseCommand extends Message {
4
4
  constructor(Database: dir);
5
5
  }
@@ -1,4 +1,4 @@
1
- import { Message } from "./MessageBus/Message";
1
+ import { Message } from "../MessageBus/Message";
2
2
  export class DeleteDatabaseCommand extends Message {
3
3
  constructor(Database) {
4
4
  super("DeleteDatabase", { Database });
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class DeletePictureCommand extends Message {
4
+ constructor(Database: dir, Dataset: dir, FileId: string);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class DeletePictureCommand extends Message {
3
+ constructor(Database, Dataset, FileId) {
4
+ super("DeletePicture", { Database, Dataset, FileId });
5
+ }
6
+ }
@@ -1,5 +1,4 @@
1
- import { Message } from '../MessageBus/Message';
2
- import { dir } from '../Types/dir';
3
- export declare class ListDatasetsQuery extends Message {
4
- constructor(Database: dir);
1
+ import { Message } from "../MessageBus/Message";
2
+ export declare class ListDatabasesQuery extends Message {
3
+ constructor();
5
4
  }
@@ -1,6 +1,6 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class ListDatasetsQuery extends Message {
3
- constructor(Database) {
4
- super("ListDatasets", { Database });
1
+ import { Message } from "../MessageBus/Message";
2
+ export class ListDatabasesQuery extends Message {
3
+ constructor() {
4
+ super("ListDatabases", {});
5
5
  }
6
6
  }
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class ListDatasetsQuery extends Message {
4
+ constructor(Database: dir);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class ListDatasetsQuery extends Message {
3
+ constructor(Database) {
4
+ super("ListDatasets", { Database });
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class ListPicturesQuery extends Message {
4
+ constructor(Database: dir, Dataset: dir);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class ListPicturesQuery extends Message {
3
+ constructor(Database, Dataset) {
4
+ super("ListPictures", { Database, Dataset });
5
+ }
6
+ }
@@ -1,4 +1,4 @@
1
- import { IStorageUser } from '../IStorageUser';
1
+ import { IStorageUser } from '../Models/IStorageUser';
2
2
  import { Message } from '../MessageBus/Message';
3
3
  import { dir } from '../Types/dir';
4
4
  export declare class UpdateUserCommand extends Message {
@@ -0,0 +1,8 @@
1
+ import { DatasetType } from "../Services/DatasetType";
2
+ export interface DatasetInfo {
3
+ Name: string;
4
+ FilesCount: number;
5
+ Type: DatasetType;
6
+ CreatedAt: string;
7
+ CreatedBy: string;
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { IStorageUserPrivileges } from "./IStorageUserPrivileges";
2
- import { ISender } from "./MessageBus/ISender";
2
+ import { ISender } from "../MessageBus/ISender";
3
3
  export interface IStorageUser extends ISender {
4
4
  Id: string;
5
5
  Database: string;
@@ -0,0 +1 @@
1
+ export {};
@@ -25,6 +25,26 @@ export interface IStorageUserPrivileges {
25
25
  Datasets: IEntitiesSet;
26
26
  Files: IEntitiesSet;
27
27
  };
28
+ CreateFile: {
29
+ Datasets: IEntitiesSet;
30
+ };
31
+ ReadFile: {
32
+ Datasets: IEntitiesSet;
33
+ Files: IEntitiesSet;
34
+ };
35
+ Append: {
36
+ Datasets: IEntitiesSet;
37
+ Files: IEntitiesSet;
38
+ };
39
+ ListPictures: {
40
+ Datasets: IEntitiesSet;
41
+ };
42
+ UploadPicture: {
43
+ Datasets: IEntitiesSet;
44
+ };
45
+ DeletePicture: {
46
+ Datasets: IEntitiesSet;
47
+ };
28
48
  CreateDataset: {
29
49
  Datasets: IEntitiesSet;
30
50
  };
@@ -34,7 +54,6 @@ export interface IStorageUserPrivileges {
34
54
  RemoveDataset: {
35
55
  Datasets: IEntitiesSet;
36
56
  };
37
- Search: boolean;
38
57
  ListDatasets: boolean;
39
58
  ListUsers: boolean;
40
59
  GetLogs: boolean;
@@ -46,4 +65,3 @@ export interface IStorageUserPrivileges {
46
65
  AddUser: boolean;
47
66
  DeleteUser: boolean;
48
67
  }
49
- export declare const USER_PRIVILEGES_NAMES: (keyof IStorageUserPrivileges)[];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export declare enum DatasetType {
2
+ Unknown = "unknown",
3
+ Objects = "objects",
4
+ Texts = "texts",
5
+ Pictures = "pictures"
6
+ }
@@ -0,0 +1,7 @@
1
+ export var DatasetType;
2
+ (function (DatasetType) {
3
+ DatasetType["Unknown"] = "unknown";
4
+ DatasetType["Objects"] = "objects";
5
+ DatasetType["Texts"] = "texts";
6
+ DatasetType["Pictures"] = "pictures";
7
+ })(DatasetType || (DatasetType = {}));
@@ -1,15 +1,18 @@
1
- import { dir, url } from "./Types/dir";
2
- import { IMessage } from "./MessageBus/IMessage";
3
- import { ISender } from "./MessageBus/ISender";
4
- import { MessageBus } from "./MessageBus/MessageBus";
5
- import { MessageBusResponse } from "./MessageBus/MessageBusResponse";
6
- import { Dataset } from "./Dataset";
7
- import { IStorageUser } from "./IStorageUser";
8
- import { IConverter } from "./IConverter";
9
- import { IStorageUserPrivileges } from "./IStorageUserPrivileges";
10
- import { DatabaseInfo } from "./DatabaseInfo";
11
- import { DatasetInfo } from "./DatasetInfo";
12
- import { RawTextDataset } from "./RawTextDataset";
1
+ import { dir, url } from "../Types/dir";
2
+ import { IMessage } from "../MessageBus/IMessage";
3
+ import { ISender } from "../MessageBus/ISender";
4
+ import { MessageBus } from "../MessageBus/MessageBus";
5
+ import { MessageBusResponse } from "../MessageBus/MessageBusResponse";
6
+ import { Dataset } from "../Datasets/Dataset";
7
+ import { IStorageUser } from "../Models/IStorageUser";
8
+ import { IConverter } from "../Converters/IConverter";
9
+ import { IStorageUserPrivileges } from "../Models/IStorageUserPrivileges";
10
+ import { DatabaseInfo } from "../Models/DatabaseInfo";
11
+ import { DatasetInfo } from "../Models/DatasetInfo";
12
+ import { RawTextDataset } from "../Datasets/RawTextDataset";
13
+ import { TextDataset } from "../Datasets/TextDataset";
14
+ import { ITextConverter } from "../Converters/ITextConverter";
15
+ import { DatasetType } from "./DatasetType";
13
16
  export declare class OnlineStorage {
14
17
  private server;
15
18
  private database;
@@ -19,7 +22,6 @@ export declare class OnlineStorage {
19
22
  private readonly _bus;
20
23
  private onUserChange;
21
24
  private USER_LOCAL_STORAGE_KEY;
22
- get AvailableUserPrivileges(): (keyof IStorageUserPrivileges)[];
23
25
  get Server(): string;
24
26
  get DatabaseDir(): dir;
25
27
  constructor(server: url, database: dir, sender?: ISender, bus?: MessageBus);
@@ -32,7 +34,7 @@ export declare class OnlineStorage {
32
34
  UpdateUser(user: IStorageUser): Promise<void>;
33
35
  DeleteUser(user: IStorageUser): Promise<void>;
34
36
  GetDataset<T extends object>(datasetName: string, converter: IConverter<any, T>): Dataset<T>;
35
- GetTextDataset(datasetName: string): RawTextDataset;
37
+ GetTextDataset(datasetName: string, converter?: ITextConverter<any>): TextDataset<any> | RawTextDataset;
36
38
  private IsBrowserEnvironment;
37
39
  private LoadUserFromLocalStorage;
38
40
  get User(): IStorageUser;
@@ -49,7 +51,7 @@ export declare class OnlineStorage {
49
51
  Log(...message: any[]): void;
50
52
  Ping(): Promise<boolean>;
51
53
  Send(message: IMessage): Promise<MessageBusResponse>;
52
- CreateDataset(datasetName: string): Promise<void>;
54
+ CreateDataset(type: DatasetType, datasetName: string): Promise<void>;
53
55
  DatasetExists(datasetName: string): Promise<boolean>;
54
56
  RemoveDataset(datasetName: string): Promise<void>;
55
57
  Move(fileId: string, sourceDataset: Dataset<any>, targetDataset: Dataset<any>): Promise<void>;
@@ -1,23 +1,23 @@
1
- import { MessageBus } from "./MessageBus/MessageBus";
2
- import { CreateDatasetCommand } from './Messages/CreateDatasetCommand';
3
- import { DatasetExistsCommand } from './Messages/DatasetExistsCommand';
4
- import { RemoveDatasetCommand } from './Messages/RemoveDatasetCommand';
5
- import { Dataset } from "./Dataset";
6
- import { MoveFileCommand } from "./Messages/MoveFileCommand";
7
- import { LoginUserQuery } from "./Messages/LoginUserQuery";
8
- import { ListUsersQuery } from "./Messages/ListUsersQuery";
9
- import { UpdateUserCommand } from "./Messages/UpdateUserCommand";
10
- import { AddUserCommand } from "./Messages/AddUserCommand";
11
- import { DeleteUserCommand } from "./Messages/DeleteUserCommand";
12
- import { GetUserQuery } from "./Messages/GetUserQuery";
13
- import { USER_PRIVILEGES_NAMES } from "./IStorageUserPrivileges";
14
- import { GetLogQuery } from "./Messages/GetLogQuery";
15
- import { ListLogsIdsQuery } from "./Messages/GetLogsListQuery";
16
- import { ListDatabasesQuery } from "./ListDatabasesQuery";
17
- import { CreateDatabaseCommand } from "./CreateDatabaseCommand";
18
- import { ListDatasetsQuery } from "./Messages/ListDatabasesQuery";
19
- import { DeleteDatabaseCommand } from "./DeleteDatabaseCommand";
20
- import { RawTextDataset } from "./RawTextDataset";
1
+ import { MessageBus } from "../MessageBus/MessageBus";
2
+ import { CreateDatasetCommand } from '../Messages/CreateDatasetCommand';
3
+ import { DatasetExistsCommand } from '../Messages/DatasetExistsCommand';
4
+ import { RemoveDatasetCommand } from '../Messages/RemoveDatasetCommand';
5
+ import { Dataset } from "../Datasets/Dataset";
6
+ import { MoveFileCommand } from "../Messages/MoveFileCommand";
7
+ import { LoginUserQuery } from "../Messages/LoginUserQuery";
8
+ import { ListUsersQuery } from "../Messages/ListUsersQuery";
9
+ import { UpdateUserCommand } from "../Messages/UpdateUserCommand";
10
+ import { AddUserCommand } from "../Messages/AddUserCommand";
11
+ import { DeleteUserCommand } from "../Messages/DeleteUserCommand";
12
+ import { GetUserQuery } from "../Messages/GetUserQuery";
13
+ import { GetLogQuery } from "../Messages/GetLogQuery";
14
+ import { ListLogsIdsQuery } from "../Messages/GetLogsListQuery";
15
+ import { ListDatabasesQuery } from "../Messages/ListDatabasesQuery";
16
+ import { CreateDatabaseCommand } from "../Messages/CreateDatabaseCommand";
17
+ import { ListDatasetsQuery } from '../Messages/ListDatasetsQuery';
18
+ import { DeleteDatabaseCommand } from "../Messages/DeleteDatabaseCommand";
19
+ import { RawTextDataset } from "../Datasets/RawTextDataset";
20
+ import { TextDataset } from "../Datasets/TextDataset";
21
21
  export class OnlineStorage {
22
22
  server;
23
23
  database;
@@ -27,9 +27,6 @@ export class OnlineStorage {
27
27
  _bus;
28
28
  onUserChange = [];
29
29
  USER_LOCAL_STORAGE_KEY = "";
30
- get AvailableUserPrivileges() {
31
- return USER_PRIVILEGES_NAMES;
32
- }
33
30
  get Server() {
34
31
  return this.server;
35
32
  }
@@ -106,8 +103,10 @@ export class OnlineStorage {
106
103
  GetDataset(datasetName, converter) {
107
104
  return new Dataset(this, converter, datasetName);
108
105
  }
109
- GetTextDataset(datasetName) {
110
- return new RawTextDataset(this, datasetName);
106
+ GetTextDataset(datasetName, converter) {
107
+ return converter
108
+ ? new TextDataset(this, datasetName, converter)
109
+ : new RawTextDataset(this, datasetName);
111
110
  }
112
111
  IsBrowserEnvironment() {
113
112
  return typeof window !== "undefined" && typeof window.localStorage !== "undefined";
@@ -209,9 +208,9 @@ export class OnlineStorage {
209
208
  }
210
209
  return result;
211
210
  }
212
- async CreateDataset(datasetName) {
213
- this.Log(`Creating dataset "${datasetName}"...`);
214
- const result = await this._bus.SendMessage(new CreateDatasetCommand(this.DatabaseDir, datasetName));
211
+ async CreateDataset(type, datasetName) {
212
+ this.Log(`Creating dataset "${datasetName}" of ${type} type...`);
213
+ const result = await this._bus.SendMessage(new CreateDatasetCommand(this.DatabaseDir, type, datasetName));
215
214
  if (!result.IsSuccess) {
216
215
  throw new Error(`Failed to add dataset: ${result.ErrorMessage}`);
217
216
  }
package/index.d.ts CHANGED
@@ -1,19 +1,24 @@
1
1
  export * from "./Types/dir";
2
- export * from "./IStorageUserPrivileges";
3
- export * from "./IEntitiesSet";
4
- export * from "./IStorageUser";
5
- export * from "./IConverter";
6
- export * from "./Converter";
7
- export * from "./DummyConverter";
8
- export * from "./TextConverter";
9
- export * from "./JsonTextConverter";
10
- export * from "./IRepoBase";
11
- export * from "./IRepo";
12
- export * from "./ITextRepo";
13
- export * from "./IRepos";
14
- export * from "./Dataset";
15
- export * from "./RawTextDataset";
16
- export * from "./TextDataset";
17
- export * from "./Datasets";
18
- export * from "./OnlineStorage";
19
- export * from "./Utils/OperationRepeater";
2
+ export * from "./Models/IStorageUserPrivileges";
3
+ export * from "./Models/IEntitiesSet";
4
+ export * from "./Models/IStorageUser";
5
+ export * from "./Converters/IConverter";
6
+ export * from "./Converters/Converter";
7
+ export * from "./Converters/DummyConverter";
8
+ export * from "./Converters/ITextConverter";
9
+ export * from "./Converters/JsonTextConverter";
10
+ export * from "./Datasets/IRepoBase";
11
+ export * from "./Datasets/IRepo";
12
+ export * from "./Datasets/ITextRepo";
13
+ export * from "./Datasets/IRepos";
14
+ export * from "./Datasets/DatasetBase";
15
+ export * from "./Datasets/Dataset";
16
+ export * from "./Datasets/RawTextDataset";
17
+ export * from "./Datasets/TextDataset";
18
+ export * from "./Datasets/PicturesDataset/PicturesDataset";
19
+ export * from "./Datasets/PicturesDataset/PicConfig";
20
+ export * from "./Datasets/PicturesDataset/PicsConfig";
21
+ export * from "./Datasets/PicturesDataset/PicturePack";
22
+ export * from "./Datasets/PicturesDataset/PicturesUploadResult";
23
+ export * from "./Services/DatasetType";
24
+ export * from "./Services/OnlineStorage";
package/index.js CHANGED
@@ -1,19 +1,24 @@
1
1
  export * from "./Types/dir";
2
- export * from "./IStorageUserPrivileges";
3
- export * from "./IEntitiesSet";
4
- export * from "./IStorageUser";
5
- export * from "./IConverter";
6
- export * from "./Converter";
7
- export * from "./DummyConverter";
8
- export * from "./TextConverter";
9
- export * from "./JsonTextConverter";
10
- export * from "./IRepoBase";
11
- export * from "./IRepo";
12
- export * from "./ITextRepo";
13
- export * from "./IRepos";
14
- export * from "./Dataset";
15
- export * from "./RawTextDataset";
16
- export * from "./TextDataset";
17
- export * from "./Datasets";
18
- export * from "./OnlineStorage";
19
- export * from "./Utils/OperationRepeater";
2
+ export * from "./Models/IStorageUserPrivileges";
3
+ export * from "./Models/IEntitiesSet";
4
+ export * from "./Models/IStorageUser";
5
+ export * from "./Converters/IConverter";
6
+ export * from "./Converters/Converter";
7
+ export * from "./Converters/DummyConverter";
8
+ export * from "./Converters/ITextConverter";
9
+ export * from "./Converters/JsonTextConverter";
10
+ export * from "./Datasets/IRepoBase";
11
+ export * from "./Datasets/IRepo";
12
+ export * from "./Datasets/ITextRepo";
13
+ export * from "./Datasets/IRepos";
14
+ export * from "./Datasets/DatasetBase";
15
+ export * from "./Datasets/Dataset";
16
+ export * from "./Datasets/RawTextDataset";
17
+ export * from "./Datasets/TextDataset";
18
+ export * from "./Datasets/PicturesDataset/PicturesDataset";
19
+ export * from "./Datasets/PicturesDataset/PicConfig";
20
+ export * from "./Datasets/PicturesDataset/PicsConfig";
21
+ export * from "./Datasets/PicturesDataset/PicturePack";
22
+ export * from "./Datasets/PicturesDataset/PicturesUploadResult";
23
+ export * from "./Services/DatasetType";
24
+ export * from "./Services/OnlineStorage";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tblabs/storage",
3
- "version": "5.11.0",
3
+ "version": "5.12.0",
4
4
  "description": "online storage module with auth",
5
5
  "license": "beerware",
6
6
  "main": "index.js",
Binary file
package/DatasetInfo.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export interface DatasetInfo {
2
- Name: string;
3
- FilesCount: number;
4
- }
package/Datasets.d.ts DELETED
@@ -1,22 +0,0 @@
1
- import { IConverter } from "./IConverter";
2
- import { IRepos } from "./IRepos";
3
- import { IStorageUserPrivileges } from "./IStorageUserPrivileges";
4
- import { OnlineStorage } from "./OnlineStorage";
5
- import { dir } from "./Types/dir";
6
- export declare class Datasets<T extends object> implements IRepos<T> {
7
- private _db;
8
- private _converter;
9
- private datasets;
10
- constructor(_db: OnlineStorage, _converter: IConverter<any, T>, datasets: dir[]);
11
- get Names(): string[];
12
- get Database(): OnlineStorage;
13
- CanUserDo(action: keyof IStorageUserPrivileges): boolean;
14
- GetOne(dataset: dir, id: string): Promise<T>;
15
- GetAll(dataset: dir): Promise<T[]>;
16
- GetAllIds(dataset: dir): Promise<string[]>;
17
- Add(dataset: dir, id: string, item: T): Promise<void>;
18
- Update(dataset: dir, id: string, item: T): Promise<void>;
19
- Move(id: string, sourceDataset: dir, targetDataset: dir): Promise<void>;
20
- Delete(dataset: dir, id: string): Promise<void>;
21
- Drop(datasets?: dir[]): Promise<void>;
22
- }
package/Datasets.js DELETED
@@ -1,147 +0,0 @@
1
- import { AddFileCommand } from "./Messages/AddFileCommand";
2
- import { DeleteFileCommand } from "./Messages/DeleteFileCommand";
3
- import { DropDatasetCommand } from "./Messages/DropDatasetCommand";
4
- import { GetFileQuery } from "./Messages/GetFileQuery";
5
- import { ListFilesIdsQuery } from "./Messages/ListFilesIdsQuery";
6
- import { ListFilesQuery } from "./Messages/ListFilesQuery";
7
- import { MoveFileCommand } from "./Messages/MoveFileCommand";
8
- import { UpdateFileCommand } from "./Messages/UpdateFileCommand";
9
- export class Datasets {
10
- _db;
11
- _converter;
12
- datasets;
13
- constructor(_db, _converter, datasets) {
14
- this._db = _db;
15
- this._converter = _converter;
16
- this.datasets = datasets;
17
- if (datasets.length <= 1) {
18
- throw new Error("Datasets must have at least 2 datasets. If one - use Dataset<T> instead.");
19
- }
20
- }
21
- get Names() {
22
- return this.datasets;
23
- }
24
- get Database() {
25
- return this._db;
26
- }
27
- CanUserDo(action) {
28
- if (!this._db.User.Privileges) {
29
- return false;
30
- }
31
- const privilege = this._db.User.Privileges[action];
32
- if (!privilege) {
33
- return false;
34
- }
35
- // ex. AddFile: { Datasets: "all" } or AddFile: { Datasets: ["Public"] }
36
- if (typeof privilege === "object") {
37
- const allowedDatasets = privilege.Datasets;
38
- // ex. AddFile: { Datasets: "all" }
39
- if (typeof allowedDatasets === "string") {
40
- if (allowedDatasets == "all") {
41
- return true;
42
- }
43
- else if (allowedDatasets == "none") {
44
- return false;
45
- }
46
- else {
47
- return false;
48
- }
49
- }
50
- // ex. AddFile: { Datasets: ["Public"] }
51
- else if (typeof allowedDatasets === "object") {
52
- if (Array.isArray(allowedDatasets)) {
53
- for (const dataset of this.datasets) {
54
- if (allowedDatasets.includes(dataset)) {
55
- return true;
56
- }
57
- }
58
- return false;
59
- }
60
- }
61
- }
62
- // ex. CreateUser: true
63
- else if (typeof privilege === "boolean") {
64
- return privilege;
65
- }
66
- return false;
67
- }
68
- async GetOne(dataset, id) {
69
- this._db.Log(`Fetching "${id}" from "${dataset}"...`);
70
- const queryResult = await this._db.Send(new GetFileQuery(this._db.DatabaseDir, dataset, id));
71
- if (!queryResult.IsSuccess) {
72
- throw new Error("Failed to get one item: " + queryResult.ErrorMessage);
73
- }
74
- const rawItem = queryResult.Result;
75
- const item = this._converter.FromRaw(rawItem);
76
- this._db.Log(`Fetched "${id}" from "${dataset}".`);
77
- return item;
78
- }
79
- async GetAll(dataset) {
80
- this._db.Log(`Fetching all from "${dataset}"...`);
81
- const queryResult = await this._db.Send(new ListFilesQuery(this._db.DatabaseDir, dataset));
82
- if (!queryResult.IsSuccess) {
83
- throw new Error("Failed to fetch all items: " + queryResult.ErrorMessage);
84
- }
85
- const rawItems = queryResult.Result;
86
- const items = rawItems.map((raw) => this._converter.FromRaw(raw));
87
- this._db.Log(`Fetched ${items.length} items from "${dataset}".`);
88
- return items;
89
- }
90
- async GetAllIds(dataset) {
91
- this._db.Log(`Fetching all files IDs from "${dataset}"...`);
92
- const queryResult = await this._db.Send(new ListFilesIdsQuery(this._db.DatabaseDir, dataset));
93
- if (!queryResult.IsSuccess) {
94
- throw new Error("Failed to fetch all items ids: " + queryResult.ErrorMessage);
95
- }
96
- const ids = queryResult.Result;
97
- this._db.Log(`Found ${ids.length} files in "${dataset}".`);
98
- return ids;
99
- }
100
- async Add(dataset, id, item) {
101
- this._db.Log(`Adding "${id}" to "${dataset}"...`);
102
- const rawItem = this._converter.ToRaw(item);
103
- const result = await this._db.Send(new AddFileCommand(this._db.DatabaseDir, dataset, id, rawItem));
104
- if (!result.IsSuccess) {
105
- throw new Error("Failed to add item: " + result.ErrorMessage);
106
- }
107
- this._db.Log(`"${id}" added to "${dataset}".`);
108
- }
109
- ;
110
- async Update(dataset, id, item) {
111
- this._db.Log(`Updating "${id}"...`);
112
- const rawItem = this._converter.ToRaw(item);
113
- const result = await this._db.Send(new UpdateFileCommand(this._db.DatabaseDir, dataset, id, rawItem));
114
- if (!result.IsSuccess) {
115
- throw new Error("Failed to update item: " + result.ErrorMessage);
116
- }
117
- this._db.Log(`"${id}" updated in "${dataset}".`);
118
- }
119
- ;
120
- async Move(id, sourceDataset, targetDataset) {
121
- this._db.Log(`Moving "${id}" from "${sourceDataset}" to "${targetDataset}"...`);
122
- const result = await this._db.Send(new MoveFileCommand(this._db.DatabaseDir, id, sourceDataset, targetDataset));
123
- if (!result.IsSuccess) {
124
- throw new Error("Failed to move item: " + result.ErrorMessage);
125
- }
126
- this._db.Log(`"${id}" moved from "${sourceDataset}" to "${targetDataset}".`);
127
- }
128
- async Delete(dataset, id) {
129
- this._db.Log(`Deleting "${id}" from "${dataset}"...`);
130
- const result = await this._db.Send(new DeleteFileCommand(this._db.DatabaseDir, dataset, id));
131
- if (!result.IsSuccess) {
132
- throw new Error("Failed to delete item: " + result.ErrorMessage);
133
- }
134
- this._db.Log(`Deleted "${id}" from "${dataset}".`);
135
- }
136
- async Drop(datasets) {
137
- this._db.Log(`Dropping "${(datasets ? datasets.join(", ") : "all")}" datasets...`);
138
- for (const dataset of datasets ?? this.datasets) {
139
- const result = await this._db.Send(new DropDatasetCommand(this._db.DatabaseDir, dataset));
140
- if (!result.IsSuccess) {
141
- throw new Error("Failed to drop dataset: " + result.ErrorMessage);
142
- }
143
- this._db.Log(`"${dataset}" dropped.`);
144
- }
145
- ;
146
- }
147
- }
@@ -1,20 +0,0 @@
1
- export const USER_PRIVILEGES_NAMES = [
2
- "GetFile",
3
- "AddFile",
4
- "DropDataset",
5
- "ListFiles",
6
- "UpdateFile",
7
- "DeleteFile",
8
- "CreateDataset",
9
- "DatasetExists",
10
- "RemoveDataset",
11
- "MoveFile",
12
- "GetUser",
13
- "UpdateUser",
14
- "AddUser",
15
- "DeleteUser",
16
- "ListDatasets",
17
- "ListUsers",
18
- "Search",
19
- "GetLogs",
20
- ];
@@ -1,5 +0,0 @@
1
- import { TextConverter } from "./TextConverter";
2
- export declare class JsonTextConverter<T> implements TextConverter<T> {
3
- ToLine(entry: T): string;
4
- ToEntry(line: string): T;
5
- }
@@ -1,4 +0,0 @@
1
- import { Message } from "./MessageBus/Message";
2
- export declare class ListDatabasesQuery extends Message {
3
- constructor();
4
- }
@@ -1,6 +0,0 @@
1
- import { Message } from "./MessageBus/Message";
2
- export class ListDatabasesQuery extends Message {
3
- constructor() {
4
- super("ListDatabases", {});
5
- }
6
- }
package/Utils/Delay.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare function Delay(ms: number): Promise<unknown>;
package/Utils/Delay.js DELETED
@@ -1,3 +0,0 @@
1
- export function Delay(ms) {
2
- return new Promise(resolve => setTimeout(resolve, ms));
3
- }
@@ -1,3 +0,0 @@
1
- export declare class OperationRepeater {
2
- RepeatTillSuccess(actionName: string, action: () => Promise<boolean>, attempts?: number, delay?: number): Promise<boolean>;
3
- }
@@ -1,19 +0,0 @@
1
- import { Delay } from "./Delay";
2
- export class OperationRepeater {
3
- async RepeatTillSuccess(actionName, action, attempts = 5, delay = 3000) {
4
- for (let i = 1; i <= attempts; i++) {
5
- console.log(i == 1 ? `Starting "${actionName}"...` : `Retrying (attempt ${i}/${attempts})...`);
6
- const result = await action();
7
- if (result == true) {
8
- console.log(`Operation "${actionName}" completed successfully.`);
9
- return true;
10
- }
11
- else {
12
- console.log(`Operation "${actionName}" failed. Next attempt in ${i * delay}ms...`);
13
- await Delay(i * delay);
14
- }
15
- }
16
- console.log(`Could not complete "${actionName}" after ${attempts} attempts. Operation failed.`);
17
- return false;
18
- }
19
- }
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes