@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.
Files changed (196) hide show
  1. package/dist/ActivityEventHandler.d.ts +5 -4
  2. package/dist/ActivityEventHandler.d.ts.map +1 -1
  3. package/dist/ActivityEventHandler.js +14 -1
  4. package/dist/ActivityLogEvents.d.ts +4 -2
  5. package/dist/ActivityLogEvents.d.ts.map +1 -1
  6. package/dist/ActivityLogEvents.js +1 -0
  7. package/dist/EventProcessorSDK.d.ts +47 -18
  8. package/dist/EventProcessorSDK.d.ts.map +1 -1
  9. package/dist/EventProcessorSDK.js +90 -5
  10. package/dist/FriendEventHandler.d.ts +5 -12
  11. package/dist/FriendEventHandler.d.ts.map +1 -1
  12. package/dist/FriendEventHandler.js +71 -60
  13. package/dist/FriendEvents.d.ts +13 -3
  14. package/dist/FriendEvents.d.ts.map +1 -1
  15. package/dist/FriendEvents.js +16 -7
  16. package/dist/GroupEventHandler.d.ts +8 -7
  17. package/dist/GroupEventHandler.d.ts.map +1 -1
  18. package/dist/GroupEventHandler.js +107 -26
  19. package/dist/GroupEvents.d.ts +15 -3
  20. package/dist/GroupEvents.d.ts.map +1 -1
  21. package/dist/GroupEvents.js +25 -13
  22. package/dist/GroupTransactionEventHandler.d.ts +8 -7
  23. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  24. package/dist/GroupTransactionEventHandler.js +69 -24
  25. package/dist/GroupTransactionEvents.d.ts +22 -4
  26. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  27. package/dist/GroupTransactionEvents.js +39 -21
  28. package/dist/ModelChangeEmitter.d.ts +15 -0
  29. package/dist/ModelChangeEmitter.d.ts.map +1 -0
  30. package/dist/ModelChangeEmitter.js +31 -0
  31. package/dist/TransactionEventHandler.d.ts +3 -5
  32. package/dist/TransactionEventHandler.d.ts.map +1 -1
  33. package/dist/TransactionEventHandler.js +49 -15
  34. package/dist/TransactionEvents.d.ts +24 -8
  35. package/dist/TransactionEvents.d.ts.map +1 -1
  36. package/dist/TransactionEvents.js +38 -22
  37. package/dist/UserEventHandler.d.ts +4 -11
  38. package/dist/UserEventHandler.d.ts.map +1 -1
  39. package/dist/UserEventHandler.js +86 -61
  40. package/dist/UserEvents.d.ts +20 -3
  41. package/dist/UserEvents.d.ts.map +1 -1
  42. package/dist/UserEvents.js +53 -18
  43. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +3 -3
  44. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  45. package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +1 -3
  46. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +3 -3
  47. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
  48. package/dist/__tests__/test-helpers/IMActivityLogModelStore.js +1 -3
  49. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +3 -3
  50. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
  51. package/dist/__tests__/test-helpers/IMFriendEventStore.js +1 -3
  52. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +4 -3
  53. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
  54. package/dist/__tests__/test-helpers/IMFriendModelStore.js +10 -3
  55. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +3 -3
  56. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
  57. package/dist/__tests__/test-helpers/IMGroupEventStore.js +1 -3
  58. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +3 -3
  59. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
  60. package/dist/__tests__/test-helpers/IMGroupModelStore.js +1 -3
  61. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +3 -3
  62. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  63. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +1 -3
  64. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +3 -3
  65. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
  66. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +1 -3
  67. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +3 -3
  68. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  69. package/dist/__tests__/test-helpers/IMTransactionEventStore.js +1 -3
  70. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +3 -3
  71. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
  72. package/dist/__tests__/test-helpers/IMTransactionModelStore.js +1 -3
  73. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +3 -3
  74. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
  75. package/dist/__tests__/test-helpers/IMUserEventStore.js +1 -3
  76. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +3 -3
  77. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
  78. package/dist/__tests__/test-helpers/IMUserModelStore.js +1 -3
  79. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +2 -1
  80. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -1
  81. package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +5 -1
  82. package/dist/client/controllers/FriendController.d.ts +13 -0
  83. package/dist/client/controllers/FriendController.d.ts.map +1 -0
  84. package/dist/client/controllers/FriendController.js +133 -0
  85. package/dist/client/controllers/UserController.d.ts +6 -5
  86. package/dist/client/controllers/UserController.d.ts.map +1 -1
  87. package/dist/client/controllers/UserController.js +89 -22
  88. package/dist/client/handlers/UIEventHandler.d.ts +4 -22
  89. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
  90. package/dist/client/handlers/UIEventHandler.js +59 -38
  91. package/dist/client/handlers/UIFriendEventHandler.d.ts +6 -6
  92. package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -1
  93. package/dist/client/handlers/UIGroupEventHandler.d.ts +7 -7
  94. package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -1
  95. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +7 -7
  96. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -1
  97. package/dist/client/handlers/UITransactionEventHandler.d.ts +5 -5
  98. package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -1
  99. package/dist/client/handlers/UIUserEventHandler.d.ts +4 -4
  100. package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -1
  101. package/dist/common/DomainEvents.d.ts +1 -1
  102. package/dist/common/DomainEvents.d.ts.map +1 -1
  103. package/dist/common/DomainEvents.js +37 -37
  104. package/dist/common/Event.d.ts +3 -2
  105. package/dist/common/Event.d.ts.map +1 -1
  106. package/dist/common/Model.d.ts.map +1 -1
  107. package/dist/common/index.d.ts +2 -2
  108. package/dist/contracts/common/index.d.ts.map +1 -1
  109. package/dist/contracts/expenses/index.d.ts.map +1 -1
  110. package/dist/contracts/friends/index.d.ts.map +1 -1
  111. package/dist/contracts/groups/index.d.ts.map +1 -1
  112. package/dist/contracts/index.d.ts +1 -0
  113. package/dist/contracts/index.d.ts.map +1 -1
  114. package/dist/contracts/index.js +1 -0
  115. package/dist/contracts/shared/index.d.ts.map +1 -1
  116. package/dist/contracts/transactions/index.d.ts.map +1 -1
  117. package/dist/contracts/users/index.d.ts +15 -0
  118. package/dist/contracts/users/index.d.ts.map +1 -0
  119. package/dist/contracts/users/index.js +2 -0
  120. package/dist/converters/eventConverter.d.ts +3 -3
  121. package/dist/converters/eventConverter.d.ts.map +1 -1
  122. package/dist/converters/eventConverter.js +93 -51
  123. package/dist/events.d.ts +29 -29
  124. package/dist/events.d.ts.map +1 -1
  125. package/dist/index.d.ts +15 -13
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +17 -4
  128. package/dist/store/ActivityLogEventStore.d.ts +3 -3
  129. package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
  130. package/dist/store/ActivityLogEventStore.js +0 -4
  131. package/dist/store/ActivityLogModelStore.d.ts +6 -6
  132. package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
  133. package/dist/store/ActivityLogModelStore.js +0 -5
  134. package/dist/store/FriendEventStore.d.ts +3 -3
  135. package/dist/store/FriendEventStore.d.ts.map +1 -1
  136. package/dist/store/FriendEventStore.js +0 -4
  137. package/dist/store/FriendModelStore.d.ts +11 -10
  138. package/dist/store/FriendModelStore.d.ts.map +1 -1
  139. package/dist/store/FriendModelStore.js +0 -5
  140. package/dist/store/GroupEventStore.d.ts +3 -3
  141. package/dist/store/GroupEventStore.d.ts.map +1 -1
  142. package/dist/store/GroupEventStore.js +0 -4
  143. package/dist/store/GroupModelStore.d.ts +8 -8
  144. package/dist/store/GroupModelStore.d.ts.map +1 -1
  145. package/dist/store/GroupModelStore.js +0 -5
  146. package/dist/store/GroupTransactionEventStore.d.ts +3 -3
  147. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
  148. package/dist/store/GroupTransactionEventStore.js +0 -4
  149. package/dist/store/GroupTransactionModelStore.d.ts +8 -8
  150. package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
  151. package/dist/store/GroupTransactionModelStore.js +0 -5
  152. package/dist/store/ModelStore.d.ts +5 -5
  153. package/dist/store/ModelStore.d.ts.map +1 -1
  154. package/dist/store/ModelStore.js +0 -4
  155. package/dist/store/TransactionEventStore.d.ts +3 -3
  156. package/dist/store/TransactionEventStore.d.ts.map +1 -1
  157. package/dist/store/TransactionEventStore.js +0 -4
  158. package/dist/store/TransactionModelStore.d.ts +8 -8
  159. package/dist/store/TransactionModelStore.d.ts.map +1 -1
  160. package/dist/store/TransactionModelStore.js +0 -5
  161. package/dist/store/UserEventStore.d.ts +3 -3
  162. package/dist/store/UserEventStore.d.ts.map +1 -1
  163. package/dist/store/UserEventStore.js +0 -4
  164. package/dist/store/UserModelStore.d.ts +9 -9
  165. package/dist/store/UserModelStore.d.ts.map +1 -1
  166. package/dist/store/UserModelStore.js +0 -5
  167. package/dist/utils/splitTypeUtils.d.ts +1 -1
  168. package/dist/utils/splitTypeUtils.d.ts.map +1 -1
  169. package/dist/utils/userPathUtils.d.ts +1 -1
  170. package/dist/utils/userPathUtils.d.ts.map +1 -1
  171. package/dist/utils/userPathUtils.js +3 -3
  172. package/package.json +1 -1
  173. package/dist/adapters/FirebaseAdminAdapter.d.ts +0 -8
  174. package/dist/adapters/FirebaseAdminAdapter.d.ts.map +0 -1
  175. package/dist/adapters/FirebaseAdminAdapter.js +0 -21
  176. package/dist/adapters/FirebaseClientAdapter.d.ts +0 -8
  177. package/dist/adapters/FirebaseClientAdapter.d.ts.map +0 -1
  178. package/dist/adapters/FirebaseClientAdapter.js +0 -22
  179. package/dist/client/handlers/UIActivityEventHandler.d.ts +0 -12
  180. package/dist/client/handlers/UIActivityEventHandler.d.ts.map +0 -1
  181. package/dist/client/handlers/UIActivityEventHandler.js +0 -14
  182. package/dist/common/EventBus.d.ts +0 -12
  183. package/dist/common/EventBus.d.ts.map +0 -1
  184. package/dist/common/EventBus.js +0 -26
  185. package/dist/common/EventBusSingleton.d.ts +0 -4
  186. package/dist/common/EventBusSingleton.d.ts.map +0 -1
  187. package/dist/common/EventBusSingleton.js +0 -18
  188. package/dist/config/environment.d.ts +0 -25
  189. package/dist/config/environment.d.ts.map +0 -1
  190. package/dist/config/environment.js +0 -77
  191. package/dist/controllers/UIEventHandler.d.ts +0 -25
  192. package/dist/controllers/UIEventHandler.d.ts.map +0 -1
  193. package/dist/controllers/UIEventHandler.js +0 -50
  194. package/dist/controllers/UserController.d.ts +0 -9
  195. package/dist/controllers/UserController.d.ts.map +0 -1
  196. package/dist/controllers/UserController.js +0 -36
