@zeeshan60/event-processor 1.0.3 → 1.0.5

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 (73) hide show
  1. package/dist/ActivityEventHandler.d.ts +12 -0
  2. package/dist/ActivityEventHandler.d.ts.map +1 -0
  3. package/dist/ActivityEventHandler.js +35 -0
  4. package/dist/FriendEventHandler.d.ts +21 -0
  5. package/dist/FriendEventHandler.d.ts.map +1 -0
  6. package/dist/FriendEventHandler.js +175 -0
  7. package/dist/GroupEventHandler.d.ts +25 -0
  8. package/dist/GroupEventHandler.d.ts.map +1 -0
  9. package/dist/GroupEventHandler.js +270 -0
  10. package/dist/GroupTransactionEventHandler.d.ts +25 -0
  11. package/dist/GroupTransactionEventHandler.d.ts.map +1 -0
  12. package/dist/GroupTransactionEventHandler.js +296 -0
  13. package/dist/TransactionEventHandler.d.ts +11 -7
  14. package/dist/TransactionEventHandler.d.ts.map +1 -1
  15. package/dist/TransactionEventHandler.js +139 -10
  16. package/dist/UserEventHandler.d.ts +17 -0
  17. package/dist/UserEventHandler.d.ts.map +1 -0
  18. package/dist/UserEventHandler.js +82 -0
  19. package/dist/events.d.ts +30 -0
  20. package/dist/events.d.ts.map +1 -0
  21. package/dist/events.js +60 -0
  22. package/dist/index.d.ts +1 -8
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +16 -58
  25. package/dist/store/ActivityLogEventStore.d.ts +5 -0
  26. package/dist/store/ActivityLogEventStore.d.ts.map +1 -0
  27. package/dist/store/ActivityLogEventStore.js +6 -0
  28. package/dist/store/ActivityLogModelStore.d.ts +8 -0
  29. package/dist/store/ActivityLogModelStore.d.ts.map +1 -0
  30. package/dist/store/ActivityLogModelStore.js +7 -0
  31. package/dist/store/FriendEventStore.d.ts +5 -0
  32. package/dist/store/FriendEventStore.d.ts.map +1 -0
  33. package/dist/store/FriendEventStore.js +6 -0
  34. package/dist/store/FriendModelStore.d.ts +12 -0
  35. package/dist/store/FriendModelStore.d.ts.map +1 -0
  36. package/dist/store/FriendModelStore.js +7 -0
  37. package/dist/store/GroupEventStore.d.ts +5 -0
  38. package/dist/store/GroupEventStore.d.ts.map +1 -0
  39. package/dist/store/GroupEventStore.js +6 -0
  40. package/dist/store/GroupModelStore.d.ts +10 -0
  41. package/dist/store/GroupModelStore.d.ts.map +1 -0
  42. package/dist/store/GroupModelStore.js +7 -0
  43. package/dist/store/GroupTransactionEventStore.d.ts +5 -0
  44. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -0
  45. package/dist/store/GroupTransactionEventStore.js +6 -0
  46. package/dist/store/GroupTransactionModelStore.d.ts +10 -0
  47. package/dist/store/GroupTransactionModelStore.d.ts.map +1 -0
  48. package/dist/store/GroupTransactionModelStore.js +7 -0
  49. package/dist/store/ModelStore.d.ts +7 -0
  50. package/dist/store/ModelStore.d.ts.map +1 -0
  51. package/dist/store/ModelStore.js +6 -0
  52. package/dist/store/TransactionEventStore.d.ts +5 -0
  53. package/dist/store/TransactionEventStore.d.ts.map +1 -0
  54. package/dist/store/TransactionEventStore.js +6 -0
  55. package/dist/store/TransactionModelStore.d.ts +10 -0
  56. package/dist/store/TransactionModelStore.d.ts.map +1 -0
  57. package/dist/store/TransactionModelStore.js +7 -0
  58. package/dist/store/UserEventStore.d.ts +5 -0
  59. package/dist/store/UserEventStore.d.ts.map +1 -0
  60. package/dist/store/UserEventStore.js +6 -0
  61. package/dist/store/UserModelStore.d.ts +11 -0
  62. package/dist/store/UserModelStore.d.ts.map +1 -0
  63. package/dist/store/UserModelStore.js +7 -0
  64. package/dist/utils/eventConverter.d.ts +23 -0
  65. package/dist/utils/eventConverter.d.ts.map +1 -0
  66. package/dist/utils/eventConverter.js +370 -0
  67. package/dist/utils/splitTypeUtils.d.ts +7 -0
  68. package/dist/utils/splitTypeUtils.d.ts.map +1 -0
  69. package/dist/utils/splitTypeUtils.js +45 -0
  70. package/dist/utils/userPathUtils.d.ts +6 -0
  71. package/dist/utils/userPathUtils.d.ts.map +1 -0
  72. package/dist/utils/userPathUtils.js +16 -0
  73. package/package.json +1 -1
