@zeeshan60/event-processor 1.0.12 → 1.0.13

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 (156) hide show
  1. package/dist/ActivityEventHandler.d.ts +4 -4
  2. package/dist/ActivityEventHandler.d.ts.map +1 -1
  3. package/dist/ActivityLogEvents.d.ts +4 -2
  4. package/dist/ActivityLogEvents.d.ts.map +1 -1
  5. package/dist/ActivityLogEvents.js +1 -0
  6. package/dist/EventProcessorSDK.d.ts +22 -18
  7. package/dist/EventProcessorSDK.d.ts.map +1 -1
  8. package/dist/EventProcessorSDK.js +15 -4
  9. package/dist/FriendEventHandler.d.ts +4 -12
  10. package/dist/FriendEventHandler.d.ts.map +1 -1
  11. package/dist/FriendEventHandler.js +22 -54
  12. package/dist/FriendEvents.d.ts +13 -3
  13. package/dist/FriendEvents.d.ts.map +1 -1
  14. package/dist/FriendEvents.js +16 -7
  15. package/dist/GroupEventHandler.d.ts +7 -7
  16. package/dist/GroupEventHandler.d.ts.map +1 -1
  17. package/dist/GroupEventHandler.js +21 -12
  18. package/dist/GroupEvents.d.ts +15 -3
  19. package/dist/GroupEvents.d.ts.map +1 -1
  20. package/dist/GroupEvents.js +25 -13
  21. package/dist/GroupTransactionEventHandler.d.ts +7 -7
  22. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  23. package/dist/GroupTransactionEventHandler.js +22 -15
  24. package/dist/GroupTransactionEvents.d.ts +22 -4
  25. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  26. package/dist/GroupTransactionEvents.js +39 -21
  27. package/dist/TransactionEventHandler.d.ts +2 -5
  28. package/dist/TransactionEventHandler.d.ts.map +1 -1
  29. package/dist/TransactionEventHandler.js +29 -13
  30. package/dist/TransactionEvents.d.ts +24 -8
  31. package/dist/TransactionEvents.d.ts.map +1 -1
  32. package/dist/TransactionEvents.js +38 -22
  33. package/dist/UserEventHandler.d.ts +3 -11
  34. package/dist/UserEventHandler.d.ts.map +1 -1
  35. package/dist/UserEventHandler.js +64 -62
  36. package/dist/UserEvents.d.ts +20 -3
  37. package/dist/UserEvents.d.ts.map +1 -1
  38. package/dist/UserEvents.js +53 -18
  39. package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts +3 -0
  40. package/dist/__tests__/e2e/setup/firebaseEmulator.d.ts.map +1 -0
  41. package/dist/__tests__/e2e/setup/firebaseEmulator.js +87 -0
  42. package/dist/__tests__/e2e/setup/firestoreStores.d.ts +28 -0
  43. package/dist/__tests__/e2e/setup/firestoreStores.d.ts.map +1 -0
  44. package/dist/__tests__/e2e/setup/firestoreStores.js +276 -0
  45. package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts +15 -0
  46. package/dist/__tests__/e2e/setup/firestoreTestHelpers.d.ts.map +1 -0
  47. package/dist/__tests__/e2e/setup/firestoreTestHelpers.js +167 -0
  48. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +2 -2
  49. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  50. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts +2 -2
  51. package/dist/__tests__/test-helpers/IMActivityLogModelStore.d.ts.map +1 -1
  52. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +2 -2
  53. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
  54. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +3 -2
  55. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
  56. package/dist/__tests__/test-helpers/IMFriendModelStore.js +9 -0
  57. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +2 -2
  58. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
  59. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +2 -2
  60. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
  61. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +2 -2
  62. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  63. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +2 -2
  64. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
  65. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +2 -2
  66. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  67. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts +2 -2
  68. package/dist/__tests__/test-helpers/IMTransactionModelStore.d.ts.map +1 -1
  69. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +2 -2
  70. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
  71. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +2 -2
  72. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
  73. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +2 -1
  74. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -1
  75. package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +5 -1
  76. package/dist/client/controllers/FriendController.d.ts +12 -0
  77. package/dist/client/controllers/FriendController.d.ts.map +1 -0
  78. package/dist/client/controllers/FriendController.js +122 -0
  79. package/dist/client/controllers/UserController.d.ts +6 -5
  80. package/dist/client/controllers/UserController.d.ts.map +1 -1
  81. package/dist/client/controllers/UserController.js +94 -7
  82. package/dist/client/handlers/UIEventHandler.d.ts +1 -1
  83. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -1
  84. package/dist/client/handlers/UIEventHandler.js +4 -2
  85. package/dist/client/handlers/UIFriendEventHandler.d.ts +6 -6
  86. package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -1
  87. package/dist/client/handlers/UIGroupEventHandler.d.ts +7 -7
  88. package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -1
  89. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +7 -7
  90. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -1
  91. package/dist/client/handlers/UITransactionEventHandler.d.ts +5 -5
  92. package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -1
  93. package/dist/client/handlers/UIUserEventHandler.d.ts +4 -4
  94. package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -1
  95. package/dist/common/DomainEvents.d.ts +1 -1
  96. package/dist/common/DomainEvents.d.ts.map +1 -1
  97. package/dist/common/DomainEvents.js +37 -37
  98. package/dist/common/Event.d.ts +3 -2
  99. package/dist/common/Event.d.ts.map +1 -1
  100. package/dist/common/EventBus.d.ts +2 -2
  101. package/dist/common/EventBus.d.ts.map +1 -1
  102. package/dist/common/EventBusSingleton.d.ts +1 -1
  103. package/dist/common/Model.d.ts.map +1 -1
  104. package/dist/common/index.d.ts +2 -2
  105. package/dist/contracts/common/index.d.ts.map +1 -1
  106. package/dist/contracts/expenses/index.d.ts.map +1 -1
  107. package/dist/contracts/friends/index.d.ts.map +1 -1
  108. package/dist/contracts/groups/index.d.ts.map +1 -1
  109. package/dist/contracts/index.d.ts +1 -0
  110. package/dist/contracts/index.d.ts.map +1 -1
  111. package/dist/contracts/index.js +1 -0
  112. package/dist/contracts/shared/index.d.ts.map +1 -1
  113. package/dist/contracts/transactions/index.d.ts.map +1 -1
  114. package/dist/contracts/users/index.d.ts +15 -0
  115. package/dist/contracts/users/index.d.ts.map +1 -0
  116. package/dist/contracts/users/index.js +2 -0
  117. package/dist/converters/eventConverter.d.ts +3 -3
  118. package/dist/converters/eventConverter.d.ts.map +1 -1
  119. package/dist/converters/eventConverter.js +67 -50
  120. package/dist/events.d.ts +29 -29
  121. package/dist/events.d.ts.map +1 -1
  122. package/dist/index.d.ts +15 -13
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +7 -2
  125. package/dist/store/ActivityLogEventStore.d.ts +1 -1
  126. package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
  127. package/dist/store/ActivityLogModelStore.d.ts +2 -2
  128. package/dist/store/ActivityLogModelStore.d.ts.map +1 -1
  129. package/dist/store/FriendEventStore.d.ts +1 -1
  130. package/dist/store/FriendEventStore.d.ts.map +1 -1
  131. package/dist/store/FriendModelStore.d.ts +3 -2
  132. package/dist/store/FriendModelStore.d.ts.map +1 -1
  133. package/dist/store/GroupEventStore.d.ts +1 -1
  134. package/dist/store/GroupEventStore.d.ts.map +1 -1
  135. package/dist/store/GroupModelStore.d.ts +2 -2
  136. package/dist/store/GroupModelStore.d.ts.map +1 -1
  137. package/dist/store/GroupTransactionEventStore.d.ts +1 -1
  138. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
  139. package/dist/store/GroupTransactionModelStore.d.ts +2 -2
  140. package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
  141. package/dist/store/ModelStore.d.ts +1 -1
  142. package/dist/store/ModelStore.d.ts.map +1 -1
  143. package/dist/store/TransactionEventStore.d.ts +1 -1
  144. package/dist/store/TransactionEventStore.d.ts.map +1 -1
  145. package/dist/store/TransactionModelStore.d.ts +2 -2
  146. package/dist/store/TransactionModelStore.d.ts.map +1 -1
  147. package/dist/store/UserEventStore.d.ts +1 -1
  148. package/dist/store/UserEventStore.d.ts.map +1 -1
  149. package/dist/store/UserModelStore.d.ts +2 -2
  150. package/dist/store/UserModelStore.d.ts.map +1 -1
  151. package/dist/utils/splitTypeUtils.d.ts +1 -1
  152. package/dist/utils/splitTypeUtils.d.ts.map +1 -1
  153. package/dist/utils/userPathUtils.d.ts +1 -1
  154. package/dist/utils/userPathUtils.d.ts.map +1 -1
  155. package/dist/utils/userPathUtils.js +3 -3
  156. package/package.json +1 -1
