@zeeshan60/event-processor 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/ActivityEventHandler.d.ts +12 -0
  2. package/dist/ActivityEventHandler.d.ts.map +1 -0
  3. package/dist/ActivityEventHandler.js +35 -0
  4. package/dist/ActivityLogEvents.d.ts +2 -0
  5. package/dist/ActivityLogEvents.d.ts.map +1 -1
  6. package/dist/ActivityLogEvents.js +1 -0
  7. package/dist/FriendEventHandler.d.ts +21 -0
  8. package/dist/FriendEventHandler.d.ts.map +1 -0
  9. package/dist/FriendEventHandler.js +180 -0
  10. package/dist/FriendEvents.d.ts +10 -0
  11. package/dist/FriendEvents.d.ts.map +1 -1
  12. package/dist/FriendEvents.js +9 -0
  13. package/dist/GroupEventHandler.d.ts +25 -0
  14. package/dist/GroupEventHandler.d.ts.map +1 -0
  15. package/dist/GroupEventHandler.js +278 -0
  16. package/dist/GroupEvents.d.ts +12 -0
  17. package/dist/GroupEvents.d.ts.map +1 -1
  18. package/dist/GroupEvents.js +12 -0
  19. package/dist/GroupTransactionEventHandler.d.ts +25 -0
  20. package/dist/GroupTransactionEventHandler.d.ts.map +1 -0
  21. package/dist/GroupTransactionEventHandler.js +303 -0
  22. package/dist/GroupTransactionEvents.d.ts +18 -0
  23. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  24. package/dist/GroupTransactionEvents.js +18 -0
  25. package/dist/TransactionEventHandler.d.ts +11 -7
  26. package/dist/TransactionEventHandler.d.ts.map +1 -1
  27. package/dist/TransactionEventHandler.js +146 -10
  28. package/dist/TransactionEvents.d.ts +16 -0
  29. package/dist/TransactionEvents.d.ts.map +1 -1
  30. package/dist/TransactionEvents.js +16 -0
  31. package/dist/UserEventHandler.d.ts +17 -0
  32. package/dist/UserEventHandler.d.ts.map +1 -0
  33. package/dist/UserEventHandler.js +82 -0
  34. package/dist/UserEvents.d.ts +16 -0
  35. package/dist/UserEvents.d.ts.map +1 -1
  36. package/dist/UserEvents.js +12 -0
  37. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +9 -0
  38. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -0
  39. package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +21 -0
  40. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +11 -0
  41. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -0
  42. package/dist/{store/InMemoryModelStore.js → __tests__/test-helpers/IMActivityLogModelStore.js} +14 -13
  43. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +9 -0
  44. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -0
  45. package/dist/__tests__/test-helpers/IMFriendEventStore.js +20 -0
  46. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +16 -0
  47. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -0
  48. package/dist/__tests__/test-helpers/IMFriendModelStore.js +74 -0
  49. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +9 -0
  50. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -0
  51. package/dist/__tests__/test-helpers/IMGroupEventStore.js +20 -0
  52. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +14 -0
  53. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -0
  54. package/dist/__tests__/test-helpers/IMGroupModelStore.js +53 -0
  55. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +9 -0
  56. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -0
  57. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +22 -0
  58. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +14 -0
  59. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -0
  60. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +55 -0
  61. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +10 -0
  62. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -0
  63. package/dist/__tests__/test-helpers/IMTransactionEventStore.js +23 -0
  64. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +14 -0
  65. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -0
  66. package/dist/__tests__/test-helpers/IMTransactionModelStore.js +56 -0
  67. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +10 -0
  68. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -0
  69. package/dist/{store/InMemoryEventStore.js → __tests__/test-helpers/IMUserEventStore.js} +5 -5
  70. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +15 -0
  71. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -0
  72. package/dist/__tests__/test-helpers/IMUserModelStore.js +58 -0
  73. package/dist/common/Event.d.ts +1 -0
  74. package/dist/common/Event.d.ts.map +1 -1
  75. package/dist/events.d.ts +30 -0
  76. package/dist/events.d.ts.map +1 -0
  77. package/dist/events.js +60 -0
  78. package/dist/index.d.ts +1 -21
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +16 -86
  81. package/dist/utils/splitTypeUtils.d.ts +7 -0
  82. package/dist/utils/splitTypeUtils.d.ts.map +1 -0
  83. package/dist/utils/splitTypeUtils.js +45 -0
  84. package/dist/utils/userPathUtils.d.ts +6 -0
  85. package/dist/utils/userPathUtils.d.ts.map +1 -0
  86. package/dist/utils/userPathUtils.js +16 -0
  87. package/package.json +1 -1
  88. package/dist/common/EventStore.d.ts +0 -5
  89. package/dist/common/EventStore.d.ts.map +0 -1
  90. package/dist/common/EventStore.js +0 -6
  91. package/dist/common/ModelStore.d.ts +0 -6
  92. package/dist/common/ModelStore.d.ts.map +0 -1
  93. package/dist/common/ModelStore.js +0 -6
  94. package/dist/store/InMemoryEventStore.d.ts +0 -10
  95. package/dist/store/InMemoryEventStore.d.ts.map +0 -1
  96. package/dist/store/InMemoryModelStore.d.ts +0 -11
  97. package/dist/store/InMemoryModelStore.d.ts.map +0 -1
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupEventHandler = void 0;
4
+ const _1 = require(".");
5
+ const uuid_1 = require("uuid");
6
+ class GroupEventHandler {
7
+ constructor(modelStore, friendModelStore, userModelStore, groupEventStore, friendEventStore, activityEventHandler) {
8
+ this.modelStore = modelStore;
9
+ this.friendModelStore = friendModelStore;
10
+ this.userModelStore = userModelStore;
11
+ this.groupEventStore = groupEventStore;
12
+ this.friendEventStore = friendEventStore;
13
+ this.activityEventHandler = activityEventHandler;
14
+ }
15
+ async handleEvent(event) {
16
+ const validEventTypes = [
17
+ 'GroupCreated',
18
+ 'GroupNameChanged',
19
+ 'GroupDescriptionChanged',
20
+ 'GroupMembersAdded',
21
+ 'GroupMembersRemoved',
22
+ 'GroupDeleted'
23
+ ];
24
+ const eventType = event.constructor.name;
25
+ if (!validEventTypes.includes(eventType)) {
26
+ throw new Error(`Unknown group event type: ${eventType}`);
27
+ }
28
+ switch (eventType) {
29
+ case 'GroupCreated':
30
+ return await this.handleGroupCreated(event);
31
+ case 'GroupNameChanged':
32
+ return await this.handleGroupNameChanged(event);
33
+ case 'GroupDescriptionChanged':
34
+ return await this.handleGroupDescriptionChanged(event);
35
+ case 'GroupMembersAdded':
36
+ return await this.handleGroupMembersAdded(event);
37
+ case 'GroupMembersRemoved':
38
+ return await this.handleGroupMembersRemoved(event);
39
+ case 'GroupDeleted':
40
+ return await this.handleGroupDeleted(event);
41
+ default:
42
+ throw new Error(`Unknown group event type: ${eventType}`);
43
+ }
44
+ }
45
+ async ensureBidirectionalFriendship(userId1, userId2, groupId) {
46
+ const user1 = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId1);
47
+ const user2 = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId2);
48
+ if (!user1 || !user2) {
49
+ console.log(`Cannot create friendship: user ${userId1} or ${userId2} not found`);
50
+ return;
51
+ }
52
+ const existingFriend1to2 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId1, userId2);
53
+ if (!existingFriend1to2) {
54
+ const friendStreamId = `stream-${(0, uuid_1.v4)()}`;
55
+ const friendCreatedEvent = new _1.FriendCreated({
56
+ userId: userId1,
57
+ friendEmail: user2.email,
58
+ friendPhoneNumber: user2.phoneNumber,
59
+ friendDisplayName: user2.displayName,
60
+ friendId: userId2,
61
+ groupId: groupId,
62
+ createdAt: new Date(),
63
+ createdBy: userId1,
64
+ streamId: friendStreamId,
65
+ version: 1,
66
+ systemGenerated: true,
67
+ });
68
+ await this.friendEventStore.addEvent(userId1, friendCreatedEvent);
69
+ const friendModel = friendCreatedEvent.apply(undefined);
70
+ await this.friendModelStore.save(friendModel);
71
+ }
72
+ const existingFriend2to1 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId2, userId1);
73
+ if (!existingFriend2to1) {
74
+ const friendStreamId = `stream-${(0, uuid_1.v4)()}`;
75
+ const friendCreatedEvent = new _1.FriendCreated({
76
+ userId: userId2,
77
+ friendEmail: user1.email,
78
+ friendPhoneNumber: user1.phoneNumber,
79
+ friendDisplayName: user1.displayName,
80
+ friendId: userId1,
81
+ groupId: groupId,
82
+ createdAt: new Date(),
83
+ createdBy: userId2,
84
+ streamId: friendStreamId,
85
+ version: 1,
86
+ systemGenerated: true,
87
+ });
88
+ await this.friendEventStore.addEvent(userId2, friendCreatedEvent);
89
+ const friendModel = friendCreatedEvent.apply(undefined);
90
+ await this.friendModelStore.save(friendModel);
91
+ }
92
+ }
93
+ async handleGroupCreated(event) {
94
+ const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
95
+ const updatedModel = event.apply(existingModel);
96
+ await this.modelStore.save(updatedModel);
97
+ const allMemberIds = event.members ?? [];
98
+ const otherMembers = allMemberIds.filter(id => id !== event.userId);
99
+ for (const memberId of otherMembers) {
100
+ const memberUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
101
+ if (!memberUser) {
102
+ console.log(`Member ${memberId} not found, skipping`);
103
+ continue;
104
+ }
105
+ for (const otherMemberId of allMemberIds) {
106
+ if (memberId !== otherMemberId) {
107
+ await this.ensureBidirectionalFriendship(memberId, otherMemberId, event.groupId);
108
+ }
109
+ }
110
+ const perspectiveGroupStreamId = `stream-${(0, uuid_1.v4)()}`;
111
+ const perspectiveGroupCreated = new _1.GroupCreated({
112
+ userId: memberId,
113
+ groupId: event.groupId,
114
+ name: event.name,
115
+ description: event.description,
116
+ members: event.members,
117
+ createdAt: new Date(),
118
+ createdBy: memberId,
119
+ streamId: perspectiveGroupStreamId,
120
+ version: 1,
121
+ systemGenerated: true,
122
+ });
123
+ await this.groupEventStore.addEvent(memberId, perspectiveGroupCreated);
124
+ const perspectiveModel = perspectiveGroupCreated.apply(undefined);
125
+ await this.modelStore.save(perspectiveModel);
126
+ }
127
+ if (this.activityEventHandler) {
128
+ await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
129
+ }
130
+ return updatedModel;
131
+ }
132
+ async handleGroupNameChanged(event) {
133
+ const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
134
+ const updatedModel = event.apply(existingModel);
135
+ await this.modelStore.save(updatedModel);
136
+ const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
137
+ for (const perspective of allPerspectives) {
138
+ if (perspective.streamId !== event.streamId) {
139
+ const perspectiveEvent = new _1.GroupNameChanged({
140
+ userId: perspective.userId,
141
+ name: event.name,
142
+ createdAt: new Date(),
143
+ createdBy: event.createdBy,
144
+ streamId: perspective.streamId,
145
+ version: perspective.version + 1,
146
+ systemGenerated: true,
147
+ });
148
+ await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
149
+ const updatedPerspective = perspectiveEvent.apply(perspective);
150
+ await this.modelStore.save(updatedPerspective);
151
+ }
152
+ }
153
+ if (this.activityEventHandler) {
154
+ await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
155
+ }
156
+ return updatedModel;
157
+ }
158
+ async handleGroupDescriptionChanged(event) {
159
+ const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
160
+ const updatedModel = event.apply(existingModel);
161
+ await this.modelStore.save(updatedModel);
162
+ const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
163
+ for (const perspective of allPerspectives) {
164
+ if (perspective.streamId !== event.streamId) {
165
+ const perspectiveEvent = new _1.GroupDescriptionChanged({
166
+ userId: perspective.userId,
167
+ description: event.description,
168
+ createdAt: new Date(),
169
+ createdBy: event.createdBy,
170
+ streamId: perspective.streamId,
171
+ version: perspective.version + 1,
172
+ systemGenerated: true,
173
+ });
174
+ await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
175
+ const updatedPerspective = perspectiveEvent.apply(perspective);
176
+ await this.modelStore.save(updatedPerspective);
177
+ }
178
+ }
179
+ if (this.activityEventHandler) {
180
+ await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
181
+ }
182
+ return updatedModel;
183
+ }
184
+ async handleGroupMembersAdded(event) {
185
+ const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
186
+ if (!existingModel) {
187
+ throw new Error(`Group model not found for streamId ${event.streamId}`);
188
+ }
189
+ const updatedModel = event.apply(existingModel);
190
+ await this.modelStore.save(updatedModel);
191
+ const allMemberIds = updatedModel.members ?? [];
192
+ for (const memberId of event.members) {
193
+ const memberUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
194
+ if (!memberUser) {
195
+ console.log(`Member ${memberId} not found, skipping`);
196
+ continue;
197
+ }
198
+ for (const otherMemberId of allMemberIds) {
199
+ if (memberId !== otherMemberId) {
200
+ await this.ensureBidirectionalFriendship(memberId, otherMemberId, existingModel.groupId);
201
+ }
202
+ }
203
+ const perspectiveGroupStreamId = `stream-${(0, uuid_1.v4)()}`;
204
+ const perspectiveGroupCreated = new _1.GroupCreated({
205
+ userId: memberId,
206
+ groupId: existingModel.groupId,
207
+ name: existingModel.name,
208
+ description: existingModel.description,
209
+ members: updatedModel.members,
210
+ createdAt: new Date(),
211
+ createdBy: memberId,
212
+ streamId: perspectiveGroupStreamId,
213
+ version: 1,
214
+ systemGenerated: true,
215
+ });
216
+ await this.groupEventStore.addEvent(memberId, perspectiveGroupCreated);
217
+ const perspectiveModel = perspectiveGroupCreated.apply(undefined);
218
+ await this.modelStore.save(perspectiveModel);
219
+ }
220
+ const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
221
+ for (const perspective of allPerspectives) {
222
+ if (perspective.streamId !== event.streamId && !event.members.includes(perspective.userId)) {
223
+ const perspectiveEvent = new _1.GroupMembersAdded({
224
+ userId: perspective.userId,
225
+ members: event.members,
226
+ createdAt: new Date(),
227
+ createdBy: event.createdBy,
228
+ streamId: perspective.streamId,
229
+ version: perspective.version + 1,
230
+ systemGenerated: true,
231
+ });
232
+ await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
233
+ const updatedPerspective = perspectiveEvent.apply(perspective);
234
+ await this.modelStore.save(updatedPerspective);
235
+ }
236
+ }
237
+ if (this.activityEventHandler) {
238
+ await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
239
+ }
240
+ return updatedModel;
241
+ }
242
+ async handleGroupMembersRemoved(event) {
243
+ const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
244
+ const updatedModel = event.apply(existingModel);
245
+ await this.modelStore.save(updatedModel);
246
+ const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
247
+ for (const perspective of allPerspectives) {
248
+ if (perspective.streamId !== event.streamId) {
249
+ const perspectiveEvent = new _1.GroupMembersRemoved({
250
+ userId: perspective.userId,
251
+ members: event.members,
252
+ createdAt: new Date(),
253
+ createdBy: event.createdBy,
254
+ streamId: perspective.streamId,
255
+ version: perspective.version + 1,
256
+ systemGenerated: true,
257
+ });
258
+ await this.groupEventStore.addEvent(perspective.userId, perspectiveEvent);
259
+ const updatedPerspective = perspectiveEvent.apply(perspective);
260
+ await this.modelStore.save(updatedPerspective);
261
+ }
262
+ }
263
+ if (this.activityEventHandler) {
264
+ await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
265
+ }
266
+ return updatedModel;
267
+ }
268
+ async handleGroupDeleted(event) {
269
+ const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
270
+ const updatedModel = event.apply(existingModel);
271
+ await this.modelStore.save(updatedModel);
272
+ if (this.activityEventHandler) {
273
+ await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
274
+ }
275
+ return updatedModel;
276
+ }
277
+ }
278
+ exports.GroupEventHandler = GroupEventHandler;
@@ -29,6 +29,7 @@ export interface GroupCreatedProps {
29
29
  createdBy: string;
30
30
  streamId: string;
31
31
  version: number;
32
+ systemGenerated: boolean;
32
33
  }
