@zeeshan60/event-processor 1.0.12 → 1.0.14
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/dist/ActivityEventHandler.d.ts +5 -4
- package/dist/ActivityEventHandler.d.ts.map +1 -1
- package/dist/ActivityEventHandler.js +14 -1
- package/dist/ActivityLogEvents.d.ts +4 -2
- package/dist/ActivityLogEvents.d.ts.map +1 -1
- package/dist/ActivityLogEvents.js +1 -0
- package/dist/EventProcessorSDK.d.ts +47 -18
- package/dist/EventProcessorSDK.d.ts.map +1 -1
- package/dist/EventProcessorSDK.js +90 -5
- package/dist/FriendEventHandler.d.ts +5 -12
- package/dist/FriendEventHandler.d.ts.map +1 -1
- package/dist/FriendEventHandler.js +71 -60
- package/dist/FriendEvents.d.ts +13 -3
- package/dist/FriendEvents.d.ts.map +1 -1
- package/dist/FriendEvents.js +16 -7
- package/dist/GroupEventHandler.d.ts +8 -7
- package/dist/GroupEventHandler.d.ts.map +1 -1
- package/dist/GroupEventHandler.js +107 -26
- package/dist/GroupEvents.d.ts +15 -3
- package/dist/GroupEvents.d.ts.map +1 -1
- package/dist/GroupEvents.js +25 -13
- package/dist/GroupTransactionEventHandler.d.ts +8 -7
- package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
- package/dist/GroupTransactionEventHandler.js +69 -24
- package/dist/GroupTransactionEvents.d.ts +22 -4
- package/dist/GroupTransactionEvents.d.ts.map +1 -1
- package/dist/GroupTransactionEvents.js +39 -21
- package/dist/ModelChangeEmitter.d.ts +15 -0
- package/dist/ModelChangeEmitter.d.ts.map +1 -0
- package/dist/ModelChangeEmitter.js +31 -0
- package/dist/TransactionEventHandler.d.ts +3 -5
- package/dist/TransactionEventHandler.d.ts.map +1 -1
- package/dist/TransactionEventHandler.js +49 -15
- package/dist/TransactionEvents.d.ts +24 -8
- package/dist/TransactionEvents.d.ts.map +1 -1
- package/dist/TransactionEvents.js +38 -22
- package/dist/UserEventHandler.d.ts +4 -11
- package/dist/UserEventHandler.d.ts.map +1 -1
- package/dist/UserEventHandler.js +86 -61
- package/dist/UserEvents.d.ts +20 -3
- package/dist/UserEvents.d.ts.map +1 -1
- package/dist/UserEvents.js +53 -18
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +4 -3
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendModelStore.js +10 -3
- package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMTransactionEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMTransactionModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserModelStore.js +1 -3
- package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +2 -1
- package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +5 -1
- package/dist/client/controllers/FriendController.d.ts +13 -0
- package/dist/client/controllers/FriendController.d.ts.map +1 -0
- package/dist/client/controllers/FriendController.js +133 -0
- package/dist/client/controllers/UserController.d.ts +6 -5
- package/dist/client/controllers/UserController.d.ts.map +1 -1
- package/dist/client/controllers/UserController.js +89 -22
- package/dist/client/handlers/UIEventHandler.d.ts +4 -22
- package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIEventHandler.js +59 -38
- package/dist/client/handlers/UIFriendEventHandler.d.ts +6 -6
- package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIGroupEventHandler.d.ts +7 -7
- package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +7 -7
- package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UITransactionEventHandler.d.ts +5 -5
- package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIUserEventHandler.d.ts +4 -4
- package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -1
- package/dist/common/DomainEvents.d.ts +1 -1
- package/dist/common/DomainEvents.d.ts.map +1 -1
- package/dist/common/DomainEvents.js +37 -37
- package/dist/common/Event.d.ts +3 -2
- package/dist/common/Event.d.ts.map +1 -1
- package/dist/common/Model.d.ts.map +1 -1
- package/dist/common/index.d.ts +2 -2
- package/dist/contracts/common/index.d.ts.map +1 -1
- package/dist/contracts/expenses/index.d.ts.map +1 -1
- package/dist/contracts/friends/index.d.ts.map +1 -1
- package/dist/contracts/groups/index.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/shared/index.d.ts.map +1 -1
- package/dist/contracts/transactions/index.d.ts.map +1 -1
- package/dist/contracts/users/index.d.ts +15 -0
- package/dist/contracts/users/index.d.ts.map +1 -0
- package/dist/contracts/users/index.js +2 -0
- package/dist/converters/eventConverter.d.ts +3 -3
- package/dist/converters/eventConverter.d.ts.map +1 -1
- package/dist/converters/eventConverter.js +93 -51
- package/dist/events.d.ts +29 -29
- package/dist/events.d.ts.map +1 -1
- package/dist/index.d.ts +15 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -4
- package/dist/store/ActivityLogEventStore.d.ts +3 -3
- package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
- package/dist/store/ActivityLogEventStore.js +0 -4
- package/dist/store/ActivityLogModelStore.d.ts +6 -6
- package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
- package/dist/store/ActivityLogModelStore.js +0 -5
- package/dist/store/FriendEventStore.d.ts +3 -3
- package/dist/store/FriendEventStore.d.ts.map +1 -1
- package/dist/store/FriendEventStore.js +0 -4
- package/dist/store/FriendModelStore.d.ts +11 -10
- package/dist/store/FriendModelStore.d.ts.map +1 -1
- package/dist/store/FriendModelStore.js +0 -5
- package/dist/store/GroupEventStore.d.ts +3 -3
- package/dist/store/GroupEventStore.d.ts.map +1 -1
- package/dist/store/GroupEventStore.js +0 -4
- package/dist/store/GroupModelStore.d.ts +8 -8
- package/dist/store/GroupModelStore.d.ts.map +1 -1
- package/dist/store/GroupModelStore.js +0 -5
- package/dist/store/GroupTransactionEventStore.d.ts +3 -3
- package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionEventStore.js +0 -4
- package/dist/store/GroupTransactionModelStore.d.ts +8 -8
- package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionModelStore.js +0 -5
- package/dist/store/ModelStore.d.ts +5 -5
- package/dist/store/ModelStore.d.ts.map +1 -1
- package/dist/store/ModelStore.js +0 -4
- package/dist/store/TransactionEventStore.d.ts +3 -3
- package/dist/store/TransactionEventStore.d.ts.map +1 -1
- package/dist/store/TransactionEventStore.js +0 -4
- package/dist/store/TransactionModelStore.d.ts +8 -8
- package/dist/store/TransactionModelStore.d.ts.map +1 -1
- package/dist/store/TransactionModelStore.js +0 -5
- package/dist/store/UserEventStore.d.ts +3 -3
- package/dist/store/UserEventStore.d.ts.map +1 -1
- package/dist/store/UserEventStore.js +0 -4
- package/dist/store/UserModelStore.d.ts +9 -9
- package/dist/store/UserModelStore.d.ts.map +1 -1
- package/dist/store/UserModelStore.js +0 -5
- package/dist/utils/splitTypeUtils.d.ts +1 -1
- package/dist/utils/splitTypeUtils.d.ts.map +1 -1
- package/dist/utils/userPathUtils.d.ts +1 -1
- package/dist/utils/userPathUtils.d.ts.map +1 -1
- package/dist/utils/userPathUtils.js +3 -3
- package/package.json +1 -1
- package/dist/adapters/FirebaseAdminAdapter.d.ts +0 -8
- package/dist/adapters/FirebaseAdminAdapter.d.ts.map +0 -1
- package/dist/adapters/FirebaseAdminAdapter.js +0 -21
- package/dist/adapters/FirebaseClientAdapter.d.ts +0 -8
- package/dist/adapters/FirebaseClientAdapter.d.ts.map +0 -1
- package/dist/adapters/FirebaseClientAdapter.js +0 -22
- package/dist/client/handlers/UIActivityEventHandler.d.ts +0 -12
- package/dist/client/handlers/UIActivityEventHandler.d.ts.map +0 -1
- package/dist/client/handlers/UIActivityEventHandler.js +0 -14
- package/dist/common/EventBus.d.ts +0 -12
- package/dist/common/EventBus.d.ts.map +0 -1
- package/dist/common/EventBus.js +0 -26
- package/dist/common/EventBusSingleton.d.ts +0 -4
- package/dist/common/EventBusSingleton.d.ts.map +0 -1
- package/dist/common/EventBusSingleton.js +0 -18
- package/dist/config/environment.d.ts +0 -25
- package/dist/config/environment.d.ts.map +0 -1
- package/dist/config/environment.js +0 -77
- package/dist/controllers/UIEventHandler.d.ts +0 -25
- package/dist/controllers/UIEventHandler.d.ts.map +0 -1
- package/dist/controllers/UIEventHandler.js +0 -50
- package/dist/controllers/UserController.d.ts +0 -9
- package/dist/controllers/UserController.d.ts.map +0 -1
- package/dist/controllers/UserController.js +0 -36
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IMGroupTransactionModelStore = void 0;
|
|
4
|
-
|
|
5
|
-
class IMGroupTransactionModelStore extends __1.GroupTransactionModelStore {
|
|
4
|
+
class IMGroupTransactionModelStore {
|
|
6
5
|
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
6
|
this.models = new Map();
|
|
9
7
|
}
|
|
10
8
|
async getByStreamId(streamId) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TransactionEventStore } from
|
|
2
|
-
import { TransactionEvent } from
|
|
3
|
-
export declare class IMTransactionEventStore
|
|
1
|
+
import { TransactionEventStore } from "../..";
|
|
2
|
+
import { TransactionEvent } from "../..";
|
|
3
|
+
export declare class IMTransactionEventStore implements TransactionEventStore {
|
|
4
4
|
private events;
|
|
5
5
|
addEvent(event: TransactionEvent): Promise<void>;
|
|
6
6
|
getEvents(): TransactionEvent[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IMTransactionEventStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMTransactionEventStore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"IMTransactionEventStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMTransactionEventStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEzC,qBAAa,uBAAwB,YAAW,qBAAqB;IACjE,OAAO,CAAC,MAAM,CAA0B;IAElC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,SAAS,IAAI,gBAAgB,EAAE;IAI/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAIzD,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IMTransactionEventStore = void 0;
|
|
4
|
-
|
|
5
|
-
class IMTransactionEventStore extends __1.TransactionEventStore {
|
|
4
|
+
class IMTransactionEventStore {
|
|
6
5
|
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
6
|
this.events = [];
|
|
9
7
|
}
|
|
10
8
|
async addEvent(event) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TransactionModelStore } from
|
|
2
|
-
import { TransactionModel } from
|
|
3
|
-
export declare class IMTransactionModelStore
|
|
1
|
+
import { TransactionModelStore } from "../..";
|
|
2
|
+
import { TransactionModel } from "../..";
|
|
3
|
+
export declare class IMTransactionModelStore implements TransactionModelStore {
|
|
4
4
|
private models;
|
|
5
5
|
getByStreamId(streamId: string): Promise<TransactionModel | undefined>;
|
|
6
6
|
getByStreamIdWhereDeletedIsFalse(streamId: string): Promise<TransactionModel | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IMTransactionModelStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMTransactionModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"IMTransactionModelStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMTransactionModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEzC,qBAAa,uBAAwB,YAAW,qBAAqB;IACjE,OAAO,CAAC,MAAM,CAA4C;IAEpD,aAAa,CACf,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAKlC,gCAAgC,CAClC,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAQlC,iCAAiC,CACnC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,MAAM,GAC7B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAclC,wBAAwB,CAC1B,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,GAC3B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAcxB,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,MAAM,IAAI,gBAAgB,EAAE;IAI5B,yBAAyB,IAAI,gBAAgB,EAAE;IAM/C,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IMTransactionModelStore = void 0;
|
|
4
|
-
|
|
5
|
-
class IMTransactionModelStore extends __1.TransactionModelStore {
|
|
4
|
+
class IMTransactionModelStore {
|
|
6
5
|
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
6
|
this.models = new Map();
|
|
9
7
|
}
|
|
10
8
|
async getByStreamId(streamId) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { UserEventStore } from
|
|
2
|
-
import { UserEvent } from
|
|
3
|
-
export declare class IMUserEventStore
|
|
1
|
+
import { UserEventStore } from "../..";
|
|
2
|
+
import { UserEvent } from "../..";
|
|
3
|
+
export declare class IMUserEventStore implements UserEventStore {
|
|
4
4
|
private events;
|
|
5
5
|
addEvent(event: UserEvent): Promise<void>;
|
|
6
6
|
getEvents(): UserEvent[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IMUserEventStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserEventStore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"IMUserEventStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserEventStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,qBAAa,gBAAiB,YAAW,cAAc;IACnD,OAAO,CAAC,MAAM,CAAmB;IAE3B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,IAAI,SAAS,EAAE;IAIxB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAIlD,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IMUserEventStore = void 0;
|
|
4
|
-
|
|
5
|
-
class IMUserEventStore extends __1.UserEventStore {
|
|
4
|
+
class IMUserEventStore {
|
|
6
5
|
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
6
|
this.events = [];
|
|
9
7
|
}
|
|
10
8
|
async addEvent(event) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { UserModelStore } from
|
|
2
|
-
import { UserModel } from
|
|
3
|
-
export declare class IMUserModelStore
|
|
1
|
+
import { UserModelStore } from "../..";
|
|
2
|
+
import { UserModel } from "../..";
|
|
3
|
+
export declare class IMUserModelStore implements UserModelStore {
|
|
4
4
|
private models;
|
|
5
5
|
getByStreamId(streamId: string): Promise<UserModel | undefined>;
|
|
6
6
|
getByStreamIdWhereDeletedIsFalse(streamId: string): Promise<UserModel | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IMUserModelStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"IMUserModelStore.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/IMUserModelStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,qBAAa,gBAAiB,YAAW,cAAc;IACnD,OAAO,CAAC,MAAM,CAAqC;IAE7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAK/D,gCAAgC,CAClC,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAQ3B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS1D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAS1D,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IASpE,MAAM,IAAI,SAAS,EAAE;IAIrB,yBAAyB,IAAI,SAAS,EAAE;IAMxC,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IMUserModelStore = void 0;
|
|
4
|
-
|
|
5
|
-
class IMUserModelStore extends __1.UserModelStore {
|
|
4
|
+
class IMUserModelStore {
|
|
6
5
|
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
6
|
this.models = new Map();
|
|
9
7
|
}
|
|
10
8
|
async getByStreamId(streamId) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { FirebaseAdapter } from
|
|
1
|
+
import { FirebaseAdapter } from "../../adapters/FirebaseAdapter";
|
|
2
2
|
export declare class MockFirebaseAdapter implements FirebaseAdapter {
|
|
3
3
|
fromDate(date: Date): any;
|
|
4
4
|
toDate(timestamp: any): Date;
|
|
5
|
+
generateEventId(): string;
|
|
5
6
|
}
|
|
6
7
|
//# sourceMappingURL=MockFirebaseAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockFirebaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/MockFirebaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MockFirebaseAdapter.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-helpers/MockFirebaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,qBAAa,mBAAoB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;IAIzB,MAAM,CAAC,SAAS,EAAE,GAAG,GAAG,IAAI;IAU5B,eAAe,IAAI,MAAM;CAG5B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MockFirebaseAdapter = void 0;
|
|
4
|
+
const uuid_1 = require("uuid");
|
|
4
5
|
class MockFirebaseAdapter {
|
|
5
6
|
fromDate(date) {
|
|
6
7
|
return { seconds: Math.floor(date.getTime() / 1000), nanoseconds: 0 };
|
|
@@ -9,10 +10,13 @@ class MockFirebaseAdapter {
|
|
|
9
10
|
if (timestamp instanceof Date) {
|
|
10
11
|
return timestamp;
|
|
11
12
|
}
|
|
12
|
-
if (timestamp && typeof timestamp.seconds ===
|
|
13
|
+
if (timestamp && typeof timestamp.seconds === "number") {
|
|
13
14
|
return new Date(timestamp.seconds * 1000);
|
|
14
15
|
}
|
|
15
16
|
return new Date(timestamp);
|
|
16
17
|
}
|
|
18
|
+
generateEventId() {
|
|
19
|
+
return (0, uuid_1.v4)();
|
|
20
|
+
}
|
|
17
21
|
}
|
|
18
22
|
exports.MockFirebaseAdapter = MockFirebaseAdapter;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FriendRequest, FriendResponse, FriendsResponse, UpdateFriendRequest } from "../../contracts/friends";
|
|
2
|
+
export declare class FriendController {
|
|
3
|
+
private get modelStore();
|
|
4
|
+
private get friendEventHandler();
|
|
5
|
+
addFriend(userId: string, request: FriendRequest): Promise<string>;
|
|
6
|
+
updateFriend(userId: string, friendId: string, request: UpdateFriendRequest): Promise<void>;
|
|
7
|
+
deleteFriend(userId: string, friendId: string): Promise<void>;
|
|
8
|
+
getFriend(userId: string, friendId: string): Promise<FriendResponse>;
|
|
9
|
+
getFriendByStreamId(streamId: string): Promise<FriendResponse>;
|
|
10
|
+
getAllFriends(userId: string): Promise<FriendsResponse>;
|
|
11
|
+
private toFriendResponse;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=FriendController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FriendController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/FriendController.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACtB,MAAM,yBAAyB,CAAC;AAKjC,qBAAa,gBAAgB;IACzB,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAEK,SAAS,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACvB,OAAO,CAAC,MAAM,CAAC;IA2BZ,YAAY,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,CAAC,IAAI,CAAC;IA+CV,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAapE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAU9D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmB7D,OAAO,CAAC,gBAAgB;CAkB3B"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FriendController = void 0;
|
|
4
|
+
const FriendEvents_1 = require("../../FriendEvents");
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
const EventProcessorSDK_1 = require("../../EventProcessorSDK");
|
|
7
|
+
class FriendController {
|
|
8
|
+
get modelStore() {
|
|
9
|
+
return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig()
|
|
10
|
+
.friendModelStore;
|
|
11
|
+
}
|
|
12
|
+
get friendEventHandler() {
|
|
13
|
+
return EventProcessorSDK_1.EventProcessorSDK.getInstance().getFriendEventHandler();
|
|
14
|
+
}
|
|
15
|
+
async addFriend(userId, request) {
|
|
16
|
+
if (!request.email && !request.phoneNumber) {
|
|
17
|
+
throw new Error("Either email or phoneNumber must be provided");
|
|
18
|
+
}
|
|
19
|
+
const streamId = (0, uuid_1.v4)();
|
|
20
|
+
const createdAt = new Date();
|
|
21
|
+
const event = new FriendEvents_1.FriendCreated({
|
|
22
|
+
eventId: (0, uuid_1.v4)(),
|
|
23
|
+
userId,
|
|
24
|
+
friendEmail: request.email?.trim(),
|
|
25
|
+
friendPhoneNumber: request.phoneNumber?.trim(),
|
|
26
|
+
friendDisplayName: request.name.trim(),
|
|
27
|
+
friendId: undefined,
|
|
28
|
+
groupId: undefined,
|
|
29
|
+
createdAt,
|
|
30
|
+
createdBy: userId,
|
|
31
|
+
streamId,
|
|
32
|
+
version: 1,
|
|
33
|
+
systemGenerated: false,
|
|
34
|
+
});
|
|
35
|
+
await this.friendEventHandler.handleEvent(event);
|
|
36
|
+
return streamId;
|
|
37
|
+
}
|
|
38
|
+
async updateFriend(userId, friendId, request) {
|
|
39
|
+
const friendModel = await this.modelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId, friendId);
|
|
40
|
+
if (!friendModel) {
|
|
41
|
+
throw new Error(`Friend not found: ${friendId}`);
|
|
42
|
+
}
|
|
43
|
+
const hasChanges = (request.email !== undefined &&
|
|
44
|
+
request.email.trim() !== "" &&
|
|
45
|
+
request.email !== friendModel.friendEmail) ||
|
|
46
|
+
(request.phoneNumber !== undefined &&
|
|
47
|
+
request.phoneNumber.trim() !== "" &&
|
|
48
|
+
request.phoneNumber !== friendModel.friendPhoneNumber) ||
|
|
49
|
+
(request.name !== undefined &&
|
|
50
|
+
request.name.trim() !== "" &&
|
|
51
|
+
request.name !== friendModel.friendDisplayName);
|
|
52
|
+
if (!hasChanges) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const createdAt = new Date();
|
|
56
|
+
const event = new FriendEvents_1.FriendUpdated({
|
|
57
|
+
eventId: (0, uuid_1.v4)(),
|
|
58
|
+
userId,
|
|
59
|
+
friendEmail: request.email !== undefined ? request.email.trim() : undefined,
|
|
60
|
+
friendPhoneNumber: request.phoneNumber !== undefined
|
|
61
|
+
? request.phoneNumber.trim()
|
|
62
|
+
: undefined,
|
|
63
|
+
friendDisplayName: request.name !== undefined ? request.name.trim() : undefined,
|
|
64
|
+
createdAt,
|
|
65
|
+
createdBy: userId,
|
|
66
|
+
streamId: friendModel.streamId,
|
|
67
|
+
version: friendModel.version + 1,
|
|
68
|
+
systemGenerated: false,
|
|
69
|
+
});
|
|
70
|
+
await this.friendEventHandler.handleEvent(event);
|
|
71
|
+
}
|
|
72
|
+
async deleteFriend(userId, friendId) {
|
|
73
|
+
const friendModel = await this.modelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId, friendId);
|
|
74
|
+
if (!friendModel) {
|
|
75
|
+
throw new Error(`Friend not found: ${friendId}`);
|
|
76
|
+
}
|
|
77
|
+
const createdAt = new Date();
|
|
78
|
+
const event = new FriendEvents_1.FriendDeleted({
|
|
79
|
+
eventId: (0, uuid_1.v4)(),
|
|
80
|
+
userId,
|
|
81
|
+
createdAt,
|
|
82
|
+
createdBy: userId,
|
|
83
|
+
streamId: friendModel.streamId,
|
|
84
|
+
version: friendModel.version + 1,
|
|
85
|
+
systemGenerated: false,
|
|
86
|
+
});
|
|
87
|
+
await this.friendEventHandler.handleEvent(event);
|
|
88
|
+
}
|
|
89
|
+
async getFriend(userId, friendId) {
|
|
90
|
+
const friendModel = await this.modelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId, friendId);
|
|
91
|
+
if (!friendModel) {
|
|
92
|
+
throw new Error(`Friend not found: ${friendId}`);
|
|
93
|
+
}
|
|
94
|
+
return this.toFriendResponse(friendModel);
|
|
95
|
+
}
|
|
96
|
+
async getFriendByStreamId(streamId) {
|
|
97
|
+
const friendModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(streamId);
|
|
98
|
+
if (!friendModel) {
|
|
99
|
+
throw new Error(`Friend not found: ${streamId}`);
|
|
100
|
+
}
|
|
101
|
+
return this.toFriendResponse(friendModel);
|
|
102
|
+
}
|
|
103
|
+
async getAllFriends(userId) {
|
|
104
|
+
const friendModels = await this.modelStore.findAllByUserIdWhereDeletedIsFalse(userId);
|
|
105
|
+
const friends = friendModels.map((friendModel) => this.toFriendResponse(friendModel));
|
|
106
|
+
const emptyBalance = {
|
|
107
|
+
main: undefined,
|
|
108
|
+
other: [],
|
|
109
|
+
};
|
|
110
|
+
return {
|
|
111
|
+
friends,
|
|
112
|
+
balance: emptyBalance,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
toFriendResponse(friendModel) {
|
|
116
|
+
const emptyBalance = {
|
|
117
|
+
main: undefined,
|
|
118
|
+
other: [],
|
|
119
|
+
};
|
|
120
|
+
return {
|
|
121
|
+
photoUrl: undefined,
|
|
122
|
+
name: friendModel.friendDisplayName,
|
|
123
|
+
friendId: friendModel.friendId ?? friendModel.streamId,
|
|
124
|
+
settled: false,
|
|
125
|
+
email: friendModel.friendEmail,
|
|
126
|
+
phone: friendModel.friendPhoneNumber,
|
|
127
|
+
mainBalance: undefined,
|
|
128
|
+
otherBalances: [],
|
|
129
|
+
balance: emptyBalance,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.FriendController = FriendController;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { UserEventStore } from '../../store/UserEventStore';
|
|
1
|
+
import { UpdateUserRequest, UserResponse } from "../../contracts/users";
|
|
3
2
|
export declare class UserController {
|
|
4
|
-
private modelStore;
|
|
5
|
-
private eventStore
|
|
6
|
-
constructor(modelStore: UserModelStore, eventStore?: UserEventStore | undefined);
|
|
3
|
+
private get modelStore();
|
|
4
|
+
private get eventStore();
|
|
7
5
|
loginUser(userFSId: string): Promise<string>;
|
|
6
|
+
getUser(userId: string): Promise<UserResponse>;
|
|
7
|
+
updateUser(userId: string, request: UpdateUserRequest): Promise<UserResponse>;
|
|
8
|
+
private toUserResponse;
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=UserController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/UserController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/UserController.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIxE,qBAAa,cAAc;IACvB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,UAAU,GAErB;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ5C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAU9C,UAAU,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,YAAY,CAAC;IAyExB,OAAO,CAAC,cAAc;CAiBzB"}
|
|
@@ -1,36 +1,103 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UserController = void 0;
|
|
4
|
-
const EventBusSingleton_1 = require("../../common/EventBusSingleton");
|
|
5
4
|
const UserEvents_1 = require("../../UserEvents");
|
|
6
|
-
const
|
|
5
|
+
const EventProcessorSDK_1 = require("../../EventProcessorSDK");
|
|
6
|
+
const uuid_1 = require("uuid");
|
|
7
7
|
class UserController {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
get modelStore() {
|
|
9
|
+
return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().userModelStore;
|
|
10
|
+
}
|
|
11
|
+
get eventStore() {
|
|
12
|
+
return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().userEventStore;
|
|
11
13
|
}
|
|
12
14
|
async loginUser(userFSId) {
|
|
13
15
|
const existingUser = await this.modelStore.findByFirebaseUid(userFSId);
|
|
14
|
-
if (existingUser) {
|
|
15
|
-
|
|
16
|
+
if (!existingUser) {
|
|
17
|
+
throw new Error(`User not found for firebaseUid: ${userFSId}`);
|
|
16
18
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
return existingUser.userId;
|
|
20
|
+
}
|
|
21
|
+
async getUser(userId) {
|
|
22
|
+
const userModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(userId);
|
|
23
|
+
if (!userModel) {
|
|
24
|
+
throw new Error(`User not found: ${userId}`);
|
|
25
|
+
}
|
|
26
|
+
return this.toUserResponse(userModel);
|
|
27
|
+
}
|
|
28
|
+
async updateUser(userId, request) {
|
|
29
|
+
let userModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(userId);
|
|
30
|
+
if (!userModel) {
|
|
31
|
+
throw new Error(`User not found: ${userId}`);
|
|
27
32
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
let currentVersion = userModel.version;
|
|
34
|
+
const createdAt = new Date();
|
|
35
|
+
if (request.displayName !== undefined &&
|
|
36
|
+
request.displayName.trim() !== "" &&
|
|
37
|
+
request.displayName !== userModel.displayName) {
|
|
38
|
+
currentVersion++;
|
|
39
|
+
const event = new UserEvents_1.UserDisplayNameChanged({
|
|
40
|
+
eventId: (0, uuid_1.v4)(),
|
|
41
|
+
userId: userModel.userId,
|
|
42
|
+
displayName: request.displayName.trim(),
|
|
43
|
+
createdAt,
|
|
44
|
+
createdBy: userModel.userId,
|
|
45
|
+
streamId: userModel.streamId,
|
|
46
|
+
version: currentVersion,
|
|
47
|
+
systemGenerated: false,
|
|
48
|
+
});
|
|
49
|
+
await this.eventStore.addEvent(event);
|
|
50
|
+
userModel = event.apply(userModel);
|
|
33
51
|
}
|
|
52
|
+
if (request.phoneNumber !== undefined &&
|
|
53
|
+
request.phoneNumber.trim() !== "" &&
|
|
54
|
+
request.phoneNumber !== userModel.phoneNumber) {
|
|
55
|
+
currentVersion++;
|
|
56
|
+
const event = new UserEvents_1.UserPhoneNumberChanged({
|
|
57
|
+
eventId: (0, uuid_1.v4)(),
|
|
58
|
+
userId: userModel.userId,
|
|
59
|
+
phoneNumber: request.phoneNumber.trim(),
|
|
60
|
+
createdAt,
|
|
61
|
+
createdBy: userModel.userId,
|
|
62
|
+
streamId: userModel.streamId,
|
|
63
|
+
version: currentVersion,
|
|
64
|
+
systemGenerated: false,
|
|
65
|
+
});
|
|
66
|
+
await this.eventStore.addEvent(event);
|
|
67
|
+
userModel = event.apply(userModel);
|
|
68
|
+
}
|
|
69
|
+
if (request.currency !== undefined &&
|
|
70
|
+
request.currency.trim() !== "" &&
|
|
71
|
+
request.currency !== userModel.currency) {
|
|
72
|
+
currentVersion++;
|
|
73
|
+
const event = new UserEvents_1.UserCurrencyChanged({
|
|
74
|
+
eventId: (0, uuid_1.v4)(),
|
|
75
|
+
userId: userModel.userId,
|
|
76
|
+
currency: request.currency.trim(),
|
|
77
|
+
createdAt,
|
|
78
|
+
createdBy: userModel.userId,
|
|
79
|
+
streamId: userModel.streamId,
|
|
80
|
+
version: currentVersion,
|
|
81
|
+
systemGenerated: false,
|
|
82
|
+
});
|
|
83
|
+
await this.eventStore.addEvent(event);
|
|
84
|
+
userModel = event.apply(userModel);
|
|
85
|
+
}
|
|
86
|
+
return this.toUserResponse(userModel);
|
|
87
|
+
}
|
|
88
|
+
toUserResponse(userModel) {
|
|
89
|
+
if (!userModel.uid) {
|
|
90
|
+
throw new Error("Cannot create UserResponse for placeholder user without uid");
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
uid: userModel.uid,
|
|
94
|
+
email: userModel.email,
|
|
95
|
+
phoneNumber: userModel.phoneNumber,
|
|
96
|
+
displayName: userModel.displayName,
|
|
97
|
+
currency: userModel.currency,
|
|
98
|
+
photoUrl: userModel.photoUrl,
|
|
99
|
+
emailVerified: userModel.emailVerified,
|
|
100
|
+
};
|
|
34
101
|
}
|
|
35
102
|
}
|
|
36
103
|
exports.UserController = UserController;
|
|
@@ -1,25 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
interface FirestoreTimestamp {
|
|
3
|
-
toDate(): Date;
|
|
4
|
-
seconds: number;
|
|
5
|
-
nanoseconds: number;
|
|
6
|
-
}
|
|
7
|
-
interface ClientFirestoreEventData {
|
|
8
|
-
id: string;
|
|
9
|
-
eventType: string;
|
|
10
|
-
streamId: string;
|
|
11
|
-
version: number;
|
|
12
|
-
createdAt: FirestoreTimestamp | Date;
|
|
13
|
-
createdBy: string;
|
|
14
|
-
systemGenerated?: boolean;
|
|
15
|
-
[key: string]: any;
|
|
16
|
-
}
|
|
1
|
+
import { Event } from "../../index";
|
|
17
2
|
export declare class UIEventHandler {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
handleFirestoreEvent(
|
|
21
|
-
private firestoreToEvent;
|
|
22
|
-
private toDate;
|
|
3
|
+
constructor();
|
|
4
|
+
private shouldSkipSave;
|
|
5
|
+
handleFirestoreEvent(event: Event): Promise<void>;
|
|
23
6
|
}
|
|
24
|
-
export {};
|
|
25
7
|
//# sourceMappingURL=UIEventHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIEventHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../../src/client/handlers/UIEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EAOR,MAAM,aAAa,CAAC;AAWrB,qBAAa,cAAc;;IAGvB,OAAO,CAAC,cAAc;IA0BhB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAwF1D"}
|
|
@@ -1,50 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UIEventHandler = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const DomainEvents_1 = require("../../common/DomainEvents");
|
|
5
|
+
const EventProcessorSDK_1 = require("../../EventProcessorSDK");
|
|
6
6
|
class UIEventHandler {
|
|
7
|
-
constructor(
|
|
8
|
-
|
|
7
|
+
constructor() { }
|
|
8
|
+
shouldSkipSave(existingModel, updatedModel) {
|
|
9
|
+
if (!existingModel) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
return (existingModel.streamId === updatedModel.streamId &&
|
|
13
|
+
existingModel.version === updatedModel.version);
|
|
9
14
|
}
|
|
10
|
-
async handleFirestoreEvent(
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
async handleFirestoreEvent(event) {
|
|
16
|
+
const storeConfig = EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig();
|
|
17
|
+
const eventType = event.constructor.name;
|
|
18
|
+
if ((0, DomainEvents_1.isValidUserEventType)(eventType)) {
|
|
19
|
+
const existingModel = await storeConfig.userModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
14
20
|
const updatedModel = event.apply(existingModel);
|
|
15
|
-
|
|
16
|
-
|
|
21
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
22
|
+
await storeConfig.userModelStore.save(updatedModel);
|
|
23
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("UserModel", updatedModel);
|
|
24
|
+
}
|
|
17
25
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
26
|
+
else if ((0, DomainEvents_1.isValidFriendEventType)(eventType)) {
|
|
27
|
+
const existingModel = await storeConfig.friendModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
28
|
+
const updatedModel = event.apply(existingModel);
|
|
29
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
30
|
+
await storeConfig.friendModelStore.save(updatedModel);
|
|
31
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("FriendModel", updatedModel);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if ((0, DomainEvents_1.isValidTransactionEventType)(eventType)) {
|
|
35
|
+
const existingModel = await storeConfig.transactionModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
36
|
+
const updatedModel = event.apply(existingModel);
|
|
37
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
38
|
+
await storeConfig.transactionModelStore.save(updatedModel);
|
|
39
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("TransactionModel", updatedModel);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else if ((0, DomainEvents_1.isValidGroupEventType)(eventType)) {
|
|
43
|
+
const existingModel = await storeConfig.groupModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
44
|
+
const updatedModel = event.apply(existingModel);
|
|
45
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
46
|
+
await storeConfig.groupModelStore.save(updatedModel);
|
|
47
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if ((0, DomainEvents_1.isValidGroupTransactionEventType)(eventType)) {
|
|
51
|
+
const existingModel = await storeConfig.groupTransactionModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
52
|
+
const updatedModel = event.apply(existingModel);
|
|
53
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
54
|
+
await storeConfig.groupTransactionModelStore.save(updatedModel);
|
|
55
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupTransactionModel", updatedModel);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else if ((0, DomainEvents_1.isValidActivityLogEventType)(eventType)) {
|
|
59
|
+
const existingModel = await storeConfig.activityLogModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
60
|
+
const updatedModel = event.apply(existingModel);
|
|
61
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
62
|
+
await storeConfig.activityLogModelStore.save(updatedModel);
|
|
63
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("ActivityLogModel", updatedModel);
|
|
64
|
+
}
|
|
43
65
|
}
|
|
44
|
-
|
|
45
|
-
|
|
66
|
+
else {
|
|
67
|
+
throw new Error(`Unsupported event type: ${eventType}`);
|
|
46
68
|
}
|
|
47
|
-
return new Date(timestamp);
|
|
48
69
|
}
|
|
49
70
|
}
|
|
50
71
|
exports.UIEventHandler = UIEventHandler;
|