@@ -19,17 +19,17 @@ class GroupEventHandler {
19
19
  throw new Error(`Unknown group event type: ${eventType}`);
20
20
  }
21
21
  switch (eventType) {
22
- case 'GroupCreated':
22
+ case "GroupCreated":
23
23
  return await this.handleGroupCreated(event);
24
- case 'GroupNameChanged':
24
+ case "GroupNameChanged":
25
25
  return await this.handleGroupNameChanged(event);
26
- case 'GroupDescriptionChanged':
26
+ case "GroupDescriptionChanged":
27
27
  return await this.handleGroupDescriptionChanged(event);
28
- case 'GroupMembersAdded':
28
+ case "GroupMembersAdded":
29
29
  return await this.handleGroupMembersAdded(event);
30
- case 'GroupMembersRemoved':
30
+ case "GroupMembersRemoved":
31
31
  return await this.handleGroupMembersRemoved(event);
32
- case 'GroupDeleted':
32
+ case "GroupDeleted":
33
33
  return await this.handleGroupDeleted(event);
34
34
  default:
35
35
  throw new Error(`Unknown group event type: ${eventType}`);
@@ -44,8 +44,9 @@ class GroupEventHandler {
44
44
  }
45
45
  const existingFriend1to2 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId1, userId2);
