@nmshd/app-runtime 2.0.0-beta.1 → 2.0.0-beta.4

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 (32) hide show
  1. package/dist/AppRuntime.d.ts +10 -17
  2. package/dist/AppRuntime.js +48 -92
  3. package/dist/AppRuntime.js.map +1 -1
  4. package/dist/AppRuntimeErrors.d.ts +0 -1
  5. package/dist/AppRuntimeErrors.js +0 -3
  6. package/dist/AppRuntimeErrors.js.map +1 -1
  7. package/dist/SessionStorage.d.ts +10 -0
  8. package/dist/SessionStorage.js +31 -0
  9. package/dist/SessionStorage.js.map +1 -0
  10. package/dist/buildInformation.js +5 -5
  11. package/dist/events/index.d.ts +0 -1
  12. package/dist/events/index.js +0 -1
  13. package/dist/events/index.js.map +1 -1
  14. package/dist/modules/appEvents/MailReceivedModule.js +1 -5
  15. package/dist/modules/appEvents/MailReceivedModule.js.map +1 -1
  16. package/dist/modules/appEvents/OnboardingChangeReceivedModule.js +1 -5
  17. package/dist/modules/appEvents/OnboardingChangeReceivedModule.js.map +1 -1
  18. package/dist/modules/appSync/AppSyncModule.js +1 -2
  19. package/dist/modules/appSync/AppSyncModule.js.map +1 -1
  20. package/dist/modules/pushNotifications/PushNotificationModule.d.ts +1 -1
  21. package/dist/modules/pushNotifications/PushNotificationModule.js +18 -34
  22. package/dist/modules/pushNotifications/PushNotificationModule.js.map +1 -1
  23. package/dist/modules/runtimeEvents/MessageReceivedModule.js +2 -10
  24. package/dist/modules/runtimeEvents/MessageReceivedModule.js.map +1 -1
  25. package/dist/modules/runtimeEvents/RelationshipChangedModule.js +10 -13
  26. package/dist/modules/runtimeEvents/RelationshipChangedModule.js.map +1 -1
  27. package/lib-web/nmshd.app-runtime.js +128 -196
  28. package/lib-web/nmshd.app-runtime.min.js +1 -1
  29. package/package.json +3 -4
  30. package/dist/events/RequestReceivedEvent.d.ts +0 -8
  31. package/dist/events/RequestReceivedEvent.js +0 -15
  32. package/dist/events/RequestReceivedEvent.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  import { IDatabaseConnection } from "@js-soft/docdb-access-abstractions";
2
- import { ILoggerFactory } from "@js-soft/logging-abstractions";
3
2
  import { INativeBootstrapper, INativeEnvironment, INativeTranslationProvider } from "@js-soft/native-abstractions";
4
3
  import { Result } from "@js-soft/ts-utils";
5
4
  import { ConsumptionController } from "@nmshd/consumption";
@@ -8,8 +7,7 @@ import { AccountController, ICoreAddress } from "@nmshd/transport";
8
7
  import { AppConfig, AppConfigOverwrite } from "./AppConfig";
9
8
  import { AppServices, IUIBridge } from "./extensibility";
10
9
  import { IAppRuntimeModuleConstructor } from "./modules";
11
- import { AccountServices, LocalAccountDTO, MultiAccountController } from "./multiAccount";
12
- import { LocalAccountSession } from "./multiAccount/data/LocalAccountSession";
10
+ import { AccountServices, LocalAccountDTO, LocalAccountSession, MultiAccountController } from "./multiAccount";
13
11
  import { UserfriendlyResult } from "./UserfriendlyResult";