@@ -0,0 +1,370 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.eventToFirestore = eventToFirestore;
37
+ exports.firestoreToEvent = firestoreToEvent;
38
+ const __1 = require("..");
39
+ const admin = __importStar(require("firebase-admin"));
40
+ const MAIN_TYPE_TO_EVENT_TYPES = {
41
+ transaction: [
42
+ 'TransactionCreated',
43
+ 'TransactionDeleted',
44
+ 'DescriptionChanged',
45
+ 'TotalAmountChanged',
46
+ 'SplitTypeChanged',
47
+ ],
48
+ user: [
49
+ 'UserCreated',
50
+ 'PlaceholderUserCreated',
51
+ 'UserCurrencyChanged',
52
+ 'UserPhoneNumberChanged',
53
+ 'UserDisplayNameChanged',
54
+ 'UserDeleted',
55
+ 'UserConvertedToPlaceholder',
56
+ ],
57
+ friend: [
58
+ 'FriendCreated',
59
+ 'FriendUpdated',
60
+ 'FriendDeleted',
61
+ 'FriendIdAdded',
62
+ 'FriendIdRemoved',
63
+ ],
64
+ activityLog: ['ActivityLogCreated'],
65
+ };
66
+ function getMainTypeForEvent(eventType) {
67
+ for (const [mainType, eventTypes] of Object.entries(MAIN_TYPE_TO_EVENT_TYPES)) {
68
+ if (eventTypes.includes(eventType)) {
69
+ return mainType;
70
+ }
71
+ }
72
+ throw new Error(`Unknown event type: ${eventType}`);
73
+ }
74
+ /**
75
+ * Converts a domain Event to Firestore-friendly format
76
+ */
77
+ function eventToFirestore(event, eventId) {
78
+ const eventWithUserId = event;
79
+ const eventType = event.constructor.name;
80
+ const eventMainType = getMainTypeForEvent(eventType);
81
+ const eventData = {
82
+ eventId,
83
+ streamId: event.streamId,
84
+ version: event.version,
85
+ createdAt: admin.firestore.Timestamp.fromDate(event.createdAt),
86
+ createdBy: event.createdBy,
87
+ eventType,
88
+ eventMainType,
89
+ systemGenerated: true,
90
+ };
91
+ if (eventWithUserId.userId) {
92
+ eventData.userId = eventWithUserId.userId;
93
+ }
94
+ if (eventType === 'TransactionCreated') {
95
+ const txEvent = event;
96
+ eventData.recipientUserId = txEvent.recipientUserId;
97
+ eventData.logicalTransactionId = txEvent.logicalTransactionId;
98
+ eventData.description = txEvent.description;
99
+ eventData.currency = txEvent.currency;
100
+ eventData.splitType = txEvent.splitType;
101
+ eventData.totalAmount = txEvent.totalAmount;
102
+ eventData.amount = txEvent.amount;
103
+ eventData.isOwed = txEvent.isOwed;
104
+ eventData.transactionDate = admin.firestore.Timestamp.fromDate(txEvent.transactionDate);
105
+ eventData.groupId = txEvent.groupId;
106
+ eventData.groupTransactionId = txEvent.groupTransactionId;
107
+ }
108
+ if (eventType === 'DescriptionChanged') {
109
+ const txEvent = event;
110
+ eventData.description = txEvent.description;
111
+ }
112
+ if (eventType === 'TotalAmountChanged') {
113
+ const txEvent = event;
114
+ eventData.totalAmount = txEvent.totalAmount;
115
+ }
116
+ if (eventType === 'SplitTypeChanged') {
117
+ const txEvent = event;
118
+ eventData.splitType = txEvent.splitType;
119
+ eventData.totalAmount = txEvent.totalAmount;
120
+ eventData.amount = txEvent.amount;
121
+ eventData.isOwed = txEvent.isOwed;
122
+ }
123
+ if (eventType === 'UserCreated') {
124
+ const userEvent = event;
125
+ eventData.firebaseUid = userEvent.firebaseUid;
126
+ eventData.displayName = userEvent.displayName;
127
+ eventData.phoneNumber = userEvent.phoneNumber;
128
+ eventData.email = userEvent.email;
129
+ eventData.photoUrl = userEvent.photoUrl;
130
+ eventData.emailVerified = userEvent.emailVerified;
131
+ }
132
+ if (eventType === 'PlaceholderUserCreated') {
133
+ const userEvent = event;
134
+ eventData.displayName = userEvent.displayName;
135
+ eventData.phoneNumber = userEvent.phoneNumber;
136
+ eventData.email = userEvent.email;
137
+ }
138
+ if (eventType === 'UserCurrencyChanged') {
139
+ const userEvent = event;
140
+ eventData.currency = userEvent.currency;
141
+ }
142
+ if (eventType === 'UserPhoneNumberChanged') {
143
+ const userEvent = event;
144
+ eventData.phoneNumber = userEvent.phoneNumber;
145
+ }
146
+ if (eventType === 'UserDisplayNameChanged') {
147
+ const userEvent = event;
148
+ eventData.displayName = userEvent.displayName;
149
+ }
150
+ if (eventType === 'FriendCreated') {
151
+ const friendEvent = event;
152
+ eventData.friendEmail = friendEvent.friendEmail;
153
+ eventData.friendPhoneNumber = friendEvent.friendPhoneNumber;
154
+ eventData.friendDisplayName = friendEvent.friendDisplayName;
155
+ eventData.friendId = friendEvent.friendId;
156
+ eventData.groupId = friendEvent.groupId;
157
+ }
158
+ if (eventType === 'FriendUpdated') {
159
+ const friendEvent = event;
160
+ eventData.friendEmail = friendEvent.friendEmail;
161
+ eventData.friendPhoneNumber = friendEvent.friendPhoneNumber;
162
+ eventData.friendDisplayName = friendEvent.friendDisplayName;
163
+ }
164
+ if (eventType === 'FriendIdAdded') {
165
+ const friendEvent = event;
166
+ eventData.friendId = friendEvent.friendId;
167
+ }
168
+ return eventData;
169
+ }
170
+ /**
171
+ * Converts Firestore event data to domain Event
172
+ */
173
+ function firestoreToEvent(data) {
174
+ const eventType = data.eventType;
175
+ // Transaction Events
176
+ if (eventType === 'TransactionCreated') {
177
+ return new __1.TransactionCreated({
178
+ userId: data.userId,
179
+ recipientUserId: data.recipientUserId,
180
+ logicalTransactionId: data.logicalTransactionId,
181
+ description: data.description,
182
+ currency: data.currency,
183
+ splitType: data.splitType,
184
+ totalAmount: data.totalAmount,
185
+ amount: data.amount,
186
+ isOwed: data.isOwed,
187
+ transactionDate: data.transactionDate.toDate(),
188
+ groupId: data.groupId,
189
+ groupTransactionId: data.groupTransactionId,
190
+ createdAt: data.createdAt.toDate(),
191
+ createdBy: data.createdBy,
192
+ streamId: data.streamId,
193
+ version: data.version,
194
+ });
195
+ }
196
+ if (eventType === 'TransactionDeleted') {
197
+ return new __1.TransactionDeleted({
198
+ createdAt: data.createdAt.toDate(),
199
+ createdBy: data.createdBy,
200
+ streamId: data.streamId,
201
+ version: data.version,
202
+ });
203
+ }
204
+ if (eventType === 'DescriptionChanged') {
205
+ return new __1.DescriptionChanged({
206
+ description: data.description,
207
+ createdAt: data.createdAt.toDate(),
208
+ createdBy: data.createdBy,
209
+ streamId: data.streamId,
210
+ version: data.version,
211
+ });
212
+ }
213
+ if (eventType === 'TotalAmountChanged') {
214
+ return new __1.TotalAmountChanged({
215
+ totalAmount: data.totalAmount,
216
+ createdAt: data.createdAt.toDate(),
217
+ createdBy: data.createdBy,
218
+ streamId: data.streamId,
219
+ version: data.version,
220
+ });
221
+ }
222
+ if (eventType === 'SplitTypeChanged') {
223
+ return new __1.SplitTypeChanged({
224
+ splitType: data.splitType,
225
+ totalAmount: data.totalAmount,
226
+ amount: data.amount,
227
+ isOwed: data.isOwed,
228
+ createdAt: data.createdAt.toDate(),
229
+ createdBy: data.createdBy,
230
+ streamId: data.streamId,
231
+ version: data.version,
232
+ });
233
+ }
234
+ // User Events
235
+ if (eventType === 'UserCreated') {
236
+ return new __1.UserCreated({
237
+ userId: data.userId,
238
+ firebaseUid: data.firebaseUid,
239
+ displayName: data.displayName,
240
+ phoneNumber: data.phoneNumber,
241
+ email: data.email,
242
+ photoUrl: data.photoUrl,
243
+ emailVerified: data.emailVerified,
244
+ createdAt: data.createdAt.toDate(),
245
+ createdBy: data.createdBy,
246
+ streamId: data.streamId,
247
+ version: data.version,
248
+ });
249
+ }
250
+ if (eventType === 'PlaceholderUserCreated') {
251
+ return new __1.PlaceholderUserCreated({
252
+ userId: data.userId,
253
+ displayName: data.displayName,
254
+ phoneNumber: data.phoneNumber,
255
+ email: data.email,
256
+ createdAt: data.createdAt.toDate(),
257
+ createdBy: data.createdBy,
258
+ streamId: data.streamId,
259
+ version: data.version,
260
+ });
261
+ }
262
+ if (eventType === 'UserCurrencyChanged') {
263
+ return new __1.UserCurrencyChanged({
264
+ userId: data.userId,
265
+ currency: data.currency,
266
+ createdAt: data.createdAt.toDate(),
267
+ createdBy: data.createdBy,
268
+ streamId: data.streamId,
269
+ version: data.version,
270
+ });
271
+ }
272
+ if (eventType === 'UserPhoneNumberChanged') {
273
+ return new __1.UserPhoneNumberChanged({
274
+ userId: data.userId,
275
+ phoneNumber: data.phoneNumber,
276
+ createdAt: data.createdAt.toDate(),
277
+ createdBy: data.createdBy,
278
+ streamId: data.streamId,
279
+ version: data.version,
280
+ });
281
+ }
282
+ if (eventType === 'UserDisplayNameChanged') {
283
+ return new __1.UserDisplayNameChanged({
284
+ userId: data.userId,
285
+ displayName: data.displayName,
286
+ createdAt: data.createdAt.toDate(),
287
+ createdBy: data.createdBy,
288
+ streamId: data.streamId,
289
+ version: data.version,
290
+ });
291
+ }
292
+ if (eventType === 'UserDeleted') {
293
+ return new __1.UserDeleted({
294
+ userId: data.userId,
295
+ createdAt: data.createdAt.toDate(),
296
+ createdBy: data.createdBy,
297
+ streamId: data.streamId,
298
+ version: data.version,
299
+ });
300
+ }
301
+ if (eventType === 'UserConvertedToPlaceholder') {
302
+ return new __1.UserConvertedToPlaceholder({
303
+ userId: data.userId,
304
+ createdAt: data.createdAt.toDate(),
305
+ createdBy: data.createdBy,
306
+ streamId: data.streamId,
307
+ version: data.version,
308
+ });
309
+ }
310
+ // Friend Events
311
+ if (eventType === 'FriendCreated') {
312
+ if (!data.userId) {
313
+ throw new Error('userId is required for FriendCreated event');
314
+ }
315
+ return new __1.FriendCreated({
316
+ userId: data.userId,
317
+ friendEmail: data.friendEmail,
318
+ friendPhoneNumber: data.friendPhoneNumber,
319
+ friendDisplayName: data.friendDisplayName,
320
+ friendId: data.friendId,
321
+ groupId: data.groupId,
322
+ createdAt: data.createdAt.toDate(),
323
+ createdBy: data.createdBy,
324
+ streamId: data.streamId,
325
+ version: data.version,
326
+ });
327
+ }
328
+ if (eventType === 'FriendUpdated') {
329
+ return new __1.FriendUpdated({
330
+ userId: data.userId,
331
+ friendEmail: data.friendEmail,
332
+ friendPhoneNumber: data.friendPhoneNumber,
333
+ friendDisplayName: data.friendDisplayName,
334
+ createdAt: data.createdAt.toDate(),
335
+ createdBy: data.createdBy,
336
+ streamId: data.streamId,
337
+ version: data.version,
338
+ });
339
+ }
340
+ if (eventType === 'FriendDeleted') {
341
+ return new __1.FriendDeleted({
342
+ userId: data.userId,
343
+ createdAt: data.createdAt.toDate(),
344
+ createdBy: data.createdBy,
345
+ streamId: data.streamId,
346
+ version: data.version,
347
+ });
348
+ }
349
+ if (eventType === 'FriendIdAdded') {
350
+ return new __1.FriendIdAdded({
351
+ userId: data.userId,
352
+ friendId: data.friendId,
353
+ createdAt: data.createdAt.toDate(),
354
+ createdBy: data.createdBy,
355
+ streamId: data.streamId,
356
+ version: data.version,
357
+ });
358
+ }
359
+ if (eventType === 'FriendIdRemoved') {
360
+ return new __1.FriendIdRemoved({
361
+ userId: data.userId,
362
+ createdAt: data.createdAt.toDate(),
363
+ createdBy: data.createdBy,
364
+ streamId: data.streamId,
365
+ version: data.version,
366
+ });
367
+ }
368
+ // Unknown event type
369
+ throw new Error(`Unknown event type: ${eventType}`);
370
+ }
@@ -0,0 +1,7 @@
1
+ import { SplitType } from '..';
2
+ export declare function reverseSplitType(splitType: SplitType): SplitType;
3
+ export declare function calculateMirrorAmountAndIsOwed(totalAmount: number, amount: number, splitType: SplitType, isOwed: boolean): {
4
+ amount: number;
5
+ isOwed: boolean;
6
+ };
7
+ //# sourceMappingURL=splitTypeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitTypeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/splitTypeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAmBhE;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,OAAO,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAmBrC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reverseSplitType = reverseSplitType;
4
+ exports.calculateMirrorAmountAndIsOwed = calculateMirrorAmountAndIsOwed;
5
+ const __1 = require("..");
6
+ function reverseSplitType(splitType) {
7
+ switch (splitType) {
8
+ case __1.SplitType.YouPaidSplitEqually:
9
+ return __1.SplitType.TheyPaidSplitEqually;
10
+ case __1.SplitType.TheyPaidSplitEqually:
11
+ return __1.SplitType.YouPaidSplitEqually;
12
+ case __1.SplitType.TheyOweYouAll:
13
+ return __1.SplitType.YouOweThemAll;
14
+ case __1.SplitType.YouOweThemAll:
15
+ return __1.SplitType.TheyOweYouAll;
16
+ case __1.SplitType.TheyPaidToSettle:
17
+ return __1.SplitType.YouPaidToSettle;
18
+ case __1.SplitType.YouPaidToSettle:
19
+ return __1.SplitType.TheyPaidToSettle;
20
+ case __1.SplitType.SpecificAmounts:
21
+ return __1.SplitType.SpecificAmounts;
22
+ default:
23
+ throw new Error(`Unknown split type: ${splitType}`);
24
+ }
25
+ }
26
+ function calculateMirrorAmountAndIsOwed(totalAmount, amount, splitType, isOwed) {
27
+ switch (splitType) {
28
+ case __1.SplitType.YouPaidSplitEqually:
29
+ return { amount: totalAmount / 2, isOwed: false };
30
+ case __1.SplitType.TheyPaidSplitEqually:
31
+ return { amount: totalAmount / 2, isOwed: true };
32
+ case __1.SplitType.TheyOweYouAll:
33
+ return { amount: totalAmount, isOwed: false };
34
+ case __1.SplitType.YouOweThemAll:
35
+ return { amount: totalAmount, isOwed: true };
36
+ case __1.SplitType.TheyPaidToSettle:
37
+ return { amount: totalAmount, isOwed: true };
38
+ case __1.SplitType.YouPaidToSettle:
39
+ return { amount: totalAmount, isOwed: false };
40
+ case __1.SplitType.SpecificAmounts:
41
+ return { amount: amount, isOwed: !isOwed };
42
+ default:
43
+ throw new Error(`Unknown split type: ${splitType}`);
44
+ }
45
+ }
@@ -0,0 +1,6 @@
1
+ import { UserModel } from '..';
2
+ export declare function getUserEventPath(userModel: UserModel | undefined, recipientStreamId: string): {
3
+ path: string;
4
+ userId: string;
5
+ };
6
+ //# sourceMappingURL=userPathUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userPathUtils.d.ts","sourceRoot":"","sources":["../../src/utils/userPathUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,iBAAiB,EAAE,MAAM,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAUlC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUserEventPath = getUserEventPath;
4
+ function getUserEventPath(userModel, recipientStreamId) {
5
+ if (userModel) {
6
+ if (userModel.uid) {
7
+ return { path: 'users', userId: userModel.uid };
8
+ }
9
+ else {
10
+ return { path: 'placeholders', userId: userModel.streamId };
11
+ }
12
+ }
13
+ else {
14
+ return { path: 'placeholders', userId: recipientStreamId };
15
+ }
16
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeeshan60/event-processor",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Shared event sourcing infrastructure for Loan Tracker projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",