46
46
  if (!existingFriend1to2) {
47
- const friendStreamId = `stream-${(0, uuid_1.v4)()}`;
47
+ const friendStreamId = (0, uuid_1.v4)();
48
48
  const friendCreatedEvent = new _1.FriendCreated({
49
+ eventId: (0, uuid_1.v4)(),
49
50
  userId: userId1,
50
51
  friendEmail: user2.email,
51
52
  friendPhoneNumber: user2.phoneNumber,
@@ -64,8 +65,9 @@ class GroupEventHandler {
64
65
  }
65
66
  const existingFriend2to1 = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId2, userId1);
66
67
  if (!existingFriend2to1) {
67
- const friendStreamId = `stream-${(0, uuid_1.v4)()}`;
68
+ const friendStreamId = (0, uuid_1.v4)();
68
69
  const friendCreatedEvent = new _1.FriendCreated({
70
+ eventId: (0, uuid_1.v4)(),
69
71
  userId: userId2,
70
72
  friendEmail: user1.email,
71
73
  friendPhoneNumber: user1.phoneNumber,
@@ -88,7 +90,7 @@ class GroupEventHandler {
88
90
  const updatedModel = event.apply(existingModel);
89
91
  await this.modelStore.save(updatedModel);
90
92
  const allMemberIds = event.members ?? [];
91
- const otherMembers = allMemberIds.filter(id => id !== event.userId);
93
+ const otherMembers = allMemberIds.filter((id) => id !== event.userId);
92
94
  for (const memberId of otherMembers) {
93
95
  const memberUser = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
94
96
  if (!memberUser) {
@@ -100,8 +102,9 @@ class GroupEventHandler {
100
102
  await this.ensureBidirectionalFriendship(memberId, otherMemberId, event.groupId);
101
103
  }
102
104
  }
103
- const perspectiveGroupStreamId = `stream-${(0, uuid_1.v4)()}`;
105
+ const perspectiveGroupStreamId = (0, uuid_1.v4)();
104
106
  const perspectiveGroupCreated = new _1.GroupCreated({
107
+ eventId: (0, uuid_1.v4)(),
105
108
  userId: memberId,
106
109
  groupId: event.groupId,
107
110
  name: event.name,
@@ -130,6 +133,7 @@ class GroupEventHandler {
130
133
  for (const perspective of allPerspectives) {
131
134
  if (perspective.streamId !== event.streamId) {
132
135
  const perspectiveEvent = new _1.GroupNameChanged({
136
+ eventId: (0, uuid_1.v4)(),
133
137
  userId: perspective.userId,
134
138
  name: event.name,
135
139
  createdAt: new Date(),
@@ -156,6 +160,7 @@ class GroupEventHandler {
156
160
  for (const perspective of allPerspectives) {
157
161
  if (perspective.streamId !== event.streamId) {
158
162
  const perspectiveEvent = new _1.GroupDescriptionChanged({
163
+ eventId: (0, uuid_1.v4)(),
159
164
  userId: perspective.userId,
160
165
  description: event.description,
161
166
  createdAt: new Date(),
@@ -193,8 +198,9 @@ class GroupEventHandler {
193
198
  await this.ensureBidirectionalFriendship(memberId, otherMemberId, existingModel.groupId);
194
199
  }
195
200
  }
196
- const perspectiveGroupStreamId = `stream-${(0, uuid_1.v4)()}`;
201
+ const perspectiveGroupStreamId = (0, uuid_1.v4)();
197
202
  const perspectiveGroupCreated = new _1.GroupCreated({
203
+ eventId: (0, uuid_1.v4)(),
198
204
  userId: memberId,
199
205
  groupId: existingModel.groupId,
200
206
  name: existingModel.name,
@@ -212,8 +218,10 @@ class GroupEventHandler {
212
218
  }
213
219
  const allPerspectives = await this.modelStore.findAllByGroupIdAndDeletedIsFalse(updatedModel.groupId);
214
220
  for (const perspective of allPerspectives) {
215
- if (perspective.streamId !== event.streamId && !event.members.includes(perspective.userId)) {
221
+ if (perspective.streamId !== event.streamId &&
222
+ !event.members.includes(perspective.userId)) {
216
223
  const perspectiveEvent = new _1.GroupMembersAdded({
224
+ eventId: (0, uuid_1.v4)(),
217
225
  userId: perspective.userId,
218
226
  members: event.members,
219
227
  createdAt: new Date(),
@@ -240,6 +248,7 @@ class GroupEventHandler {
240
248
  for (const perspective of allPerspectives) {
241
249
  if (perspective.streamId !== event.streamId) {
242
250
  const perspectiveEvent = new _1.GroupMembersRemoved({
251
+ eventId: (0, uuid_1.v4)(),
243
252
  userId: perspective.userId,
244
253
  members: event.members,
245
254
  createdAt: new Date(),
@@ -1,6 +1,6 @@
1
- import { GroupEvent } from './common/DomainEvents';
2
- import { Model } from './common/Model';
3
- import { ActivityLogCreatedProps } from './ActivityLogEvents';
1
+ import { GroupEvent } from "./common/DomainEvents";
2
+ import { Model } from "./common/Model";
3
+ import { ActivityLogCreatedProps } from "./ActivityLogEvents";
4
4
  export interface GroupModel extends Model {
5
5
  groupId: string;
6
6
  name: string;
@@ -12,6 +12,7 @@ export interface GroupModel extends Model {
12
12
  updatedBy: string;
13
13
  }
14
14
  export interface GroupCreatedProps {
15
+ eventId: string;
15
16
  userId: string;
16
17
  groupId: string;
17
18
  name: string;
@@ -24,6 +25,7 @@ export interface GroupCreatedProps {
24
25
  systemGenerated: boolean;
25
26
  }
26
27
  export declare class GroupCreated implements GroupEvent {
28
+ eventId: string;
27
29
  userId: string;
28
30
  groupId: string;
29
31
  name: string;
@@ -39,6 +41,7 @@ export declare class GroupCreated implements GroupEvent {
39
41
  activityLog(_existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
40
42
  }
41
43
  export interface GroupNameChangedProps {
44
+ eventId: string;
42
45
  userId: string;
43
46
  name: string;
44
47
  createdAt: Date;
@@ -48,6 +51,7 @@ export interface GroupNameChangedProps {
48
51
  systemGenerated: boolean;
49
52
  }
50
53
  export declare class GroupNameChanged implements GroupEvent {
54
+ eventId: string;
51
55
  userId: string;
52
56
  name: string;
53
57
  createdAt: Date;
@@ -60,6 +64,7 @@ export declare class GroupNameChanged implements GroupEvent {
60
64
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
61
65
  }
62
66
  export interface GroupDescriptionChangedProps {
67
+ eventId: string;
63
68
  userId: string;
64
69
  description?: string;
65
70
  createdAt: Date;
@@ -69,6 +74,7 @@ export interface GroupDescriptionChangedProps {
69
74
  systemGenerated: boolean;
70
75
  }
71
76
  export declare class GroupDescriptionChanged implements GroupEvent {
77
+ eventId: string;
72
78
  userId: string;
73
79
  description?: string;
74
80
  createdAt: Date;
@@ -81,6 +87,7 @@ export declare class GroupDescriptionChanged implements GroupEvent {
81
87
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
82
88
  }
83
89
  export interface GroupMembersAddedProps {
90
+ eventId: string;
84
91
  userId: string;
85
92
  members: string[];
86
93
  createdAt: Date;
@@ -90,6 +97,7 @@ export interface GroupMembersAddedProps {
90
97
  systemGenerated: boolean;
91
98
  }
92
99
  export declare class GroupMembersAdded implements GroupEvent {
100
+ eventId: string;
93
101
  userId: string;
94
102
  members: string[];
95
103
  createdAt: Date;
@@ -102,6 +110,7 @@ export declare class GroupMembersAdded implements GroupEvent {
102
110
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
103
111
  }
104
112
  export interface GroupMembersRemovedProps {
113
+ eventId: string;
105
114
  userId: string;
106
115
  members: string[];
107
116
  createdAt: Date;
@@ -111,6 +120,7 @@ export interface GroupMembersRemovedProps {
111
120
  systemGenerated: boolean;
112
121
  }
113
122
  export declare class GroupMembersRemoved implements GroupEvent {
123
+ eventId: string;
114
124
  userId: string;
115
125
  members: string[];
116
126
  createdAt: Date;
@@ -123,6 +133,7 @@ export declare class GroupMembersRemoved implements GroupEvent {
123
133
  activityLog(existing?: Model, actorName?: string): ActivityLogCreatedProps | undefined;
124
134
  }
125
135
  export interface GroupDeletedProps {
136
+ eventId: string;
126
137
  userId: string;
127
138
  createdAt: Date;
128
139
  createdBy: string;
@@ -131,6 +142,7 @@ export interface GroupDeletedProps {
131
142
  systemGenerated: boolean;
132
143
  }
133
144
  export declare class GroupDeleted implements GroupEvent {
145
+ eventId: string;
134
146
  userId: string;
135
147
  createdAt: Date;
136
148
  createdBy: string;
@@ -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;
@@ -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,EAIxB,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;AAK9D,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,CACb,KAAK,EAAE,qBAAqB,GAC7B,OAAO,CAAC,qBAAqB,CAAC;IA2BjC,OAAO,CAAC,oBAAoB;YAad,wBAAwB;YA0FxB,wBAAwB;IAatC,OAAO,CAAC,6BAA6B;YAsDvB,gCAAgC;IA+FxC,6BAA6B,CAC/B,KAAK,EAAE,uBAAuB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAkE3B,yCAAyC,CAC3C,KAAK,EAAE,mCAAmC,GAC3C,OAAO,CAAC,qBAAqB,CAAC;CAiFpC"}
@@ -23,9 +23,9 @@ class GroupTransactionEventHandler {
23
23
  throw new Error(`Unknown group transaction event type: ${eventType}`);
24
24
  }
25
25
  switch (eventType) {
26
- case 'GroupTransactionCreated':
26
+ case "GroupTransactionCreated":
27
27
  return await this.handleGroupTransactionCreated(event);
28
- case 'GroupTransactionSplitDetailsChanged':
28
+ case "GroupTransactionSplitDetailsChanged":
29
29
  return await this.handleGroupTransactionSplitDetailsChanged(event);
30
30
  default:
31
31
  throw new Error(`Unknown group transaction event type: ${eventType}`);
@@ -55,12 +55,13 @@ class GroupTransactionEventHandler {
55
55
  for (const debtor of debtors) {
56
56
  if (creditor.amount > 0 && debtor.amount > 0) {
57
57
  const transactionAmount = Math.min(creditor.amount, debtor.amount);
58
- const creditorStreamId = `stream-${(0, uuid_1.v4)()}`;
58
+ const creditorStreamId = (0, uuid_1.v4)();
59
59
  const creditorTransactionEvent = new _1.TransactionCreated({
60
+ eventId: (0, uuid_1.v4)(),
60
61
  userId: creditor.memberId,
61
62
  recipientUserId: debtor.memberId,
62
63
  logicalTransactionId: groupTransactionEvent.transactionId,
63
- description: groupTransactionEvent.description ?? '',
64
+ description: groupTransactionEvent.description ?? "",
64
65
  currency: groupTransactionEvent.currency,
65
66
  splitType: _1.SplitType.SpecificAmounts,
66
67
  totalAmount: transactionAmount,
@@ -78,12 +79,13 @@ class GroupTransactionEventHandler {
78
79
  await this.transactionEventStore.addEvent(creditorTransactionEvent);
79
80
  const creditorModel = creditorTransactionEvent.apply(undefined);
80
81
  await this.transactionModelStore.save(creditorModel);
81
- const debtorStreamId = `stream-${(0, uuid_1.v4)()}`;
82
+ const debtorStreamId = (0, uuid_1.v4)();
82
83
  const debtorTransactionEvent = new _1.TransactionCreated({
84
+ eventId: (0, uuid_1.v4)(),
83
85
  userId: debtor.memberId,
84
86
  recipientUserId: creditor.memberId,
85
87
  logicalTransactionId: groupTransactionEvent.transactionId,
86
- description: groupTransactionEvent.description ?? '',
88
+ description: groupTransactionEvent.description ?? "",
87
89
  currency: groupTransactionEvent.currency,
88
90
  splitType: _1.SplitType.SpecificAmounts,
89
91
  totalAmount: transactionAmount,
@@ -131,13 +133,13 @@ class GroupTransactionEventHandler {
131
133
  requiredTransactions.set(creditorKey, {
132
134
  recipientUserId: debtor.memberId,
133
135
  amount: transactionAmount,
134
- isOwed: false
136
+ isOwed: false,
135
137
  });
136
138
  const debtorKey = `${debtor.memberId}-${creditor.memberId}`;
137
139
  requiredTransactions.set(debtorKey, {
138
140
  recipientUserId: creditor.memberId,
139
141
  amount: transactionAmount,
140
- isOwed: true
142
+ isOwed: true,
141
143
  });
142
144
  creditor.amount -= transactionAmount;
143
145
  debtor.amount -= transactionAmount;
@@ -148,8 +150,8 @@ class GroupTransactionEventHandler {
148
150
  }
149
151
  async updateExistingFriendTransactions(event, existingModel, newMembers) {
150
152
  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));
153
+ const oldMemberIds = new Set(existingModel.originalTransaction.members.map((m) => m.memberId));
154
+ const newMemberIds = new Set(newMembers.map((m) => m.memberId));
153
155
  const allMemberIds = new Set([...oldMemberIds, ...newMemberIds]);
154
156
  for (const memberId of allMemberIds) {
155
157
  const existingTransactions = await this.transactionModelStore.findByGroupTransactionId(memberId, existingModel.transactionId);
@@ -161,6 +163,7 @@ class GroupTransactionEventHandler {
161
163
  existingTx.totalAmount !== requiredTx.amount ||
162
164
  existingTx.isOwed !== requiredTx.isOwed) {
163
165
  const updateEvent = new _1.TransactionDetailsChanged({
166
+ eventId: (0, uuid_1.v4)(),
164
167
  userId: existingTx.userId,
165
168
  totalAmount: requiredTx.amount,
166
169
  amount: requiredTx.amount,
@@ -179,6 +182,7 @@ class GroupTransactionEventHandler {
179
182
  }
180
183
  else {
181
184
  const deleteEvent = new _1.TransactionDeleted({
185
+ eventId: (0, uuid_1.v4)(),
182
186
  userId: existingTx.userId,
183
187
  createdAt: new Date(),
184
188
  createdBy: event.createdBy,
@@ -193,13 +197,14 @@ class GroupTransactionEventHandler {
193
197
  }
194
198
  }
195
199
  for (const [key, txDetails] of requiredTransactions.entries()) {
196
- const [userId, recipientUserId] = key.split('-');
197
- const streamId = `stream-${(0, uuid_1.v4)()}`;
200
+ const [userId, recipientUserId] = key.split("-");
201
+ const streamId = (0, uuid_1.v4)();
198
202
  const createEvent = new _1.TransactionCreated({
203
+ eventId: (0, uuid_1.v4)(),
199
204
  userId: userId,
200
205
  recipientUserId: recipientUserId,
201
206
  logicalTransactionId: existingModel.transactionId,
202
- description: existingModel.description ?? '',
207
+ description: existingModel.description ?? "",
203
208
  currency: existingModel.currency,
204
209
  splitType: _1.SplitType.SpecificAmounts,
205
210
  totalAmount: txDetails.amount,
@@ -229,9 +234,10 @@ class GroupTransactionEventHandler {
229
234
  const allGroupPerspectives = await this.groupModelStore.findAllByGroupIdAndDeletedIsFalse(event.groupId);
230
235
  for (const groupPerspective of allGroupPerspectives) {
231
236
  if (groupPerspective.userId !== event.userId) {
232
- const perspectiveStreamId = `stream-${(0, uuid_1.v4)()}`;
237
+ const perspectiveStreamId = (0, uuid_1.v4)();
233
238
  const perspectiveSplitType = (0, splitTypeUtils_1.reverseSplitType)(event.splitType);
234
239
  const perspectiveEvent = new _1.GroupTransactionCreated({
240
+ eventId: (0, uuid_1.v4)(),
235
241
  userId: groupPerspective.userId,
236
242
  groupId: event.groupId,
237
243
  transactionId: event.transactionId,
@@ -262,7 +268,7 @@ class GroupTransactionEventHandler {
262
268
  async handleGroupTransactionSplitDetailsChanged(event) {
263
269
  const existingModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
264
270
  if (!existingModel) {
265
- throw new Error('GroupTransaction must exist to change split details');
271
+ throw new Error("GroupTransaction must exist to change split details");
266
272
  }
267
273
  const oldMembers = existingModel.originalTransaction.members;
268
274
  const newMembers = event.originalTransaction.members;
@@ -277,6 +283,7 @@ class GroupTransactionEventHandler {
277
283
  const perspectiveStreamId = updatedModel.streamId;
278
284
  const perspectiveSplitType = (0, splitTypeUtils_1.reverseSplitType)(event.splitType);
279
285
  const perspectiveEvent = new _1.GroupTransactionSplitDetailsChanged({
286
+ eventId: (0, uuid_1.v4)(),
280
287
  userId: groupPerspective.userId,
281
288
  totalAmount: event.totalAmount,
282
289
  splitType: perspectiveSplitType,