33
34
  export declare class GroupCreated implements Event {
34
35
  userId: string;
@@ -40,6 +41,7 @@ export declare class GroupCreated implements Event {
40
41
  createdBy: string;
41
42
  streamId: string;
42
43
  version: number;
44
+ systemGenerated: boolean;
43
45
  constructor(props: GroupCreatedProps);
44
46
  apply(_existing?: Model): GroupModel;
45
47
  activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
@@ -51,6 +53,7 @@ export interface GroupNameChangedProps {
51
53
  createdBy: string;
52
54
  streamId: string;
53
55
  version: number;
56
+ systemGenerated: boolean;
54
57
  }
55
58
  export declare class GroupNameChanged implements Event {
56
59
  userId?: string;
@@ -59,6 +62,7 @@ export declare class GroupNameChanged implements Event {
59
62
  createdBy: string;
60
63
  streamId: string;
61
64
  version: number;
65
+ systemGenerated: boolean;
62
66
  constructor(props: GroupNameChangedProps);
63
67
  apply(existing?: Model): GroupModel;
64
68
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
@@ -70,6 +74,7 @@ export interface GroupDescriptionChangedProps {
70
74
  createdBy: string;
71
75
  streamId: string;
72
76
  version: number;
77
+ systemGenerated: boolean;
73
78
  }
74
79
  export declare class GroupDescriptionChanged implements Event {
75
80
  userId?: string;
@@ -78,6 +83,7 @@ export declare class GroupDescriptionChanged implements Event {
78
83
  createdBy: string;
79
84
  streamId: string;
80
85
  version: number;
86
+ systemGenerated: boolean;
81
87
  constructor(props: GroupDescriptionChangedProps);
82
88
  apply(existing?: Model): GroupModel;
83
89
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
@@ -89,6 +95,7 @@ export interface GroupMembersAddedProps {
89
95
  createdBy: string;
90
96
  streamId: string;
91
97
  version: number;
98
+ systemGenerated: boolean;
92
99
  }
93
100
  export declare class GroupMembersAdded implements Event {
94
101
  userId?: string;
@@ -97,6 +104,7 @@ export declare class GroupMembersAdded implements Event {
97
104
  createdBy: string;
98
105
  streamId: string;
99
106
  version: number;
107
+ systemGenerated: boolean;
100
108
  constructor(props: GroupMembersAddedProps);
101
109
  apply(existing?: Model): GroupModel;
102
110
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
@@ -108,6 +116,7 @@ export interface GroupMembersRemovedProps {
108
116
  createdBy: string;
109
117
  streamId: string;
110
118
  version: number;
119
+ systemGenerated: boolean;
111
120
  }
112
121
  export declare class GroupMembersRemoved implements Event {
113
122
  userId?: string;
@@ -116,6 +125,7 @@ export declare class GroupMembersRemoved implements Event {
116
125
  createdBy: string;
117
126
  streamId: string;
118
127
  version: number;
128
+ systemGenerated: boolean;
119
129
  constructor(props: GroupMembersRemovedProps);
120
130
  apply(existing?: Model): GroupModel;
121
131
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
@@ -126,6 +136,7 @@ export interface GroupDeletedProps {
126
136
  createdBy: string;
127
137
  streamId: string;
128
138
  version: number;
139
+ systemGenerated: boolean;
129
140
  }
130
141
  export declare class GroupDeleted implements Event {
131
142
  userId?: string;
@@ -133,6 +144,7 @@ export declare class GroupDeleted implements Event {
133
144
  createdBy: string;
134
145
  streamId: string;
135
146
  version: number;
147
+ systemGenerated: boolean;
136
148
  constructor(props: GroupDeletedProps);
137
149
  apply(existing?: Model): GroupModel;
138
150
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupEvents.d.ts","sourceRoot":"","sources":["../src/GroupEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupEvents.d.ts","sourceRoot":"","sources":["../src/GroupEvents.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ class GroupCreated {
23
23
  this.createdBy = props.createdBy;
24
24
  this.streamId = props.streamId;
25
25
  this.version = props.version;
26
+ this.systemGenerated = props.systemGenerated;
26
27
  }
27
28
  apply(_existing) {
28
29
  return {
@@ -53,6 +54,7 @@ class GroupCreated {
53
54
  createdAt: this.createdAt,
54
55
  createdBy: this.createdBy,
55
56
  streamId: (0, uuid_1.v4)(),
57
+ systemGenerated: true,
56
58
  version: 1,
57
59
  };
58
60
  }
@@ -66,6 +68,7 @@ class GroupNameChanged {
66
68
  this.createdBy = props.createdBy;
67
69
  this.streamId = props.streamId;
68
70
  this.version = props.version;
71
+ this.systemGenerated = props.systemGenerated;
69
72
  }
70
73
  apply(existing) {
71
74
  if (!existing) {
@@ -97,6 +100,7 @@ class GroupNameChanged {
97
100
  createdAt: this.createdAt,
98
101
  createdBy: this.createdBy,
99
102
  streamId: (0, uuid_1.v4)(),
103
+ systemGenerated: true,
100
104
  version: 1,
101
105
  };
102
106
  }
@@ -110,6 +114,7 @@ class GroupDescriptionChanged {
110
114
  this.createdBy = props.createdBy;
111
115
  this.streamId = props.streamId;
112
116
  this.version = props.version;
117
+ this.systemGenerated = props.systemGenerated;
113
118
  }
114
119
  apply(existing) {
115
120
  if (!existing) {
@@ -141,6 +146,7 @@ class GroupDescriptionChanged {
141
146
  createdAt: this.createdAt,
142
147
  createdBy: this.createdBy,
143
148
  streamId: (0, uuid_1.v4)(),
149
+ systemGenerated: true,
144
150
  version: 1,
145
151
  };
146
152
  }
@@ -154,6 +160,7 @@ class GroupMembersAdded {
154
160
  this.createdBy = props.createdBy;
155
161
  this.streamId = props.streamId;
156
162
  this.version = props.version;
163
+ this.systemGenerated = props.systemGenerated;
157
164
  }
158
165
  apply(existing) {
159
166
  if (!existing) {
@@ -190,6 +197,7 @@ class GroupMembersAdded {
190
197
  createdAt: this.createdAt,
191
198
  createdBy: this.createdBy,
192
199
  streamId: (0, uuid_1.v4)(),
200
+ systemGenerated: true,
193
201
  version: 1,
194
202
  };
195
203
  }
@@ -203,6 +211,7 @@ class GroupMembersRemoved {
203
211
  this.createdBy = props.createdBy;
204
212
  this.streamId = props.streamId;
205
213
  this.version = props.version;
214
+ this.systemGenerated = props.systemGenerated;
206
215
  }
207
216
  apply(existing) {
208
217
  if (!existing) {
@@ -239,6 +248,7 @@ class GroupMembersRemoved {
239
248
  createdAt: this.createdAt,
240
249
  createdBy: this.createdBy,
241
250
  streamId: (0, uuid_1.v4)(),
251
+ systemGenerated: true,
242
252
  version: 1,
243
253
  };
244
254
  }
@@ -251,6 +261,7 @@ class GroupDeleted {
251
261
  this.createdBy = props.createdBy;
252
262
  this.streamId = props.streamId;
253
263
  this.version = props.version;
264
+ this.systemGenerated = props.systemGenerated;
254
265
  }
255
266
  apply(existing) {
256
267
  if (!existing) {
@@ -282,6 +293,7 @@ class GroupDeleted {
282
293
  createdAt: this.createdAt,
283
294
  createdBy: this.createdBy,
284
295
  streamId: (0, uuid_1.v4)(),
296
+ systemGenerated: true,
285
297
  version: 1,
286
298
  };
287
299
  }
@@ -0,0 +1,25 @@
1
+ import { GroupTransactionCreated, GroupTransactionSplitDetailsChanged, GroupTransactionModel, Event } from '.';
2
+ import { GroupTransactionModelStore } from '.';
3
+ import { GroupTransactionEventStore } from '.';
4
+ import { GroupModelStore } from '.';
5
+ import { TransactionEventStore } from '.';
6
+ import { TransactionModelStore } from '.';
7
+ import { ActivityEventHandler } from './ActivityEventHandler';
8
+ export declare class GroupTransactionEventHandler {
9
+ private modelStore;
10
+ private eventStore;
11
+ private groupModelStore;
12
+ private transactionEventStore;
13
+ private transactionModelStore;
14
+ private activityEventHandler?;
15
+ constructor(modelStore: GroupTransactionModelStore, eventStore: GroupTransactionEventStore, groupModelStore: GroupModelStore, transactionEventStore: TransactionEventStore, transactionModelStore: TransactionModelStore, activityEventHandler?: ActivityEventHandler | undefined);
16
+ handleEvent(event: Event): Promise<GroupTransactionModel>;
17
+ private calculateNetBalances;
18
+ private createFriendTransactions;
19
+ private updateFriendTransactions;
20
+ private calculateRequiredTransactions;
21
+ private updateExistingFriendTransactions;
22
+ handleGroupTransactionCreated(event: GroupTransactionCreated): Promise<GroupTransactionModel>;
23
+ handleGroupTransactionSplitDetailsChanged(event: GroupTransactionSplitDetailsChanged): Promise<GroupTransactionModel>;
24
+ }
25
+ //# sourceMappingURL=GroupTransactionEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupTransactionEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupTransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,mCAAmC,EACnC,qBAAqB,EAIrB,KAAK,EAGR,MAAM,GAAG,CAAC;AACX,OAAO,EAAC,0BAA0B,EAAC,MAAM,GAAG,CAAC;AAC7C,OAAO,EAAC,0BAA0B,EAAC,MAAM,GAAG,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,GAAG,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAC,MAAM,GAAG,CAAC;AACxC,OAAO,EAAC,qBAAqB,EAAC,MAAM,GAAG,CAAC;AACxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAI5D,qBAAa,4BAA4B;IAEjC,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,oBAAoB,CAAC;gBALrB,UAAU,EAAE,0BAA0B,EACtC,UAAU,EAAE,0BAA0B,EACtC,eAAe,EAAE,eAAe,EAChC,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,oBAAoB,CAAC,EAAE,oBAAoB,YAAA;IAGjD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAqB/D,OAAO,CAAC,oBAAoB;YAWd,wBAAwB;YA4ExB,wBAAwB;IAStC,OAAO,CAAC,6BAA6B;YA6CvB,gCAAgC;IAoFxC,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+C7F,yCAAyC,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAqD9H"}