@nmshd/app-runtime 1.0.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/LICENSE +7 -0
- package/README.md +24 -0
- package/dist/AppConfig.d.ts +10 -0
- package/dist/AppConfig.js +55 -0
- package/dist/AppConfig.js.map +1 -0
- package/dist/AppRuntime.d.ts +61 -0
- package/dist/AppRuntime.js +306 -0
- package/dist/AppRuntime.js.map +1 -0
- package/dist/AppRuntimeError.d.ts +5 -0
- package/dist/AppRuntimeError.js +12 -0
- package/dist/AppRuntimeError.js.map +1 -0
- package/dist/AppRuntimeErrors.d.ts +33 -0
- package/dist/AppRuntimeErrors.js +67 -0
- package/dist/AppRuntimeErrors.js.map +1 -0
- package/dist/UserfriendlyApplicationError.d.ts +7 -0
- package/dist/UserfriendlyApplicationError.js +18 -0
- package/dist/UserfriendlyApplicationError.js.map +1 -0
- package/dist/UserfriendlyResult.d.ts +4 -0
- package/dist/UserfriendlyResult.js +8 -0
- package/dist/UserfriendlyResult.js.map +1 -0
- package/dist/buildInformation.d.ts +512 -0
- package/dist/buildInformation.js +25 -0
- package/dist/buildInformation.js.map +1 -0
- package/dist/events/AccountSelectedEvent.d.ts +12 -0
- package/dist/events/AccountSelectedEvent.js +16 -0
- package/dist/events/AccountSelectedEvent.js.map +1 -0
- package/dist/events/DatawalletSynchronizedEvent.d.ts +5 -0
- package/dist/events/DatawalletSynchronizedEvent.js +12 -0
- package/dist/events/DatawalletSynchronizedEvent.js.map +1 -0
- package/dist/events/ExternalEventReceivedEvent.d.ts +8 -0
- package/dist/events/ExternalEventReceivedEvent.js +15 -0
- package/dist/events/ExternalEventReceivedEvent.js.map +1 -0
- package/dist/events/MailReceivedEvent.d.ts +5 -0
- package/dist/events/MailReceivedEvent.js +12 -0
- package/dist/events/MailReceivedEvent.js.map +1 -0
- package/dist/events/OnboardingChangeReceivedEvent.d.ts +9 -0
- package/dist/events/OnboardingChangeReceivedEvent.js +16 -0
- package/dist/events/OnboardingChangeReceivedEvent.js.map +1 -0
- package/dist/events/RelationshipSelectedEvent.d.ts +5 -0
- package/dist/events/RelationshipSelectedEvent.js +12 -0
- package/dist/events/RelationshipSelectedEvent.js.map +1 -0
- package/dist/events/RequestReceivedEvent.d.ts +8 -0
- package/dist/events/RequestReceivedEvent.js +15 -0
- package/dist/events/RequestReceivedEvent.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.js +20 -0
- package/dist/events/index.js.map +1 -0
- package/dist/extensibility/AppServices.d.ts +7 -0
- package/dist/extensibility/AppServices.js +12 -0
- package/dist/extensibility/AppServices.js.map +1 -0
- package/dist/extensibility/DVOs/RelationshipItemsDVO.d.ts +3 -0
- package/dist/extensibility/DVOs/RelationshipItemsDVO.js +3 -0
- package/dist/extensibility/DVOs/RelationshipItemsDVO.js.map +1 -0
- package/dist/extensibility/facades/AppRelationshipFacade.d.ts +21 -0
- package/dist/extensibility/facades/AppRelationshipFacade.js +88 -0
- package/dist/extensibility/facades/AppRelationshipFacade.js.map +1 -0
- package/dist/extensibility/facades/AppRuntimeFacade.d.ts +13 -0
- package/dist/extensibility/facades/AppRuntimeFacade.js +29 -0
- package/dist/extensibility/facades/AppRuntimeFacade.js.map +1 -0
- package/dist/extensibility/facades/AppStringProcessorFacade.d.ts +9 -0
- package/dist/extensibility/facades/AppStringProcessorFacade.js +73 -0
- package/dist/extensibility/facades/AppStringProcessorFacade.js.map +1 -0
- package/dist/extensibility/facades/index.d.ts +2 -0
- package/dist/extensibility/facades/index.js +15 -0
- package/dist/extensibility/facades/index.js.map +1 -0
- package/dist/extensibility/index.d.ts +2 -0
- package/dist/extensibility/index.js +15 -0
- package/dist/extensibility/index.js.map +1 -0
- package/dist/extensibility/ui/IUIBridge.d.ts +14 -0
- package/dist/extensibility/ui/IUIBridge.js +3 -0
- package/dist/extensibility/ui/IUIBridge.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/AppRuntimeModule.d.ts +9 -0
- package/dist/modules/AppRuntimeModule.js +8 -0
- package/dist/modules/AppRuntimeModule.js.map +1 -0
- package/dist/modules/appEvents/AppLaunchModule.d.ts +13 -0
- package/dist/modules/appEvents/AppLaunchModule.js +33 -0
- package/dist/modules/appEvents/AppLaunchModule.js.map +1 -0
- package/dist/modules/appEvents/MailReceivedModule.d.ts +13 -0
- package/dist/modules/appEvents/MailReceivedModule.js +41 -0
- package/dist/modules/appEvents/MailReceivedModule.js.map +1 -0
- package/dist/modules/appEvents/OnboardingChangeReceivedModule.d.ts +13 -0
- package/dist/modules/appEvents/OnboardingChangeReceivedModule.js +62 -0
- package/dist/modules/appEvents/OnboardingChangeReceivedModule.js.map +1 -0
- package/dist/modules/appEvents/index.d.ts +3 -0
- package/dist/modules/appEvents/index.js +16 -0
- package/dist/modules/appEvents/index.js.map +1 -0
- package/dist/modules/appSync/AppSyncModule.d.ts +13 -0
- package/dist/modules/appSync/AppSyncModule.js +37 -0
- package/dist/modules/appSync/AppSyncModule.js.map +1 -0
- package/dist/modules/appSync/index.d.ts +1 -0
- package/dist/modules/appSync/index.js +14 -0
- package/dist/modules/appSync/index.js.map +1 -0
- package/dist/modules/index.d.ts +5 -0
- package/dist/modules/index.js +18 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/pushNotifications/IBackboneEventContent.d.ts +10 -0
- package/dist/modules/pushNotifications/IBackboneEventContent.js +9 -0
- package/dist/modules/pushNotifications/IBackboneEventContent.js.map +1 -0
- package/dist/modules/pushNotifications/PushNotificationModule.d.ts +17 -0
- package/dist/modules/pushNotifications/PushNotificationModule.js +168 -0
- package/dist/modules/pushNotifications/PushNotificationModule.js.map +1 -0
- package/dist/modules/pushNotifications/index.d.ts +2 -0
- package/dist/modules/pushNotifications/index.js +15 -0
- package/dist/modules/pushNotifications/index.js.map +1 -0
- package/dist/modules/runtimeEvents/MessageReceivedModule.d.ts +13 -0
- package/dist/modules/runtimeEvents/MessageReceivedModule.js +52 -0
- package/dist/modules/runtimeEvents/MessageReceivedModule.js.map +1 -0
- package/dist/modules/runtimeEvents/RelationshipChangedModule.d.ts +13 -0
- package/dist/modules/runtimeEvents/RelationshipChangedModule.js +46 -0
- package/dist/modules/runtimeEvents/RelationshipChangedModule.js.map +1 -0
- package/dist/modules/runtimeEvents/index.d.ts +2 -0
- package/dist/modules/runtimeEvents/index.js +15 -0
- package/dist/modules/runtimeEvents/index.js.map +1 -0
- package/dist/multiAccount/AccountServices.d.ts +13 -0
- package/dist/multiAccount/AccountServices.js +37 -0
- package/dist/multiAccount/AccountServices.js.map +1 -0
- package/dist/multiAccount/MultiAccountController.d.ts +28 -0
- package/dist/multiAccount/MultiAccountController.js +155 -0
- package/dist/multiAccount/MultiAccountController.js.map +1 -0
- package/dist/multiAccount/MultiAccountFacade.d.ts +15 -0
- package/dist/multiAccount/MultiAccountFacade.js +46 -0
- package/dist/multiAccount/MultiAccountFacade.js.map +1 -0
- package/dist/multiAccount/data/LocalAccount.d.ts +18 -0
- package/dist/multiAccount/data/LocalAccount.js +55 -0
- package/dist/multiAccount/data/LocalAccount.js.map +1 -0
- package/dist/multiAccount/data/LocalAccountDTO.d.ts +8 -0
- package/dist/multiAccount/data/LocalAccountDTO.js +3 -0
- package/dist/multiAccount/data/LocalAccountDTO.js.map +1 -0
- package/dist/multiAccount/data/LocalAccountMapper.d.ts +5 -0
- package/dist/multiAccount/data/LocalAccountMapper.js +18 -0
- package/dist/multiAccount/data/LocalAccountMapper.js.map +1 -0
- package/dist/multiAccount/data/LocalAccountSession.d.ts +17 -0
- package/dist/multiAccount/data/LocalAccountSession.js +3 -0
- package/dist/multiAccount/data/LocalAccountSession.js.map +1 -0
- package/dist/multiAccount/index.d.ts +6 -0
- package/dist/multiAccount/index.js +19 -0
- package/dist/multiAccount/index.js.map +1 -0
- package/lib-web/nmshd.app-runtime.js +23621 -0
- package/lib-web/nmshd.app-runtime.min.js +3 -0
- package/package.json +71 -0
- package/ui5.yaml +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageReceivedModule.js","sourceRoot":"","sources":["../../../src/modules/runtimeEvents/MessageReceivedModule.ts"],"names":[],"mappings":";;;AAAA,4CAA8E;AAC9E,2DAAuD;AACvD,yCAAsE;AACtE,0DAAqF;AAIrF,MAAa,0BAA2B,SAAQ,iCAAe;CAAG;AAAlE,gEAAkE;AAElE,MAAa,qBAAsB,SAAQ,mCAA6C;IAC7E,KAAK,CAAC,IAAI;QACb,qBAAqB;IACzB,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,KAA2B;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAA;QAC1B,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,UAAU,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAEnE,QAAQ,UAAU,CAAC,IAAI,EAAE;YACrB,KAAK,gBAAgB;gBACjB,MAAM,WAAW,GAAmB,UAAU,CAAA;gBAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,0BAAiB,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAA;gBAC3F,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,QAAQ,EAAE;oBAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CACzB,IAAI,6BAAoB,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,EAAE,UAAU,CAAC,CAC7E,CAAA;iBACJ;gBACD,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,IAAI,GAAY,UAAU,CAAA;gBAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,0BAAiB,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAA;gBACpF,MAAK;YACT;gBACI,MAAK;SACZ;IACL,CAAC;IAIM,KAAK;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAClD,8BAAoB,EACpB,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/C,CAAA;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;YAC9C,OAAM;SACT;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,8BAAoB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAChF,CAAC;CACJ;AAnDD,sDAmDC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AppRuntimeError } from "../../AppRuntimeError";
|
|
2
|
+
import { AppRuntimeModule, AppRuntimeModuleConfiguration } from "../AppRuntimeModule";
|
|
3
|
+
export interface RelationshipChangedModuleConfig extends AppRuntimeModuleConfiguration {
|
|
4
|
+
}
|
|
5
|
+
export declare class RelationshipChangedModuleError extends AppRuntimeError {
|
|
6
|
+
}
|
|
7
|
+
export declare class RelationshipChangedModule extends AppRuntimeModule<RelationshipChangedModuleConfig> {
|
|
8
|
+
init(): Promise<void>;
|
|
9
|
+
private relationshipChangedHandler;
|
|
10
|
+
private subscriptionId;
|
|
11
|
+
start(): void;
|
|
12
|
+
stop(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RelationshipChangedModule = exports.RelationshipChangedModuleError = void 0;
|
|
4
|
+
const runtime_1 = require("@nmshd/runtime");
|
|
5
|
+
const AppRuntimeError_1 = require("../../AppRuntimeError");
|
|
6
|
+
const events_1 = require("../../events");
|
|
7
|
+
const AppRuntimeModule_1 = require("../AppRuntimeModule");
|
|
8
|
+
class RelationshipChangedModuleError extends AppRuntimeError_1.AppRuntimeError {
|
|
9
|
+
}
|
|
10
|
+
exports.RelationshipChangedModuleError = RelationshipChangedModuleError;
|
|
11
|
+
class RelationshipChangedModule extends AppRuntimeModule_1.AppRuntimeModule {
|
|
12
|
+
async init() {
|
|
13
|
+
// Nothing to do here
|
|
14
|
+
}
|
|
15
|
+
async relationshipChangedHandler(event) {
|
|
16
|
+
const relationship = event.data;
|
|
17
|
+
const session = this.runtime.findSessionByAddress(event.eventTargetAddress);
|
|
18
|
+
if (!session) {
|
|
19
|
+
this.logger.error(`No session found for address ${event.eventTargetAddress}`);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
// The very first change is the onboarding change
|
|
23
|
+
if (relationship.changes.length === 1) {
|
|
24
|
+
const change = relationship.changes[0];
|
|
25
|
+
// Only fire received events if the current session did not create it
|
|
26
|
+
if ((!change.response && change.request.createdBy !== session.address) ||
|
|
27
|
+
(change.response && change.response.createdBy !== session.address)) {
|
|
28
|
+
const relationshipDVO = await session.expander.expandRelationshipDTO(relationship);
|
|
29
|
+
this.runtime.eventBus.publish(new events_1.OnboardingChangeReceivedEvent(session.address, relationship.changes[0], relationship, relationshipDVO));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
start() {
|
|
34
|
+
const subscriptionId = this.runtime.eventBus.subscribe(runtime_1.RelationshipChangedEvent, this.relationshipChangedHandler.bind(this));
|
|
35
|
+
this.subscriptionId = subscriptionId;
|
|
36
|
+
}
|
|
37
|
+
stop() {
|
|
38
|
+
if (!this.subscriptionId) {
|
|
39
|
+
this.logger.warn("No Subscription available.");
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.runtime.eventBus.unsubscribe(runtime_1.RelationshipChangedEvent, this.subscriptionId);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.RelationshipChangedModule = RelationshipChangedModule;
|
|
46
|
+
//# sourceMappingURL=RelationshipChangedModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationshipChangedModule.js","sourceRoot":"","sources":["../../../src/modules/runtimeEvents/RelationshipChangedModule.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AACzD,2DAAuD;AACvD,yCAA4D;AAC5D,0DAAqF;AAIrF,MAAa,8BAA+B,SAAQ,iCAAe;CAAG;AAAtE,wEAAsE;AAEtE,MAAa,yBAA0B,SAAQ,mCAAiD;IACrF,KAAK,CAAC,IAAI;QACb,qBAAqB;IACzB,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,KAA+B;QACpE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAA;QAC/B,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;QAED,iDAAiD;QACjD,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACtC,qEAAqE;YACrE,IACI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC;gBAClE,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,EACpE;gBACE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;gBAClF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CACzB,IAAI,sCAA6B,CAC7B,OAAO,CAAC,OAAO,EACf,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EACvB,YAAY,EACZ,eAAe,CAClB,CACJ,CAAA;aACJ;SACJ;IACL,CAAC;IAIM,KAAK;QACR,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAClD,kCAAwB,EACxB,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7C,CAAA;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACxC,CAAC;IAEM,IAAI;QACP,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;YAC9C,OAAM;SACT;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,kCAAwB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACpF,CAAC;CACJ;AApDD,8DAoDC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./MessageReceivedModule"), exports);
|
|
14
|
+
__exportStar(require("./RelationshipChangedModule"), exports);
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/runtimeEvents/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAuC;AACvC,8DAA2C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DeviceOnboardingInfoDTO } from "@nmshd/runtime";
|
|
2
|
+
import { Realm } from "@nmshd/transport";
|
|
3
|
+
import { LocalAccountDTO } from "./data/LocalAccountDTO";
|
|
4
|
+
import { MultiAccountController } from "./MultiAccountController";
|
|
5
|
+
export declare class AccountServices {
|
|
6
|
+
protected readonly multiAccountController: MultiAccountController;
|
|
7
|
+
constructor(multiAccountController: MultiAccountController);
|
|
8
|
+
createAccount(realm: Realm, name: string): Promise<LocalAccountDTO>;
|
|
9
|
+
onboardAccount(onboardingInfo: DeviceOnboardingInfoDTO): Promise<LocalAccountDTO>;
|
|
10
|
+
getAccounts(): Promise<LocalAccountDTO[]>;
|
|
11
|
+
clearAccounts(): Promise<void>;
|
|
12
|
+
renameAccount(localAccountId: string, newAccountName: string): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountServices = void 0;
|
|
4
|
+
const runtime_1 = require("@nmshd/runtime");
|
|
5
|
+
const transport_1 = require("@nmshd/transport");
|
|
6
|
+
const AppRuntimeErrors_1 = require("../AppRuntimeErrors");
|
|
7
|
+
const LocalAccountMapper_1 = require("./data/LocalAccountMapper");
|
|
8
|
+
class AccountServices {
|
|
9
|
+
constructor(multiAccountController) {
|
|
10
|
+
this.multiAccountController = multiAccountController;
|
|
11
|
+
}
|
|
12
|
+
async createAccount(realm, name) {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
14
|
+
if (realm !== transport_1.Realm.Dev && realm !== transport_1.Realm.Prod && realm !== transport_1.Realm.Stage) {
|
|
15
|
+
throw AppRuntimeErrors_1.AppRuntimeErrors.multiAccount.wrongRealm();
|
|
16
|
+
}
|
|
17
|
+
const [localAccount] = await this.multiAccountController.createAccount(realm, name);
|
|
18
|
+
return LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(localAccount);
|
|
19
|
+
}
|
|
20
|
+
async onboardAccount(onboardingInfo) {
|
|
21
|
+
const sharedSecret = await runtime_1.DeviceMapper.toDeviceSharedSecret(onboardingInfo);
|
|
22
|
+
const [localAccount] = await this.multiAccountController.onboardDevice(sharedSecret);
|
|
23
|
+
return LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(localAccount);
|
|
24
|
+
}
|
|
25
|
+
async getAccounts() {
|
|
26
|
+
const localAccounts = await this.multiAccountController.getAccounts();
|
|
27
|
+
return localAccounts.map((account) => LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(account));
|
|
28
|
+
}
|
|
29
|
+
async clearAccounts() {
|
|
30
|
+
await this.multiAccountController.clearAccounts();
|
|
31
|
+
}
|
|
32
|
+
async renameAccount(localAccountId, newAccountName) {
|
|
33
|
+
await this.multiAccountController.renameLocalAccount(transport_1.CoreId.from(localAccountId), newAccountName);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.AccountServices = AccountServices;
|
|
37
|
+
//# sourceMappingURL=AccountServices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountServices.js","sourceRoot":"","sources":["../../src/multiAccount/AccountServices.ts"],"names":[],"mappings":";;;AAAA,4CAAsE;AACtE,gDAAgD;AAChD,0DAAsD;AAEtD,kEAA8D;AAG9D,MAAa,eAAe;IACxB,YAAsC,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;IAAG,CAAC;IAEjF,KAAK,CAAC,aAAa,CAAC,KAAY,EAAE,IAAY;QACjD,uEAAuE;QACvE,IAAI,KAAK,KAAK,iBAAK,CAAC,GAAG,IAAI,KAAK,KAAK,iBAAK,CAAC,IAAI,IAAI,KAAK,KAAK,iBAAK,CAAC,KAAK,EAAE;YACtE,MAAM,mCAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,CAAA;SACnD;QAED,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACnF,OAAO,uCAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC7D,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,cAAuC;QAC/D,MAAM,YAAY,GAAG,MAAM,sBAAY,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAA;QAC5E,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QACpF,OAAO,uCAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAC7D,CAAC;IAEM,KAAK,CAAC,WAAW;QACpB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAA;QACrE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uCAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;IACxF,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAA;IACrD,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,cAAsB,EAAE,cAAsB;QACrE,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,kBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CAAA;IACrG,CAAC;CACJ;AA/BD,0CA+BC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AccountController, CoreId, DeviceSharedSecret, Realm, Transport } from "@nmshd/transport";
|
|
2
|
+
import { LocalAccount } from "./data/LocalAccount";
|
|
3
|
+
export declare class MultiAccountController {
|
|
4
|
+
private readonly _log;
|
|
5
|
+
private readonly _config;
|
|
6
|
+
private _localAccounts;
|
|
7
|
+
private _db?;
|
|
8
|
+
protected _dbClosed: boolean;
|
|
9
|
+
private readonly _transport;
|
|
10
|
+
get transport(): Transport;
|
|
11
|
+
private readonly _path;
|
|
12
|
+
get path(): string;
|
|
13
|
+
constructor(transport: Transport);
|
|
14
|
+
init(): Promise<MultiAccountController>;
|
|
15
|
+
close(): Promise<void>;
|
|
16
|
+
private readonly _openAccounts;
|
|
17
|
+
get openAccounts(): AccountController[];
|
|
18
|
+
getAccount(id: CoreId): Promise<LocalAccount>;
|
|
19
|
+
getAccountByAddress(address: string): Promise<LocalAccount>;
|
|
20
|
+
getAccounts(): Promise<LocalAccount[]>;
|
|
21
|
+
selectAccount(id: CoreId, _masterPassword: string): Promise<[LocalAccount, AccountController]>;
|
|
22
|
+
clearAccounts(): Promise<void>;
|
|
23
|
+
closeAccounts(): Promise<void>;
|
|
24
|
+
onboardDevice(deviceSharedSecret: DeviceSharedSecret): Promise<[LocalAccount, AccountController]>;
|
|
25
|
+
createAccount(realm: Realm, name: string): Promise<[LocalAccount, AccountController]>;
|
|
26
|
+
private updateLocalAccountAddress;
|
|
27
|
+
renameLocalAccount(id: CoreId, name: string): Promise<void>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultiAccountController = void 0;
|
|
4
|
+
const transport_1 = require("@nmshd/transport");
|
|
5
|
+
const LocalAccount_1 = require("./data/LocalAccount");
|
|
6
|
+
class MultiAccountController {
|
|
7
|
+
constructor(transport) {
|
|
8
|
+
this._dbClosed = false;
|
|
9
|
+
this._openAccounts = [];
|
|
10
|
+
this._transport = transport;
|
|
11
|
+
this._config = transport.config;
|
|
12
|
+
this._log = transport_1.TransportLoggerFactory.getLogger(MultiAccountController);
|
|
13
|
+
}
|
|
14
|
+
get transport() {
|
|
15
|
+
return this._transport;
|
|
16
|
+
}
|
|
17
|
+
get path() {
|
|
18
|
+
return this._path;
|
|
19
|
+
}
|
|
20
|
+
async init() {
|
|
21
|
+
this._log.trace("opening accounts DB");
|
|
22
|
+
this._db = await this.transport.createDatabase("accounts");
|
|
23
|
+
this._log.trace("accounts DB opened.");
|
|
24
|
+
this._dbClosed = false;
|
|
25
|
+
this._localAccounts = await this._db.getCollection("LocalAccounts");
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
async close() {
|
|
29
|
+
await this.closeAccounts();
|
|
30
|
+
if (this._db && !this._dbClosed) {
|
|
31
|
+
this._log.trace(`Closing LokiDB for path ${this.path}`);
|
|
32
|
+
await this._db.close();
|
|
33
|
+
this._dbClosed = true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
get openAccounts() {
|
|
37
|
+
return this._openAccounts;
|
|
38
|
+
}
|
|
39
|
+
async getAccount(id) {
|
|
40
|
+
const dbAccount = await this._localAccounts.read(id.toString());
|
|
41
|
+
if (!dbAccount) {
|
|
42
|
+
throw transport_1.TransportErrors.general.recordNotFound(LocalAccount_1.LocalAccount, id.toString()).logWith(this._log);
|
|
43
|
+
}
|
|
44
|
+
return LocalAccount_1.LocalAccount.from(dbAccount);
|
|
45
|
+
}
|
|
46
|
+
async getAccountByAddress(address) {
|
|
47
|
+
const dbAccount = await this._localAccounts.findOne({ address: address });
|
|
48
|
+
if (!dbAccount) {
|
|
49
|
+
throw transport_1.TransportErrors.general.recordNotFound(LocalAccount_1.LocalAccount, address).logWith(this._log);
|
|
50
|
+
}
|
|
51
|
+
return LocalAccount_1.LocalAccount.from(dbAccount);
|
|
52
|
+
}
|
|
53
|
+
async getAccounts() {
|
|
54
|
+
const dbAccounts = await this._localAccounts.list();
|
|
55
|
+
return dbAccounts.map((account) => LocalAccount_1.LocalAccount.from(account));
|
|
56
|
+
}
|
|
57
|
+
async selectAccount(id, _masterPassword) {
|
|
58
|
+
this._log.trace(`Selecting LocalAccount with id ${id}...`);
|
|
59
|
+
const account = await this._localAccounts.read(id.toString());
|
|
60
|
+
if (!account) {
|
|
61
|
+
throw transport_1.TransportErrors.general.recordNotFound(LocalAccount_1.LocalAccount, id.toString()).logWith(this._log);
|
|
62
|
+
}
|
|
63
|
+
let localAccount = LocalAccount_1.LocalAccount.from(account);
|
|
64
|
+
this._log.trace(`Opening DB for account ${localAccount.id}...`);
|
|
65
|
+
const db = await this.transport.createDatabase(`acc-${localAccount.id.toString()}`);
|
|
66
|
+
this._log.trace(`DB for account ${id} opened.`);
|
|
67
|
+
this._log.trace(`Initializing AccountController for local account ${id}...`);
|
|
68
|
+
const accountController = new transport_1.AccountController(this.transport, db, this._config);
|
|
69
|
+
await accountController.init();
|
|
70
|
+
this._log.trace(`AccountController for local account ${id} initialized.`);
|
|
71
|
+
this._openAccounts.push(accountController);
|
|
72
|
+
if (!localAccount.address) {
|
|
73
|
+
// Update address after first login if not set already
|
|
74
|
+
localAccount = await this.updateLocalAccountAddress(localAccount.id, accountController.identity.address);
|
|
75
|
+
}
|
|
76
|
+
return [localAccount, accountController];
|
|
77
|
+
}
|
|
78
|
+
async clearAccounts() {
|
|
79
|
+
await this._localAccounts.delete({});
|
|
80
|
+
}
|
|
81
|
+
async closeAccounts() {
|
|
82
|
+
for (let i = 0, l = this._openAccounts.length; i < l; i++) {
|
|
83
|
+
const account = this._openAccounts[i];
|
|
84
|
+
await account.close();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async onboardDevice(deviceSharedSecret) {
|
|
88
|
+
this._log.trace(`Onboarding device ${deviceSharedSecret.id} for identity ${deviceSharedSecret.identity.address}...`);
|
|
89
|
+
const id = await transport_1.CoreId.generate();
|
|
90
|
+
let localAccount = LocalAccount_1.LocalAccount.from({
|
|
91
|
+
id,
|
|
92
|
+
address: deviceSharedSecret.identity.address,
|
|
93
|
+
directory: ".",
|
|
94
|
+
realm: deviceSharedSecret.identity.realm,
|
|
95
|
+
name: deviceSharedSecret.name ? deviceSharedSecret.name : deviceSharedSecret.identity.address.toString(),
|
|
96
|
+
order: -1
|
|
97
|
+
});
|
|
98
|
+
await this._localAccounts.create(localAccount);
|
|
99
|
+
this._log.trace("Local account created.");
|
|
100
|
+
this._log.trace(`Opening DB for account ${id}...`);
|
|
101
|
+
const db = await this.transport.createDatabase(`acc-${id.toString()}`);
|
|
102
|
+
this._log.trace(`DB for account ${id} opened.`);
|
|
103
|
+
this._log.trace(`Initializing AccountController for local account ${id}...`);
|
|
104
|
+
const accountController = new transport_1.AccountController(this.transport, db, this._config);
|
|
105
|
+
await accountController.init(deviceSharedSecret);
|
|
106
|
+
this._log.trace(`AccountController for local account ${id} initialized.`);
|
|
107
|
+
this._openAccounts.push(accountController);
|
|
108
|
+
localAccount = await this.updateLocalAccountAddress(localAccount.id, accountController.identity.address);
|
|
109
|
+
return [localAccount, accountController];
|
|
110
|
+
}
|
|
111
|
+
async createAccount(realm, name) {
|
|
112
|
+
this._log.trace(`Creating account for realm ${realm}.`);
|
|
113
|
+
const id = await transport_1.CoreId.generate();
|
|
114
|
+
let localAccount = LocalAccount_1.LocalAccount.from({
|
|
115
|
+
id,
|
|
116
|
+
directory: ".",
|
|
117
|
+
realm: realm,
|
|
118
|
+
name: name,
|
|
119
|
+
order: -1
|
|
120
|
+
});
|
|
121
|
+
await this._localAccounts.create(localAccount);
|
|
122
|
+
this._log.trace("Local account created.");
|
|
123
|
+
this._log.trace(`Opening DB for account ${id}...`);
|
|
124
|
+
const db = await this.transport.createDatabase(`acc-${id.toString()}`);
|
|
125
|
+
this._log.trace(`DB for account ${id} opened.`);
|
|
126
|
+
this._log.trace(`Initializing AccountController for local account ${id}...`);
|
|
127
|
+
const accountController = new transport_1.AccountController(this.transport, db, this._config);
|
|
128
|
+
await accountController.init();
|
|
129
|
+
this._log.trace(`AccountController for local account ${id} initialized.`);
|
|
130
|
+
this._openAccounts.push(accountController);
|
|
131
|
+
localAccount = await this.updateLocalAccountAddress(localAccount.id, accountController.identity.address);
|
|
132
|
+
return [localAccount, accountController];
|
|
133
|
+
}
|
|
134
|
+
async updateLocalAccountAddress(id, address) {
|
|
135
|
+
const oldAccount = await this._localAccounts.read(id.toString());
|
|
136
|
+
if (!oldAccount) {
|
|
137
|
+
throw transport_1.TransportErrors.general.recordNotFound(LocalAccount_1.LocalAccount, id.toString()).logWith(this._log);
|
|
138
|
+
}
|
|
139
|
+
const account = LocalAccount_1.LocalAccount.from(oldAccount);
|
|
140
|
+
account.address = address;
|
|
141
|
+
await this._localAccounts.update(oldAccount, account);
|
|
142
|
+
return account;
|
|
143
|
+
}
|
|
144
|
+
async renameLocalAccount(id, name) {
|
|
145
|
+
const oldAccount = await this._localAccounts.read(id.toString());
|
|
146
|
+
if (!oldAccount) {
|
|
147
|
+
throw transport_1.TransportErrors.general.recordNotFound(LocalAccount_1.LocalAccount, id.toString()).logWith(this._log);
|
|
148
|
+
}
|
|
149
|
+
const renamedAccount = LocalAccount_1.LocalAccount.from(oldAccount);
|
|
150
|
+
renamedAccount.name = name;
|
|
151
|
+
await this._localAccounts.update(oldAccount, renamedAccount);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
exports.MultiAccountController = MultiAccountController;
|
|
155
|
+
//# sourceMappingURL=MultiAccountController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiAccountController.js","sourceRoot":"","sources":["../../src/multiAccount/MultiAccountController.ts"],"names":[],"mappings":";;;AAEA,gDAUyB;AACzB,sDAAkD;AAElD,MAAa,sBAAsB;IAmB/B,YAAmB,SAAoB;QAZ7B,cAAS,GAAG,KAAK,CAAA;QAuCV,kBAAa,GAAwB,EAAE,CAAA;QA1BpD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,IAAI,GAAG,kCAAsB,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAA;IACxE,CAAC;IAbD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAGD,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAQM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACtC,IAAI,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QAEtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QACnE,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAE1B,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAEvD,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;YACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;SACxB;IACL,CAAC;IAGD,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EAAU;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,2BAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC/F;QAED,OAAO,2BAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,2BAAY,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACzF;QAED,OAAO,2BAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,WAAW;QACpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QACnD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,2BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IAClE,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,eAAuB;QAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,2BAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC/F;QACD,IAAI,YAAY,GAAiB,2BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE3D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,YAAY,CAAC,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,EAAE,GAAgC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAChH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;QAE/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAA;QAC5E,MAAM,iBAAiB,GAAsB,IAAI,6BAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uCAAuC,EAAE,eAAe,CAAC,CAAA;QAEzE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAE1C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACvB,sDAAsD;YACtD,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;SAC3G;QAED,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;YACrC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;SACxB;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,kBAAsC;QAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CACX,qBAAqB,kBAAkB,CAAC,EAAE,iBAAiB,kBAAkB,CAAC,QAAQ,CAAC,OAAO,KAAK,CACtG,CAAA;QAED,MAAM,EAAE,GAAW,MAAM,kBAAM,CAAC,QAAQ,EAAE,CAAA;QAE1C,IAAI,YAAY,GAAiB,2BAAY,CAAC,IAAI,CAAC;YAC/C,EAAE;YACF,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,OAAO;YAC5C,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAAK;YACxC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;YACxG,KAAK,EAAE,CAAC,CAAC;SACZ,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAClD,MAAM,EAAE,GAAgC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACnG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;QAE/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAA;QAC5E,MAAM,iBAAiB,GAAsB,IAAI,6BAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpG,MAAM,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uCAAuC,EAAE,eAAe,CAAC,CAAA;QAEzE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAE1C,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAExG,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,KAAY,EAAE,IAAY;QACjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,KAAK,GAAG,CAAC,CAAA;QACvD,MAAM,EAAE,GAAW,MAAM,kBAAM,CAAC,QAAQ,EAAE,CAAA;QAE1C,IAAI,YAAY,GAAiB,2BAAY,CAAC,IAAI,CAAC;YAC/C,EAAE;YACF,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,CAAC,CAAC;SACZ,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAClD,MAAM,EAAE,GAAgC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACnG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;QAE/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAA;QAC5E,MAAM,iBAAiB,GAAsB,IAAI,6BAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACpG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uCAAuC,EAAE,eAAe,CAAC,CAAA;QAEzE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAE1C,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAExG,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,EAAU,EAAE,OAAoB;QACpE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEhE,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,2BAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC/F;QAED,MAAM,OAAO,GAAG,2BAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAA;QAEzB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,IAAY;QACpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEhE,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,2BAAe,CAAC,OAAO,CAAC,cAAc,CAAC,2BAAY,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC/F;QAED,MAAM,cAAc,GAAG,2BAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACpD,cAAc,CAAC,IAAI,GAAG,IAAI,CAAA;QAE1B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;IAChE,CAAC;CACJ;AA1MD,wDA0MC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DeviceOnboardingInfoDTO } from "@nmshd/runtime";
|
|
2
|
+
import { UserfriendlyResult } from "../UserfriendlyResult";
|
|
3
|
+
import { LocalAccountDTO } from "./data/LocalAccountDTO";
|
|
4
|
+
import { MultiAccountController } from "./MultiAccountController";
|
|
5
|
+
export declare class MultiAccountFacade {
|
|
6
|
+
protected readonly multiAccountController: MultiAccountController;
|
|
7
|
+
constructor(multiAccountController: MultiAccountController);
|
|
8
|
+
createAccount(realm: string, name: string): Promise<UserfriendlyResult<LocalAccountDTO>>;
|
|
9
|
+
onboardAccount(onboardingInfo: DeviceOnboardingInfoDTO): Promise<UserfriendlyResult<LocalAccountDTO>>;
|
|
10
|
+
getAccount(id: string): Promise<UserfriendlyResult<LocalAccountDTO>>;
|
|
11
|
+
getAccountByAddress(address: string): Promise<UserfriendlyResult<LocalAccountDTO>>;
|
|
12
|
+
getAccounts(): Promise<UserfriendlyResult<LocalAccountDTO[]>>;
|
|
13
|
+
clearAccounts(): Promise<UserfriendlyResult<void>>;
|
|
14
|
+
renameAccount(localAccountId: string, newAccountName: string): Promise<UserfriendlyResult<void>>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MultiAccountFacade = void 0;
|
|
4
|
+
const runtime_1 = require("@nmshd/runtime");
|
|
5
|
+
const transport_1 = require("@nmshd/transport");
|
|
6
|
+
const AppRuntimeErrors_1 = require("../AppRuntimeErrors");
|
|
7
|
+
const UserfriendlyResult_1 = require("../UserfriendlyResult");
|
|
8
|
+
const LocalAccountMapper_1 = require("./data/LocalAccountMapper");
|
|
9
|
+
class MultiAccountFacade {
|
|
10
|
+
constructor(multiAccountController) {
|
|
11
|
+
this.multiAccountController = multiAccountController;
|
|
12
|
+
}
|
|
13
|
+
async createAccount(realm, name) {
|
|
14
|
+
if (realm !== transport_1.Realm.Dev && realm !== transport_1.Realm.Prod && realm !== transport_1.Realm.Stage) {
|
|
15
|
+
throw AppRuntimeErrors_1.AppRuntimeErrors.multiAccount.wrongRealm();
|
|
16
|
+
}
|
|
17
|
+
const [localAccount] = await this.multiAccountController.createAccount(realm, name);
|
|
18
|
+
return UserfriendlyResult_1.UserfriendlyResult.ok(LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(localAccount));
|
|
19
|
+
}
|
|
20
|
+
async onboardAccount(onboardingInfo) {
|
|
21
|
+
const sharedSecret = await runtime_1.DeviceMapper.toDeviceSharedSecret(onboardingInfo);
|
|
22
|
+
const [localAccount] = await this.multiAccountController.onboardDevice(sharedSecret);
|
|
23
|
+
const localAccountDTO = LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(localAccount);
|
|
24
|
+
return UserfriendlyResult_1.UserfriendlyResult.ok(localAccountDTO);
|
|
25
|
+
}
|
|
26
|
+
async getAccount(id) {
|
|
27
|
+
const localAccount = await this.multiAccountController.getAccount(transport_1.CoreId.from(id));
|
|
28
|
+
return UserfriendlyResult_1.UserfriendlyResult.ok(LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(localAccount));
|
|
29
|
+
}
|
|
30
|
+
async getAccountByAddress(address) {
|
|
31
|
+
const localAccount = await this.multiAccountController.getAccountByAddress(address);
|
|
32
|
+
return UserfriendlyResult_1.UserfriendlyResult.ok(LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(localAccount));
|
|
33
|
+
}
|
|
34
|
+
async getAccounts() {
|
|
35
|
+
const localAccounts = await this.multiAccountController.getAccounts();
|
|
36
|
+
return UserfriendlyResult_1.UserfriendlyResult.ok(localAccounts.map((account) => LocalAccountMapper_1.LocalAccountMapper.toLocalAccountDTO(account)));
|
|
37
|
+
}
|
|
38
|
+
async clearAccounts() {
|
|
39
|
+
return UserfriendlyResult_1.UserfriendlyResult.ok(await this.multiAccountController.clearAccounts());
|
|
40
|
+
}
|
|
41
|
+
async renameAccount(localAccountId, newAccountName) {
|
|
42
|
+
return UserfriendlyResult_1.UserfriendlyResult.ok(await this.multiAccountController.renameLocalAccount(transport_1.CoreId.from(localAccountId), newAccountName));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.MultiAccountFacade = MultiAccountFacade;
|
|
46
|
+
//# sourceMappingURL=MultiAccountFacade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiAccountFacade.js","sourceRoot":"","sources":["../../src/multiAccount/MultiAccountFacade.ts"],"names":[],"mappings":";;;AAAA,4CAAsE;AACtE,gDAAgD;AAChD,0DAAsD;AACtD,8DAA0D;AAE1D,kEAA8D;AAG9D,MAAa,kBAAkB;IAC3B,YAAsC,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;IAAG,CAAC;IAEjF,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,IAAY;QAClD,IAAI,KAAK,KAAK,iBAAK,CAAC,GAAG,IAAI,KAAK,KAAK,iBAAK,CAAC,IAAI,IAAI,KAAK,KAAK,iBAAK,CAAC,KAAK,EAAE;YACtE,MAAM,mCAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,CAAA;SACnD;QACD,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACnF,OAAO,uCAAkB,CAAC,EAAE,CAAC,uCAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;IACpF,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,cAAuC;QAC/D,MAAM,YAAY,GAAG,MAAM,sBAAY,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAA;QAC5E,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QACpF,MAAM,eAAe,GAAG,uCAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAC1E,OAAO,uCAAkB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;IACjD,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EAAU;QAC9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,kBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAClF,OAAO,uCAAkB,CAAC,EAAE,CAAC,uCAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;IACpF,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAC5C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACnF,OAAO,uCAAkB,CAAC,EAAE,CAAC,uCAAkB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAA;IACpF,CAAC;IAEM,KAAK,CAAC,WAAW;QACpB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAA;QACrE,OAAO,uCAAkB,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,uCAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/G,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,OAAO,uCAAkB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC,CAAA;IACnF,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,cAAsB,EAAE,cAAsB;QACrE,OAAO,uCAAkB,CAAC,EAAE,CACxB,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,kBAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CACpG,CAAA;IACL,CAAC;CACJ;AA1CD,gDA0CC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CoreAddress, CoreId, CoreSerializable, ICoreSerializable, Realm } from "@nmshd/transport";
|
|
2
|
+
export interface ILocalAccount extends ICoreSerializable {
|
|
3
|
+
id: CoreId;
|
|
4
|
+
address?: CoreAddress;
|
|
5
|
+
name: string;
|
|
6
|
+
realm: Realm;
|
|
7
|
+
directory: string;
|
|
8
|
+
order: number;
|
|
9
|
+
}
|
|
10
|
+
export declare class LocalAccount extends CoreSerializable implements ILocalAccount {
|
|
11
|
+
id: CoreId;
|
|
12
|
+
address?: CoreAddress;
|
|
13
|
+
name: string;
|
|
14
|
+
realm: Realm;
|
|
15
|
+
directory: string;
|
|
16
|
+
order: number;
|
|
17
|
+
static from(value: ILocalAccount): LocalAccount;
|
|
18
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var LocalAccount_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.LocalAccount = void 0;
|
|
14
|
+
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
15
|
+
const transport_1 = require("@nmshd/transport");
|
|
16
|
+
let LocalAccount = LocalAccount_1 = class LocalAccount extends transport_1.CoreSerializable {
|
|
17
|
+
static from(value) {
|
|
18
|
+
return super.from(value, LocalAccount_1);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, ts_serval_1.validate)(),
|
|
23
|
+
(0, ts_serval_1.serialize)(),
|
|
24
|
+
__metadata("design:type", transport_1.CoreId)
|
|
25
|
+
], LocalAccount.prototype, "id", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
28
|
+
(0, ts_serval_1.serialize)(),
|
|
29
|
+
__metadata("design:type", transport_1.CoreAddress)
|
|
30
|
+
], LocalAccount.prototype, "address", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, ts_serval_1.validate)(),
|
|
33
|
+
(0, ts_serval_1.serialize)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], LocalAccount.prototype, "name", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, ts_serval_1.validate)(),
|
|
38
|
+
(0, ts_serval_1.serialize)(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], LocalAccount.prototype, "realm", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, ts_serval_1.validate)(),
|
|
43
|
+
(0, ts_serval_1.serialize)(),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], LocalAccount.prototype, "directory", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, ts_serval_1.validate)(),
|
|
48
|
+
(0, ts_serval_1.serialize)(),
|
|
49
|
+
__metadata("design:type", Number)
|
|
50
|
+
], LocalAccount.prototype, "order", void 0);
|
|
51
|
+
LocalAccount = LocalAccount_1 = __decorate([
|
|
52
|
+
(0, ts_serval_1.type)("LocalAccount")
|
|
53
|
+
], LocalAccount);
|
|
54
|
+
exports.LocalAccount = LocalAccount;
|
|
55
|
+
//# sourceMappingURL=LocalAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalAccount.js","sourceRoot":"","sources":["../../../src/multiAccount/data/LocalAccount.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8D;AAC9D,gDAAkG;AAYlG,IAAa,YAAY,oBAAzB,MAAa,YAAa,SAAQ,4BAAgB;IAyBvC,MAAM,CAAC,IAAI,CAAC,KAAoB;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,cAAY,CAAiB,CAAA;IAC1D,CAAC;CACJ,CAAA;AAzBG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACD,kBAAM;wCAAA;AAIjB;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;8BACK,uBAAW;6CAAA;AAI5B;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;0CACO;AAInB;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;2CACO;AAInB;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;+CACY;AAIxB;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;2CACQ;AAvBX,YAAY;IADxB,IAAA,gBAAI,EAAC,cAAc,CAAC;GACR,YAAY,CA4BxB;AA5BY,oCAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalAccountDTO.js","sourceRoot":"","sources":["../../../src/multiAccount/data/LocalAccountDTO.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalAccountMapper = void 0;
|
|
4
|
+
class LocalAccountMapper {
|
|
5
|
+
static toLocalAccountDTO(localAccount) {
|
|
6
|
+
var _a;
|
|
7
|
+
return {
|
|
8
|
+
id: localAccount.id.toString(),
|
|
9
|
+
address: (_a = localAccount.address) === null || _a === void 0 ? void 0 : _a.toString(),
|
|
10
|
+
name: localAccount.name,
|
|
11
|
+
realm: localAccount.realm,
|
|
12
|
+
directory: localAccount.directory.toString(),
|
|
13
|
+
order: localAccount.order
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.LocalAccountMapper = LocalAccountMapper;
|
|
18
|
+
//# sourceMappingURL=LocalAccountMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalAccountMapper.js","sourceRoot":"","sources":["../../../src/multiAccount/data/LocalAccountMapper.ts"],"names":[],"mappings":";;;AAGA,MAAa,kBAAkB;IACpB,MAAM,CAAC,iBAAiB,CAAC,YAA0B;;QACtD,OAAO;YACH,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,MAAA,YAAY,CAAC,OAAO,0CAAE,QAAQ,EAAE;YACzC,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC5C,KAAK,EAAE,YAAY,CAAC,KAAK;SAC5B,CAAA;IACL,CAAC;CACJ;AAXD,gDAWC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ConsumptionController } from "@nmshd/consumption";
|
|
2
|
+
import { ConsumptionServices, DataViewExpander, IdentityDVO, TransportServices } from "@nmshd/runtime";
|
|
3
|
+
import { AccountController } from "@nmshd/transport";
|
|
4
|
+
import { AppServices } from "../../extensibility";
|
|
5
|
+
import { LocalAccountDTO } from "./LocalAccountDTO";
|
|
6
|
+
export interface LocalAccountSession {
|
|
7
|
+
address: string;
|
|
8
|
+
account: LocalAccountDTO;
|
|
9
|
+
transportServices: TransportServices;
|
|
10
|
+
consumptionServices: ConsumptionServices;
|
|
11
|
+
expander: DataViewExpander;
|
|
12
|
+
appServices: AppServices;
|
|
13
|
+
accountController: AccountController;
|
|
14
|
+
consumptionController: ConsumptionController;
|
|
15
|
+
selectedRelationship?: IdentityDVO;
|
|
16
|
+
expiresAt?: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalAccountSession.js","sourceRoot":"","sources":["../../../src/multiAccount/data/LocalAccountSession.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./AccountServices"), exports);
|
|
14
|
+
__exportStar(require("./data/LocalAccount"), exports);
|
|
15
|
+
__exportStar(require("./data/LocalAccountDTO"), exports);
|
|
16
|
+
__exportStar(require("./data/LocalAccountMapper"), exports);
|
|
17
|
+
__exportStar(require("./data/LocalAccountSession"), exports);
|
|
18
|
+
__exportStar(require("./MultiAccountController"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/multiAccount/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiC;AACjC,sDAAmC;AACnC,yDAAsC;AACtC,4DAAyC;AACzC,6DAA0C;AAC1C,2DAAwC"}
|