@tblabs/storage 5.4.1 → 5.5.1

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 (57) hide show
  1. package/Dataset.js +20 -13
  2. package/IEntitiesSet.d.ts +1 -0
  3. package/IEntitiesSet.js +1 -0
  4. package/IStorageUserPrivileges.d.ts +19 -18
  5. package/IStorageUserPrivileges.js +19 -1
  6. package/Messages/{AddCommand.d.ts → AddFileCommand.d.ts} +1 -1
  7. package/Messages/AddFileCommand.js +6 -0
  8. package/Messages/{UserAddCommand.d.ts → AddUserCommand.d.ts} +1 -1
  9. package/Messages/AddUserCommand.js +6 -0
  10. package/Messages/CreateDatasetCommand.d.ts +5 -0
  11. package/Messages/CreateDatasetCommand.js +6 -0
  12. package/Messages/DatasetExistsCommand.d.ts +5 -0
  13. package/Messages/DatasetExistsCommand.js +6 -0
  14. package/Messages/{DeleteCommand.d.ts → DeleteFileCommand.d.ts} +1 -1
  15. package/Messages/DeleteFileCommand.js +6 -0
  16. package/Messages/{UserDeleteCommand.d.ts → DeleteUserCommand.d.ts} +1 -1
  17. package/Messages/DeleteUserCommand.js +6 -0
  18. package/Messages/DropDatasetCommand.d.ts +5 -0
  19. package/Messages/DropDatasetCommand.js +6 -0
  20. package/Messages/{GetQuery.d.ts → GetFileQuery.d.ts} +1 -1
  21. package/Messages/{DeleteCommand.js → GetFileQuery.js} +2 -2
  22. package/Messages/{UserGetQuery.d.ts → GetUserQuery.d.ts} +1 -1
  23. package/Messages/{UserGetQuery.js → GetUserQuery.js} +2 -2
  24. package/Messages/ListFilesIdsQuery.d.ts +5 -0
  25. package/Messages/ListFilesIdsQuery.js +6 -0
  26. package/Messages/{DropCommand.d.ts → ListFilesQuery.d.ts} +1 -1
  27. package/Messages/ListFilesQuery.js +6 -0
  28. package/Messages/{LoginQuery.d.ts → LoginUserQuery.d.ts} +1 -1
  29. package/Messages/LoginUserQuery.js +6 -0
  30. package/Messages/{MoveCommand.d.ts → MoveFileCommand.d.ts} +1 -1
  31. package/Messages/MoveFileCommand.js +6 -0
  32. package/Messages/RemoveDatasetCommand.d.ts +5 -0
  33. package/Messages/RemoveDatasetCommand.js +6 -0
  34. package/Messages/{UpdateCommand.d.ts → UpdateFileCommand.d.ts} +1 -1
  35. package/Messages/UpdateFileCommand.js +6 -0
  36. package/Messages/{UserUpdateCommand.d.ts → UpdateUserCommand.d.ts} +1 -1
  37. package/Messages/UpdateUserCommand.js +6 -0
  38. package/OnlineStorage.d.ts +3 -0
  39. package/OnlineStorage.js +27 -36
  40. package/index.d.ts +3 -0
  41. package/index.js +3 -0
  42. package/package.json +1 -1
  43. package/tblabs-storage-5.5.1.tgz +0 -0
  44. package/Messages/AddCommand.js +0 -6
  45. package/Messages/AddDirCommand.d.ts +0 -11
  46. package/Messages/AddDirCommand.js +0 -16
  47. package/Messages/DropCommand.js +0 -6
  48. package/Messages/GetQuery.js +0 -6
  49. package/Messages/ListQuery.d.ts +0 -8
  50. package/Messages/ListQuery.js +0 -11
  51. package/Messages/LoginQuery.js +0 -6
  52. package/Messages/MoveCommand.js +0 -6
  53. package/Messages/UpdateCommand.js +0 -6
  54. package/Messages/UserAddCommand.js +0 -6
  55. package/Messages/UserDeleteCommand.js +0 -6
  56. package/Messages/UserUpdateCommand.js +0 -6
  57. package/tblabs-storage-5.4.1.tgz +0 -0