14
12
  export interface AppRuntimeServices extends RuntimeServices {
15
13
  appServices: AppServices;
@@ -28,28 +26,23 @@ export declare class AppRuntime extends Runtime<AppConfig> {
28
26
  private _accountServices;
29
27
  get accountServices(): AccountServices;
30
28
  get nativeEnvironment(): INativeEnvironment;
29
+ private readonly sessionStorage;
31
30
  get currentAccount(): LocalAccountDTO;
32
- protected login(accountController: AccountController, consumptionController: ConsumptionController): Promise<AppRuntimeServices>;
33
- private _currentSession?;
34
31
  get currentSession(): LocalAccountSession;
35
- getServices(address: string | ICoreAddress): AppRuntimeServices;
36
- private readonly _availableSessions;
37
- getSessions(): LocalAccountDTO[];
38
- private _accountIdToPromise?;
39
- private _selectAccountPromise?;
40
- getSession(accountId: string): LocalAccountDTO | undefined;
41
- findSession(accountId: string): LocalAccountSession | undefined;
42
- findSessionByAddress(address: string): LocalAccountSession | undefined;
43
- selectAccountByAddress(address: string, password: string): Promise<LocalAccountDTO>;
44
- selectAccount(accountId: string, password: string): Promise<LocalAccountDTO>;
45
- private _selectAccount;
32
+ getSessions(): LocalAccountSession[];
33
+ protected login(accountController: AccountController, consumptionController: ConsumptionController): Promise<AppRuntimeServices>;
34
+ getServices(address: string | ICoreAddress): Promise<AppRuntimeServices>;
35
+ selectAccount(accountAddress: string, _password: string): Promise<LocalAccountSession>;
36
+ getOrCreateSession(accountReference: string): Promise<LocalAccountSession>;
37
+ private currentSessionPromise;
38
+ private createSession;
39
+ private _createSession;
46
40
  queryAccount(title?: string, description?: string): Promise<UserfriendlyResult<LocalAccountDTO>>;
47
41
  selectRelationship(id?: string): Promise<void>;
48
42
  getHealth(): Promise<RuntimeHealth>;
49
43
  protected initAccount(): Promise<void>;
50
44
  static create(nativeBootstrapper: INativeBootstrapper, appConfig?: AppConfigOverwrite): Promise<AppRuntime>;
51
45
  static createAndStart(nativeBootstrapper: INativeBootstrapper, appConfig?: AppConfigOverwrite): Promise<AppRuntime>;
52
- protected createLoggerFactory(): ILoggerFactory;
53
46
  protected createDatabaseConnection(): Promise<IDatabaseConnection>;
54
47
  private static moduleRegistry;
55
48
  static registerModule(moduleName: string, ctor: IAppRuntimeModuleConstructor): void;
@@ -12,12 +12,13 @@ const events_1 = require("./events");
12
12
  const extensibility_1 = require("./extensibility");
13
13
  const modules_1 = require("./modules");
14
14
  const multiAccount_1 = require("./multiAccount");
15
+ const SessionStorage_1 = require("./SessionStorage");
15
16
  const UserfriendlyResult_1 = require("./UserfriendlyResult");
16
17
  class AppRuntime extends runtime_1.Runtime {
17
18
  constructor(_nativeEnvironment, appConfig) {
18
19
  super(appConfig, _nativeEnvironment.loggerFactory);
19
20
  this._nativeEnvironment = _nativeEnvironment;
20
- this._availableSessions = [];
21
+ this.sessionStorage = new SessionStorage_1.SessionStorage();
21
22
  this.translationProvider = {
22
23
  translate: (key) => Promise.resolve(ts_utils_1.Result.ok(key))
23
24
  };
@@ -30,17 +31,15 @@ class AppRuntime extends runtime_1.Runtime {
30
31
  this._uiBridgePromise = new Promise((resolve) => {
31
32
  this._uiBridgeResolveFunction = resolve;
32
33
  });
33
- this._uiBridgePromise
34
- .then(() => {
35
- this._uiBridgePromise = undefined;
36
- this._uiBridgeResolveFunction = undefined;
37
- })
34
+ return this._uiBridgePromise
38
35
  .catch((e) => {
36
+ this.logger.error(e);
37
+ throw e;
38
+ })
39
+ .finally(() => {
39
40
  this._uiBridgePromise = undefined;
40
41
  this._uiBridgeResolveFunction = undefined;
41
- this.logger.error(e);
42
42
  });
43
- return this._uiBridgePromise;
44
43
  }
45
44
  registerUIBridge(uiBridge) {
46
45
  if (this._uiBridge) {
@@ -62,28 +61,22 @@ class AppRuntime extends runtime_1.Runtime {
62
61
  return this._nativeEnvironment;
63
62
  }
64
63
  get currentAccount() {
65
- if (!this._currentSession) {
66
- throw AppRuntimeErrors_1.AppRuntimeErrors.general.currentSessionUnavailable();
67
- }
68
- return this._currentSession.account;
64
+ return this.sessionStorage.currentSession.account;
65
+ }
66
+ get currentSession() {
67
+ return this.sessionStorage.currentSession;
68
+ }
69
+ getSessions() {
70
+ return this.sessionStorage.getSessions();
69
71
  }
70
72
  async login(accountController, consumptionController) {
71
73
  const services = await super.login(accountController, consumptionController);
72
74
  const appServices = new extensibility_1.AppServices(this, services.transportServices, services.consumptionServices, services.dataViewExpander);
73
75
  return { ...services, appServices };
74
76
  }
75
- get currentSession() {
76
- if (!this._currentSession) {
77
- throw AppRuntimeErrors_1.AppRuntimeErrors.general.currentSessionUnavailable();
78
- }
79
- return this._currentSession;
80
- }
81
- getServices(address) {
77
+ async getServices(address) {
82
78
  const addressString = typeof address === "string" ? address : address.toString();
83
- const session = this._availableSessions.find((session) => session.address === addressString);
84
- if (!session) {
85
- throw new Error(`Account ${addressString} not logged in.`);
86
- }
79
+ const session = await this.getOrCreateSession(addressString);
87
80
  return {
88
81
  transportServices: session.transportServices,
89
82
  consumptionServices: session.consumptionServices,
@@ -91,70 +84,42 @@ class AppRuntime extends runtime_1.Runtime {
91
84
  dataViewExpander: session.expander
92
85
  };
93
86
  }
94
- getSessions() {
95
- return this._availableSessions.map((session) => session.account);
96
- }
97
- getSession(accountId) {
98
- const session = this.findSession(accountId);
99
- if (session)
100
- return session.account;
101
- return undefined;
102
- }
103
- findSession(accountId) {
104
- return this._availableSessions.find((item) => item.account.id === accountId);
87
+ async selectAccount(accountAddress, _password) {
88
+ const session = await this.getOrCreateSession(accountAddress);
89
+ this.sessionStorage.currentSession = session;
90
+ return session;
105
91
  }
106
- findSessionByAddress(address) {
107
- return this._availableSessions.find((item) => item.address === address);
108
- }
109
- async selectAccountByAddress(address, password) {
110
- if (this._currentSession && this._currentSession.address === address) {
111
- return this._currentSession.account;
112
- }
113
- const availableSession = this.findSessionByAddress(address);
114
- let accountId = availableSession === null || availableSession === void 0 ? void 0 : availableSession.account.id;
115
- if (!accountId) {
116
- accountId = (await this.multiAccountController.getAccountByAddress(address)).id.toString();
92
+ async getOrCreateSession(accountReference) {
93
+ const existingSession = this.sessionStorage.findSession(accountReference);
94
+ if (existingSession) {
95
+ return existingSession;
117
96
  }
118
- return await this.selectAccount(accountId, password);
97
+ return await this.createSession(accountReference);
119
98
  }
120
- async selectAccount(accountId, password) {
121
- if (this._currentSession && this._currentSession.account.id === accountId) {
122
- return this._currentSession.account;
123
- }
124
- const availableSession = this.findSession(accountId);
125
- // If there is any select promise, we have to await it, even before returning an available session
126
- if (this._accountIdToPromise && this._accountIdToPromise !== accountId) {
127
- if (!availableSession) {
128
- // Another account is currently logging in and we also need to log in -> error
129
- throw AppRuntimeErrors_1.AppRuntimeErrors.multiAccount.concurrentLoginOfDifferentAccounts();
130
- }
131
- else {
132
- // Another account is currently logging in and we already have an open session -> await login of the other account but do not return
133
- await this._selectAccountPromise;
134
- }
99
+ async createSession(accountReference, masterPassword = "") {
100
+ var _a;
101
+ const accountId = accountReference.length === 20
102
+ ? accountReference
103
+ : (await this.multiAccountController.getAccountByAddress(accountReference)).id.toString();
104
+ if (((_a = this.currentSessionPromise) === null || _a === void 0 ? void 0 : _a.accountId) === accountId) {
105
+ return await this.currentSessionPromise.promise;
135
106
  }
136
- else if (this._selectAccountPromise) {
137
- // Same account is currently logging in -> await login and return
138
- return await this._selectAccountPromise;
139
- }
140
- if (availableSession) {
141
- await this.login(availableSession.accountController, availableSession.consumptionController);
142
- this._currentSession = availableSession;
143
- this.eventBus.publish(new events_1.AccountSelectedEvent(availableSession.address, availableSession.account.id));
144
- return availableSession.account;
107
+ if (this.currentSessionPromise) {
108
+ await this.currentSessionPromise.promise.catch(() => {
109
+ // ignore
110
+ });
111
+ return await this.createSession(accountReference, masterPassword);
145
112
  }
146
- this._selectAccountPromise = this._selectAccount(accountId, password);
113
+ this.currentSessionPromise = { promise: this._createSession(accountReference, masterPassword), accountId };
147
114
  try {
148
- return await this._selectAccountPromise;
115
+ return await this.currentSessionPromise.promise;
149
116
  }
150
117
  finally {
151
- this._selectAccountPromise = undefined;
152
- this._accountIdToPromise = undefined;
118
+ this.currentSessionPromise = undefined;
153
119
  }
154
120
  }
155
- async _selectAccount(accountId, password) {
156
- this._accountIdToPromise = accountId;
157
- const [localAccount, accountController] = await this._multiAccountController.selectAccount(transport_1.CoreId.from(accountId), password);
121
+ async _createSession(accountId, masterPassword) {
122
+ const [localAccount, accountController] = await this._multiAccountController.selectAccount(transport_1.CoreId.from(accountId), masterPassword);
158
123
  if (!localAccount.address) {
159
124
  throw AppRuntimeErrors_1.AppRuntimeErrors.general.addressUnavailable().logWith(this.logger);
160
125
  }
@@ -171,10 +136,8 @@ class AppRuntime extends runtime_1.Runtime {
171
136
  accountController,
172
137
  consumptionController
173
138
  };
174
- this._availableSessions.push(session);
175
- this._currentSession = session;
176
- this.eventBus.publish(new events_1.AccountSelectedEvent(session.address, session.account.id));
177
- return session.account;
139
+ this.sessionStorage.addSession(session);
140
+ return session;
178
141
  }
179
142
  async queryAccount(title = "i18n://uibridge.accountSelection.title", description = "i18n://uibridge.accountSelection.description") {
180
143
  let selectedAccount;
@@ -196,20 +159,16 @@ class AppRuntime extends runtime_1.Runtime {
196
159
  return UserfriendlyResult_1.UserfriendlyResult.ok(selectedAccount);
197
160
  }
198
161
  async selectRelationship(id) {
199
- if (!this._currentSession) {
200
- throw AppRuntimeErrors_1.AppRuntimeErrors.general.currentSessionUnavailable().logWith(this.logger);
201
- }
202
162
  if (!id) {
203
- this._currentSession.selectedRelationship = undefined;
163
+ this.currentSession.selectedRelationship = undefined;
204
164
  return;
205
165
  }
206
166
  const result = await this.currentSession.appServices.relationships.renderRelationship(id);
207
- if (result.isError) {
167
+ if (result.isError)
208
168
  throw result.error;
209
- }
210
169
  const relationship = result.value;
211
- this._currentSession.selectedRelationship = relationship;
212
- this.eventBus.publish(new events_1.RelationshipSelectedEvent(this._currentSession.address, relationship));
170
+ this.currentSession.selectedRelationship = relationship;
171
+ this.eventBus.publish(new events_1.RelationshipSelectedEvent(this.currentSession.address, relationship));
213
172
  }
214
173
  getHealth() {
215
174
  const health = {
@@ -250,9 +209,6 @@ class AppRuntime extends runtime_1.Runtime {
250
209
  runtime.logger.trace("Runtime started");
251
210
  return runtime;
252
211
  }
253
- createLoggerFactory() {
254
- return this.nativeEnvironment.loggerFactory;
255
- }
256
212
  createDatabaseConnection() {
257
213
  this.logger.trace("Creating DatabaseConnection to LokiJS");
258
214
  this.lokiConnection = new docdb_access_loki_1.LokiJsConnection("./data", this.nativeEnvironment.databaseFactory);
@@ -1 +1 @@
1
- {"version":3,"file":"AppRuntime.js","sourceRoot":"","sources":["../src/AppRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppRuntime.js","sourceRoot":"","sources":["../src/AppRuntime.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,6 @@ declare class PushNotificationModule {
19
19
  }
20
20
  declare class MultiAccount {
21
21
  wrongRealm(): UserfriendlyApplicationError;
22
- concurrentLoginOfDifferentAccounts(): UserfriendlyApplicationError;
23
22
  }
24
23
  declare class Modules {
25
24
  readonly pushNotificationModule: PushNotificationModule;
@@ -48,9 +48,6 @@ class MultiAccount {
48
48
  wrongRealm() {
49
49
  return new UserfriendlyApplicationError_1.UserfriendlyApplicationError("error.runtime.MultiAccount.WrongRealm", "The given realm is invalid.");
50
50
  }
51
- concurrentLoginOfDifferentAccounts() {
52
- return new UserfriendlyApplicationError_1.UserfriendlyApplicationError("error.runtime.MultiAccount.ParallelLoginOfDifferentAccounts", "You cannot login different accounts concurrently. Please wait until the login is completed.");
53
- }
54
51
  }
55
52
  class Modules {
56
53
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"AppRuntimeErrors.js","sourceRoot":"","sources":["../src/AppRuntimeErrors.ts"],"names":[],"mappings":";;;AAAA,iFAA6E;AAE7E,MAAM,OAAO;IACF,yBAAyB;QAC5B,OAAO,IAAI,2DAA4B,CACnC,oDAAoD,EACpD,kFAAkF,CACrF,CAAA;IACL,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,2DAA4B,CACnC,6CAA6C,EAC7C,0GAA0G,CAC7G,CAAA;IACL,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,2DAA4B,CACnC,iDAAiD,EACjD,iFAAiF,CACpF,CAAA;IACL,CAAC;IAEM,kBAAkB,CAAC,KAAa;QACnC,OAAO,IAAI,2DAA4B,CACnC,6CAA6C,EAC7C,gDAAgD,EAChD,4DAA4D,EAC5D,KAAK,CACR,CAAA;IACL,CAAC;CACJ;AAED,MAAM,OAAO;IACF,cAAc,CAAC,cAAsB;QACxC,OAAO,IAAI,2DAA4B,CACnC,sCAAsC,EACtC,yCAAyC,EACzC,SAAS,EACT,cAAc,CACjB,CAAA;IACL,CAAC;IAEM,0BAA0B;QAC7B,OAAO,IAAI,2DAA4B,CACnC,+CAA+C,EAC/C,4CAA4C,CAC/C,CAAA;IACL,CAAC;IAEM,yBAAyB;QAC5B,OAAO,IAAI,2DAA4B,CACnC,oDAAoD,EACpD,iEAAiE,CACpE,CAAA;IACL,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,2DAA4B,CACnC,mCAAmC,EACnC,sDAAsD,CACzD,CAAA;IACL,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,2DAA4B,CACnC,oCAAoC,EACpC,sCAAsC,CACzC,CAAA;IACL,CAAC;CACJ;AAED,MAAM,sBAAsB;IACjB,uBAAuB,CAAC,OAAe,EAAE,SAAiB;QAC7D,OAAO,IAAI,2DAA4B,CACnC,qEAAqE,EACrE,oEAAoE,OAAO,GAAG,EAC9E,gGAAgG,EAChG,SAAS,CACZ,CAAA;IACL,CAAC;IAEM,yBAAyB,CAAC,OAAe,EAAE,SAAiB;QAC/D,OAAO,IAAI,2DAA4B,CACnC,uEAAuE,EACvE,wEAAwE,OAAO,GAAG,EAClF,+GAA+G,EAC/G,SAAS,CACZ,CAAA;IACL,CAAC;IAEM,4BAA4B,CAAC,OAAe,EAAE,SAAiB;QAClE,OAAO,IAAI,2DAA4B,CACnC,0EAA0E,EAC1E,0FAA0F,OAAO,GAAG,EACpG,gGAAgG,EAChG,SAAS,CACZ,CAAA;IACL,CAAC;CACJ;AAED,MAAM,YAAY;IACP,UAAU;QACb,OAAO,IAAI,2DAA4B,CAAC,uCAAuC,EAAE,6BAA6B,CAAC,CAAA;IACnH,CAAC;IAEM,kCAAkC;QACrC,OAAO,IAAI,2DAA4B,CACnC,6DAA6D,EAC7D,6FAA6F,CAChG,CAAA;IACL,CAAC;CACJ;AAED,MAAM,OAAO;IAAb;QACoB,2BAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAA;IACzE,CAAC;CAAA;AAED,MAAa,gBAAgB;;AAA7B,4CAKC;AAJ0B,wBAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AACvB,wBAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AACvB,wBAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AACvB,6BAAY,GAAG,IAAI,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"AppRuntimeErrors.js","sourceRoot":"","sources":["../src/AppRuntimeErrors.ts"],"names":[],"mappings":";;;AAAA,iFAA6E;AAE7E,MAAM,OAAO;IACF,yBAAyB;QAC5B,OAAO,IAAI,2DAA4B,CACnC,oDAAoD,EACpD,kFAAkF,CACrF,CAAA;IACL,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,2DAA4B,CACnC,6CAA6C,EAC7C,0GAA0G,CAC7G,CAAA;IACL,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,2DAA4B,CACnC,iDAAiD,EACjD,iFAAiF,CACpF,CAAA;IACL,CAAC;IAEM,kBAAkB,CAAC,KAAa;QACnC,OAAO,IAAI,2DAA4B,CACnC,6CAA6C,EAC7C,gDAAgD,EAChD,4DAA4D,EAC5D,KAAK,CACR,CAAA;IACL,CAAC;CACJ;AAED,MAAM,OAAO;IACF,cAAc,CAAC,cAAsB;QACxC,OAAO,IAAI,2DAA4B,CACnC,sCAAsC,EACtC,yCAAyC,EACzC,SAAS,EACT,cAAc,CACjB,CAAA;IACL,CAAC;IAEM,0BAA0B;QAC7B,OAAO,IAAI,2DAA4B,CACnC,+CAA+C,EAC/C,4CAA4C,CAC/C,CAAA;IACL,CAAC;IAEM,yBAAyB;QAC5B,OAAO,IAAI,2DAA4B,CACnC,oDAAoD,EACpD,iEAAiE,CACpE,CAAA;IACL,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,2DAA4B,CACnC,mCAAmC,EACnC,sDAAsD,CACzD,CAAA;IACL,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,2DAA4B,CACnC,oCAAoC,EACpC,sCAAsC,CACzC,CAAA;IACL,CAAC;CACJ;AAED,MAAM,sBAAsB;IACjB,uBAAuB,CAAC,OAAe,EAAE,SAAiB;QAC7D,OAAO,IAAI,2DAA4B,CACnC,qEAAqE,EACrE,oEAAoE,OAAO,GAAG,EAC9E,gGAAgG,EAChG,SAAS,CACZ,CAAA;IACL,CAAC;IAEM,yBAAyB,CAAC,OAAe,EAAE,SAAiB;QAC/D,OAAO,IAAI,2DAA4B,CACnC,uEAAuE,EACvE,wEAAwE,OAAO,GAAG,EAClF,+GAA+G,EAC/G,SAAS,CACZ,CAAA;IACL,CAAC;IAEM,4BAA4B,CAAC,OAAe,EAAE,SAAiB;QAClE,OAAO,IAAI,2DAA4B,CACnC,0EAA0E,EAC1E,0FAA0F,OAAO,GAAG,EACpG,gGAAgG,EAChG,SAAS,CACZ,CAAA;IACL,CAAC;CACJ;AAED,MAAM,YAAY;IACP,UAAU;QACb,OAAO,IAAI,2DAA4B,CAAC,uCAAuC,EAAE,6BAA6B,CAAC,CAAA;IACnH,CAAC;CACJ;AAED,MAAM,OAAO;IAAb;QACoB,2BAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAA;IACzE,CAAC;CAAA;AAED,MAAa,gBAAgB;;AAA7B,4CAKC;AAJ0B,wBAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AACvB,wBAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AACvB,wBAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AACvB,6BAAY,GAAG,IAAI,YAAY,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { LocalAccountSession } from "./multiAccount";
2
+ export declare class SessionStorage {
3
+ private readonly _availableSessions;
4
+ private _currentSession?;
5
+ set currentSession(session: LocalAccountSession);
6
+ get currentSession(): LocalAccountSession;
7
+ getSessions(): LocalAccountSession[];
8
+ findSession(accountReference: string): LocalAccountSession | undefined;
9
+ addSession(session: LocalAccountSession): void;
10
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionStorage = void 0;
4
+ const AppRuntimeErrors_1 = require("./AppRuntimeErrors");
5
+ class SessionStorage {
6
+ constructor() {
7
+ this._availableSessions = [];
8
+ }
9
+ set currentSession(session) {
10
+ this._currentSession = session;
11
+ }
12
+ get currentSession() {
13
+ if (!this._currentSession) {
14
+ throw AppRuntimeErrors_1.AppRuntimeErrors.general.currentSessionUnavailable();
15
+ }
16
+ return this._currentSession;
17
+ }
18
+ getSessions() {
19
+ return this._availableSessions;
20
+ }
21
+ findSession(accountReference) {
22
+ return this._availableSessions.find((item) => item.account.address === accountReference || item.account.id === accountReference);
23
+ }
24
+ addSession(session) {
25
+ if (this.findSession(session.account.id))
26
+ throw new Error("Session already exists");
27
+ this._availableSessions.push(session);
28
+ }
29
+ }
30
+ exports.SessionStorage = SessionStorage;
31
+ //# sourceMappingURL=SessionStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionStorage.js","sourceRoot":"","sources":["../src/SessionStorage.ts"],"names":[],"mappings":";;;AAAA,yDAAqD;AAGrD,MAAa,cAAc;IAA3B;QACqB,uBAAkB,GAA0B,EAAE,CAAA;IA6BnE,CAAC;IA1BG,IAAW,cAAc,CAAC,OAA4B;QAClD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAA;IAClC,CAAC;IAED,IAAW,cAAc;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,MAAM,mCAAgB,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAA;SAC7D;QACD,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAClC,CAAC;IAEM,WAAW,CAAC,gBAAwB;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,gBAAgB,CAC9F,CAAA;IACL,CAAC;IAEM,UAAU,CAAC,OAA4B;QAC1C,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAEnF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;CACJ;AA9BD,wCA8BC"}
@@ -8,11 +8,11 @@ const crypto_1 = require("@nmshd/crypto");
8
8
  const runtime_1 = require("@nmshd/runtime");
9
9
  const transport_1 = require("@nmshd/transport");
10
10
  exports.buildInformation = {
11
- version: "2.0.0-beta.1",
12
- build: "18",
13
- date: "2022-07-26T13:34:15+00:00",
14
- commit: "759a2353d512c735290e3e8853079a029c72fc65",
15
- dependencies: {"@js-soft/docdb-access-loki":"^1.0.3","@js-soft/native-abstractions":"^1.2.0","@nmshd/runtime":"2.0.0-beta.9","lodash":"^4.17.21"},
11
+ version: "2.0.0-beta.4",
12
+ build: "21",
13
+ date: "2022-07-28T15:28:59+00:00",
14
+ commit: "1abd7bb193880b5b5632bd497e384057ad0abe05",
15
+ dependencies: {"@js-soft/docdb-access-loki":"^1.0.3","@js-soft/native-abstractions":"^1.2.0","@nmshd/runtime":"2.0.0-beta.12","lodash":"^4.17.21"},
16
16
  libraries: {
17
17
  serval: ts_serval_1.buildInformation,
18
18
  crypto: crypto_1.buildInformation,
@@ -4,4 +4,3 @@ export * from "./ExternalEventReceivedEvent";
4
4
  export * from "./MailReceivedEvent";
5
5
  export * from "./OnboardingChangeReceivedEvent";
6
6
  export * from "./RelationshipSelectedEvent";
7
- export * from "./RequestReceivedEvent";
@@ -20,5 +20,4 @@ __exportStar(require("./ExternalEventReceivedEvent"), exports);
20
20
  __exportStar(require("./MailReceivedEvent"), exports);
21
21
  __exportStar(require("./OnboardingChangeReceivedEvent"), exports);
22
22
  __exportStar(require("./RelationshipSelectedEvent"), exports);
23
- __exportStar(require("./RequestReceivedEvent"), exports);
24
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,gEAA6C;AAC7C,+DAA4C;AAC5C,sDAAmC;AACnC,kEAA+C;AAC/C,8DAA2C;AAC3C,yDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,gEAA6C;AAC7C,+DAA4C;AAC5C,sDAAmC;AACnC,kEAA+C;AAC/C,8DAA2C"}
@@ -15,12 +15,8 @@ class MailReceivedModule extends AppRuntimeModule_1.AppRuntimeModule {
15
15
  this.subscribeToEvent(events_1.MailReceivedEvent, this.handleMailReceived.bind(this));
16
16
  }
17
17
  async handleMailReceived(event) {
18
+ const session = await this.runtime.getOrCreateSession(event.eventTargetAddress);
18
19
  const mail = event.data;
19
- const session = this.runtime.findSessionByAddress(event.eventTargetAddress);
20
- if (!session) {
21
- this.logger.error(`No session found for address ${event.eventTargetAddress}`);
22
- return;
23
- }
24
20
  const sender = mail.createdBy;
25
21
  await this.runtime.nativeEnvironment.notificationAccess.schedule(mail.name, mail.createdBy.name, {
26
22
  callback: async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"MailReceivedModule.js","sourceRoot":"","sources":["../../../src/modules/appEvents/MailReceivedModule.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AACvD,yCAAgD;AAChD,0DAAqF;AAIrF,MAAa,uBAAwB,SAAQ,iCAAe;CAAG;AAA/D,0DAA+D;AAE/D,MAAa,kBAAmB,SAAQ,mCAA0C;IACvE,KAAK,CAAC,IAAI;QACb,qBAAqB;IACzB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,0BAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAChF,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAAwB;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAC3E,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAA;YAC7E,OAAM;SACT;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAA;QAE7B,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAC7F,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YACpF,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACnC,CAAC;CACJ;AA5BD,gDA4BC"}
1
+ {"version":3,"file":"MailReceivedModule.js","sourceRoot":"","sources":["../../../src/modules/appEvents/MailReceivedModule.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AACvD,yCAAgD;AAChD,0DAAqF;AAIrF,MAAa,uBAAwB,SAAQ,iCAAe;CAAG;AAA/D,0DAA+D;AAE/D,MAAa,kBAAmB,SAAQ,mCAA0C;IACvE,KAAK,CAAC,IAAI;QACb,qBAAqB;IACzB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,0BAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAChF,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAAwB;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAE/E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAA;QAE7B,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YAC7F,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YACpF,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACnC,CAAC;CACJ;AAzBD,gDAyBC"}
@@ -20,11 +20,7 @@ class OnboardingChangeReceivedModule extends AppRuntimeModule_1.AppRuntimeModule
20
20
  const identity = event.data.identity;
21
21
  let title = "";
22
22
  let text = "";
23
- const session = this.runtime.findSessionByAddress(event.eventTargetAddress);
24
- if (!session) {
25
- this.logger.error(`No session found for address ${event.eventTargetAddress}`);
26
- return;
27
- }
23
+ const session = await this.runtime.getOrCreateSession(event.eventTargetAddress);
28
24
  switch (change.status) {
29
25
  case runtime_1.RelationshipChangeStatus.Accepted:
30
26
  title = "Kontaktanfrage genehmigt";
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingChangeReceivedModule.js","sourceRoot":"","sources":["../../../src/modules/appEvents/OnboardingChangeReceivedModule.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AACzD,2DAAuD;AACvD,yCAA4D;AAC5D,0DAAqF;AAIrF,MAAa,mCAAoC,SAAQ,iCAAe;CAAG;AAA3E,kFAA2E;AAE3E,MAAa,8BAA+B,SAAQ,mCAAsD;IAC/F,KAAK,CAAC,IAAI;QACb,qBAAqB;IACzB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,sCAA6B,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACxG,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,KAAoC;QAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAA;QACpC,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAC3E,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAA;YAC7E,OAAM;SACT;QACD,QAAQ,MAAM,CAAC,MAAM,EAAE;YACnB,KAAK,kCAAwB,CAAC,QAAQ;gBAClC,KAAK,GAAG,0BAA0B,CAAA;gBAClC,IAAI,GAAG,qBAAqB,QAAQ,CAAC,IAAI,gBAAgB,CAAA;gBACzD,MAAK;YAET,KAAK,kCAAwB,CAAC,OAAO;gBACjC,KAAK,GAAG,yBAAyB,CAAA;gBACjC,IAAI,GAAG,mCAAmC,QAAQ,CAAC,IAAI,WAAW,CAAA;gBAClE,MAAK;YAET,KAAK,kCAAwB,CAAC,QAAQ;gBAClC,KAAK,GAAG,0BAA0B,CAAA;gBAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,oCAAoC,CAAA;gBAC3D,MAAK;YAET,KAAK,kCAAwB,CAAC,OAAO;gBACjC,KAAK,GAAG,8BAA8B,CAAA;gBACtC,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,uCAAuC,CAAA;gBAC9D,MAAK;SACZ;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;YAC1E,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACnG,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACnC,CAAC;CACJ;AAlDD,wEAkDC"}
1
+ {"version":3,"file":"OnboardingChangeReceivedModule.js","sourceRoot":"","sources":["../../../src/modules/appEvents/OnboardingChangeReceivedModule.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AACzD,2DAAuD;AACvD,yCAA4D;AAC5D,0DAAqF;AAIrF,MAAa,mCAAoC,SAAQ,iCAAe;CAAG;AAA3E,kFAA2E;AAE3E,MAAa,8BAA+B,SAAQ,mCAAsD;IAC/F,KAAK,CAAC,IAAI;QACb,qBAAqB;IACzB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,CAAC,sCAA6B,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACxG,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,KAAoC;QAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAA;QACpC,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAE/E,QAAQ,MAAM,CAAC,MAAM,EAAE;YACnB,KAAK,kCAAwB,CAAC,QAAQ;gBAClC,KAAK,GAAG,0BAA0B,CAAA;gBAClC,IAAI,GAAG,qBAAqB,QAAQ,CAAC,IAAI,gBAAgB,CAAA;gBACzD,MAAK;YAET,KAAK,kCAAwB,CAAC,OAAO;gBACjC,KAAK,GAAG,yBAAyB,CAAA;gBACjC,IAAI,GAAG,mCAAmC,QAAQ,CAAC,IAAI,WAAW,CAAA;gBAClE,MAAK;YAET,KAAK,kCAAwB,CAAC,QAAQ;gBAClC,KAAK,GAAG,0BAA0B,CAAA;gBAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,oCAAoC,CAAA;gBAC3D,MAAK;YAET,KAAK,kCAAwB,CAAC,OAAO;gBACjC,KAAK,GAAG,8BAA8B,CAAA;gBACtC,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,uCAAuC,CAAA;gBAC9D,MAAK;SACZ;QACD,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;YAC1E,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YACnG,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACnC,CAAC;CACJ;AA/CD,wEA+CC"}
@@ -21,8 +21,7 @@ class AppSyncModule extends AppRuntimeModule_1.AppRuntimeModule {
21
21
  }
22
22
  async sync() {
23
23
  for (const session of this.runtime.getSessions()) {
24
- const services = this.runtime.getServices(session.address);
25
- const result = await services.transportServices.account.syncEverything();
24
+ const result = await session.transportServices.account.syncEverything();
26
25
  if (result.isError) {
27
26
  this.logger.error(result.error);
28
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AppSyncModule.js","sourceRoot":"","sources":["../../../src/modules/appSync/AppSyncModule.ts"],"names":[],"mappings":";;;AAAA,0DAAqF;AAMrF,MAAa,aAAc,SAAQ,mCAA4C;IAA/E;;QAEY,YAAO,GAAG,KAAK,CAAA;IAmC3B,CAAC;IAjCG,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAEM,IAAI;QACP,qBAAqB;IACzB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,IAAI;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,OAAQ,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;YACxE,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAClC;SACJ;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;SACvF;IACL,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAClC,CAAC;CACJ;AArCD,sCAqCC"}
1
+ {"version":3,"file":"AppSyncModule.js","sourceRoot":"","sources":["../../../src/modules/appSync/AppSyncModule.ts"],"names":[],"mappings":";;;AAAA,0DAAqF;AAMrF,MAAa,aAAc,SAAQ,mCAA4C;IAA/E;;QAEY,YAAO,GAAG,KAAK,CAAA;IAkC3B,CAAC;IAhCG,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAEM,IAAI;QACP,qBAAqB;IACzB,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,IAAI;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,EAAE,CAAA;YACvE,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aAClC;SACJ;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;SACvF;IACL,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAClC,CAAC;CACJ;AApCD,sCAoCC"}
@@ -8,7 +8,7 @@ export declare class PushNotificationModule extends AppRuntimeModule<PushNotific
8
8
  private handleRemoteNotification;
9
9
  private handleTokenRegistration;
10
10
  private handleAccountSelected;
11
- registerPushTokenForLocalAccount(id: string, token: string): Promise<void>;
11
+ registerPushTokenForLocalAccount(address: string, token: string): Promise<void>;
12
12
  getNotificationTokenFromConfig(): Result<string>;
13
13
  stop(): void;
14
14
  }
@@ -21,28 +21,23 @@ class PushNotificationModule extends AppRuntimeModule_1.AppRuntimeModule {
21
21
  const notification = event.notification;
22
22
  const content = notification.content;
23
23
  try {
24
- const account = await this.runtime.selectAccountByAddress(content.accRef, "");
25
- const session = this.runtime.findSession(account.id.toString());
26
- if (!session) {
27
- this.logger.error(`No session found for account ref ${content.accRef}`);
28
- return;
29
- }
24
+ const services = await this.runtime.getServices(content.accRef);
30
25
  switch (content.eventName) {
31
26
  case IBackboneEventContent_1.BackboneEventName.DatawalletModificationsCreated:
32
- const walletResult = await session.transportServices.account.syncDatawallet();
27
+ const walletResult = await services.transportServices.account.syncDatawallet();
33
28
  if (walletResult.isError) {
34
29
  this.logger.error(walletResult);
35
30
  return;
36
31
  }
37
- this.runtime.eventBus.publish(new events_1.DatawalletSynchronizedEvent(session.address));
32
+ this.runtime.eventBus.publish(new events_1.DatawalletSynchronizedEvent(content.accRef));
38
33
  break;
39
34
  case IBackboneEventContent_1.BackboneEventName.ExternalEventCreated:
40
- const syncResult = await session.transportServices.account.syncEverything();
35
+ const syncResult = await services.transportServices.account.syncEverything();
41
36
  if (syncResult.isError) {
42
37
  this.logger.error(syncResult);
43
38
  return;
44
39
  }
45
- this.runtime.eventBus.publish(new events_1.ExternalEventReceivedEvent(session.address, syncResult.value.messages, syncResult.value.relationships));
40
+ this.runtime.eventBus.publish(new events_1.ExternalEventReceivedEvent(content.accRef, syncResult.value.messages, syncResult.value.relationships));
46
41
  break;
47
42
  default:
48
43
  break;
@@ -55,8 +50,8 @@ class PushNotificationModule extends AppRuntimeModule_1.AppRuntimeModule {
55
50
  async handleTokenRegistration(event) {
56
51
  try {
57
52
  this.logger.trace("PushNotificationModule.handleTokenRegistration", event);
58
- for (const account of this.runtime.getSessions()) {
59
- await this.registerPushTokenForLocalAccount(account.id, event.token);
53
+ for (const session of this.runtime.getSessions()) {
54
+ await this.registerPushTokenForLocalAccount(session.account.address, event.token);
60
55
  }
61
56
  }
62
57
  catch (e) {
@@ -64,33 +59,22 @@ class PushNotificationModule extends AppRuntimeModule_1.AppRuntimeModule {
64
59
  }
65
60
  }
66
61
  async handleAccountSelected(event) {
67
- try {
68
- this.logger.trace("PushNotificationModule.handleAccountSelected", event);
69
- const tokenResult = this.getNotificationTokenFromConfig();
70
- if (tokenResult.isSuccess) {
71
- await this.registerPushTokenForLocalAccount(event.data.localAccountId, tokenResult.value);
72
- }
73
- else {
74
- this.logger.error(tokenResult.error);
75
- }
76
- }
77
- catch (e) {
78
- this.logger.error(e);
62
+ this.logger.trace("PushNotificationModule.handleAccountSelected", event);
63
+ const tokenResult = this.getNotificationTokenFromConfig();
64
+ if (tokenResult.isError) {
65
+ this.logger.error(tokenResult.error);
66
+ return;
79
67
  }
68
+ await this.registerPushTokenForLocalAccount(event.data.address, tokenResult.value);
80
69
  }
81
- async registerPushTokenForLocalAccount(id, token) {
70
+ async registerPushTokenForLocalAccount(address, token) {
82
71
  if (!token) {
83
72
  throw AppRuntimeErrors_1.AppRuntimeErrors.modules.pushNotificationModule
84
73
  .tokenRegistrationNotPossible("The registered token was empty. This might be the case if you did not allow push notifications.")
85
74
  .logWith(this.logger);
86
75
  }
87
- const session = this.runtime.findSession(id);
88
- if (!session) {
89
- throw AppRuntimeErrors_1.AppRuntimeErrors.modules.pushNotificationModule
90
- .tokenRegistrationNotPossible("No session for this account found")
91
- .logWith(this.logger);
92
- }
93
- const deviceResult = await session.transportServices.account.getDeviceInfo();
76
+ const services = await this.runtime.getServices(address);
77
+ const deviceResult = await services.transportServices.account.getDeviceInfo();
94
78
  if (deviceResult.isError) {
95
79
  throw AppRuntimeErrors_1.AppRuntimeErrors.modules.pushNotificationModule
96
80
  .tokenRegistrationNotPossible("No device for this account found", deviceResult.error)
@@ -100,7 +84,7 @@ class PushNotificationModule extends AppRuntimeModule_1.AppRuntimeModule {
100
84
  const platform = this.runtime.nativeEnvironment.deviceInfoAccess.deviceInfo.pushService;
101
85
  const handle = token;
102
86
  const installationId = device.id;
103
- const result = await session.transportServices.account.registerPushNotificationToken({
87
+ const result = await services.transportServices.account.registerPushNotificationToken({
104
88
  platform,
105
89
  handle,
106
90
  installationId
@@ -111,7 +95,7 @@ class PushNotificationModule extends AppRuntimeModule_1.AppRuntimeModule {
111
95
  .logWith(this.logger);
112
96
  }
113
97
  else {
114
- this.logger.trace(`PushNotificationModule.registerPushTokenForLocalAccount: Token ${handle} registered for account ${id} on platform ${platform} and installationId ${installationId}`);
98
+ this.logger.trace(`PushNotificationModule.registerPushTokenForLocalAccount: Token ${handle} registered for account ${address} on platform ${platform} and installationId ${installationId}`);
115
99
  }
116
100
  }
117
101
  getNotificationTokenFromConfig() {