@tblabs/storage 5.13.0 → 5.13.2

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.
@@ -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,14 +18,17 @@ 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;
24
25
  private readonly _bus;
25
26
  private onUserChange;
26
- private USER_LOCAL_STORAGE_KEY;
27
+ private USER_LOCAL_STORAGE_KEY_PREFIX;
28
+ private userLocalStorageKey;
27
29
  get Server(): string;
28
30
  get DatabaseDir(): dir;
31
+ get User(): IStorageUser;
29
32
  constructor(server: url, database: dir, sender?: ISender, bus?: MessageBus);
30
33
  SetServer(server: url): this;
31
34
  SetDatabase(database: dir): this;
@@ -35,12 +38,11 @@ export declare class OnlineStorage {
35
38
  AddUser(user: IStorageUser): Promise<void>;
36
39
  UpdateUser(user: IStorageUser): Promise<void>;
37
40
  DeleteUser(user: IStorageUser): Promise<void>;
38
- GetObjectDataset<T extends object>(datasetName: string, converter: IConverter<any, T>): ObjectDataset<T>;
41
+ GetObjectDataset<T extends object>(datasetName: string, converter?: IConverter<any, T>): ObjectDataset<T>;
39
42
  GetTextDataset(datasetName: string, converter?: ITextConverter<any>): TextDataset<any> | RawTextDataset;
40
43
  GetPicturesDataset(datasetName: string, picsConfig?: PicsConfig): PicturesDataset;
41
44
  private IsBrowserEnvironment;
42
45
  private LoadUserFromLocalStorage;
43
- get User(): IStorageUser;
44
46
  Login(password: string, login?: string): Promise<IStorageUser>;
45
47
  private SaveUserInLocalStorage;
46
48
  OnUserChange(handler: (user: IStorageUser, isAuthorized: boolean, appStart: boolean) => void): this;
@@ -22,23 +22,29 @@ 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;
28
29
  _bus;
29
30
  onUserChange = [];
30
- USER_LOCAL_STORAGE_KEY = "";
31
+ USER_LOCAL_STORAGE_KEY_PREFIX = "OnlineStorage:User:";
32
+ userLocalStorageKey = "";
31
33
  get Server() {
32
34
  return this.server;
33
35
  }
34
36
  get DatabaseDir() {
35
37
  return this.database;
36
38
  }
39
+ get User() {
40
+ return this.user;
41
+ }
37
42
  constructor(server, database, sender = this.ANONYMOUS_USER, bus) {
38
43
  this.server = server;
39
44
  this.database = database;
45
+ this.sender = sender;
40
46
  this._bus = bus || new MessageBus(server, sender);
41
- this.USER_LOCAL_STORAGE_KEY = "OnlineStorage:User:" + this.database;
47
+ this.userLocalStorageKey = this.USER_LOCAL_STORAGE_KEY_PREFIX + this.database;
42
48
  if (this.LoadUserFromLocalStorage()) {
43
49
  this.CallOnUserChanged(true);
44
50
  }
@@ -50,7 +56,7 @@ export class OnlineStorage {
50
56
  }
51
57
  SetDatabase(database) {
52
58
  this.database = database;
53
- this.USER_LOCAL_STORAGE_KEY = "OnlineStorage:User:" + this.database;
59
+ this.userLocalStorageKey = this.USER_LOCAL_STORAGE_KEY_PREFIX + this.database;
54
60
  return this;
55
61
  }
56
62
  async ListDatasets() {
@@ -117,7 +123,7 @@ export class OnlineStorage {
117
123
  }
118
124
  LoadUserFromLocalStorage() {
119
125
  if (this.IsBrowserEnvironment()) {
120
- const user = window.localStorage.getItem(this.USER_LOCAL_STORAGE_KEY);
126
+ const user = window.localStorage.getItem(this.userLocalStorageKey);
121
127
  if (user) {
122
128
  this.user = JSON.parse(user);
123
129
  this.SetUser(this.user || this.ANONYMOUS_USER);
@@ -126,9 +132,6 @@ export class OnlineStorage {
126
132
  }
127
133
  return false;
128
134
  }
129
- get User() {
130
- return this.user;
131
- }
132
135
  async Login(password, login) {
133
136
  const result = await this._bus.SendMessage(new LoginUserQuery(this.DatabaseDir, password, login));
134
137
  if (!result.IsSuccess) {
@@ -142,7 +145,7 @@ export class OnlineStorage {
142
145
  }
143
146
  SaveUserInLocalStorage() {
144
147
  if (this.IsBrowserEnvironment()) {
145
- window.localStorage.setItem(this.USER_LOCAL_STORAGE_KEY, JSON.stringify(this.user));
148
+ window.localStorage.setItem(this.userLocalStorageKey, JSON.stringify(this.user));
146
149
  }
147
150
  }
148
151
  OnUserChange(handler) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tblabs/storage",
3
- "version": "5.13.0",
3
+ "version": "5.13.2",
4
4
  "description": "online storage module with auth",
5
5
  "license": "beerware",
6
6
  "main": "index.js",
Binary file
Binary file