@tblabs/storage 5.13.1 → 5.14.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/Datasets/DatasetBase.d.ts +2 -0
- package/Datasets/DatasetBase.js +8 -0
- package/Datasets/Picture/PicturesDataset.js +1 -0
- package/Datasets/Text/RawTextDataset.js +3 -0
- package/Messages/GetMetadataQuery.d.ts +5 -0
- package/Messages/GetMetadataQuery.js +6 -0
- package/Models/DatasetMetadata.d.ts +5 -0
- package/Models/DatasetMetadata.js +1 -0
- package/Models/IStorageUserPrivileges.d.ts +1 -0
- package/Services/OnlineStorage.d.ts +2 -1
- package/Services/OnlineStorage.js +5 -3
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +1 -1
- package/tblabs-storage-5.14.0.tgz +0 -0
- package/tblabs-storage-5.13.1.tgz +0 -0
|
@@ -2,6 +2,7 @@ import { IStorageUserPrivileges } from "../Models/IStorageUserPrivileges";
|
|
|
2
2
|
import { DatasetType } from "../Services/DatasetType";
|
|
3
3
|
import { OnlineStorage } from "../Services/OnlineStorage";
|
|
4
4
|
import { dir } from "../Types/dir";
|
|
5
|
+
import { DatasetMetadata } from "../Models/DatasetMetadata";
|
|
5
6
|
export declare abstract class DatasetBase {
|
|
6
7
|
protected _db: OnlineStorage;
|
|
7
8
|
protected dataset: dir;
|
|
@@ -13,6 +14,7 @@ export declare abstract class DatasetBase {
|
|
|
13
14
|
get Name(): string;
|
|
14
15
|
get Database(): OnlineStorage;
|
|
15
16
|
protected get DatasetPath(): string;
|
|
17
|
+
GetMetadata(): Promise<DatasetMetadata>;
|
|
16
18
|
CanUserDo(action: keyof IStorageUserPrivileges): boolean;
|
|
17
19
|
protected Log(message: string): void;
|
|
18
20
|
}
|
package/Datasets/DatasetBase.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GetMetadataQuery } from "../Messages/GetMetadataQuery";
|
|
1
2
|
export class DatasetBase {
|
|
2
3
|
_db;
|
|
3
4
|
dataset;
|
|
@@ -14,6 +15,13 @@ export class DatasetBase {
|
|
|
14
15
|
get DatasetPath() {
|
|
15
16
|
return this._db.DatabaseDir + "/Datasets/" + this.dataset;
|
|
16
17
|
}
|
|
18
|
+
async GetMetadata() {
|
|
19
|
+
const response = await this._db.Send(new GetMetadataQuery(this._db.DatabaseDir, this.dataset));
|
|
20
|
+
if (!response.IsSuccess) {
|
|
21
|
+
throw new Error("Failed to get metadata: " + response.ErrorMessage);
|
|
22
|
+
}
|
|
23
|
+
return response.Result;
|
|
24
|
+
}
|
|
17
25
|
CanUserDo(action) {
|
|
18
26
|
if (!this._db.User.Privileges) {
|
|
19
27
|
return false;
|
|
@@ -58,6 +58,7 @@ export class PicturesDataset extends DatasetBase {
|
|
|
58
58
|
formData.append('database', this._db.DatabaseDir);
|
|
59
59
|
formData.append('dataset', this.dataset);
|
|
60
60
|
formData.append('config', JSON.stringify(this.picsConfig));
|
|
61
|
+
formData.append('userId', this._db.User.Id);
|
|
61
62
|
let serverUrl = this._db.Server;
|
|
62
63
|
if (serverUrl.endsWith("/")) // Because for local env we use ".../src/" but for prod ".../v5"
|
|
63
64
|
{
|
|
@@ -18,6 +18,9 @@ export class RawTextDataset extends DatasetBase {
|
|
|
18
18
|
}
|
|
19
19
|
async Read(id, offset = 0, limit = 0) {
|
|
20
20
|
this.Log(`Reading "${id}" from "${this.DatasetPath}"...`);
|
|
21
|
+
if (limit < 0) {
|
|
22
|
+
throw new Error("Limit cannot be negative number. 0 = no limit.");
|
|
23
|
+
}
|
|
21
24
|
const queryResult = await this._db.Send(new ReadFileQuery(this._db.DatabaseDir, this.dataset, id, offset, limit));
|
|
22
25
|
if (!queryResult.IsSuccess) {
|
|
23
26
|
throw new Error("Failed to read: " + queryResult.ErrorMessage);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -18,6 +18,7 @@ import { PicsConfig } from "../Datasets/Picture/PicsConfig";
|
|
|
18
18
|
export declare class OnlineStorage {
|
|
19
19
|
private server;
|
|
20
20
|
private database;
|
|
21
|
+
private sender;
|
|
21
22
|
private ANONYMOUS_USER;
|
|
22
23
|
private user;
|
|
23
24
|
private logEnabled;
|
|
@@ -27,6 +28,7 @@ export declare class OnlineStorage {
|
|
|
27
28
|
private userLocalStorageKey;
|
|
28
29
|
get Server(): string;
|
|
29
30
|
get DatabaseDir(): dir;
|
|
31
|
+
get User(): IStorageUser;
|
|
30
32
|
constructor(server: url, database: dir, sender?: ISender, bus?: MessageBus);
|
|
31
33
|
SetServer(server: url): this;
|
|
32
34
|
SetDatabase(database: dir): this;
|
|
@@ -41,7 +43,6 @@ export declare class OnlineStorage {
|
|
|
41
43
|
GetPicturesDataset(datasetName: string, picsConfig?: PicsConfig): PicturesDataset;
|
|
42
44
|
private IsBrowserEnvironment;
|
|
43
45
|
private LoadUserFromLocalStorage;
|
|
44
|
-
get User(): IStorageUser;
|
|
45
46
|
Login(password: string, login?: string): Promise<IStorageUser>;
|
|
46
47
|
private SaveUserInLocalStorage;
|
|
47
48
|
OnUserChange(handler: (user: IStorageUser, isAuthorized: boolean, appStart: boolean) => void): this;
|
|
@@ -22,6 +22,7 @@ import { PicturesDataset } from "../Datasets/Picture/PicturesDataset";
|
|
|
22
22
|
export class OnlineStorage {
|
|
23
23
|
server;
|
|
24
24
|
database;
|
|
25
|
+
sender;
|
|
25
26
|
ANONYMOUS_USER = { Id: "Anonymous" };
|
|
26
27
|
user = this.ANONYMOUS_USER;
|
|
27
28
|
logEnabled = false;
|
|
@@ -35,9 +36,13 @@ export class OnlineStorage {
|
|
|
35
36
|
get DatabaseDir() {
|
|
36
37
|
return this.database;
|
|
37
38
|
}
|
|
39
|
+
get User() {
|
|
40
|
+
return this.user;
|
|
41
|
+
}
|
|
38
42
|
constructor(server, database, sender = this.ANONYMOUS_USER, bus) {
|
|
39
43
|
this.server = server;
|
|
40
44
|
this.database = database;
|
|
45
|
+
this.sender = sender;
|
|
41
46
|
this._bus = bus || new MessageBus(server, sender);
|
|
42
47
|
this.userLocalStorageKey = this.USER_LOCAL_STORAGE_KEY_PREFIX + this.database;
|
|
43
48
|
if (this.LoadUserFromLocalStorage()) {
|
|
@@ -127,9 +132,6 @@ export class OnlineStorage {
|
|
|
127
132
|
}
|
|
128
133
|
return false;
|
|
129
134
|
}
|
|
130
|
-
get User() {
|
|
131
|
-
return this.user;
|
|
132
|
-
}
|
|
133
135
|
async Login(password, login) {
|
|
134
136
|
const result = await this._bus.SendMessage(new LoginUserQuery(this.DatabaseDir, password, login));
|
|
135
137
|
if (!result.IsSuccess) {
|
package/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./Models/IStorageUserPrivileges";
|
|
|
3
3
|
export * from "./Models/IEntitiesSet";
|
|
4
4
|
export * from "./Models/IStorageUser";
|
|
5
5
|
export * from "./Models/DatabaseInfo";
|
|
6
|
+
export * from "./Models/DatasetMetadata";
|
|
6
7
|
export * from "./Converters/IConverter";
|
|
7
8
|
export * from "./Converters/Converter";
|
|
8
9
|
export * from "./Converters/DummyConverter";
|
package/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./Models/IStorageUserPrivileges";
|
|
|
3
3
|
export * from "./Models/IEntitiesSet";
|
|
4
4
|
export * from "./Models/IStorageUser";
|
|
5
5
|
export * from "./Models/DatabaseInfo";
|
|
6
|
+
export * from "./Models/DatasetMetadata";
|
|
6
7
|
export * from "./Converters/IConverter";
|
|
7
8
|
export * from "./Converters/Converter";
|
|
8
9
|
export * from "./Converters/DummyConverter";
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|