@zeeshan60/event-processor 1.0.12 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActivityEventHandler.d.ts +5 -4
- package/dist/ActivityEventHandler.d.ts.map +1 -1
- package/dist/ActivityEventHandler.js +14 -1
- package/dist/ActivityLogEvents.d.ts +4 -2
- package/dist/ActivityLogEvents.d.ts.map +1 -1
- package/dist/ActivityLogEvents.js +1 -0
- package/dist/EventProcessorSDK.d.ts +47 -18
- package/dist/EventProcessorSDK.d.ts.map +1 -1
- package/dist/EventProcessorSDK.js +90 -5
- package/dist/FriendEventHandler.d.ts +5 -12
- package/dist/FriendEventHandler.d.ts.map +1 -1
- package/dist/FriendEventHandler.js +71 -60
- package/dist/FriendEvents.d.ts +13 -3
- package/dist/FriendEvents.d.ts.map +1 -1
- package/dist/FriendEvents.js +16 -7
- package/dist/GroupEventHandler.d.ts +8 -7
- package/dist/GroupEventHandler.d.ts.map +1 -1
- package/dist/GroupEventHandler.js +107 -26
- package/dist/GroupEvents.d.ts +15 -3
- package/dist/GroupEvents.d.ts.map +1 -1
- package/dist/GroupEvents.js +25 -13
- package/dist/GroupTransactionEventHandler.d.ts +8 -7
- package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
- package/dist/GroupTransactionEventHandler.js +69 -24
- package/dist/GroupTransactionEvents.d.ts +22 -4
- package/dist/GroupTransactionEvents.d.ts.map +1 -1
- package/dist/GroupTransactionEvents.js +39 -21
- package/dist/ModelChangeEmitter.d.ts +15 -0
- package/dist/ModelChangeEmitter.d.ts.map +1 -0
- package/dist/ModelChangeEmitter.js +31 -0
- package/dist/TransactionEventHandler.d.ts +3 -5
- package/dist/TransactionEventHandler.d.ts.map +1 -1
- package/dist/TransactionEventHandler.js +49 -15
- package/dist/TransactionEvents.d.ts +24 -8
- package/dist/TransactionEvents.d.ts.map +1 -1
- package/dist/TransactionEvents.js +38 -22
- package/dist/UserEventHandler.d.ts +4 -11
- package/dist/UserEventHandler.d.ts.map +1 -1
- package/dist/UserEventHandler.js +86 -61
- package/dist/UserEvents.d.ts +20 -3
- package/dist/UserEvents.d.ts.map +1 -1
- package/dist/UserEvents.js +53 -18
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMActivityLogModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +4 -3
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendModelStore.js +10 -3
- package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMTransactionEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMTransactionModelStore.js +1 -3
- package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserEventStore.js +1 -3
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +3 -3
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserModelStore.js +1 -3
- package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +2 -1
- package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +5 -1
- package/dist/client/controllers/FriendController.d.ts +13 -0
- package/dist/client/controllers/FriendController.d.ts.map +1 -0
- package/dist/client/controllers/FriendController.js +133 -0
- package/dist/client/controllers/UserController.d.ts +6 -5
- package/dist/client/controllers/UserController.d.ts.map +1 -1
- package/dist/client/controllers/UserController.js +89 -22
- package/dist/client/handlers/UIEventHandler.d.ts +4 -22
- package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIEventHandler.js +59 -38
- package/dist/client/handlers/UIFriendEventHandler.d.ts +6 -6
- package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIGroupEventHandler.d.ts +7 -7
- package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +7 -7
- package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UITransactionEventHandler.d.ts +5 -5
- package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -1
- package/dist/client/handlers/UIUserEventHandler.d.ts +4 -4
- package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -1
- package/dist/common/DomainEvents.d.ts +1 -1
- package/dist/common/DomainEvents.d.ts.map +1 -1
- package/dist/common/DomainEvents.js +37 -37
- package/dist/common/Event.d.ts +3 -2
- package/dist/common/Event.d.ts.map +1 -1
- package/dist/common/Model.d.ts.map +1 -1
- package/dist/common/index.d.ts +2 -2
- package/dist/contracts/common/index.d.ts.map +1 -1
- package/dist/contracts/expenses/index.d.ts.map +1 -1
- package/dist/contracts/friends/index.d.ts.map +1 -1
- package/dist/contracts/groups/index.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/shared/index.d.ts.map +1 -1
- package/dist/contracts/transactions/index.d.ts.map +1 -1
- package/dist/contracts/users/index.d.ts +15 -0
- package/dist/contracts/users/index.d.ts.map +1 -0
- package/dist/contracts/users/index.js +2 -0
- package/dist/converters/eventConverter.d.ts +3 -3
- package/dist/converters/eventConverter.d.ts.map +1 -1
- package/dist/converters/eventConverter.js +93 -51
- package/dist/events.d.ts +29 -29
- package/dist/events.d.ts.map +1 -1
- package/dist/index.d.ts +15 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -4
- package/dist/store/ActivityLogEventStore.d.ts +3 -3
- package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
- package/dist/store/ActivityLogEventStore.js +0 -4
- package/dist/store/ActivityLogModelStore.d.ts +6 -6
- package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
- package/dist/store/ActivityLogModelStore.js +0 -5
- package/dist/store/FriendEventStore.d.ts +3 -3
- package/dist/store/FriendEventStore.d.ts.map +1 -1
- package/dist/store/FriendEventStore.js +0 -4
- package/dist/store/FriendModelStore.d.ts +11 -10
- package/dist/store/FriendModelStore.d.ts.map +1 -1
- package/dist/store/FriendModelStore.js +0 -5
- package/dist/store/GroupEventStore.d.ts +3 -3
- package/dist/store/GroupEventStore.d.ts.map +1 -1
- package/dist/store/GroupEventStore.js +0 -4
- package/dist/store/GroupModelStore.d.ts +8 -8
- package/dist/store/GroupModelStore.d.ts.map +1 -1
- package/dist/store/GroupModelStore.js +0 -5
- package/dist/store/GroupTransactionEventStore.d.ts +3 -3
- package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionEventStore.js +0 -4
- package/dist/store/GroupTransactionModelStore.d.ts +8 -8
- package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionModelStore.js +0 -5
- package/dist/store/ModelStore.d.ts +5 -5
- package/dist/store/ModelStore.d.ts.map +1 -1
- package/dist/store/ModelStore.js +0 -4
- package/dist/store/TransactionEventStore.d.ts +3 -3
- package/dist/store/TransactionEventStore.d.ts.map +1 -1
- package/dist/store/TransactionEventStore.js +0 -4
- package/dist/store/TransactionModelStore.d.ts +8 -8
- package/dist/store/TransactionModelStore.d.ts.map +1 -1
- package/dist/store/TransactionModelStore.js +0 -5
- package/dist/store/UserEventStore.d.ts +3 -3
- package/dist/store/UserEventStore.d.ts.map +1 -1
- package/dist/store/UserEventStore.js +0 -4
- package/dist/store/UserModelStore.d.ts +9 -9
- package/dist/store/UserModelStore.d.ts.map +1 -1
- package/dist/store/UserModelStore.js +0 -5
- package/dist/utils/splitTypeUtils.d.ts +1 -1
- package/dist/utils/splitTypeUtils.d.ts.map +1 -1
- package/dist/utils/userPathUtils.d.ts +1 -1
- package/dist/utils/userPathUtils.d.ts.map +1 -1
- package/dist/utils/userPathUtils.js +3 -3
- package/package.json +1 -1
- package/dist/adapters/FirebaseAdminAdapter.d.ts +0 -8
- package/dist/adapters/FirebaseAdminAdapter.d.ts.map +0 -1
- package/dist/adapters/FirebaseAdminAdapter.js +0 -21
- package/dist/adapters/FirebaseClientAdapter.d.ts +0 -8
- package/dist/adapters/FirebaseClientAdapter.d.ts.map +0 -1
- package/dist/adapters/FirebaseClientAdapter.js +0 -22
- package/dist/client/handlers/UIActivityEventHandler.d.ts +0 -12
- package/dist/client/handlers/UIActivityEventHandler.d.ts.map +0 -1
- package/dist/client/handlers/UIActivityEventHandler.js +0 -14
- package/dist/common/EventBus.d.ts +0 -12
- package/dist/common/EventBus.d.ts.map +0 -1
- package/dist/common/EventBus.js +0 -26
- package/dist/common/EventBusSingleton.d.ts +0 -4
- package/dist/common/EventBusSingleton.d.ts.map +0 -1
- package/dist/common/EventBusSingleton.js +0 -18
- package/dist/config/environment.d.ts +0 -25
- package/dist/config/environment.d.ts.map +0 -1
- package/dist/config/environment.js +0 -77
- package/dist/controllers/UIEventHandler.d.ts +0 -25
- package/dist/controllers/UIEventHandler.d.ts.map +0 -1
- package/dist/controllers/UIEventHandler.js +0 -50
- package/dist/controllers/UserController.d.ts +0 -9
- package/dist/controllers/UserController.d.ts.map +0 -1
- package/dist/controllers/UserController.js +0 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupEvents.d.ts","sourceRoot":"","sources":["../src/GroupEvents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAc,MAAM,qBAAqB,CAAC;AAG1E,MAAM,WAAW,UAAW,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"GroupEvents.d.ts","sourceRoot":"","sources":["../src/GroupEvents.ts"],"names":[],"mappings":"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"}
|
package/dist/GroupEvents.js
CHANGED
|
@@ -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 ??
|
|
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(
|
|
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 ??
|
|
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(
|
|
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 ??
|
|
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(
|
|
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 ??
|
|
184
|
+
const actor = actorName ?? "You";
|
|
178
185
|
const count = this.members.length;
|
|
179
|
-
const memberWord = count === 1 ?
|
|
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(
|
|
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 ??
|
|
237
|
+
const actor = actorName ?? "You";
|
|
229
238
|
const count = this.members.length;
|
|
230
|
-
const memberWord = count === 1 ?
|
|
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(
|
|
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 ??
|
|
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
|
|
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,
|
|
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
|
|
34
|
+
case "GroupTransactionCreated":
|
|
27
35
|
return await this.handleGroupTransactionCreated(event);
|
|
28
|
-
case
|
|
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 =
|
|
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
|
-
|
|
81
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
2
|
-
import { Model } from
|
|
3
|
-
import { ActivityLogCreatedProps } from
|
|
4
|
-
import { SplitType } from
|
|
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;
|