@@ -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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"}
@@ -5,6 +5,7 @@ const ActivityLogEvents_1 = require("./ActivityLogEvents");
5
5
  const uuid_1 = require("uuid");
6
6
  class GroupCreated {
7
7
  constructor(props) {
8
+ this.eventId = props.eventId;
8
9
  this.userId = props.userId;
9
10
  this.groupId = props.groupId;
10
11
  this.name = props.name;
@@ -33,9 +34,10 @@ class GroupCreated {
33
34
  };
34
35
  }
35
36
  activityLog(_existing, actorName) {
36
- const actor = actorName ?? 'You';
37
+ const actor = actorName ?? "You";
37
38
  const logMessage = `${actor} created group "${this.name}"`;
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 GroupCreated {
53
55
  exports.GroupCreated = GroupCreated;
54
56
  class GroupNameChanged {
55
57
  constructor(props) {
58
+ this.eventId = props.eventId;
56
59
  this.userId = props.userId;
57
60
  this.name = props.name;
58
61
  this.createdAt = props.createdAt;
@@ -63,7 +66,7 @@ class GroupNameChanged {
63
66
  }
64
67
  apply(existing) {
65
68
  if (!existing) {
66
- throw new Error('Group must exist to change name');
69
+ throw new Error("Group must exist to change name");
67
70
  }
68
71
  const existingGroup = existing;
69
72
  return {
@@ -79,9 +82,10 @@ class GroupNameChanged {
79
82
  return undefined;
80
83
  }
81
84
  const existingGroup = existing;
82
- const actor = actorName ?? 'You';
85
+ const actor = actorName ?? "You";
83
86
  const logMessage = `${actor} changed group name from "${existingGroup.name}" to "${this.name}"`;
84
87
  return {
88
+ eventId: (0, uuid_1.v4)(),
85
89
  userId: existingGroup.userId,
86
90
  activityByUid: this.createdBy,
87
91
  sourceStreamId: this.streamId,
@@ -99,6 +103,7 @@ class GroupNameChanged {
99
103
  exports.GroupNameChanged = GroupNameChanged;
100
104
  class GroupDescriptionChanged {
101
105
  constructor(props) {
106
+ this.eventId = props.eventId;
102
107
  this.userId = props.userId;
103
108
  this.description = props.description;
104
109
  this.createdAt = props.createdAt;
@@ -109,7 +114,7 @@ class GroupDescriptionChanged {
109
114
  }
110
115
  apply(existing) {
111
116
  if (!existing) {
112
- throw new Error('Group must exist to change description');
117
+ throw new Error("Group must exist to change description");
113
118
  }
114
119
  const existingGroup = existing;
115
120
  return {
@@ -125,9 +130,10 @@ class GroupDescriptionChanged {
125
130
  return undefined;
126
131
  }
127
132
  const existingGroup = existing;
128
- const actor = actorName ?? 'You';
133
+ const actor = actorName ?? "You";
129
134
  const logMessage = `${actor} updated group "${existingGroup.name}" description`;
130
135
  return {
136
+ eventId: (0, uuid_1.v4)(),
131
137
  userId: existingGroup.userId,
132
138
  activityByUid: this.createdBy,
133
139
  sourceStreamId: this.streamId,
@@ -145,6 +151,7 @@ class GroupDescriptionChanged {
145
151
  exports.GroupDescriptionChanged = GroupDescriptionChanged;
146
152
  class GroupMembersAdded {
147
153
  constructor(props) {
154
+ this.eventId = props.eventId;
148
155
  this.userId = props.userId;
149
156
  this.members = props.members;
150
157
  this.createdAt = props.createdAt;
@@ -155,7 +162,7 @@ class GroupMembersAdded {
155
162
  }
156
163
  apply(existing) {
157
164
  if (!existing) {
158
- throw new Error('Group must exist to add members');
165
+ throw new Error("Group must exist to add members");
159
166
  }
160
167
  const existingGroup = existing;
161
168
  const existingMembers = existingGroup.members ?? [];
@@ -174,11 +181,12 @@ class GroupMembersAdded {
174
181
  return undefined;
175
182
  }
176
183
  const existingGroup = existing;
177
- const actor = actorName ?? 'You';
184
+ const actor = actorName ?? "You";
178
185
  const count = this.members.length;
179
- const memberWord = count === 1 ? 'member' : 'members';
186
+ const memberWord = count === 1 ? "member" : "members";
180
187
  const logMessage = `${actor} added ${count} ${memberWord} to group "${existingGroup.name}"`;
181
188
  return {
189
+ eventId: (0, uuid_1.v4)(),
182
190
  userId: existingGroup.userId,
183
191
  activityByUid: this.createdBy,
184
192
  sourceStreamId: this.streamId,
@@ -196,6 +204,7 @@ class GroupMembersAdded {
196
204
  exports.GroupMembersAdded = GroupMembersAdded;
197
205
  class GroupMembersRemoved {
198
206
  constructor(props) {
207
+ this.eventId = props.eventId;
199
208
  this.userId = props.userId;
200
209
  this.members = props.members;
201
210
  this.createdAt = props.createdAt;
@@ -206,7 +215,7 @@ class GroupMembersRemoved {
206
215
  }
207
216
  apply(existing) {
208
217
  if (!existing) {
209
- throw new Error('Group must exist to remove members');
218
+ throw new Error("Group must exist to remove members");
210
219
  }
211
220
  const existingGroup = existing;
212
221
  const existingMembers = existingGroup.members ?? [];
@@ -225,11 +234,12 @@ class GroupMembersRemoved {
225
234
  return undefined;
226
235
  }
227
236
  const existingGroup = existing;
228
- const actor = actorName ?? 'You';
237
+ const actor = actorName ?? "You";
229
238
  const count = this.members.length;
230
- const memberWord = count === 1 ? 'member' : 'members';
239
+ const memberWord = count === 1 ? "member" : "members";
231
240
  const logMessage = `${actor} removed ${count} ${memberWord} from group "${existingGroup.name}"`;
232
241
  return {
242
+ eventId: (0, uuid_1.v4)(),
233
243
  userId: existingGroup.userId,
234
244
  activityByUid: this.createdBy,
235
245
  sourceStreamId: this.streamId,
@@ -247,6 +257,7 @@ class GroupMembersRemoved {
247
257
  exports.GroupMembersRemoved = GroupMembersRemoved;
248
258
  class GroupDeleted {
249
259
  constructor(props) {
260
+ this.eventId = props.eventId;
250
261
  this.userId = props.userId;
251
262
  this.createdAt = props.createdAt;
252
263
  this.createdBy = props.createdBy;
@@ -256,7 +267,7 @@ class GroupDeleted {
256
267
  }
257
268
  apply(existing) {
258
269
  if (!existing) {
259
- throw new Error('Group must exist to delete');
270
+ throw new Error("Group must exist to delete");
260
271
  }
261
272
  const existingGroup = existing;
262
273
  return {
@@ -272,9 +283,10 @@ class GroupDeleted {
272
283
  return undefined;
273
284
  }
274
285
  const existingGroup = existing;
275
- const actor = actorName ?? 'You';
286
+ const actor = actorName ?? "You";
276
287
  const logMessage = `${actor} deleted group "${existingGroup.name}"`;
277
288
  return {
289
+ eventId: (0, uuid_1.v4)(),
278
290
  userId: existingGroup.userId,
279
291
  activityByUid: this.createdBy,
280
292
  sourceStreamId: this.streamId,
@@ -1,10 +1,10 @@
1
- import { GroupTransactionCreated, GroupTransactionSplitDetailsChanged, GroupTransactionModel, GroupTransactionEvent } 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';
1
+ import { GroupTransactionCreated, GroupTransactionSplitDetailsChanged, GroupTransactionModel, GroupTransactionEvent } 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
8
  export declare class GroupTransactionEventHandler {
9
9
  private modelStore;
10
10
  private eventStore;
@@ -13,6 +13,7 @@ export declare class GroupTransactionEventHandler {
13
13
  private transactionModelStore;
14
14
  private activityEventHandler?;
15
15
  constructor(modelStore: GroupTransactionModelStore, eventStore: GroupTransactionEventStore, groupModelStore: GroupModelStore, transactionEventStore: TransactionEventStore, transactionModelStore: TransactionModelStore, activityEventHandler?: ActivityEventHandler | undefined);
16
+ private shouldSkipSave;
16
17
  handleEvent(event: GroupTransactionEvent): Promise<GroupTransactionModel>;
17
18
  private calculateNetBalances;
18
19
  private createFriendTransactions;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupTransactionEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupTransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,mCAAmC,EACnC,qBAAqB,EAIrB,qBAAqB,EAIxB,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;AAK5D,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,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmB/E,OAAO,CAAC,oBAAoB;YAWd,wBAAwB;YA4ExB,wBAAwB;IAStC,OAAO,CAAC,6BAA6B;YA6CvB,gCAAgC;IAsFxC,6BAA6B,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA+C7F,yCAAyC,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAqD9H"}
1
+ {"version":3,"file":"GroupTransactionEventHandler.d.ts","sourceRoot":"","sources":["../src/GroupTransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,mCAAmC,EACnC,qBAAqB,EAIrB,qBAAqB,EAKxB,MAAM,GAAG,CAAC;AACX,OAAO,EAAE,0BAA0B,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,GAAG,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,GAAG,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D,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;IAGvD,OAAO,CAAC,cAAc;IAahB,WAAW,CACb,KAAK,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IA2BjC,OAAO,CAAC,oBAAoB;YAad,wBAAwB;YA8FxB,wBAAwB;IAatC,OAAO,CAAC,6BAA6B;YAsDvB,gCAAgC;IAqGxC,6BAA6B,CAC/B,KAAK,EAAE,uBAAuB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAkF3B,yCAAyC,CAC3C,KAAK,EAAE,mCAAmC,GAC3C,OAAO,CAAC,qBAAqB,CAAC;CAsGpC"}
@@ -5,6 +5,7 @@ const _1 = require(".");
5
5
  const DomainEvents_1 = require("./common/DomainEvents");
6
6
  const splitTypeUtils_1 = require("./utils/splitTypeUtils");
7
7
  const uuid_1 = require("uuid");
8
+ const EventProcessorSDK_1 = require("./EventProcessorSDK");
8
9
  class GroupTransactionEventHandler {
9
10
  constructor(modelStore, eventStore, groupModelStore, transactionEventStore, transactionModelStore, activityEventHandler) {
10
11
  this.modelStore = modelStore;
@@ -14,6 +15,13 @@ class GroupTransactionEventHandler {
14
15
  this.transactionModelStore = transactionModelStore;
15
16
  this.activityEventHandler = activityEventHandler;
16
17
  }
18
+ shouldSkipSave(existingModel, updatedModel) {
19
+ if (!existingModel) {
20
+ return false;
21
+ }
22
+ return (existingModel.streamId === updatedModel.streamId &&
23
+ existingModel.version === updatedModel.version);
24
+ }
17
25
  async handleEvent(event) {
18
26
  if (_1.residence.isClient) {
19
27
  await this.eventStore.addEvent(event);
@@ -23,9 +31,9 @@ class GroupTransactionEventHandler {
23
31
  throw new Error(`Unknown group transaction event type: ${eventType}`);
24
32
  }
25
33
  switch (eventType) {
26
- case 'GroupTransactionCreated':
34
+ case "GroupTransactionCreated":
27
35
  return await this.handleGroupTransactionCreated(event);
28
- case 'GroupTransactionSplitDetailsChanged':
36
+ case "GroupTransactionSplitDetailsChanged":
29
37
  return await this.handleGroupTransactionSplitDetailsChanged(event);
30
38
  default:
31
39
  throw new Error(`Unknown group transaction event type: ${eventType}`);
@@ -55,12 +63,13 @@ class GroupTransactionEventHandler {
55
63
  for (const debtor of debtors) {
56
64
  if (creditor.amount > 0 && debtor.amount > 0) {
57
65
  const transactionAmount = Math.min(creditor.amount, debtor.amount);
58
- const creditorStreamId = `stream-${(0, uuid_1.v4)()}`;
66
+ const creditorStreamId = (0, uuid_1.v4)();
59
67
  const creditorTransactionEvent = new _1.TransactionCreated({
68
+ eventId: (0, uuid_1.v4)(),
60
69
  userId: creditor.memberId,
61
70
  recipientUserId: debtor.memberId,
62
71
  logicalTransactionId: groupTransactionEvent.transactionId,
63
- description: groupTransactionEvent.description ?? '',
72
+ description: groupTransactionEvent.description ?? "",
64
73
  currency: groupTransactionEvent.currency,
65
74
  splitType: _1.SplitType.SpecificAmounts,
66
75
  totalAmount: transactionAmount,
@@ -77,13 +86,16 @@ class GroupTransactionEventHandler {
77
86
  });
78
87
  await this.transactionEventStore.addEvent(creditorTransactionEvent);
79
88
  const creditorModel = creditorTransactionEvent.apply(undefined);
80
- await this.transactionModelStore.save(creditorModel);
81
- const debtorStreamId = `stream-${(0, uuid_1.v4)()}`;
89
+ if (!this.shouldSkipSave(undefined, creditorModel)) {
90
+ await this.transactionModelStore.save(creditorModel);
91
+ }
92
+ const debtorStreamId = (0, uuid_1.v4)();
82
93
  const debtorTransactionEvent = new _1.TransactionCreated({
94
+ eventId: (0, uuid_1.v4)(),
83
95
  userId: debtor.memberId,
84
96
  recipientUserId: creditor.memberId,
85
97
  logicalTransactionId: groupTransactionEvent.transactionId,
86
- description: groupTransactionEvent.description ?? '',
98
+ description: groupTransactionEvent.description ?? "",
87
99
  currency: groupTransactionEvent.currency,
88
100
  splitType: _1.SplitType.SpecificAmounts,
89
101
  totalAmount: transactionAmount,
@@ -100,7 +112,9 @@ class GroupTransactionEventHandler {
100
112
  });
101
113
  await this.transactionEventStore.addEvent(debtorTransactionEvent);
102
114
  const debtorModel = debtorTransactionEvent.apply(undefined);
103
- await this.transactionModelStore.save(debtorModel);
115
+ if (!this.shouldSkipSave(undefined, debtorModel)) {
116
+ await this.transactionModelStore.save(debtorModel);
117
+ }
104
118
  creditor.amount -= transactionAmount;
105
119
  debtor.amount -= transactionAmount;
106
120
  }
@@ -131,13 +145,13 @@ class GroupTransactionEventHandler {
131
145
  requiredTransactions.set(creditorKey, {
132
146
  recipientUserId: debtor.memberId,
133
147
  amount: transactionAmount,
134
- isOwed: false
148
+ isOwed: false,
135
149
  });
136
150
  const debtorKey = `${debtor.memberId}-${creditor.memberId}`;
137
151
  requiredTransactions.set(debtorKey, {
138
152
  recipientUserId: creditor.memberId,
139
153
  amount: transactionAmount,
140
- isOwed: true
154
+ isOwed: true,
141
155
  });
142
156
  creditor.amount -= transactionAmount;
143
157
  debtor.amount -= transactionAmount;
@@ -148,8 +162,8 @@ class GroupTransactionEventHandler {
148
162
  }
149
163
  async updateExistingFriendTransactions(event, existingModel, newMembers) {
150
164
  const requiredTransactions = this.calculateRequiredTransactions(newMembers);
151
- const oldMemberIds = new Set(existingModel.originalTransaction.members.map(m => m.memberId));
152
- const newMemberIds = new Set(newMembers.map(m => m.memberId));
165
+ const oldMemberIds = new Set(existingModel.originalTransaction.members.map((m) => m.memberId));
166
+ const newMemberIds = new Set(newMembers.map((m) => m.memberId));
153
167
  const allMemberIds = new Set([...oldMemberIds, ...newMemberIds]);
154
168
  for (const memberId of allMemberIds) {
155
169
  const existingTransactions = await this.transactionModelStore.findByGroupTransactionId(memberId, existingModel.transactionId);
@@ -161,6 +175,7 @@ class GroupTransactionEventHandler {
161
175
  existingTx.totalAmount !== requiredTx.amount ||
162
176
  existingTx.isOwed !== requiredTx.isOwed) {
163
177
  const updateEvent = new _1.TransactionDetailsChanged({
178
+ eventId: (0, uuid_1.v4)(),
164
179
  userId: existingTx.userId,
165
180
  totalAmount: requiredTx.amount,
166
181
  amount: requiredTx.amount,
@@ -173,12 +188,15 @@ class GroupTransactionEventHandler {
173
188
  });
174
189
  await this.transactionEventStore.addEvent(updateEvent);
175
190
  const updatedModel = updateEvent.apply(existingTx);
176
- await this.transactionModelStore.save(updatedModel);
191
+ if (!this.shouldSkipSave(existingTx, updatedModel)) {
192
+ await this.transactionModelStore.save(updatedModel);
193
+ }
177
194
  }
178
195
  requiredTransactions.delete(key);
179
196
  }
180
197
  else {
181
198
  const deleteEvent = new _1.TransactionDeleted({
199
+ eventId: (0, uuid_1.v4)(),
182
200
  userId: existingTx.userId,
183
201
  createdAt: new Date(),
184
202
  createdBy: event.createdBy,
@@ -188,18 +206,21 @@ class GroupTransactionEventHandler {
188
206
  });
189
207
  await this.transactionEventStore.addEvent(deleteEvent);
190
208
  const deletedModel = deleteEvent.apply(existingTx);
191
- await this.transactionModelStore.save(deletedModel);
209
+ if (!this.shouldSkipSave(existingTx, deletedModel)) {
210
+ await this.transactionModelStore.save(deletedModel);
211
+ }
192
212
  }
193
213
  }
194
214
  }
195
215
  for (const [key, txDetails] of requiredTransactions.entries()) {
196
- const [userId, recipientUserId] = key.split('-');
197
- const streamId = `stream-${(0, uuid_1.v4)()}`;
216
+ const [userId, recipientUserId] = key.split("-");
217
+ const streamId = (0, uuid_1.v4)();
198
218
  const createEvent = new _1.TransactionCreated({
219
+ eventId: (0, uuid_1.v4)(),
199
220
  userId: userId,
200
221
  recipientUserId: recipientUserId,
201
222
  logicalTransactionId: existingModel.transactionId,
202
- description: existingModel.description ?? '',
223
+ description: existingModel.description ?? "",
203
224
  currency: existingModel.currency,
204
225
  splitType: _1.SplitType.SpecificAmounts,
205
226
  totalAmount: txDetails.amount,
@@ -216,22 +237,30 @@ class GroupTransactionEventHandler {
216
237
  });
217
238
  await this.transactionEventStore.addEvent(createEvent);
218
239
  const model = createEvent.apply(undefined);
219
- await this.transactionModelStore.save(model);
240
+ if (!this.shouldSkipSave(undefined, model)) {
241
+ await this.transactionModelStore.save(model);
242
+ }
220
243
  }
221
244
  }
222
245
  async handleGroupTransactionCreated(event) {
223
246
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
224
247
  const updatedModel = event.apply(existingModel);
225
- await this.modelStore.save(updatedModel);
248
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
249
+ await this.modelStore.save(updatedModel);
250
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
251
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupTransactionModel", updatedModel);
252
+ }
253
+ }
226
254
  if (this.activityEventHandler) {
227
255
  await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
228
256
  }
229
257
  const allGroupPerspectives = await this.groupModelStore.findAllByGroupIdAndDeletedIsFalse(event.groupId);
230
258
  for (const groupPerspective of allGroupPerspectives) {
231
259
  if (groupPerspective.userId !== event.userId) {
232
- const perspectiveStreamId = `stream-${(0, uuid_1.v4)()}`;
260
+ const perspectiveStreamId = (0, uuid_1.v4)();
233
261
  const perspectiveSplitType = (0, splitTypeUtils_1.reverseSplitType)(event.splitType);
234
262
  const perspectiveEvent = new _1.GroupTransactionCreated({
263
+ eventId: (0, uuid_1.v4)(),
235
264
  userId: groupPerspective.userId,
236
265
  groupId: event.groupId,
237
266
  transactionId: event.transactionId,
@@ -250,7 +279,12 @@ class GroupTransactionEventHandler {
250
279
  });
251
280
  await this.eventStore.addEvent(perspectiveEvent);
252
281
  const perspectiveModel = perspectiveEvent.apply(undefined);
253
- await this.modelStore.save(perspectiveModel);
282
+ if (!this.shouldSkipSave(undefined, perspectiveModel)) {
283
+ await this.modelStore.save(perspectiveModel);
284
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
285
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupTransactionModel", perspectiveModel);
286
+ }
287
+ }
254
288
  if (this.activityEventHandler) {
255
289
  await this.activityEventHandler.createActivityLog(perspectiveEvent, undefined, perspectiveModel);
256
290
  }
@@ -262,12 +296,17 @@ class GroupTransactionEventHandler {
262
296
  async handleGroupTransactionSplitDetailsChanged(event) {
263
297
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
264
298
  if (!existingModel) {
265
- throw new Error('GroupTransaction must exist to change split details');
299
+ throw new Error("GroupTransaction must exist to change split details");
266
300
  }
267
301
  const oldMembers = existingModel.originalTransaction.members;
268
302
  const newMembers = event.originalTransaction.members;
269
303
  const updatedModel = event.apply(existingModel);
270
- await this.modelStore.save(updatedModel);
304
+ if (!this.shouldSkipSave(existingModel, updatedModel)) {
305
+ await this.modelStore.save(updatedModel);
306
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
307
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupTransactionModel", updatedModel);
308
+ }
309
+ }
271
310
  if (this.activityEventHandler) {
272
311
  await this.activityEventHandler.createActivityLog(event, existingModel, updatedModel);
273
312
  }
@@ -277,6 +316,7 @@ class GroupTransactionEventHandler {
277
316
  const perspectiveStreamId = updatedModel.streamId;
278
317
  const perspectiveSplitType = (0, splitTypeUtils_1.reverseSplitType)(event.splitType);
279
318
  const perspectiveEvent = new _1.GroupTransactionSplitDetailsChanged({
319
+ eventId: (0, uuid_1.v4)(),
280
320
  userId: groupPerspective.userId,
281
321
  totalAmount: event.totalAmount,
282
322
  splitType: perspectiveSplitType,
@@ -291,7 +331,12 @@ class GroupTransactionEventHandler {
291
331
  const existingPerspectiveModel = await this.modelStore.findByUserIdAndTransactionId(groupPerspective.userId, updatedModel.transactionId);
292
332
  if (existingPerspectiveModel) {
293
333
  const perspectiveModel = perspectiveEvent.apply(existingPerspectiveModel);
294
- await this.modelStore.save(perspectiveModel);
334
+ if (!this.shouldSkipSave(existingPerspectiveModel, perspectiveModel)) {
335
+ await this.modelStore.save(perspectiveModel);
336
+ if ((0, EventProcessorSDK_1.isSDKInitialized)()) {
337
+ EventProcessorSDK_1.EventProcessorSDK.getInstance().emitModelChange("GroupTransactionModel", perspectiveModel);
338
+ }
339
+ }
295
340
  if (this.activityEventHandler) {
296
341
  await this.activityEventHandler.createActivityLog(perspectiveEvent, existingPerspectiveModel, perspectiveModel);
297
342
  }
@@ -1,7 +1,7 @@
1
- import { GroupTransactionEvent } from './common/DomainEvents';
2
- import { Model } from './common/Model';
3
- import { ActivityLogCreatedProps } from './ActivityLogEvents';
4
- import { SplitType } from './TransactionEvents';
1
+ import { GroupTransactionEvent } from "./common/DomainEvents";
2
+ import { Model } from "./common/Model";
3
+ import { ActivityLogCreatedProps } from "./ActivityLogEvents";
4
+ import { SplitType } from "./TransactionEvents";
5
5
  export interface MemberPayment {
6
6
  memberId: string;
7
7
  paid: number;
@@ -26,6 +26,7 @@ export interface GroupTransactionModel extends Model {
26
26
  updatedBy: string;
27
27
  }
28
28
  export interface GroupTransactionCreatedProps {
29
+ eventId: string;
29
30
  userId: string;
30
31
  groupId: string;
31
32
  transactionId: string;
@@ -43,6 +44,7 @@ export interface GroupTransactionCreatedProps {
43
44
  systemGenerated: boolean;
44
45
  }
45
46
  export declare class GroupTransactionCreated implements GroupTransactionEvent {
47
+ eventId: string;
46
48
  userId: string;
47
49
  groupId: string;
48
50
  transactionId: string;
@@ -63,6 +65,7 @@ export declare class GroupTransactionCreated implements GroupTransactionEvent {
63
65
  activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
64
66
  }
65
67
  export interface GroupTransactionDescriptionChangedProps {
68
+ eventId: string;
66
69
  userId: string;
67
70
  description?: string;
68
71
  createdAt: Date;
@@ -72,6 +75,7 @@ export interface GroupTransactionDescriptionChangedProps {
72
75
  systemGenerated: boolean;
73
76
  }
74
77
  export declare class GroupTransactionDescriptionChanged implements GroupTransactionEvent {
78
+ eventId: string;
75
79
  userId: string;
76
80
  description?: string;
77
81
  createdAt: Date;
@@ -84,6 +88,7 @@ export declare class GroupTransactionDescriptionChanged implements GroupTransact
84
88
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
85
89
  }
86
90
  export interface GroupTransactionNotesChangedProps {
91
+ eventId: string;
87
92
  userId: string;
88
93
  notes?: string;
89
94
  createdAt: Date;
@@ -93,6 +98,7 @@ export interface GroupTransactionNotesChangedProps {
93
98
  systemGenerated: boolean;
94
99
  }
95
100
  export declare class GroupTransactionNotesChanged implements GroupTransactionEvent {
101
+ eventId: string;
96
102
  userId: string;
97
103
  notes?: string;
98
104
  createdAt: Date;
@@ -105,6 +111,7 @@ export declare class GroupTransactionNotesChanged implements GroupTransactionEve
105
111
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
106
112
  }
107
113
  export interface GroupTransactionTotalAmountChangedProps {
114
+ eventId: string;
108
115
  userId: string;
109
116
  totalAmount: number;
110
117
  createdAt: Date;
@@ -114,6 +121,7 @@ export interface GroupTransactionTotalAmountChangedProps {
114
121
  systemGenerated: boolean;
115
122
  }
116
123
  export declare class GroupTransactionTotalAmountChanged implements GroupTransactionEvent {
124
+ eventId: string;
117
125
  userId: string;
118
126
  totalAmount: number;
119
127
  createdAt: Date;
@@ -126,6 +134,7 @@ export declare class GroupTransactionTotalAmountChanged implements GroupTransact
126
134
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
127
135
  }
128
136
  export interface GroupTransactionCurrencyChangedProps {
137
+ eventId: string;
129
138
  userId: string;
130
139
  currency: string;
131
140
  createdAt: Date;
@@ -135,6 +144,7 @@ export interface GroupTransactionCurrencyChangedProps {
135
144
  systemGenerated: boolean;
136
145
  }
137
146
  export declare class GroupTransactionCurrencyChanged implements GroupTransactionEvent {
147
+ eventId: string;
138
148
  userId: string;
139
149
  currency: string;
140
150
  createdAt: Date;
@@ -147,6 +157,7 @@ export declare class GroupTransactionCurrencyChanged implements GroupTransaction
147
157
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
148
158
  }
149
159
  export interface GroupTransactionSplitTypeChangedProps {
160
+ eventId: string;
150
161
  userId: string;
151
162
  splitType: SplitType;
152
163
  createdAt: Date;
@@ -156,6 +167,7 @@ export interface GroupTransactionSplitTypeChangedProps {
156
167
  systemGenerated: boolean;
157
168
  }
158
169
  export declare class GroupTransactionSplitTypeChanged implements GroupTransactionEvent {
170
+ eventId: string;
159
171
  userId: string;
160
172
  splitType: SplitType;
161
173
  createdAt: Date;
@@ -168,6 +180,7 @@ export declare class GroupTransactionSplitTypeChanged implements GroupTransactio
168
180
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
169
181
  }
170
182
  export interface GroupTransactionDateChangedProps {
183
+ eventId: string;
171
184
  userId: string;
172
185
  transactionDate: Date;
173
186
  createdAt: Date;
@@ -177,6 +190,7 @@ export interface GroupTransactionDateChangedProps {
177
190
  systemGenerated: boolean;
178
191
  }
179
192
  export declare class GroupTransactionDateChanged implements GroupTransactionEvent {
193
+ eventId: string;
180
194
  userId: string;
181
195
  transactionDate: Date;
182
196
  createdAt: Date;
@@ -189,6 +203,7 @@ export declare class GroupTransactionDateChanged implements GroupTransactionEven
189
203
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
190
204
  }
191
205
  export interface GroupTransactionSplitDetailsChangedProps {
206
+ eventId: string;
192
207
  userId: string;
193
208
  totalAmount: number;
194
209
  splitType: SplitType;
@@ -200,6 +215,7 @@ export interface GroupTransactionSplitDetailsChangedProps {
200
215
  systemGenerated: boolean;
201
216
  }
202
217
  export declare class GroupTransactionSplitDetailsChanged implements GroupTransactionEvent {
218
+ eventId: string;
203
219
  userId: string;
204
220
  totalAmount: number;
205
221
  splitType: SplitType;
@@ -214,6 +230,7 @@ export declare class GroupTransactionSplitDetailsChanged implements GroupTransac
214
230
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
215
231
  }
216
232
  export interface GroupTransactionDeletedProps {
233
+ eventId: string;
217
234
  userId: string;
218
235
  createdAt: Date;
219
236
  createdBy: string;
@@ -222,6 +239,7 @@ export interface GroupTransactionDeletedProps {
222
239
  systemGenerated: boolean;
223
240
  }
224
241
  export declare class GroupTransactionDeleted implements GroupTransactionEvent {
242
+ eventId: string;
225
243
  userId: string;
226
244
  createdAt: Date;
227
245
  createdBy: string;