@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
package/dist/FriendEvents.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FriendEvent } from
|
|
2
|
-
import { Model } from
|
|
3
|
-
import { ActivityLogCreatedProps } from
|
|
1
|
+
import { FriendEvent } from "./common/DomainEvents";
|
|
2
|
+
import { Model } from "./common/Model";
|
|
3
|
+
import { ActivityLogCreatedProps } from "./ActivityLogEvents";
|
|
4
4
|
export interface FriendModel extends Model {
|
|
5
5
|
friendId?: string;
|
|
6
6
|
friendEmail?: string;
|
|
@@ -11,6 +11,7 @@ export interface FriendModel extends Model {
|
|
|
11
11
|
updatedAt: Date;
|
|
12
12
|
}
|
|
13
13
|
export interface FriendCreatedProps {
|
|
14
|
+
eventId: string;
|
|
14
15
|
userId: string;
|
|
15
16
|
friendEmail?: string;
|
|
16
17
|
friendPhoneNumber?: string;
|
|
@@ -24,6 +25,7 @@ export interface FriendCreatedProps {
|
|
|
24
25
|
systemGenerated: boolean;
|
|
25
26
|
}
|
|
26
27
|
export declare class FriendCreated implements FriendEvent {
|
|
28
|
+
eventId: string;
|
|
27
29
|
userId: string;
|
|
28
30
|
friendEmail?: string;
|
|
29
31
|
friendPhoneNumber?: string;
|
|
@@ -40,6 +42,7 @@ export declare class FriendCreated implements FriendEvent {
|
|
|
40
42
|
activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
41
43
|
}
|
|
42
44
|
export interface FriendUpdatedProps {
|
|
45
|
+
eventId: string;
|
|
43
46
|
userId: string;
|
|
44
47
|
friendEmail?: string;
|
|
45
48
|
friendPhoneNumber?: string;
|
|
@@ -51,6 +54,7 @@ export interface FriendUpdatedProps {
|
|
|
51
54
|
systemGenerated: boolean;
|
|
52
55
|
}
|
|
53
56
|
export declare class FriendUpdated implements FriendEvent {
|
|
57
|
+
eventId: string;
|
|
54
58
|
userId: string;
|
|
55
59
|
friendEmail?: string;
|
|
56
60
|
friendPhoneNumber?: string;
|
|
@@ -65,6 +69,7 @@ export declare class FriendUpdated implements FriendEvent {
|
|
|
65
69
|
activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
66
70
|
}
|
|
67
71
|
export interface FriendDeletedProps {
|
|
72
|
+
eventId: string;
|
|
68
73
|
userId: string;
|
|
69
74
|
createdAt: Date;
|
|
70
75
|
createdBy: string;
|
|
@@ -73,6 +78,7 @@ export interface FriendDeletedProps {
|
|
|
73
78
|
systemGenerated: boolean;
|
|
74
79
|
}
|
|
75
80
|
export declare class FriendDeleted implements FriendEvent {
|
|
81
|
+
eventId: string;
|
|
76
82
|
userId: string;
|
|
77
83
|
createdAt: Date;
|
|
78
84
|
createdBy: string;
|
|
@@ -84,6 +90,7 @@ export declare class FriendDeleted implements FriendEvent {
|
|
|
84
90
|
activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
85
91
|
}
|
|
86
92
|
export interface FriendIdAddedProps {
|
|
93
|
+
eventId: string;
|
|
87
94
|
userId: string;
|
|
88
95
|
friendId: string;
|
|
89
96
|
createdAt: Date;
|
|
@@ -93,6 +100,7 @@ export interface FriendIdAddedProps {
|
|
|
93
100
|
systemGenerated: boolean;
|
|
94
101
|
}
|
|
95
102
|
export declare class FriendIdAdded implements FriendEvent {
|
|
103
|
+
eventId: string;
|
|
96
104
|
userId: string;
|
|
97
105
|
friendId: string;
|
|
98
106
|
createdAt: Date;
|
|
@@ -105,6 +113,7 @@ export declare class FriendIdAdded implements FriendEvent {
|
|
|
105
113
|
activityLog(existing?: Model, _actorName?: string): ActivityLogCreatedProps | undefined;
|
|
106
114
|
}
|
|
107
115
|
export interface FriendIdRemovedProps {
|
|
116
|
+
eventId: string;
|
|
108
117
|
userId: string;
|
|
109
118
|
createdAt: Date;
|
|
110
119
|
createdBy: string;
|
|
@@ -113,6 +122,7 @@ export interface FriendIdRemovedProps {
|
|
|
113
122
|
systemGenerated: boolean;
|
|
114
123
|
}
|
|
115
124
|
export declare class FriendIdRemoved implements FriendEvent {
|
|
125
|
+
eventId: string;
|
|
116
126
|
userId: string;
|
|
117
127
|
createdAt: Date;
|
|
118
128
|
createdBy: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FriendEvents.d.ts","sourceRoot":"","sources":["../src/FriendEvents.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FriendEvents.d.ts","sourceRoot":"","sources":["../src/FriendEvents.ts"],"names":[],"mappings":"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"}
|
package/dist/FriendEvents.js
CHANGED
|
@@ -5,6 +5,7 @@ const ActivityLogEvents_1 = require("./ActivityLogEvents");
|
|
|
5
5
|
const uuid_1 = require("uuid");
|
|
6
6
|
class FriendCreated {
|
|
7
7
|
constructor(props) {
|
|
8
|
+
this.eventId = props.eventId;
|
|
8
9
|
this.userId = props.userId;
|
|
9
10
|
this.friendEmail = props.friendEmail;
|
|
10
11
|
this.friendPhoneNumber = props.friendPhoneNumber;
|
|
@@ -33,9 +34,10 @@ class FriendCreated {
|
|
|
33
34
|
};
|
|
34
35
|
}
|
|
35
36
|
activityLog(_existing, actorName) {
|
|
36
|
-
const actor = actorName ??
|
|
37
|
+
const actor = actorName ?? "You";
|
|
37
38
|
const logMessage = `${actor} added friend "${this.friendDisplayName}"`;
|
|
38
39
|
return {
|
|
40
|
+
eventId: (0, uuid_1.v4)(),
|
|
39
41
|
userId: this.userId,
|
|
40
42
|
activityByUid: this.createdBy,
|
|
41
43
|
sourceStreamId: this.streamId,
|
|
@@ -53,6 +55,7 @@ class FriendCreated {
|
|
|
53
55
|
exports.FriendCreated = FriendCreated;
|
|
54
56
|
class FriendUpdated {
|
|
55
57
|
constructor(props) {
|
|
58
|
+
this.eventId = props.eventId;
|
|
56
59
|
this.userId = props.userId;
|
|
57
60
|
this.friendEmail = props.friendEmail;
|
|
58
61
|
this.friendPhoneNumber = props.friendPhoneNumber;
|
|
@@ -65,7 +68,7 @@ class FriendUpdated {
|
|
|
65
68
|
}
|
|
66
69
|
apply(existing) {
|
|
67
70
|
if (!existing) {
|
|
68
|
-
throw new Error(
|
|
71
|
+
throw new Error("Friend must exist to update");
|
|
69
72
|
}
|
|
70
73
|
const existingFriend = existing;
|
|
71
74
|
return {
|
|
@@ -82,10 +85,11 @@ class FriendUpdated {
|
|
|
82
85
|
return undefined;
|
|
83
86
|
}
|
|
84
87
|
const existingFriend = existing;
|
|
85
|
-
const actor = actorName ??
|
|
88
|
+
const actor = actorName ?? "You";
|
|
86
89
|
const friendName = this.friendDisplayName ?? existingFriend.friendDisplayName;
|
|
87
90
|
const logMessage = `${actor} updated friend "${friendName}"`;
|
|
88
91
|
return {
|
|
92
|
+
eventId: (0, uuid_1.v4)(),
|
|
89
93
|
userId: existingFriend.userId,
|
|
90
94
|
activityByUid: this.createdBy,
|
|
91
95
|
sourceStreamId: this.streamId,
|
|
@@ -103,6 +107,7 @@ class FriendUpdated {
|
|
|
103
107
|
exports.FriendUpdated = FriendUpdated;
|
|
104
108
|
class FriendDeleted {
|
|
105
109
|
constructor(props) {
|
|
110
|
+
this.eventId = props.eventId;
|
|
106
111
|
this.userId = props.userId;
|
|
107
112
|
this.createdAt = props.createdAt;
|
|
108
113
|
this.createdBy = props.createdBy;
|
|
@@ -112,7 +117,7 @@ class FriendDeleted {
|
|
|
112
117
|
}
|
|
113
118
|
apply(existing) {
|
|
114
119
|
if (!existing) {
|
|
115
|
-
throw new Error(
|
|
120
|
+
throw new Error("Friend must exist to delete");
|
|
116
121
|
}
|
|
117
122
|
const existingFriend = existing;
|
|
118
123
|
return {
|
|
@@ -127,9 +132,10 @@ class FriendDeleted {
|
|
|
127
132
|
return undefined;
|
|
128
133
|
}
|
|
129
134
|
const existingFriend = existing;
|
|
130
|
-
const actor = actorName ??
|
|
135
|
+
const actor = actorName ?? "You";
|
|
131
136
|
const logMessage = `${actor} removed friend "${existingFriend.friendDisplayName}"`;
|
|
132
137
|
return {
|
|
138
|
+
eventId: (0, uuid_1.v4)(),
|
|
133
139
|
userId: existingFriend.userId,
|
|
134
140
|
activityByUid: this.createdBy,
|
|
135
141
|
sourceStreamId: this.streamId,
|
|
@@ -147,6 +153,7 @@ class FriendDeleted {
|
|
|
147
153
|
exports.FriendDeleted = FriendDeleted;
|
|
148
154
|
class FriendIdAdded {
|
|
149
155
|
constructor(props) {
|
|
156
|
+
this.eventId = props.eventId;
|
|
150
157
|
this.userId = props.userId;
|
|
151
158
|
this.friendId = props.friendId;
|
|
152
159
|
this.createdAt = props.createdAt;
|
|
@@ -157,7 +164,7 @@ class FriendIdAdded {
|
|
|
157
164
|
}
|
|
158
165
|
apply(existing) {
|
|
159
166
|
if (!existing) {
|
|
160
|
-
throw new Error(
|
|
167
|
+
throw new Error("Friend must exist to add friend ID");
|
|
161
168
|
}
|
|
162
169
|
const existingFriend = existing;
|
|
163
170
|
return {
|
|
@@ -174,6 +181,7 @@ class FriendIdAdded {
|
|
|
174
181
|
const existingFriend = existing;
|
|
175
182
|
const logMessage = `Friend "${existingFriend.friendDisplayName}" was linked to their account`;
|
|
176
183
|
return {
|
|
184
|
+
eventId: (0, uuid_1.v4)(),
|
|
177
185
|
userId: existingFriend.userId,
|
|
178
186
|
activityByUid: this.createdBy,
|
|
179
187
|
sourceStreamId: this.streamId,
|
|
@@ -191,6 +199,7 @@ class FriendIdAdded {
|
|
|
191
199
|
exports.FriendIdAdded = FriendIdAdded;
|
|
192
200
|
class FriendIdRemoved {
|
|
193
201
|
constructor(props) {
|
|
202
|
+
this.eventId = props.eventId;
|
|
194
203
|
this.userId = props.userId;
|
|
195
204
|
this.createdAt = props.createdAt;
|
|
196
205
|
this.createdBy = props.createdBy;
|
|
@@ -200,7 +209,7 @@ class FriendIdRemoved {
|
|
|
200
209
|
}
|
|
201
210
|
apply(existing) {
|
|
202
211
|
if (!existing) {
|
|
203
|
-
throw new Error(
|
|
212
|
+
throw new Error("Friend must exist to remove friend ID");
|
|
204
213
|
}
|
|
205
214
|
const existingFriend = existing;
|
|
206
215
|
return {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { GroupCreated, GroupNameChanged, GroupDescriptionChanged, GroupMembersAdded, GroupMembersRemoved, GroupDeleted, GroupModel, GroupEvent } from
|
|
2
|
-
import { GroupModelStore } from
|
|
3
|
-
import { FriendModelStore } from
|
|
4
|
-
import { UserModelStore } from
|
|
5
|
-
import { GroupEventStore } from
|
|
6
|
-
import { FriendEventStore } from
|
|
7
|
-
import { ActivityEventHandler } from
|
|
1
|
+
import { GroupCreated, GroupNameChanged, GroupDescriptionChanged, GroupMembersAdded, GroupMembersRemoved, GroupDeleted, GroupModel, GroupEvent } from ".";
|
|
2
|
+
import { GroupModelStore } from ".";
|
|
3
|
+
import { FriendModelStore } from ".";
|
|
4
|
+
import { UserModelStore } from ".";
|
|
5
|
+
import { GroupEventStore } from ".";
|
|
6
|
+
import { FriendEventStore } from ".";
|
|
7
|
+
import { ActivityEventHandler } from "./ActivityEventHandler";
|
|
8
8
|
export declare class GroupEventHandler {
|
|
9
9
|
private modelStore;
|
|
10
10
|
private friendModelStore;
|
|
@@ -13,6 +13,7 @@ export declare class GroupEventHandler {
|
|
|
13
13
|
private friendEventStore;
|
|
14
14
|
private activityEventHandler?;
|
|
15
15
|
constructor(modelStore: GroupModelStore, friendModelStore: FriendModelStore, userModelStore: UserModelStore, groupEventStore: GroupEventStore, friendEventStore: FriendEventStore, activityEventHandler?: ActivityEventHandler | undefined);
|
|
16
|
+
private shouldSkipSave;
|
|
16
17
|
handleEvent(event: GroupEvent): Promise<GroupModel>;
|
|
17
18
|
private ensureBidirectionalFriendship;
|
|
18
19
|
handleGroupCreated(event: GroupCreated): Promise<GroupModel>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAEV,UAAU,
|
|
1
|
+
{"version":3,"file":"GroupEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EAEV,UAAU,EAEb,MAAM,GAAG,CAAC;AACX,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,qBAAa,iBAAiB;IAEtB,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;IAahB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YAgC3C,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"}
|
|
@@ -4,6 +4,7 @@ exports.GroupEventHandler = void 0;
|
|
|
4
4
|
const _1 = require(".");
|
|
5
5
|
const DomainEvents_1 = require("./common/DomainEvents");
|
|
6
6
|
const uuid_1 = require("uuid");
|
|
7
|
+
const EventProcessorSDK_1 = require("./EventProcessorSDK");
|
|
7
8
|
class GroupEventHandler {
|
|
8
9
|
constructor(modelStore, friendModelStore, userModelStore, groupEventStore, friendEventStore, activityEventHandler) {
|
|
9
10
|
this.modelStore = modelStore;
|
|
@@ -13,23 +14,30 @@ class GroupEventHandler {
|
|
|
13
14
|
this.friendEventStore = friendEventStore;
|
|
14
15
|
this.activityEventHandler = activityEventHandler;
|
|
15
16
|
}
|
|
17
|
+
shouldSkipSave(existingModel, updatedModel) {
|
|
18
|
+
if (!existingModel) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return (existingModel.streamId === updatedModel.streamId &&
|
|
22
|
+
existingModel.version === updatedModel.version);
|
|
23
|
+
}
|
|
16
24
|
async handleEvent(event) {
|
|
17
25
|
const eventType = event.constructor.name;
|
|
18
26
|
if (!(0, DomainEvents_1.isValidGroupEventType)(eventType)) {
|
|
19
27
|
throw new Error(`Unknown group event type: ${eventType}`);
|
|
20
28
|
}
|
|
21
29
|
switch (eventType) {
|
|
22
|
-
case
|
|
30
|
+
case "GroupCreated":
|
|
23
31
|
return await this.handleGroupCreated(event);
|
|
24
|
-
case
|
|
32
|
+
case "GroupNameChanged":
|
|
25
33
|
return await this.handleGroupNameChanged(event);
|
|
26
|
-
case
|
|
34
|
+
case "GroupDescriptionChanged":
|
|
27
35
|
return await this.handleGroupDescriptionChanged(event);
|
|
28
|
-
case
|
|
36
|
+
case "GroupMembersAdded":
|
|
29
37
|
return await this.handleGroupMembersAdded(event);
|
|
30
|
-
case
|
|
38
|
+
case "GroupMembersRemoved":
|
|
31
39
|
return await this.handleGroupMembersRemoved(event);
|
|
32
|
-
case
|
|
40
|
+
case "GroupDeleted":
|
|
33
41
|
return await this.handleGroupDeleted(event);
|
|
34
42
|
default:
|
|
35
43
|
throw new Error(`Unknown group event type: ${eventType}`);
|
|
@@ -44,8 +52,9 @@ class GroupEventHandler {
|
|
|
44
52
|
}
|
|
45
53
|
const existingFriend1to2 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId1, userId2);
|
|
46
54
|
if (!existingFriend1to2) {
|
|
47
|
-
const friendStreamId =
|
|
55
|
+
const friendStreamId = (0, uuid_1.v4)();
|
|
48
56
|
const friendCreatedEvent = new _1.FriendCreated({
|
|
57
|
+
eventId: (0, uuid_1.v4)(),
|
|
49
58
|
userId: userId1,
|
|
50
59
|
friendEmail: user2.email,
|
|
51
60
|
friendPhoneNumber: user2.phoneNumber,
|
|
@@ -60,12 +69,15 @@ class GroupEventHandler {
|
|
|
60
69
|
});
|
|
61
70
|
await this.friendEventStore.addEvent(friendCreatedEvent);
|
|
62
71
|
const friendModel = friendCreatedEvent.apply(undefined);
|
|
63
|
-
|
|
72
|
+
if (!this.shouldSkipSave(undefined, friendModel)) {
|
|
73
|
+
await this.friendModelStore.save(friendModel);
|
|
74
|
+
}
|
|
64
75
|
}
|
|
65
76
|
const existingFriend2to1 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId2, userId1);
|
|
66
77
|
if (!existingFriend2to1) {
|
|
67
|
-
const friendStreamId =
|
|
78
|
+
const friendStreamId = (0, uuid_1.v4)();
|
|
68
79
|
const friendCreatedEvent = new _1.FriendCreated({
|
|
80
|
+
eventId: (0, uuid_1.v4)(),
|
|
69
81
|
userId: userId2,
|
|
70
82
|
friendEmail: user1.email,
|
|
71
83
|
friendPhoneNumber: user1.phoneNumber,
|
|
@@ -80,15 +92,22 @@ class GroupEventHandler {
|
|
|
80
92
|
});
|
|
81
93
|
await this.friendEventStore.addEvent(friendCreatedEvent);
|
|
82
94
|
const friendModel = friendCreatedEvent.apply(undefined);
|
|
83
|
-
|
|
95
|
+
if (!this.shouldSkipSave(undefined, friendModel)) {
|
|
96
|
+
await this.friendModelStore.save(friendModel);
|
|
97
|
+
}
|
|
84
98
|
}
|
|
85
99
|
}
|
|
86
100
|
async handleGroupCreated(event) {
|
|
87
101
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
88
102
|
const updatedModel = event.apply(existingModel);
|
|
89
|
-
|
|
103
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
104
|
+
await this.modelStore.save(updatedModel);
|
|
105
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
106
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
90
109
|
const allMemberIds = event.members ?? [];
|
|
91
|
-
const otherMembers = allMemberIds.filter(id => id !== event.userId);
|
|
110
|
+
const otherMembers = allMemberIds.filter((id) => id !== event.userId);
|
|
92
111
|
for (const memberId of otherMembers) {
|
|
93
112
|
const memberUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
|
|
94
113
|
if (!memberUser) {
|
|
@@ -100,8 +119,9 @@ class GroupEventHandler {
|
|
|
100
119
|
await this.ensureBidirectionalFriendship(memberId, otherMemberId, event.groupId);
|
|
101
120
|
}
|
|
102
121
|
}
|
|
103
|
-
const perspectiveGroupStreamId =
|
|
122
|
+
const perspectiveGroupStreamId = (0, uuid_1.v4)();
|
|
104
123
|
const perspectiveGroupCreated = new _1.GroupCreated({
|
|
124
|
+
eventId: (0, uuid_1.v4)(),
|
|
105
125
|
userId: memberId,
|
|
106
126
|
groupId: event.groupId,
|
|
107
127
|
name: event.name,
|
|
@@ -115,7 +135,12 @@ class GroupEventHandler {
|
|
|
115
135
|
});
|
|
116
136
|
await this.groupEventStore.addEvent(perspectiveGroupCreated);
|
|
117
137
|
const perspectiveModel = perspectiveGroupCreated.apply(undefined);
|
|
118
|
-
|
|
138
|
+
if (!this.shouldSkipSave(undefined, perspectiveModel)) {
|
|
139
|
+
await this.modelStore.save(perspectiveModel);
|
|
140
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
141
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", perspectiveModel);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
119
144
|
}
|
|
120
145
|
if (this.activityEventHandler) {
|
|
121
146
|
await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
|
|
@@ -125,11 +150,17 @@ class GroupEventHandler {
|
|
|
125
150
|
async handleGroupNameChanged(event) {
|
|
126
151
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
127
152
|
const updatedModel = event.apply(existingModel);
|
|
128
|
-
|
|
153
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
154
|
+
await this.modelStore.save(updatedModel);
|
|
155
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
156
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
129
159
|
const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
|
|
130
160
|
for (const perspective of allPerspectives) {
|
|
131
161
|
if (perspective.streamId !== event.streamId) {
|
|
132
162
|
const perspectiveEvent = new _1.GroupNameChanged({
|
|
163
|
+
eventId: (0, uuid_1.v4)(),
|
|
133
164
|
userId: perspective.userId,
|
|
134
165
|
name: event.name,
|
|
135
166
|
createdAt: new Date(),
|
|
@@ -140,7 +171,12 @@ class GroupEventHandler {
|
|
|
140
171
|
});
|
|
141
172
|
await this.groupEventStore.addEvent(perspectiveEvent);
|
|
142
173
|
const updatedPerspective = perspectiveEvent.apply(perspective);
|
|
143
|
-
|
|
174
|
+
if (!this.shouldSkipSave(perspective, updatedPerspective)) {
|
|
175
|
+
await this.modelStore.save(updatedPerspective);
|
|
176
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
177
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
144
180
|
}
|
|
145
181
|
}
|
|
146
182
|
if (this.activityEventHandler) {
|
|
@@ -151,11 +187,17 @@ class GroupEventHandler {
|
|
|
151
187
|
async handleGroupDescriptionChanged(event) {
|
|
152
188
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
153
189
|
const updatedModel = event.apply(existingModel);
|
|
154
|
-
|
|
190
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
191
|
+
await this.modelStore.save(updatedModel);
|
|
192
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
193
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
155
196
|
const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
|
|
156
197
|
for (const perspective of allPerspectives) {
|
|
157
198
|
if (perspective.streamId !== event.streamId) {
|
|
158
199
|
const perspectiveEvent = new _1.GroupDescriptionChanged({
|
|
200
|
+
eventId: (0, uuid_1.v4)(),
|
|
159
201
|
userId: perspective.userId,
|
|
160
202
|
description: event.description,
|
|
161
203
|
createdAt: new Date(),
|
|
@@ -166,7 +208,12 @@ class GroupEventHandler {
|
|
|
166
208
|
});
|
|
167
209
|
await this.groupEventStore.addEvent(perspectiveEvent);
|
|
168
210
|
const updatedPerspective = perspectiveEvent.apply(perspective);
|
|
169
|
-
|
|
211
|
+
if (!this.shouldSkipSave(perspective, updatedPerspective)) {
|
|
212
|
+
await this.modelStore.save(updatedPerspective);
|
|
213
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
214
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
170
217
|
}
|
|
171
218
|
}
|
|
172
219
|
if (this.activityEventHandler) {
|
|
@@ -180,7 +227,12 @@ class GroupEventHandler {
|
|
|
180
227
|
throw new Error(`Group model not found for streamId ${event.streamId}`);
|
|
181
228
|
}
|
|
182
229
|
const updatedModel = event.apply(existingModel);
|
|
183
|
-
|
|
230
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
231
|
+
await this.modelStore.save(updatedModel);
|
|
232
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
233
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
184
236
|
const allMemberIds = updatedModel.members ?? [];
|
|
185
237
|
for (const memberId of event.members) {
|
|
186
238
|
const memberUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
|
|
@@ -193,8 +245,9 @@ class GroupEventHandler {
|
|
|
193
245
|
await this.ensureBidirectionalFriendship(memberId, otherMemberId, existingModel.groupId);
|
|
194
246
|
}
|
|
195
247
|
}
|
|
196
|
-
const perspectiveGroupStreamId =
|
|
248
|
+
const perspectiveGroupStreamId = (0, uuid_1.v4)();
|
|
197
249
|
const perspectiveGroupCreated = new _1.GroupCreated({
|
|
250
|
+
eventId: (0, uuid_1.v4)(),
|
|
198
251
|
userId: memberId,
|
|
199
252
|
groupId: existingModel.groupId,
|
|
200
253
|
name: existingModel.name,
|
|
@@ -208,12 +261,19 @@ class GroupEventHandler {
|
|
|
208
261
|
});
|
|
209
262
|
await this.groupEventStore.addEvent(perspectiveGroupCreated);
|
|
210
263
|
const perspectiveModel = perspectiveGroupCreated.apply(undefined);
|
|
211
|
-
|
|
264
|
+
if (!this.shouldSkipSave(undefined, perspectiveModel)) {
|
|
265
|
+
await this.modelStore.save(perspectiveModel);
|
|
266
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
267
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", perspectiveModel);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
212
270
|
}
|
|
213
271
|
const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
|
|
214
272
|
for (const perspective of allPerspectives) {
|
|
215
|
-
if (perspective.streamId !== event.streamId &&
|
|
273
|
+
if (perspective.streamId !== event.streamId &&
|
|
274
|
+
!event.members.includes(perspective.userId)) {
|
|
216
275
|
const perspectiveEvent = new _1.GroupMembersAdded({
|
|
276
|
+
eventId: (0, uuid_1.v4)(),
|
|
217
277
|
userId: perspective.userId,
|
|
218
278
|
members: event.members,
|
|
219
279
|
createdAt: new Date(),
|
|
@@ -224,7 +284,12 @@ class GroupEventHandler {
|
|
|
224
284
|
});
|
|
225
285
|
await this.groupEventStore.addEvent(perspectiveEvent);
|
|
226
286
|
const updatedPerspective = perspectiveEvent.apply(perspective);
|
|
227
|
-
|
|
287
|
+
if (!this.shouldSkipSave(perspective, updatedPerspective)) {
|
|
288
|
+
await this.modelStore.save(updatedPerspective);
|
|
289
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
290
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
228
293
|
}
|
|
229
294
|
}
|
|
230
295
|
if (this.activityEventHandler) {
|
|
@@ -235,11 +300,17 @@ class GroupEventHandler {
|
|
|
235
300
|
async handleGroupMembersRemoved(event) {
|
|
236
301
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
237
302
|
const updatedModel = event.apply(existingModel);
|
|
238
|
-
|
|
303
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
304
|
+
await this.modelStore.save(updatedModel);
|
|
305
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
306
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
239
309
|
const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
|
|
240
310
|
for (const perspective of allPerspectives) {
|
|
241
311
|
if (perspective.streamId !== event.streamId) {
|
|
242
312
|
const perspectiveEvent = new _1.GroupMembersRemoved({
|
|
313
|
+
eventId: (0, uuid_1.v4)(),
|
|
243
314
|
userId: perspective.userId,
|
|
244
315
|
members: event.members,
|
|
245
316
|
createdAt: new Date(),
|
|
@@ -250,7 +321,12 @@ class GroupEventHandler {
|
|
|
250
321
|
});
|
|
251
322
|
await this.groupEventStore.addEvent(perspectiveEvent);
|
|
252
323
|
const updatedPerspective = perspectiveEvent.apply(perspective);
|
|
253
|
-
|
|
324
|
+
if (!this.shouldSkipSave(perspective, updatedPerspective)) {
|
|
325
|
+
await this.modelStore.save(updatedPerspective);
|
|
326
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
327
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedPerspective);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
254
330
|
}
|
|
255
331
|
}
|
|
256
332
|
if (this.activityEventHandler) {
|
|
@@ -261,7 +337,12 @@ class GroupEventHandler {
|
|
|
261
337
|
async handleGroupDeleted(event) {
|
|
262
338
|
const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
|
|
263
339
|
const updatedModel = event.apply(existingModel);
|
|
264
|
-
|
|
340
|
+
if (!this.shouldSkipSave(existingModel, updatedModel)) {
|
|
341
|
+
await this.modelStore.save(updatedModel);
|
|
342
|
+
if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
|
|
343
|
+
EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupModel", updatedModel);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
265
346
|
if (this.activityEventHandler) {
|
|
266
347
|
await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
|
|
267
348
|
}
|
package/dist/GroupEvents.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { GroupEvent } from
|
|
2
|
-
import { Model } from
|
|
3
|
-
import { ActivityLogCreatedProps } from
|
|
1
|
+
import { GroupEvent } from "./common/DomainEvents";
|
|
2
|
+
import { Model } from "./common/Model";
|
|
3
|
+
import { ActivityLogCreatedProps } from "./ActivityLogEvents";
|
|
4
4
|
export interface GroupModel extends Model {
|
|
5
5
|
groupId: string;
|
|
6
6
|
name: string;
|
|
@@ -12,6 +12,7 @@ export interface GroupModel extends Model {
|
|
|
12
12
|
updatedBy: string;
|
|
13
13
|
}
|
|
14
14
|
export interface GroupCreatedProps {
|
|
15
|
+
eventId: string;
|
|
15
16
|
userId: string;
|
|
16
17
|
groupId: string;
|
|
17
18
|
name: string;
|
|
@@ -24,6 +25,7 @@ export interface GroupCreatedProps {
|
|
|
24
25
|
systemGenerated: boolean;
|
|
25
26
|
}
|
|
26
27
|
export declare class GroupCreated implements GroupEvent {
|
|
28
|
+
eventId: string;
|
|
27
29
|
userId: string;
|
|
28
30
|
groupId: string;
|
|
29
31
|
name: string;
|
|
@@ -39,6 +41,7 @@ export declare class GroupCreated implements GroupEvent {
|
|
|
39
41
|
activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
40
42
|
}
|
|
41
43
|
export interface GroupNameChangedProps {
|
|
44
|
+
eventId: string;
|
|
42
45
|
userId: string;
|
|
43
46
|
name: string;
|
|
44
47
|
createdAt: Date;
|
|
@@ -48,6 +51,7 @@ export interface GroupNameChangedProps {
|
|
|
48
51
|
systemGenerated: boolean;
|
|
49
52
|
}
|
|
50
53
|
export declare class GroupNameChanged implements GroupEvent {
|
|
54
|
+
eventId: string;
|
|
51
55
|
userId: string;
|
|
52
56
|
name: string;
|
|
53
57
|
createdAt: Date;
|
|
@@ -60,6 +64,7 @@ export declare class GroupNameChanged implements GroupEvent {
|
|
|
60
64
|
activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
61
65
|
}
|
|
62
66
|
export interface GroupDescriptionChangedProps {
|
|
67
|
+
eventId: string;
|
|
63
68
|
userId: string;
|
|
64
69
|
description?: string;
|
|
65
70
|
createdAt: Date;
|
|
@@ -69,6 +74,7 @@ export interface GroupDescriptionChangedProps {
|
|
|
69
74
|
systemGenerated: boolean;
|
|
70
75
|
}
|
|
71
76
|
export declare class GroupDescriptionChanged implements GroupEvent {
|
|
77
|
+
eventId: string;
|
|
72
78
|
userId: string;
|
|
73
79
|
description?: string;
|
|
74
80
|
createdAt: Date;
|
|
@@ -81,6 +87,7 @@ export declare class GroupDescriptionChanged implements GroupEvent {
|
|
|
81
87
|
activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
82
88
|
}
|
|
83
89
|
export interface GroupMembersAddedProps {
|
|
90
|
+
eventId: string;
|
|
84
91
|
userId: string;
|
|
85
92
|
members: string[];
|
|
86
93
|
createdAt: Date;
|
|
@@ -90,6 +97,7 @@ export interface GroupMembersAddedProps {
|
|
|
90
97
|
systemGenerated: boolean;
|
|
91
98
|
}
|
|
92
99
|
export declare class GroupMembersAdded implements GroupEvent {
|
|
100
|
+
eventId: string;
|
|
93
101
|
userId: string;
|
|
94
102
|
members: string[];
|
|
95
103
|
createdAt: Date;
|
|
@@ -102,6 +110,7 @@ export declare class GroupMembersAdded implements GroupEvent {
|
|
|
102
110
|
activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
103
111
|
}
|
|
104
112
|
export interface GroupMembersRemovedProps {
|
|
113
|
+
eventId: string;
|
|
105
114
|
userId: string;
|
|
106
115
|
members: string[];
|
|
107
116
|
createdAt: Date;
|
|
@@ -111,6 +120,7 @@ export interface GroupMembersRemovedProps {
|
|
|
111
120
|
systemGenerated: boolean;
|
|
112
121
|
}
|
|
113
122
|
export declare class GroupMembersRemoved implements GroupEvent {
|
|
123
|
+
eventId: string;
|
|
114
124
|
userId: string;
|
|
115
125
|
members: string[];
|
|
116
126
|
createdAt: Date;
|
|
@@ -123,6 +133,7 @@ export declare class GroupMembersRemoved implements GroupEvent {
|
|
|
123
133
|
activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
|
|
124
134
|
}
|
|
125
135
|
export interface GroupDeletedProps {
|
|
136
|
+
eventId: string;
|
|
126
137
|
userId: string;
|
|
127
138
|
createdAt: Date;
|
|
128
139
|
createdBy: string;
|
|
@@ -131,6 +142,7 @@ export interface GroupDeletedProps {
|
|
|
131
142
|
systemGenerated: boolean;
|
|
132
143
|
}
|
|
133
144
|
export declare class GroupDeleted implements GroupEvent {
|
|
145
|
+
eventId: string;
|
|
134
146
|
userId: string;
|
|
135
147
|
createdAt: Date;
|
|
136
148
|
createdBy: string;
|