@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.
- package/{TextConverter.d.ts → Converters/ITextConverter.d.ts} +1 -1
- package/Converters/JsonTextConverter.d.ts +5 -0
- package/{Dataset.d.ts → Datasets/Dataset.d.ts} +5 -5
- package/{Dataset.js → Datasets/Dataset.js} +8 -8
- package/{DatasetBase.d.ts → Datasets/DatasetBase.d.ts} +3 -3
- package/{IRepoBase.d.ts → Datasets/IRepoBase.d.ts} +2 -2
- package/{IRepos.d.ts → Datasets/IRepos.d.ts} +1 -1
- package/Datasets/PicturesDataset/DefaultPicsConfig.d.ts +2 -0
- package/Datasets/PicturesDataset/DefaultPicsConfig.js +7 -0
- package/Datasets/PicturesDataset/PicConfig.d.ts +5 -0
- package/Datasets/PicturesDataset/PicsConfig.d.ts +4 -0
- package/Datasets/PicturesDataset/PicturePack.d.ts +5 -0
- package/Datasets/PicturesDataset/PicturesDataset.d.ts +15 -0
- package/Datasets/PicturesDataset/PicturesDataset.js +55 -0
- package/Datasets/PicturesDataset/PicturesUploadResult.d.ts +9 -0
- package/Datasets/PicturesDataset/PicturesUploadResult.js +16 -0
- package/{RawTextDataset.d.ts → Datasets/RawTextDataset.d.ts} +4 -4
- package/{RawTextDataset.js → Datasets/RawTextDataset.js} +7 -7
- package/{TextDataset.d.ts → Datasets/TextDataset.d.ts} +5 -5
- package/{TextDataset.js → Datasets/TextDataset.js} +1 -1
- package/Messages/AddUserCommand.d.ts +1 -1
- package/{CreateDatabaseCommand.d.ts → Messages/CreateDatabaseCommand.d.ts} +2 -2
- package/{CreateDatabaseCommand.js → Messages/CreateDatabaseCommand.js} +1 -1
- package/Messages/CreateDatasetCommand.d.ts +2 -1
- package/Messages/CreateDatasetCommand.js +2 -2
- package/{DeleteDatabaseCommand.d.ts → Messages/DeleteDatabaseCommand.d.ts} +2 -2
- package/{DeleteDatabaseCommand.js → Messages/DeleteDatabaseCommand.js} +1 -1
- package/Messages/DeletePictureCommand.d.ts +5 -0
- package/Messages/DeletePictureCommand.js +6 -0
- package/Messages/ListDatabasesQuery.d.ts +3 -4
- package/Messages/ListDatabasesQuery.js +4 -4
- package/Messages/ListDatasetsQuery.d.ts +5 -0
- package/Messages/ListDatasetsQuery.js +6 -0
- package/Messages/ListPicturesQuery.d.ts +5 -0
- package/Messages/ListPicturesQuery.js +6 -0
- package/Messages/UpdateUserCommand.d.ts +1 -1
- package/Models/DatasetInfo.d.ts +8 -0
- package/Models/DatasetInfo.js +1 -0
- package/Models/IEntitiesSet.js +1 -0
- package/{IStorageUser.d.ts → Models/IStorageUser.d.ts} +1 -1
- package/Models/IStorageUser.js +1 -0
- package/{IStorageUserPrivileges.d.ts → Models/IStorageUserPrivileges.d.ts} +20 -2
- package/Models/IStorageUserPrivileges.js +1 -0
- package/Services/DatasetType.d.ts +6 -0
- package/Services/DatasetType.js +7 -0
- package/{OnlineStorage.d.ts → Services/OnlineStorage.d.ts} +17 -15
- package/{OnlineStorage.js → Services/OnlineStorage.js} +27 -28
- package/index.d.ts +23 -18
- package/index.js +23 -18
- package/package.json +1 -1
- package/tblabs-storage-5.12.0.tgz +0 -0
- package/DatasetInfo.d.ts +0 -4
- package/Datasets.d.ts +0 -22
- package/Datasets.js +0 -147
- package/IStorageUserPrivileges.js +0 -20
- package/JsonTextConverter.d.ts +0 -5
- package/ListDatabasesQuery.d.ts +0 -4
- package/ListDatabasesQuery.js +0 -6
- package/Utils/Delay.d.ts +0 -1
- package/Utils/Delay.js +0 -3
- package/Utils/OperationRepeater.d.ts +0 -3
- package/Utils/OperationRepeater.js +0 -19
- package/tblabs-storage-5.11.0.tgz +0 -0
- /package/{Converter.d.ts → Converters/Converter.d.ts} +0 -0
- /package/{Converter.js → Converters/Converter.js} +0 -0
- /package/{DummyConverter.d.ts → Converters/DummyConverter.d.ts} +0 -0
- /package/{DummyConverter.js → Converters/DummyConverter.js} +0 -0
- /package/{IConverter.d.ts → Converters/IConverter.d.ts} +0 -0
- /package/{IConverter.js → Converters/IConverter.js} +0 -0
- /package/{DatabaseInfo.js → Converters/ITextConverter.js} +0 -0
- /package/{JsonTextConverter.js → Converters/JsonTextConverter.js} +0 -0
- /package/{DatasetBase.js → Datasets/DatasetBase.js} +0 -0
- /package/{IRepo.d.ts → Datasets/IRepo.d.ts} +0 -0
- /package/{IRepo.js → Datasets/IRepo.js} +0 -0
- /package/{IRepoBase.js → Datasets/IRepoBase.js} +0 -0
- /package/{IRepos.js → Datasets/IRepos.js} +0 -0
- /package/{ITextRepo.d.ts → Datasets/ITextRepo.d.ts} +0 -0
- /package/{ITextRepo.js → Datasets/ITextRepo.js} +0 -0
- /package/{DatasetInfo.js → Datasets/PicturesDataset/PicConfig.js} +0 -0
- /package/{IEntitiesSet.js → Datasets/PicturesDataset/PicsConfig.js} +0 -0
- /package/{IStorageUser.js → Datasets/PicturesDataset/PicturePack.js} +0 -0
- /package/{DatabaseInfo.d.ts → Models/DatabaseInfo.d.ts} +0 -0
- /package/{TextConverter.js → Models/DatabaseInfo.js} +0 -0
- /package/{IEntitiesSet.d.ts → Models/IEntitiesSet.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { OnlineStorage } from "
|
|
2
|
-
import { IConverter } from "
|
|
3
|
-
import { IRepo } from "
|
|
4
|
-
import { dir } from "
|
|
5
|
-
import { DatasetBase } from "
|
|
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 "
|
|
2
|
-
import { DeleteFileCommand } from "
|
|
3
|
-
import { DropDatasetCommand } from "
|
|
4
|
-
import { ListFilesQuery } from "
|
|
5
|
-
import { GetFileQuery } from "
|
|
6
|
-
import { UpdateFileCommand } from "
|
|
7
|
-
import { ListFilesIdsQuery } from "
|
|
8
|
-
import { DatasetBase } from "
|
|
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 "
|
|
2
|
-
import { OnlineStorage } from "
|
|
3
|
-
import { dir } from "
|
|
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 "
|
|
2
|
-
import { OnlineStorage } from "
|
|
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 "
|
|
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,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 "
|
|
2
|
-
import { ITextRepo } from "
|
|
3
|
-
import { OnlineStorage } from "
|
|
4
|
-
import { dir } from "
|
|
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 "
|
|
2
|
-
import { AppendCommand } from "
|
|
3
|
-
import { CreateFileCommand } from "
|
|
4
|
-
import { DeleteFileCommand } from "
|
|
5
|
-
import { DropDatasetCommand } from "
|
|
6
|
-
import { ListFilesIdsQuery } from "
|
|
7
|
-
import { ReadFileQuery } from "
|
|
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 "
|
|
1
|
+
import { OnlineStorage } from "../Services/OnlineStorage";
|
|
2
2
|
import { RawTextDataset } from "./RawTextDataset";
|
|
3
|
-
import {
|
|
4
|
-
import { dir } from "
|
|
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:
|
|
9
|
-
constructor(_db: OnlineStorage, dataset: dir, _converter?:
|
|
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,5 +1,5 @@
|
|
|
1
|
-
import { Message } from "
|
|
2
|
-
import { dir } from "
|
|
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,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 "
|
|
2
|
-
import { dir } from "
|
|
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,5 +1,4 @@
|
|
|
1
|
-
import { Message } from
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
2
|
-
export class
|
|
3
|
-
constructor(
|
|
4
|
-
super("
|
|
1
|
+
import { Message } from "../MessageBus/Message";
|
|
2
|
+
export class ListDatabasesQuery extends Message {
|
|
3
|
+
constructor() {
|
|
4
|
+
super("ListDatabases", {});
|
|
5
5
|
}
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 {};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { dir, url } from "
|
|
2
|
-
import { IMessage } from "
|
|
3
|
-
import { ISender } from "
|
|
4
|
-
import { MessageBus } from "
|
|
5
|
-
import { MessageBusResponse } from "
|
|
6
|
-
import { Dataset } from "
|
|
7
|
-
import { IStorageUser } from "
|
|
8
|
-
import { IConverter } from "
|
|
9
|
-
import { IStorageUserPrivileges } from "
|
|
10
|
-
import { DatabaseInfo } from "
|
|
11
|
-
import { DatasetInfo } from "
|
|
12
|
-
import { RawTextDataset } from "
|
|
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 "
|
|
2
|
-
import { CreateDatasetCommand } from '
|
|
3
|
-
import { DatasetExistsCommand } from '
|
|
4
|
-
import { RemoveDatasetCommand } from '
|
|
5
|
-
import { Dataset } from "
|
|
6
|
-
import { MoveFileCommand } from "
|
|
7
|
-
import { LoginUserQuery } from "
|
|
8
|
-
import { ListUsersQuery } from "
|
|
9
|
-
import { UpdateUserCommand } from "
|
|
10
|
-
import { AddUserCommand } from "
|
|
11
|
-
import { DeleteUserCommand } from "
|
|
12
|
-
import { GetUserQuery } from "
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
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
|
|
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 "./
|
|
9
|
-
export * from "./JsonTextConverter";
|
|
10
|
-
export * from "./IRepoBase";
|
|
11
|
-
export * from "./IRepo";
|
|
12
|
-
export * from "./ITextRepo";
|
|
13
|
-
export * from "./IRepos";
|
|
14
|
-
export * from "./
|
|
15
|
-
export * from "./
|
|
16
|
-
export * from "./
|
|
17
|
-
export * from "./Datasets";
|
|
18
|
-
export * from "./
|
|
19
|
-
export * from "./
|
|
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 "./
|
|
9
|
-
export * from "./JsonTextConverter";
|
|
10
|
-
export * from "./IRepoBase";
|
|
11
|
-
export * from "./IRepo";
|
|
12
|
-
export * from "./ITextRepo";
|
|
13
|
-
export * from "./IRepos";
|
|
14
|
-
export * from "./
|
|
15
|
-
export * from "./
|
|
16
|
-
export * from "./
|
|
17
|
-
export * from "./Datasets";
|
|
18
|
-
export * from "./
|
|
19
|
-
export * from "./
|
|
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
|
Binary file
|
package/DatasetInfo.d.ts
DELETED
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
|
-
];
|
package/JsonTextConverter.d.ts
DELETED
package/ListDatabasesQuery.d.ts
DELETED
package/ListDatabasesQuery.js
DELETED
package/Utils/Delay.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Delay(ms: number): Promise<unknown>;
|
package/Utils/Delay.js
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|