@zeeshan60/event-processor 1.0.13 → 1.0.15
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 -5
- package/dist/ActivityEventHandler.d.ts.map +1 -1
- package/dist/ActivityEventHandler.js +27 -1
- package/dist/ActivityLogEvents.d.ts.map +1 -1
- package/dist/BaseEventHandler.d.ts +6 -0
- package/dist/BaseEventHandler.d.ts.map +1 -0
- package/dist/BaseEventHandler.js +2 -0
- package/dist/EventProcessorSDK.d.ts +30 -1
- package/dist/EventProcessorSDK.d.ts.map +1 -1
- package/dist/EventProcessorSDK.js +88 -5
- package/dist/FriendEventHandler.d.ts +5 -2
- package/dist/FriendEventHandler.d.ts.map +1 -1
- package/dist/FriendEventHandler.js +49 -15
- package/dist/GroupEventHandler.d.ts +5 -7
- package/dist/GroupEventHandler.d.ts.map +1 -1
- package/dist/GroupEventHandler.js +96 -18
- package/dist/GroupEvents.d.ts.map +1 -1
- package/dist/GroupTransactionEventHandler.d.ts +4 -1
- package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
- package/dist/GroupTransactionEventHandler.js +57 -13
- package/dist/GroupTransactionEvents.d.ts.map +1 -1
- 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 +6 -4
- package/dist/TransactionEventHandler.d.ts.map +1 -1
- package/dist/TransactionEventHandler.js +33 -21
- package/dist/TransactionEvents.d.ts.map +1 -1
- package/dist/UserEventHandler.d.ts +5 -2
- package/dist/UserEventHandler.d.ts.map +1 -1
- package/dist/UserEventHandler.js +32 -28
- package/dist/UserEvents.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +2 -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 +2 -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 +2 -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 +2 -3
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -3
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserModelStore.js +1 -3
- package/dist/client/controllers/FriendController.d.ts +6 -5
- package/dist/client/controllers/FriendController.d.ts.map +1 -1
- package/dist/client/controllers/FriendController.js +23 -12
- package/dist/client/controllers/TransactionController.d.ts +12 -0
- package/dist/client/controllers/TransactionController.d.ts.map +1 -0
- package/dist/client/controllers/TransactionController.js +214 -0
- package/dist/client/controllers/UserController.d.ts.map +1 -1
- package/dist/client/controllers/UserController.js +3 -23
- package/dist/client/handlers/UIEventHandler.d.ts +3 -22
- package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIEventHandler.js +5 -44
- package/dist/common/DomainEvents.d.ts +0 -70
- package/dist/common/DomainEvents.d.ts.map +1 -1
- package/dist/common/DomainEvents.js +0 -89
- package/dist/contracts/expenses/index.d.ts.map +1 -1
- package/dist/contracts/friends/index.d.ts +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/transactions/index.d.ts +1 -1
- package/dist/contracts/transactions/index.d.ts.map +1 -1
- package/dist/converters/ActivityLogConverters.d.ts +9 -0
- package/dist/converters/ActivityLogConverters.d.ts.map +1 -0
- package/dist/converters/ActivityLogConverters.js +39 -0
- package/dist/converters/EventConverterCore.d.ts +67 -0
- package/dist/converters/EventConverterCore.d.ts.map +1 -0
- package/dist/converters/EventConverterCore.js +59 -0
- package/dist/converters/FriendConverters.d.ts +33 -0
- package/dist/converters/FriendConverters.d.ts.map +1 -0
- package/dist/converters/FriendConverters.js +142 -0
- package/dist/converters/GroupConverters.d.ts +39 -0
- package/dist/converters/GroupConverters.d.ts.map +1 -0
- package/dist/converters/GroupConverters.js +160 -0
- package/dist/converters/GroupTransactionConverters.d.ts +57 -0
- package/dist/converters/GroupTransactionConverters.d.ts.map +1 -0
- package/dist/converters/GroupTransactionConverters.js +249 -0
- package/dist/converters/TransactionConverters.d.ts +51 -0
- package/dist/converters/TransactionConverters.d.ts.map +1 -0
- package/dist/converters/TransactionConverters.js +234 -0
- package/dist/converters/UserConverters.d.ts +51 -0
- package/dist/converters/UserConverters.d.ts.map +1 -0
- package/dist/converters/UserConverters.js +226 -0
- package/dist/converters/eventConverter.d.ts +10 -15
- package/dist/converters/eventConverter.d.ts.map +1 -1
- package/dist/converters/eventConverter.js +96 -352
- package/dist/events.d.ts +0 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -3
- package/dist/index.d.ts +6 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -33
- package/dist/store/ActivityLogEventStore.d.ts +2 -2
- package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
- package/dist/store/ActivityLogEventStore.js +0 -4
- package/dist/store/ActivityLogModelStore.d.ts +4 -4
- package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
- package/dist/store/ActivityLogModelStore.js +0 -5
- package/dist/store/FriendEventStore.d.ts +2 -2
- package/dist/store/FriendEventStore.d.ts.map +1 -1
- package/dist/store/FriendEventStore.js +0 -4
- package/dist/store/FriendModelStore.d.ts +9 -9
- package/dist/store/FriendModelStore.d.ts.map +1 -1
- package/dist/store/FriendModelStore.js +0 -5
- package/dist/store/GroupEventStore.d.ts +2 -2
- package/dist/store/GroupEventStore.d.ts.map +1 -1
- package/dist/store/GroupEventStore.js +0 -4
- package/dist/store/GroupModelStore.d.ts +6 -6
- package/dist/store/GroupModelStore.d.ts.map +1 -1
- package/dist/store/GroupModelStore.js +0 -5
- package/dist/store/GroupTransactionEventStore.d.ts +2 -2
- package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionEventStore.js +0 -4
- package/dist/store/GroupTransactionModelStore.d.ts +6 -6
- package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionModelStore.js +0 -5
- package/dist/store/ModelStore.d.ts +4 -4
- package/dist/store/ModelStore.d.ts.map +1 -1
- package/dist/store/ModelStore.js +0 -4
- package/dist/store/TransactionEventStore.d.ts +2 -2
- package/dist/store/TransactionEventStore.d.ts.map +1 -1
- package/dist/store/TransactionEventStore.js +0 -4
- package/dist/store/TransactionModelStore.d.ts +6 -6
- package/dist/store/TransactionModelStore.d.ts.map +1 -1
- package/dist/store/TransactionModelStore.js +0 -5
- package/dist/store/UserEventStore.d.ts +2 -2
- package/dist/store/UserEventStore.d.ts.map +1 -1
- package/dist/store/UserEventStore.js +0 -4
- package/dist/store/UserModelStore.d.ts +7 -7
- package/dist/store/UserModelStore.d.ts.map +1 -1
- package/dist/store/UserModelStore.js +0 -5
- package/package.json +1 -1
- package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts +0 -3
- package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts.map +0 -1
- package/dist/__tests__/e2e/setup/firebaseEmulator.js +0 -87
- package/dist/__tests__/e2e/setup/firestoreStores.d.ts +0 -28
- package/dist/__tests__/e2e/setup/firestoreStores.d.ts.map +0 -1
- package/dist/__tests__/e2e/setup/firestoreStores.js +0 -276
- package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts +0 -15
- package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts.map +0 -1
- package/dist/__tests__/e2e/setup/firestoreTestHelpers.js +0 -167
- 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,12 +1,12 @@
|
|
|
1
|
-
import { Event, Model } from ".";
|
|
2
|
-
|
|
3
|
-
import { ActivityLogEventStore } from ".";
|
|
4
|
-
import { UserModelStore } from ".";
|
|
5
|
-
export declare class ActivityEventHandler {
|
|
1
|
+
import { ActivityLogEvent, ActivityLogEventStore, ActivityLogModelStore, BaseEventHandler, Event, Model, UserModelStore } from ".";
|
|
2
|
+
export declare class ActivityEventHandler implements BaseEventHandler<ActivityLogEvent> {
|
|
6
3
|
private activityLogModelStore;
|
|
7
4
|
private activityLogEventStore;
|
|
8
5
|
private userModelStore;
|
|
9
6
|
constructor(activityLogModelStore: ActivityLogModelStore, activityLogEventStore: ActivityLogEventStore, userModelStore: UserModelStore);
|
|
7
|
+
private shouldSkipSave;
|
|
10
8
|
createActivityLog(event: Event, existingModel: Model | undefined, updatedModel: Model): Promise<void>;
|
|
9
|
+
handleClientEventFromRemoteListener(event: ActivityLogEvent): Promise<void>;
|
|
10
|
+
handleEvent(event: ActivityLogEvent): Promise<any>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=ActivityEventHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityEventHandler.d.ts","sourceRoot":"","sources":["../src/ActivityEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ActivityEventHandler.d.ts","sourceRoot":"","sources":["../src/ActivityEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,gBAAgB,EAChB,qBAAqB,EAErB,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,EACL,KAAK,EACL,cAAc,EACjB,MAAM,GAAG,CAAC;AAGX,qBAAa,oBACT,YAAW,gBAAgB,CAAC,gBAAgB,CAAC;IAGzC,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,cAAc;gBAFd,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc;IAG1C,OAAO,CAAC,cAAc;IAahB,iBAAiB,CACnB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,KAAK,GAAG,SAAS,EAChC,YAAY,EAAE,KAAK,GACpB,OAAO,CAAC,IAAI,CAAC;IAuCV,mCAAmC,CACrC,KAAK,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAehB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;CAOrD"}
|
|
@@ -2,12 +2,20 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ActivityEventHandler = void 0;
|
|
4
4
|
const _1 = require(".");
|
|
5
|
+
const EventProcessorSDK_1 = require("./EventProcessorSDK");
|
|
5
6
|
class ActivityEventHandler {
|
|
6
7
|
constructor(activityLogModelStore, activityLogEventStore, userModelStore) {
|
|
7
8
|
this.activityLogModelStore = activityLogModelStore;
|
|
8
9
|
this.activityLogEventStore = activityLogEventStore;
|
|
9
10
|
this.userModelStore = userModelStore;
|
|
10
11
|
}
|
|
12
|
+
shouldSkipSave(existingModel, updatedModel) {
|
|
13
|
+
if (!existingModel) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return (existingModel.streamId === updatedModel.streamId &&
|
|
17
|
+
existingModel.version === updatedModel.version);
|
|
18
|
+
}
|
|
11
19
|
async createActivityLog(event, existingModel, updatedModel) {
|
|
12
20
|
if (!event.activityLog) {
|
|
13
21
|
return;
|
|
@@ -29,7 +37,25 @@ class ActivityEventHandler {
|
|
|
29
37
|
const activityLogEvent = new _1.ActivityLogCreated(activityLogProps);
|
|
30
38
|
const activityLogModel = activityLogEvent.apply();
|
|
31
39
|
await this.activityLogEventStore.addEvent(activityLogEvent);
|
|
32
|
-
|
|
40
|
+
if (!this.shouldSkipSave(undefined, activityLogModel)) {
|
|
41
|
+
await this.activityLogModelStore.save(activityLogModel);
|
|
42
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
43
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("ActivityLogModel", activityLogModel);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async handleClientEventFromRemoteListener(event) {
|
|
48
|
+
const existingModel = await this.activityLogModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
49
|
+
const updatedModel = event.apply(existingModel);
|
|
50
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
51
|
+
await this.activityLogModelStore.save(updatedModel);
|
|
52
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("ActivityLogModel", updatedModel);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
handleEvent(event) {
|
|
56
|
+
const error = new Error("Method not implemented. ActivityEventHandler only support createActivityLog for this");
|
|
57
|
+
console.error("Method not implemented.", event, error);
|
|
58
|
+
throw error;
|
|
33
59
|
}
|
|
34
60
|
}
|
|
35
61
|
exports.ActivityEventHandler = ActivityEventHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityLogEvents.d.ts","sourceRoot":"","sources":["../src/ActivityLogEvents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActivityLogEvents.d.ts","sourceRoot":"","sources":["../src/ActivityLogEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,oBAAY,UAAU;IAClB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,gBAAgB,qBAAqB;CACxC;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;gBAEpB,KAAK,EAAE,uBAAuB;IAe1C,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,gBAAgB;CAa7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseEventHandler.d.ts","sourceRoot":"","sources":["../src/BaseEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,KAAK;IAC7C,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,mCAAmC,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE"}
|
|
@@ -12,10 +12,14 @@ import { ActivityLogModelStore } from "./store/ActivityLogModelStore";
|
|
|
12
12
|
import { ActivityLogEventStore } from "./store/ActivityLogEventStore";
|
|
13
13
|
import { UserController } from "./client/controllers/UserController";
|
|
14
14
|
import { FriendController } from "./client/controllers/FriendController";
|
|
15
|
+
import { TransactionController } from "./client/controllers/TransactionController";
|
|
15
16
|
import { UIEventHandler } from "./client/handlers/UIEventHandler";
|
|
16
17
|
import { FirebaseAdapter } from "./adapters/FirebaseAdapter";
|
|
17
|
-
import type { Event } from "./events";
|
|
18
18
|
import type { FirestoreEventData } from "./converters/eventConverter";
|
|
19
|
+
import { ActivityEventHandler, Event, FriendEventHandler, GroupEventHandler, GroupTransactionEventHandler, TransactionEventHandler, UserEventHandler } from "./events";
|
|
20
|
+
import { Model } from "./common/Model";
|
|
21
|
+
import { ModelChange } from "./ModelChangeEmitter";
|
|
22
|
+
import { Observable } from "rxjs";
|
|
19
23
|
export type StoreConfig = {
|
|
20
24
|
firebaseAdapter: FirebaseAdapter;
|
|
21
25
|
userModelStore: UserModelStore;
|
|
@@ -36,7 +40,15 @@ export declare class EventProcessorSDK {
|
|
|
36
40
|
private readonly storeConfig;
|
|
37
41
|
private userControllerInstance;
|
|
38
42
|
private friendControllerInstance;
|
|
43
|
+
private transactionControllerInstance;
|
|
39
44
|
private uiEventHandlerInstance;
|
|
45
|
+
private userEventHandlerInstance;
|
|
46
|
+
private friendEventHandlerInstance;
|
|
47
|
+
private transactionEventHandlerInstance;
|
|
48
|
+
private groupEventHandlerInstance;
|
|
49
|
+
private groupTransactionEventHandlerInstance;
|
|
50
|
+
private activityEventHandlerInstance;
|
|
51
|
+
private readonly modelChangeEmitter;
|
|
40
52
|
private constructor();
|
|
41
53
|
static initialize(config: StoreConfig): EventProcessorSDK;
|
|
42
54
|
static getInstance(): EventProcessorSDK;
|
|
@@ -45,14 +57,31 @@ export declare class EventProcessorSDK {
|
|
|
45
57
|
getStoreConfig(): StoreConfig;
|
|
46
58
|
getUserController(): UserController;
|
|
47
59
|
getFriendController(): FriendController;
|
|
60
|
+
getTransactionController(): TransactionController;
|
|
48
61
|
getUIEventHandler(): UIEventHandler;
|
|
62
|
+
getUserEventHandler(): UserEventHandler;
|
|
63
|
+
getFriendEventHandler(): FriendEventHandler;
|
|
64
|
+
getTransactionEventHandler(): TransactionEventHandler;
|
|
65
|
+
getGroupEventHandler(): GroupEventHandler;
|
|
66
|
+
getGroupTransactionEventHandler(): GroupTransactionEventHandler;
|
|
67
|
+
getActivityEventHandler(): ActivityEventHandler;
|
|
49
68
|
getFirebaseAdapter(): FirebaseAdapter;
|
|
69
|
+
getModelChangeObservable(): Observable<ModelChange>;
|
|
70
|
+
emitModelChange(modelType: string, model: Model): void;
|
|
50
71
|
}
|
|
51
72
|
export declare function initializeSDK(config: StoreConfig): EventProcessorSDK;
|
|
52
73
|
export declare function getUserController(): UserController;
|
|
53
74
|
export declare function getFriendController(): FriendController;
|
|
75
|
+
export declare function getTransactionController(): TransactionController;
|
|
54
76
|
export declare function getUIEventHandler(): UIEventHandler;
|
|
77
|
+
export declare function getUserEventHandler(): UserEventHandler;
|
|
78
|
+
export declare function getFriendEventHandler(): FriendEventHandler;
|
|
79
|
+
export declare function getTransactionEventHandler(): TransactionEventHandler;
|
|
80
|
+
export declare function getGroupEventHandler(): GroupEventHandler;
|
|
81
|
+
export declare function getGroupTransactionEventHandler(): GroupTransactionEventHandler;
|
|
82
|
+
export declare function getActivityEventHandler(): ActivityEventHandler;
|
|
55
83
|
export declare function getFirebaseAdapter(): FirebaseAdapter;
|
|
84
|
+
export declare function getModelChangeObservable(): Observable<ModelChange>;
|
|
56
85
|
export declare function eventToFirestore(event: Event): FirestoreEventData;
|
|
57
86
|
export declare function firestoreToEvent(data: FirestoreEventData): Event;
|
|
58
87
|
export declare function isSDKInitialized(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventProcessorSDK.d.ts","sourceRoot":"","sources":["../src/EventProcessorSDK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"EventProcessorSDK.d.ts","sourceRoot":"","sources":["../src/EventProcessorSDK.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,19 +4,31 @@ exports.EventProcessorSDK = void 0;
|
|
|
4
4
|
exports.initializeSDK = initializeSDK;
|
|
5
5
|
exports.getUserController = getUserController;
|
|
6
6
|
exports.getFriendController = getFriendController;
|
|
7
|
+
exports.getTransactionController = getTransactionController;
|
|
7
8
|
exports.getUIEventHandler = getUIEventHandler;
|
|
9
|
+
exports.getUserEventHandler = getUserEventHandler;
|
|
10
|
+
exports.getFriendEventHandler = getFriendEventHandler;
|
|
11
|
+
exports.getTransactionEventHandler = getTransactionEventHandler;
|
|
12
|
+
exports.getGroupEventHandler = getGroupEventHandler;
|
|
13
|
+
exports.getGroupTransactionEventHandler = getGroupTransactionEventHandler;
|
|
14
|
+
exports.getActivityEventHandler = getActivityEventHandler;
|
|
8
15
|
exports.getFirebaseAdapter = getFirebaseAdapter;
|
|
16
|
+
exports.getModelChangeObservable = getModelChangeObservable;
|
|
9
17
|
exports.eventToFirestore = eventToFirestore;
|
|
10
18
|
exports.firestoreToEvent = firestoreToEvent;
|
|
11
19
|
exports.isSDKInitialized = isSDKInitialized;
|
|
12
20
|
exports.__resetSDKForTesting = __resetSDKForTesting;
|
|
13
21
|
const UserController_1 = require("./client/controllers/UserController");
|
|
14
22
|
const FriendController_1 = require("./client/controllers/FriendController");
|
|
23
|
+
const TransactionController_1 = require("./client/controllers/TransactionController");
|
|
15
24
|
const UIEventHandler_1 = require("./client/handlers/UIEventHandler");
|
|
16
25
|
const eventConverter_1 = require("./converters/eventConverter");
|
|
26
|
+
const events_1 = require("./events");
|
|
27
|
+
const ModelChangeEmitter_1 = require("./ModelChangeEmitter");
|
|
17
28
|
class EventProcessorSDK {
|
|
18
29
|
constructor(config) {
|
|
19
30
|
this.storeConfig = config;
|
|
31
|
+
this.modelChangeEmitter = new ModelChangeEmitter_1.ModelChangeEmitter();
|
|
20
32
|
}
|
|
21
33
|
static initialize(config) {
|
|
22
34
|
EventProcessorSDK.instance = new EventProcessorSDK(config);
|
|
@@ -49,15 +61,64 @@ class EventProcessorSDK {
|
|
|
49
61
|
}
|
|
50
62
|
return this.friendControllerInstance;
|
|
51
63
|
}
|
|
64
|
+
getTransactionController() {
|
|
65
|
+
if (!this.transactionControllerInstance) {
|
|
66
|
+
this.transactionControllerInstance = new TransactionController_1.TransactionController();
|
|
67
|
+
}
|
|
68
|
+
return this.transactionControllerInstance;
|
|
69
|
+
}
|
|
52
70
|
getUIEventHandler() {
|
|
53
71
|
if (!this.uiEventHandlerInstance) {
|
|
54
|
-
this.uiEventHandlerInstance = new UIEventHandler_1.UIEventHandler(
|
|
72
|
+
this.uiEventHandlerInstance = new UIEventHandler_1.UIEventHandler();
|
|
55
73
|
}
|
|
56
74
|
return this.uiEventHandlerInstance;
|
|
57
75
|
}
|
|
76
|
+
getUserEventHandler() {
|
|
77
|
+
if (!this.userEventHandlerInstance) {
|
|
78
|
+
this.userEventHandlerInstance = new events_1.UserEventHandler(this.storeConfig.userModelStore, this.storeConfig.userEventStore, this.getActivityEventHandler());
|
|
79
|
+
}
|
|
80
|
+
return this.userEventHandlerInstance;
|
|
81
|
+
}
|
|
82
|
+
getFriendEventHandler() {
|
|
83
|
+
if (!this.friendEventHandlerInstance) {
|
|
84
|
+
this.friendEventHandlerInstance = new events_1.FriendEventHandler(this.storeConfig.friendModelStore, this.storeConfig.userModelStore, this.storeConfig.friendEventStore, this.storeConfig.userEventStore, this.getActivityEventHandler());
|
|
85
|
+
}
|
|
86
|
+
return this.friendEventHandlerInstance;
|
|
87
|
+
}
|
|
88
|
+
getTransactionEventHandler() {
|
|
89
|
+
if (!this.transactionEventHandlerInstance) {
|
|
90
|
+
this.transactionEventHandlerInstance = new events_1.TransactionEventHandler(this.storeConfig.transactionModelStore, this.storeConfig.transactionEventStore, this.getActivityEventHandler());
|
|
91
|
+
}
|
|
92
|
+
return this.transactionEventHandlerInstance;
|
|
93
|
+
}
|
|
94
|
+
getGroupEventHandler() {
|
|
95
|
+
if (!this.groupEventHandlerInstance) {
|
|
96
|
+
this.groupEventHandlerInstance = new events_1.GroupEventHandler(this.storeConfig.groupModelStore, this.storeConfig.friendModelStore, this.storeConfig.userModelStore, this.storeConfig.groupEventStore, this.storeConfig.friendEventStore, this.getActivityEventHandler());
|
|
97
|
+
}
|
|
98
|
+
return this.groupEventHandlerInstance;
|
|
99
|
+
}
|
|
100
|
+
getGroupTransactionEventHandler() {
|
|
101
|
+
if (!this.groupTransactionEventHandlerInstance) {
|
|
102
|
+
this.groupTransactionEventHandlerInstance =
|
|
103
|
+
new events_1.GroupTransactionEventHandler(this.storeConfig.groupTransactionModelStore, this.storeConfig.groupTransactionEventStore, this.storeConfig.groupModelStore, this.storeConfig.transactionEventStore, this.storeConfig.transactionModelStore, this.getActivityEventHandler());
|
|
104
|
+
}
|
|
105
|
+
return this.groupTransactionEventHandlerInstance;
|
|
106
|
+
}
|
|
107
|
+
getActivityEventHandler() {
|
|
108
|
+
if (!this.activityEventHandlerInstance) {
|
|
109
|
+
this.activityEventHandlerInstance = new events_1.ActivityEventHandler(this.storeConfig.activityLogModelStore, this.storeConfig.activityLogEventStore, this.storeConfig.userModelStore);
|
|
110
|
+
}
|
|
111
|
+
return this.activityEventHandlerInstance;
|
|
112
|
+
}
|
|
58
113
|
getFirebaseAdapter() {
|
|
59
114
|
return this.storeConfig.firebaseAdapter;
|
|
60
115
|
}
|
|
116
|
+
getModelChangeObservable() {
|
|
117
|
+
return this.modelChangeEmitter.asObservable();
|
|
118
|
+
}
|
|
119
|
+
emitModelChange(modelType, model) {
|
|
120
|
+
this.modelChangeEmitter.emit(modelType, model);
|
|
121
|
+
}
|
|
61
122
|
}
|
|
62
123
|
exports.EventProcessorSDK = EventProcessorSDK;
|
|
63
124
|
function initializeSDK(config) {
|
|
@@ -69,19 +130,41 @@ function getUserController() {
|
|
|
69
130
|
function getFriendController() {
|
|
70
131
|
return EventProcessorSDK.getInstance().getFriendController();
|
|
71
132
|
}
|
|
133
|
+
function getTransactionController() {
|
|
134
|
+
return EventProcessorSDK.getInstance().getTransactionController();
|
|
135
|
+
}
|
|
72
136
|
function getUIEventHandler() {
|
|
73
137
|
return EventProcessorSDK.getInstance().getUIEventHandler();
|
|
74
138
|
}
|
|
139
|
+
function getUserEventHandler() {
|
|
140
|
+
return EventProcessorSDK.getInstance().getUserEventHandler();
|
|
141
|
+
}
|
|
142
|
+
function getFriendEventHandler() {
|
|
143
|
+
return EventProcessorSDK.getInstance().getFriendEventHandler();
|
|
144
|
+
}
|
|
145
|
+
function getTransactionEventHandler() {
|
|
146
|
+
return EventProcessorSDK.getInstance().getTransactionEventHandler();
|
|
147
|
+
}
|
|
148
|
+
function getGroupEventHandler() {
|
|
149
|
+
return EventProcessorSDK.getInstance().getGroupEventHandler();
|
|
150
|
+
}
|
|
151
|
+
function getGroupTransactionEventHandler() {
|
|
152
|
+
return EventProcessorSDK.getInstance().getGroupTransactionEventHandler();
|
|
153
|
+
}
|
|
154
|
+
function getActivityEventHandler() {
|
|
155
|
+
return EventProcessorSDK.getInstance().getActivityEventHandler();
|
|
156
|
+
}
|
|
75
157
|
function getFirebaseAdapter() {
|
|
76
158
|
return EventProcessorSDK.getInstance().getFirebaseAdapter();
|
|
77
159
|
}
|
|
160
|
+
function getModelChangeObservable() {
|
|
161
|
+
return EventProcessorSDK.getInstance().getModelChangeObservable();
|
|
162
|
+
}
|
|
78
163
|
function eventToFirestore(event) {
|
|
79
|
-
|
|
80
|
-
return (0, eventConverter_1.eventToFirestore)(event, adapter);
|
|
164
|
+
return (0, eventConverter_1.eventToFirestore)(event);
|
|
81
165
|
}
|
|
82
166
|
function firestoreToEvent(data) {
|
|
83
|
-
|
|
84
|
-
return (0, eventConverter_1.firestoreToEvent)(data, adapter);
|
|
167
|
+
return (0, eventConverter_1.firestoreToEvent)(data);
|
|
85
168
|
}
|
|
86
169
|
function isSDKInitialized() {
|
|
87
170
|
return EventProcessorSDK.isInitialized();
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { FriendCreated, FriendEvent, FriendEventStore, FriendModelStore, UserEventStore, UserModelStore } from ".";
|
|
2
|
+
import { BaseEventHandler } from "./BaseEventHandler";
|
|
2
3
|
import { ActivityEventHandler } from "./ActivityEventHandler";
|
|
3
|
-
export declare class FriendEventHandler {
|
|
4
|
+
export declare class FriendEventHandler implements BaseEventHandler<FriendEvent> {
|
|
4
5
|
private modelStore;
|
|
5
6
|
private userModelStore;
|
|
6
7
|
private friendEventStore;
|
|
7
8
|
private userEventStore;
|
|
8
9
|
private activityEventHandler?;
|
|
9
10
|
constructor(modelStore: FriendModelStore, userModelStore: UserModelStore, friendEventStore: FriendEventStore, userEventStore: UserEventStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
11
|
+
private shouldSkipSave;
|
|
12
|
+
handleClientEventFromRemoteListener(event: FriendEvent): Promise<void>;
|
|
10
13
|
handleEvent(event: FriendEvent): Promise<void>;
|
|
11
|
-
|
|
14
|
+
handleFriendCreatedOnBackend(event: FriendCreated): Promise<void>;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=FriendEventHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FriendEventHandler.d.ts","sourceRoot":"","sources":["../src/FriendEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,WAAW,EACX,gBAAgB,EAGhB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"FriendEventHandler.d.ts","sourceRoot":"","sources":["../src/FriendEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,WAAW,EACX,gBAAgB,EAGhB,gBAAgB,EAIhB,cAAc,EAEd,cAAc,EACjB,MAAM,GAAG,CAAC;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,qBAAa,kBAAmB,YAAW,gBAAgB,CAAC,WAAW,CAAC;IAEhE,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB,CAAC;gBAJrB,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGvD,OAAO,CAAC,cAAc;IAaT,mCAAmC,CAC5C,KAAK,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAiBV,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC9C,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CA4J1E"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FriendEventHandler = void 0;
|
|
4
4
|
const _1 = require(".");
|
|
5
|
-
const DomainEvents_1 = require("./common/DomainEvents");
|
|
6
5
|
const uuid_1 = require("uuid");
|
|
6
|
+
const EventProcessorSDK_1 = require("./EventProcessorSDK");
|
|
7
7
|
class FriendEventHandler {
|
|
8
8
|
constructor(modelStore, userModelStore, friendEventStore, userEventStore, activityEventHandler) {
|
|
9
9
|
this.modelStore = modelStore;
|
|
@@ -12,25 +12,49 @@ class FriendEventHandler {
|
|
|
12
12
|
this.userEventStore = userEventStore;
|
|
13
13
|
this.activityEventHandler = activityEventHandler;
|
|
14
14
|
}
|
|
15
|
+
shouldSkipSave(existingModel, updatedModel) {
|
|
16
|
+
if (!existingModel) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return (existingModel.streamId === updatedModel.streamId &&
|
|
20
|
+
existingModel.version === updatedModel.version);
|
|
21
|
+
}
|
|
22
|
+
async handleClientEventFromRemoteListener(event) {
|
|
23
|
+
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
24
|
+
const updatedModel = event.apply(existingModel);
|
|
25
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
26
|
+
await this.modelStore.save(updatedModel);
|
|
27
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
28
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("FriendModel", updatedModel);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
15
32
|
async handleEvent(event) {
|
|
16
33
|
const eventType = event.constructor.name;
|
|
17
|
-
if (!
|
|
18
|
-
|
|
34
|
+
if (!_1.residence.isClient && eventType === "FriendCreated") {
|
|
35
|
+
return await this.handleFriendCreatedOnBackend(event);
|
|
19
36
|
}
|
|
20
37
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
21
38
|
const updatedModel = event.apply(existingModel);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
39
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
40
|
+
await this.modelStore.save(updatedModel);
|
|
41
|
+
if (_1.residence.isClient) {
|
|
42
|
+
await this.friendEventStore.addEvent(event);
|
|
43
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
44
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("FriendModel", updatedModel);
|
|
45
|
+
}
|
|
46
|
+
if (this.activityEventHandler) {
|
|
47
|
+
await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
|
|
48
|
+
}
|
|
27
49
|
}
|
|
28
50
|
}
|
|
29
51
|
}
|
|
30
|
-
async
|
|
52
|
+
async handleFriendCreatedOnBackend(event) {
|
|
31
53
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
32
54
|
const updatedModel = event.apply(existingModel);
|
|
33
|
-
|
|
55
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
56
|
+
await this.modelStore.save(updatedModel);
|
|
57
|
+
}
|
|
34
58
|
// Check if friend is already a user (try phone first, then email)
|
|
35
59
|
let friendUser = null;
|
|
36
60
|
if (event.friendPhoneNumber) {
|
|
@@ -54,7 +78,9 @@ class FriendEventHandler {
|
|
|
54
78
|
});
|
|
55
79
|
await this.friendEventStore.addEvent(friendIdAddedEvent);
|
|
56
80
|
const modelWithFriendId = friendIdAddedEvent.apply(updatedModel);
|
|
57
|
-
|
|
81
|
+
if (!this.shouldSkipSave(updatedModel, modelWithFriendId)) {
|
|
82
|
+
await this.modelStore.save(modelWithFriendId);
|
|
83
|
+
}
|
|
58
84
|
const primaryUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(event.userId);
|
|
59
85
|
if (primaryUser) {
|
|
60
86
|
const reciprocalFriendCreated = new _1.FriendCreated({
|
|
@@ -73,7 +99,9 @@ class FriendEventHandler {
|
|
|
73
99
|
});
|
|
74
100
|
await this.friendEventStore.addEvent(reciprocalFriendCreated);
|
|
75
101
|
const reciprocalModel = reciprocalFriendCreated.apply(undefined);
|
|
76
|
-
|
|
102
|
+
if (!this.shouldSkipSave(undefined, reciprocalModel)) {
|
|
103
|
+
await this.modelStore.save(reciprocalModel);
|
|
104
|
+
}
|
|
77
105
|
if (this.activityEventHandler) {
|
|
78
106
|
await this.activityEventHandler.createActivityLog(reciprocalFriendCreated, undefined, reciprocalModel);
|
|
79
107
|
}
|
|
@@ -96,7 +124,9 @@ class FriendEventHandler {
|
|
|
96
124
|
});
|
|
97
125
|
await this.userEventStore.addEvent(placeholderUserCreated);
|
|
98
126
|
const placeholderUser = placeholderUserCreated.apply(undefined);
|
|
99
|
-
|
|
127
|
+
if (!this.shouldSkipSave(undefined, placeholderUser)) {
|
|
128
|
+
await this.userModelStore.save(placeholderUser);
|
|
129
|
+
}
|
|
100
130
|
// Link primary user to placeholder
|
|
101
131
|
const friendIdAddedEvent = new _1.FriendIdAdded({
|
|
102
132
|
eventId: (0, uuid_1.v4)(),
|
|
@@ -110,7 +140,9 @@ class FriendEventHandler {
|
|
|
110
140
|
});
|
|
111
141
|
await this.friendEventStore.addEvent(friendIdAddedEvent);
|
|
112
142
|
const modelWithPlaceholderId = friendIdAddedEvent.apply(updatedModel);
|
|
113
|
-
|
|
143
|
+
if (!this.shouldSkipSave(updatedModel, modelWithPlaceholderId)) {
|
|
144
|
+
await this.modelStore.save(modelWithPlaceholderId);
|
|
145
|
+
}
|
|
114
146
|
// Create reciprocal friendship for placeholder user
|
|
115
147
|
const primaryUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(event.userId);
|
|
116
148
|
if (primaryUser) {
|
|
@@ -131,7 +163,9 @@ class FriendEventHandler {
|
|
|
131
163
|
});
|
|
132
164
|
await this.friendEventStore.addEvent(reciprocalFriendCreated);
|
|
133
165
|
const reciprocalModel = reciprocalFriendCreated.apply(undefined);
|
|
134
|
-
|
|
166
|
+
if (!this.shouldSkipSave(undefined, reciprocalModel)) {
|
|
167
|
+
await this.modelStore.save(reciprocalModel);
|
|
168
|
+
}
|
|
135
169
|
if (this.activityEventHandler) {
|
|
136
170
|
await this.activityEventHandler.createActivityLog(reciprocalFriendCreated, undefined, reciprocalModel);
|
|
137
171
|
}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { GroupCreated,
|
|
2
|
-
import {
|
|
3
|
-
import { FriendModelStore } from ".";
|
|
4
|
-
import { UserModelStore } from ".";
|
|
5
|
-
import { GroupEventStore } from ".";
|
|
6
|
-
import { FriendEventStore } from ".";
|
|
1
|
+
import { FriendEventStore, FriendModelStore, GroupCreated, GroupDeleted, GroupDescriptionChanged, GroupEvent, GroupEventStore, GroupMembersAdded, GroupMembersRemoved, GroupModel, GroupModelStore, GroupNameChanged, UserModelStore } from ".";
|
|
2
|
+
import { BaseEventHandler } from "./BaseEventHandler";
|
|
7
3
|
import { ActivityEventHandler } from "./ActivityEventHandler";
|
|
8
|
-
export declare class GroupEventHandler {
|
|
4
|
+
export declare class GroupEventHandler implements BaseEventHandler<GroupEvent> {
|
|
9
5
|
private modelStore;
|
|
10
6
|
private friendModelStore;
|
|
11
7
|
private userModelStore;
|
|
@@ -13,6 +9,8 @@ export declare class GroupEventHandler {
|
|
|
13
9
|
private friendEventStore;
|
|
14
10
|
private activityEventHandler?;
|
|
15
11
|
constructor(modelStore: GroupModelStore, friendModelStore: FriendModelStore, userModelStore: UserModelStore, groupEventStore: GroupEventStore, friendEventStore: FriendEventStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
12
|
+
private shouldSkipSave;
|
|
13
|
+
handleClientEventFromRemoteListener(event: GroupEvent): Promise<void>;
|
|
16
14
|
handleEvent(event: GroupEvent): Promise<GroupModel>;
|
|
17
15
|
private ensureBidirectionalFriendship;
|
|
18
16
|
handleGroupCreated(event: GroupCreated): Promise<GroupModel>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,gBAAgB,EAEhB,cAAc,EACjB,MAAM,GAAG,CAAC;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,qBAAa,iBAAkB,YAAW,gBAAgB,CAAC,UAAU,CAAC;IAE9D,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,eAAe,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGvD,OAAO,CAAC,cAAc;IAaT,mCAAmC,CAC5C,KAAK,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC;IAiBV,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YA6B3C,6BAA6B;IA4ErC,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAgF5D,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4DpE,6BAA6B,CAC/B,KAAK,EAAE,uBAAuB,GAC/B,OAAO,CAAC,UAAU,CAAC;IA4DhB,uBAAuB,CACzB,KAAK,EAAE,iBAAiB,GACzB,OAAO,CAAC,UAAU,CAAC;IA0HhB,yBAAyB,CAC3B,KAAK,EAAE,mBAAmB,GAC3B,OAAO,CAAC,UAAU,CAAC;IA4DhB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;CA0BrE"}
|