package/Dataset.js CHANGED
@@ -1,9 +1,10 @@
1
- import { AddCommand } from "./Messages/AddCommand";
2
- import { DeleteCommand } from "./Messages/DeleteCommand";
3
- import { DropCommand } from "./Messages/DropCommand";
4
- import { ListIdsQuery, ListQuery } from "./Messages/ListQuery";
5
- import { GetQuery } from "./Messages/GetQuery";
6
- import { UpdateCommand } from "./Messages/UpdateCommand";
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";
7
8
  export class Dataset {
8
9
  _db;
9
10
  _converter;
@@ -33,7 +34,7 @@ export class Dataset {
33
34
  }
34
35
  async GetOne(id) {
35
36
  this._db.Log(`Fetching "${id}"...`);
36
- const queryResult = await this._db.Send(new GetQuery(this._db.DatabaseDir, this.dataset, id));
37
+ const queryResult = await this._db.Send(new GetFileQuery(this._db.DatabaseDir, this.dataset, id));
37
38
  const rawItem = queryResult.Result;
38
39
  const item = this._converter.FromRaw(rawItem);
39
40
  this._db.Log(`Fetched "${id}" from "${this.DatasetPath}".`);
@@ -41,7 +42,10 @@ export class Dataset {
41
42
  }
42
43
  async GetAll() {
43
44
  this._db.Log(`Fetching all from "${this.DatasetPath}"...`);
44
- const queryResult = await this._db.Send(new ListQuery(this._db.DatabaseDir, this.dataset));
45
+ const queryResult = await this._db.Send(new ListFilesQuery(this._db.DatabaseDir, this.dataset));
46
+ if (!queryResult.IsSuccess) {
47
+ throw new Error("Failed to fetch all items: " + queryResult.ErrorMessage);
48
+ }
45
49
  const rawItems = queryResult.Result;
46
50
  const items = rawItems.map((raw) => this._converter.FromRaw(raw));
47
51
  this._db.Log(`Fetched ${items.length} items from "${this.DatasetPath}".`);
@@ -49,7 +53,10 @@ export class Dataset {
49
53
  }
50
54
  async GetAllIds() {
51
55
  this._db.Log(`Fetching all files IDs from "${this.DatasetPath}"...`);
52
- const queryResult = await this._db.Send(new ListIdsQuery(this._db.DatabaseDir, this.dataset));
56
+ const queryResult = await this._db.Send(new ListFilesIdsQuery(this._db.DatabaseDir, this.dataset));
57
+ if (!queryResult.IsSuccess) {
58
+ throw new Error("Failed to fetch all items ids: " + queryResult.ErrorMessage);
59
+ }
53
60
  const ids = queryResult.Result;
54
61
  this._db.Log(`Found ${ids.length} files in "${this.DatasetPath}".`);
55
62
  return ids;
@@ -57,25 +64,25 @@ export class Dataset {
57
64
  async Add(id, item) {
58
65
  this._db.Log(`Adding "${id}" to "${this.DatasetPath}"...`);
59
66
  const rawItem = this._converter.ToRaw(item);
60
- await this._db.Send(new AddCommand(this._db.DatabaseDir, this.dataset, id, rawItem));
67
+ await this._db.Send(new AddFileCommand(this._db.DatabaseDir, this.dataset, id, rawItem));
61
68
  this._db.Log(`"${id}" added to "${this.DatasetPath}".`);
62
69
  }
63
70
  ;
64
71
  async Update(id, item) {
65
72
  this._db.Log(`Updating "${id}"...`);
66
73
  const rawItem = this._converter.ToRaw(item);
67
- await this._db.Send(new UpdateCommand(this._db.DatabaseDir, this.dataset, id, rawItem));
74
+ await this._db.Send(new UpdateFileCommand(this._db.DatabaseDir, this.dataset, id, rawItem));
68
75
  this._db.Log(`"${id}" updated in "${this.DatasetPath}".`);
69
76
  }
70
77
  ;
71
78
  async Delete(id) {
72
79
  this._db.Log(`Deleting "${id}" from "${this.DatasetPath}"...`);
73
- await this._db.Send(new DeleteCommand(this._db.DatabaseDir, this.dataset, id));
80
+ await this._db.Send(new DeleteFileCommand(this._db.DatabaseDir, this.dataset, id));
74
81
  this._db.Log(`Deleted "${id}" from "${this.DatasetPath}".`);
75
82
  }
76
83
  async Drop() {
77
84
  this._db.Log(`Dropping "${this.DatasetPath}"...`);
78
- await this._db.Send(new DropCommand(this._db.DatabaseDir, this.dataset));
85
+ await this._db.Send(new DropDatasetCommand(this._db.DatabaseDir, this.dataset));
79
86
  this._db.Log(`"${this.DatasetPath}" dropped.`);
80
87
  }
81
88
  }
@@ -0,0 +1 @@
1
+ export type IEntitiesSet = string[] | "all" | "none";
@@ -0,0 +1 @@
1
+ export {};
@@ -1,44 +1,45 @@
1
- export type IEntitiesSet = string[] | "all" | "none";
1
+ import { IEntitiesSet } from "./IEntitiesSet";
2
2
  export interface IStorageUserPrivileges {
3
- Add: {
3
+ AddFile: {
4
4
  Datasets: IEntitiesSet;
5
5
  };
6
- Update: {
6
+ UpdateFile: {
7
7
  Datasets: IEntitiesSet;
8
8
  Files: IEntitiesSet;
9
9
  };
10
- Delete: {
10
+ DeleteFile: {
11
11
  Datasets: IEntitiesSet;
12
12
  Files: IEntitiesSet;
13
13
  };
14
- List: {
14
+ ListFiles: {
15
15
  Datasets: IEntitiesSet;
16
16
  };
17
- Get: {
17
+ GetFile: {
18
18
  Datasets: IEntitiesSet;
19
19
  Files: IEntitiesSet;
20
20
  };
21
- Drop: {
21
+ DropDataset: {
22
22
  Datasets: IEntitiesSet;
23
23
  };
24
- Move: {
24
+ MoveFile: {
25
25
  Datasets: IEntitiesSet;
26
26
  Files: IEntitiesSet;
27
27
  };
28
- Create: {
28
+ CreateDataset: {
29
29
  Datasets: IEntitiesSet;
30
30
  };
31
- Exists: {
31
+ DatasetExists: {
32
32
  Datasets: IEntitiesSet;
33
33
  };
34
- Remove: {
34
+ RemoveDataset: {
35
35
  Datasets: IEntitiesSet;
36
36
  };
37
- Search: {
38
- Datasets: IEntitiesSet;
39
- };
40
- UserList: boolean;
41
- UserUpdate: boolean;
42
- UserAdd: boolean;
43
- UserDelete: boolean;
37
+ Search: boolean;
38
+ ListDatasets: boolean;
39
+ ListUsers: boolean;
40
+ GetUser: boolean;
41
+ UpdateUser: boolean;
42
+ AddUser: boolean;
43
+ DeleteUser: boolean;
44
44
  }
45
+ export declare const USER_PRIVILEGES_NAMES: (keyof IStorageUserPrivileges)[];
@@ -1 +1,19 @@
1
- export {};
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
+ ];
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class AddCommand extends Message {
3
+ export declare class AddFileCommand extends Message {
4
4
  constructor(Database: dir, Dataset: dir, FileId: string, Content: object);
5
5
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class AddFileCommand extends Message {
3
+ constructor(Database, Dataset, FileId, Content) {
4
+ super("AddFile", { Database, Dataset, FileId, Content });
5
+ }
6
+ }
@@ -1,6 +1,6 @@
1
1
  import { IStorageUser } from '../IStorageUser';
2
2
  import { Message } from '../MessageBus/Message';
3
3
  import { dir } from '../Types/dir';
4
- export declare class UserAddCommand extends Message {
4
+ export declare class AddUserCommand extends Message {
5
5
  constructor(Database: dir, User: IStorageUser);
6
6
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class AddUserCommand extends Message {
3
+ constructor(Database, User) {
4
+ super("AddUser", { Database, User });
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class CreateDatasetCommand extends Message {
4
+ constructor(Database: dir, Dataset: dir);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class CreateDatasetCommand extends Message {
3
+ constructor(Database, Dataset) {
4
+ super("CreateDataset", { Database, Dataset });
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class DatasetExistsCommand extends Message {
4
+ constructor(Database: dir, Dataset: dir);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class DatasetExistsCommand extends Message {
3
+ constructor(Database, Dataset) {
4
+ super("DatasetExists", { Database, Dataset });
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class DeleteCommand extends Message {
3
+ export declare class DeleteFileCommand extends Message {
4
4
  constructor(Database: dir, Dataset: dir, FileId: string);
5
5
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class DeleteFileCommand extends Message {
3
+ constructor(Database, Dataset, FileId) {
4
+ super("DeleteFile", { Database, Dataset, FileId });
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class UserDeleteCommand extends Message {
3
+ export declare class DeleteUserCommand extends Message {
4
4
  constructor(Database: dir, UserId: string);
5
5
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class DeleteUserCommand extends Message {
3
+ constructor(Database, UserId) {
4
+ super("DeleteUser", { Database, UserId });
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class DropDatasetCommand extends Message {
4
+ constructor(Database: dir, Dataset: dir);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class DropDatasetCommand extends Message {
3
+ constructor(Database, Dataset) {
4
+ super("DropDataset", { Database, Dataset });
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class GetQuery extends Message {
3
+ export declare class GetFileQuery extends Message {
4
4
  constructor(Database: dir, Dataset: dir, FileId: string);
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { Message } from '../MessageBus/Message';
2
- export class DeleteCommand extends Message {
2
+ export class GetFileQuery extends Message {
3
3
  constructor(Database, Dataset, FileId) {
4
- super("Delete", { Database, Dataset, FileId });
4
+ super("GetFile", { Database, Dataset, FileId });
5
5
  }
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class UserGetQuery extends Message {
3
+ export declare class GetUserQuery extends Message {
4
4
  constructor(Database: dir, UserId: string);
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { Message } from '../MessageBus/Message';
2
- export class UserGetQuery extends Message {
2
+ export class GetUserQuery extends Message {
3
3
  constructor(Database, UserId) {
4
- super("UserGet", { Database, UserId });
4
+ super("GetUser", { Database, UserId });
5
5
  }
6
6
  }
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class ListFilesIdsQuery extends Message {
4
+ constructor(Database: dir, Dataset: dir);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class ListFilesIdsQuery extends Message {
3
+ constructor(Database, Dataset) {
4
+ super("ListFilesIds", { Database, Dataset });
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class DropCommand extends Message {
3
+ export declare class ListFilesQuery extends Message {
4
4
  constructor(Database: dir, Dataset: dir);
5
5
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class ListFilesQuery extends Message {
3
+ constructor(Database, Dataset) {
4
+ super("ListFiles", { Database, Dataset });
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { Message } from "../MessageBus/Message";
2
2
  import { dir } from "../Types/dir";
3
- export declare class LoginQuery extends Message {
3
+ export declare class LoginUserQuery extends Message {
4
4
  constructor(Database: dir, Password: string);
5
5
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from "../MessageBus/Message";
2
+ export class LoginUserQuery extends Message {
3
+ constructor(Database, Password) {
4
+ super("LoginUser", { Database, Password });
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class MoveCommand extends Message {
3
+ export declare class MoveFileCommand extends Message {
4
4
  constructor(Database: dir, FileId: string, Source: dir, Target: dir);
5
5
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class MoveFileCommand extends Message {
3
+ constructor(Database, FileId, Source, Target) {
4
+ super("MoveFile", { Database, FileId, Source, Target });
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ import { dir } from '../Types/dir';
3
+ export declare class RemoveDatasetCommand extends Message {
4
+ constructor(Database: dir, Dataset: dir);
5
+ }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class RemoveDatasetCommand extends Message {
3
+ constructor(Database, Dataset) {
4
+ super("RemoveDataset", { Database, Dataset });
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  import { Message } from '../MessageBus/Message';
2
2
  import { dir } from '../Types/dir';
3
- export declare class UpdateCommand extends Message {
3
+ export declare class UpdateFileCommand extends Message {
4
4
  constructor(Database: dir, Dataset: dir, FileId: string, Content: object);
5
5
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class UpdateFileCommand extends Message {
3
+ constructor(Database, Dataset, FileId, Content) {
4
+ super("UpdateFile", { Database, Dataset, FileId, Content });
5
+ }
6
+ }
@@ -1,6 +1,6 @@
1
1
  import { IStorageUser } from '../IStorageUser';
2
2
  import { Message } from '../MessageBus/Message';
3
3
  import { dir } from '../Types/dir';
4
- export declare class UserUpdateCommand extends Message {
4
+ export declare class UpdateUserCommand extends Message {
5
5
  constructor(Database: dir, User: IStorageUser);
6
6
  }
@@ -0,0 +1,6 @@
1
+ import { Message } from '../MessageBus/Message';
2
+ export class UpdateUserCommand extends Message {
3
+ constructor(Database, User) {
4
+ super("UpdateUser", { Database, User });
5
+ }
6
+ }
@@ -6,6 +6,7 @@ import { MessageBusResponse } from "./MessageBus/MessageBusResponse";
6
6
  import { Dataset } from "./Dataset";
7
7
  import { IStorageUser } from "./IStorageUser";
8
8
  import { IConverter } from "./IConverter";
9
+ import { IStorageUserPrivileges } from "./IStorageUserPrivileges";
9
10
  export declare class OnlineStorage {
10
11
  private server;
11
12
  private database;
@@ -15,6 +16,7 @@ export declare class OnlineStorage {
15
16
  private readonly _bus;
16
17
  private onUserChange;
17
18
  private USER_LOCAL_STORAGE_KEY;
19
+ get AvailableUserPrivileges(): (keyof IStorageUserPrivileges)[];
18
20
  get Server(): string;
19
21
  get DatabaseDir(): dir;
20
22
  constructor(server: url, database: dir, sender?: ISender, bus?: MessageBus);
@@ -36,6 +38,7 @@ export declare class OnlineStorage {
36
38
  Logout(): this;
37
39
  private CallOnUserChanged;
38
40
  get IsAuthorized(): boolean;
41
+ get IsNotLoggedIn(): boolean;
39
42
  SetUser(user: IStorageUser): this;
40
43
  EnableLog(): this;
41
44
  DisableLog(): this;
package/OnlineStorage.js CHANGED
@@ -1,14 +1,17 @@
1
1
  import { MessageBus } from "./MessageBus/MessageBus";
2
- import { CreateCommand, ExistsCommand, RemoveCommand } from "./Messages/AddDirCommand";
2
+ import { CreateDatasetCommand } from './Messages/CreateDatasetCommand';
3
+ import { DatasetExistsCommand } from './Messages/DatasetExistsCommand';
4
+ import { RemoveDatasetCommand } from './Messages/RemoveDatasetCommand';
3
5
  import { Dataset } from "./Dataset";
4
- import { MoveCommand } from "./Messages/MoveCommand";
5
- import { LoginQuery } from "./Messages/LoginQuery";
6
+ import { MoveFileCommand } from "./Messages/MoveFileCommand";
7
+ import { LoginUserQuery } from "./Messages/LoginUserQuery";
6
8
  import { ListUsersQuery } from "./Messages/ListUsersQuery";
7
9
  import { ListDatasetsQuery } from "./Messages/ListDatabasesQuery";
8
- import { UserUpdateCommand } from "./Messages/UserUpdateCommand";
9
- import { UserAddCommand } from "./Messages/UserAddCommand";
10
- import { UserDeleteCommand } from "./Messages/UserDeleteCommand";
11
- import { UserGetQuery } from "./Messages/UserGetQuery";
10
+ import { UpdateUserCommand } from "./Messages/UpdateUserCommand";
11
+ import { AddUserCommand } from "./Messages/AddUserCommand";
12
+ import { DeleteUserCommand } from "./Messages/DeleteUserCommand";
13
+ import { GetUserQuery } from "./Messages/GetUserQuery";
14
+ import { USER_PRIVILEGES_NAMES } from "./IStorageUserPrivileges";
12
15
  export class OnlineStorage {
13
16
  server;
14
17
  database;
@@ -18,6 +21,9 @@ export class OnlineStorage {
18
21
  _bus;
19
22
  onUserChange = [];
20
23
  USER_LOCAL_STORAGE_KEY = "";
24
+ get AvailableUserPrivileges() {
25
+ return USER_PRIVILEGES_NAMES;
26
+ }
21
27
  get Server() {
22
28
  return this.server;
23
29
  }
@@ -34,6 +40,7 @@ export class OnlineStorage {
34
40
  }
35
41
  }
36
42
  SetServer(server) {
43
+ this.server = server;
37
44
  this._bus.SetServer(server);
38
45
  return this;
39
46
  }
@@ -57,7 +64,7 @@ export class OnlineStorage {
57
64
  return result.Result;
58
65
  }
59
66
  async GetUser(userId) {
60
- const result = await this._bus.SendMessage(new UserGetQuery(this.DatabaseDir, userId));
67
+ const result = await this._bus.SendMessage(new GetUserQuery(this.DatabaseDir, userId));
61
68
  if (!result.IsSuccess) {
62
69
  throw new Error(`Could not get user: ${result.ErrorMessage}`);
63
70
  }
@@ -65,44 +72,25 @@ export class OnlineStorage {
65
72
  }
66
73
  async AddUser(user) {
67
74
  this.Log(`Adding user "${user.Id}"...`);
68
- await this._bus.SendMessage(new UserAddCommand(this.DatabaseDir, user));
75
+ await this._bus.SendMessage(new AddUserCommand(this.DatabaseDir, user));
69
76
  this.Log(`User "${user.Id}" added.`);
70
77
  }
71
78
  ;
72
79
  async UpdateUser(user) {
73
80
  this.Log(`Updating user "${user.Id}"...`);
74
- await this._bus.SendMessage(new UserUpdateCommand(this.DatabaseDir, user));
81
+ await this._bus.SendMessage(new UpdateUserCommand(this.DatabaseDir, user));
75
82
  this.Log(`User "${user.Id}" updated.`);
76
83
  }
77
84
  ;
78
85
  async DeleteUser(user) {
79
86
  this.Log(`Deleting user "${user.Id}"...`);
80
- await this._bus.SendMessage(new UserDeleteCommand(this.DatabaseDir, user.Id));
87
+ await this._bus.SendMessage(new DeleteUserCommand(this.DatabaseDir, user.Id));
81
88
  this.Log(`User "${user.Id}" deleted.`);
82
89
  }
83
90
  ;
84
91
  GetDataset(datasetName, converter) {
85
92
  return new Dataset(this, converter, datasetName);
86
93
  }
87
- // private WasAnonymousUserEverLoaded(): boolean
88
- // {
89
- // return (this.User.Id === this.ANONYMOUS_USER.Id && this.user.Privileges !== undefined);
90
- // }
91
- // public SetAnonymousUserPrivileges(privileges: IStorageUserPrivileges): this
92
- // {
93
- // this.user.Privileges = privileges;
94
- // return this;
95
- // }
96
- // public async InitOnce()
97
- // {
98
- // // console.log("INIT", this.WasAnonymousUserEverLoaded());
99
- // if (this.WasAnonymousUserEverLoaded())
100
- // {
101
- // // console.log("INIT RETURN WasAnonymousUserEverLoaded()=true");
102
- // return;
103
- // }
104
- // this.user = await this.Login("Anonymous"); // TODO: Tutaj można my zrobić dedykowaną metode do pobierania ustawień użytkownika Anonymous
105
- // }
106
94
  IsBrowserEnvironment() {
107
95
  return typeof window !== "undefined" && typeof window.localStorage !== "undefined";
108
96
  }
@@ -121,7 +109,7 @@ export class OnlineStorage {
121
109
  return this.user;
122
110
  }
123
111
  async Login(password) {
124
- const result = await this._bus.SendMessage(new LoginQuery(this.DatabaseDir, password));
112
+ const result = await this._bus.SendMessage(new LoginUserQuery(this.DatabaseDir, password));
125
113
  if (!result.IsSuccess) {
126
114
  throw new Error(`Could not login: ${result.ErrorMessage}`);
127
115
  }
@@ -170,7 +158,10 @@ export class OnlineStorage {
170
158
  this.onUserChange.forEach(handler => handler(this.user, this.IsAuthorized, appStart));
171
159
  }
172
160
  get IsAuthorized() {
173
- return this.user.Id !== this.ANONYMOUS_USER.Id;
161
+ return this.user && this.user.Id !== this.ANONYMOUS_USER.Id;
162
+ }
163
+ get IsNotLoggedIn() {
164
+ return !this.user || this.user.Id === this.ANONYMOUS_USER.Id;
174
165
  }
175
166
  SetUser(user) {
176
167
  this.user = user;
@@ -202,7 +193,7 @@ export class OnlineStorage {
202
193
  }
203
194
  async CreateDataset(datasetName) {
204
195
  this.Log(`Creating dataset "${datasetName}"...`);
205
- const result = await this._bus.SendMessage(new CreateCommand(this.DatabaseDir, datasetName));
196
+ const result = await this._bus.SendMessage(new CreateDatasetCommand(this.DatabaseDir, datasetName));
206
197
  if (!result.IsSuccess) {
207
198
  throw new Error(`Could not add dataset: ${result.ErrorMessage}`);
208
199
  }
@@ -210,7 +201,7 @@ export class OnlineStorage {
210
201
  }
211
202
  async DatasetExists(datasetName) {
212
203
  this.Log(`Checking if dataset "${datasetName}" exists...`);
213
- const result = await this._bus.SendMessage(new ExistsCommand(this.DatabaseDir, datasetName));
204
+ const result = await this._bus.SendMessage(new DatasetExistsCommand(this.DatabaseDir, datasetName));
214
205
  if (!result.IsSuccess) {
215
206
  throw new Error(`Could not check if dataset exists: ${result.ErrorMessage}`);
216
207
  }
@@ -219,7 +210,7 @@ export class OnlineStorage {
219
210
  }
220
211
  async RemoveDataset(datasetName) {
221
212
  this.Log(`Removing dataset "${datasetName}"...`);
222
- const result = await this._bus.SendMessage(new RemoveCommand(this.DatabaseDir, datasetName));
213
+ const result = await this._bus.SendMessage(new RemoveDatasetCommand(this.DatabaseDir, datasetName));
223
214
  if (!result.IsSuccess) {
224
215
  throw new Error(`Could not remove dataset: ${result.ErrorMessage}`);
225
216
  }
@@ -227,7 +218,7 @@ export class OnlineStorage {
227
218
  }
228
219
  async Move(fileId, sourceDataset, targetDataset) {
229
220
  this.Log(`Moving "${fileId}" from "${sourceDataset.Name}" to "${targetDataset.Name}"...`);
230
- const result = await this._bus.SendMessage(new MoveCommand(this.DatabaseDir, fileId, sourceDataset.Name, targetDataset.Name));
221
+ const result = await this._bus.SendMessage(new MoveFileCommand(this.DatabaseDir, fileId, sourceDataset.Name, targetDataset.Name));
231
222
  if (!result.IsSuccess) {
232
223
  throw new Error(`Could not move "${fileId}" from "${sourceDataset.Name}" to "${targetDataset.Name}": ${result.ErrorMessage}`);
233
224
  }
package/index.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  export * from "./Types/dir";
2
+ export * from "./IStorageUserPrivileges";
3
+ export * from "./IEntitiesSet";
4
+ export * from "./IStorageUser";
2
5
  export * from "./IConverter";
3
6
  export * from "./Converter";
4
7
  export * from "./IRepo";
package/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  export * from "./Types/dir";
2
+ export * from "./IStorageUserPrivileges";
3
+ export * from "./IEntitiesSet";
4
+ export * from "./IStorageUser";
2
5
  export * from "./IConverter";
3
6
  export * from "./Converter";
4
7
  export * from "./IRepo";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tblabs/storage",
3
- "version": "5.4.1",
3
+ "version": "5.5.1",
4
4
  "description": "online storage module with auth",
5
5
  "license": "beerware",
6
6
  "main": "index.js",
Binary file
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class AddCommand extends Message {
3
- constructor(Database, Dataset, FileId, Content) {
4
- super("Add", { Database, Dataset, FileId, Content });
5
- }
6
- }
@@ -1,11 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- import { dir } from '../Types/dir';
3
- export declare class CreateCommand extends Message {
4
- constructor(Database: dir, Dataset: dir);
5
- }
6
- export declare class ExistsCommand extends Message {
7
- constructor(Database: dir, Dataset: dir);
8
- }
9
- export declare class RemoveCommand extends Message {
10
- constructor(Database: dir, Dataset: dir);
11
- }
@@ -1,16 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class CreateCommand extends Message {
3
- constructor(Database, Dataset) {
4
- super("Create", { Database, Dataset });
5
- }
6
- }
7
- export class ExistsCommand extends Message {
8
- constructor(Database, Dataset) {
9
- super("Exists", { Database, Dataset });
10
- }
11
- }
12
- export class RemoveCommand extends Message {
13
- constructor(Database, Dataset) {
14
- super("Remove", { Database, Dataset });
15
- }
16
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class DropCommand extends Message {
3
- constructor(Database, Dataset) {
4
- super("Drop", { Database, Dataset });
5
- }
6
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class GetQuery extends Message {
3
- constructor(Database, Dataset, FileId) {
4
- super("Get", { Database, Dataset, FileId });
5
- }
6
- }
@@ -1,8 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- import { dir } from '../Types/dir';
3
- export declare class ListQuery extends Message {
4
- constructor(Database: dir, Dataset: dir);
5
- }
6
- export declare class ListIdsQuery extends Message {
7
- constructor(Database: dir, Dataset: dir);
8
- }
@@ -1,11 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class ListQuery extends Message {
3
- constructor(Database, Dataset) {
4
- super("List", { Database, Dataset });
5
- }
6
- }
7
- export class ListIdsQuery extends Message {
8
- constructor(Database, Dataset) {
9
- super("ListIds", { Database, Dataset });
10
- }
11
- }
@@ -1,6 +0,0 @@
1
- import { Message } from "../MessageBus/Message";
2
- export class LoginQuery extends Message {
3
- constructor(Database, Password) {
4
- super("Login", { Database, Password });
5
- }
6
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class MoveCommand extends Message {
3
- constructor(Database, FileId, Source, Target) {
4
- super("Move", { Database, FileId, Source, Target });
5
- }
6
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class UpdateCommand extends Message {
3
- constructor(Database, Dataset, FileId, Content) {
4
- super("Update", { Database, Dataset, FileId, Content });
5
- }
6
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class UserAddCommand extends Message {
3
- constructor(Database, User) {
4
- super("UserAdd", { Database, User });
5
- }
6
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class UserDeleteCommand extends Message {
3
- constructor(Database, UserId) {
4
- super("UserDelete", { Database, UserId });
5
- }
6
- }
@@ -1,6 +0,0 @@
1
- import { Message } from '../MessageBus/Message';
2
- export class UserUpdateCommand extends Message {
3
- constructor(Database, User) {
4
- super("UserUpdate", { Database, User });
5
- }
6
- }
Binary file