@zeeshan60/event-processor 1.0.4 → 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 (34) 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 -21
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +16 -86
  25. package/dist/utils/eventConverter.d.ts +23 -0
  26. package/dist/utils/eventConverter.d.ts.map +1 -0
  27. package/dist/utils/eventConverter.js +370 -0
  28. package/dist/utils/splitTypeUtils.d.ts +7 -0
  29. package/dist/utils/splitTypeUtils.d.ts.map +1 -0
  30. package/dist/utils/splitTypeUtils.js +45 -0
  31. package/dist/utils/userPathUtils.d.ts +6 -0
  32. package/dist/utils/userPathUtils.d.ts.map +1 -0
  33. package/dist/utils/userPathUtils.js +16 -0
  34. package/package.json +1 -1
package/dist/events.js ADDED
@@ -0,0 +1,60 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getUserEventPath = exports.calculateMirrorAmountAndIsOwed = exports.reverseSplitType = exports.ActivityEventHandler = exports.GroupTransactionEventHandler = exports.GroupEventHandler = exports.FriendEventHandler = exports.UserEventHandler = exports.TransactionEventHandler = void 0;
18
+ // Re-export all event types
19
+ __exportStar(require("./TransactionEvents"), exports);
20
+ __exportStar(require("./UserEvents"), exports);
21
+ __exportStar(require("./FriendEvents"), exports);
22
+ __exportStar(require("./GroupEvents"), exports);
23
+ __exportStar(require("./GroupTransactionEvents"), exports);
24
+ __exportStar(require("./ActivityLogEvents"), exports);
25
+ // Re-export common types
26
+ __exportStar(require("./common/Event"), exports);
27
+ __exportStar(require("./common/Model"), exports);
28
+ // Re-export store classes
29
+ __exportStar(require("./store/ModelStore"), exports);
30
+ __exportStar(require("./store/TransactionEventStore"), exports);
31
+ __exportStar(require("./store/TransactionModelStore"), exports);
32
+ __exportStar(require("./store/UserEventStore"), exports);
33
+ __exportStar(require("./store/UserModelStore"), exports);
34
+ __exportStar(require("./store/FriendEventStore"), exports);
35
+ __exportStar(require("./store/FriendModelStore"), exports);
36
+ __exportStar(require("./store/GroupEventStore"), exports);
37
+ __exportStar(require("./store/GroupModelStore"), exports);
38
+ __exportStar(require("./store/GroupTransactionEventStore"), exports);
39
+ __exportStar(require("./store/GroupTransactionModelStore"), exports);
40
+ __exportStar(require("./store/ActivityLogEventStore"), exports);
41
+ __exportStar(require("./store/ActivityLogModelStore"), exports);
42
+ // Re-export event handlers
43
+ var TransactionEventHandler_1 = require("./TransactionEventHandler");
44
+ Object.defineProperty(exports, "TransactionEventHandler", { enumerable: true, get: function () { return TransactionEventHandler_1.TransactionEventHandler; } });
45
+ var UserEventHandler_1 = require("./UserEventHandler");
46
+ Object.defineProperty(exports, "UserEventHandler", { enumerable: true, get: function () { return UserEventHandler_1.UserEventHandler; } });
47
+ var FriendEventHandler_1 = require("./FriendEventHandler");
48
+ Object.defineProperty(exports, "FriendEventHandler", { enumerable: true, get: function () { return FriendEventHandler_1.FriendEventHandler; } });
49
+ var GroupEventHandler_1 = require("./GroupEventHandler");
50
+ Object.defineProperty(exports, "GroupEventHandler", { enumerable: true, get: function () { return GroupEventHandler_1.GroupEventHandler; } });
51
+ var GroupTransactionEventHandler_1 = require("./GroupTransactionEventHandler");
52
+ Object.defineProperty(exports, "GroupTransactionEventHandler", { enumerable: true, get: function () { return GroupTransactionEventHandler_1.GroupTransactionEventHandler; } });
53
+ var ActivityEventHandler_1 = require("./ActivityEventHandler");
54
+ Object.defineProperty(exports, "ActivityEventHandler", { enumerable: true, get: function () { return ActivityEventHandler_1.ActivityEventHandler; } });
55
+ // Re-export utility functions
56
+ var splitTypeUtils_1 = require("./utils/splitTypeUtils");
57
+ Object.defineProperty(exports, "reverseSplitType", { enumerable: true, get: function () { return splitTypeUtils_1.reverseSplitType; } });
58
+ Object.defineProperty(exports, "calculateMirrorAmountAndIsOwed", { enumerable: true, get: function () { return splitTypeUtils_1.calculateMirrorAmountAndIsOwed; } });
59
+ var userPathUtils_1 = require("./utils/userPathUtils");
60
+ Object.defineProperty(exports, "getUserEventPath", { enumerable: true, get: function () { return userPathUtils_1.getUserEventPath; } });
package/dist/index.d.ts CHANGED
@@ -1,22 +1,2 @@
1
- export { Event } from './common/Event';
2
- export { Model } from './common/Model';
3
- export { TransactionCreated, TransactionCreatedProps, TransactionDeleted, TransactionDeletedProps, DescriptionChanged, DescriptionChangedProps, TotalAmountChanged, TotalAmountChangedProps, SplitTypeChanged, SplitTypeChangedProps, CurrencyChanged, CurrencyChangedProps, TransactionDateChanged, TransactionDateChangedProps, TransactionDetailsChanged, TransactionDetailsChangedProps, TransactionModel, SplitType, TransactionEventType, AmountDto, ChangeHistory, ChangeHistoryItem, DescriptionUpdated, AmountUpdated, CurrencyUpdated, SplitTypeUpdated, TransactionDateUpdated, } from './TransactionEvents';
4
- export { UserCreated, UserCreatedProps, PlaceholderUserCreated, PlaceholderUserCreatedProps, UserCurrencyChanged, UserCurrencyChangedProps, UserPhoneNumberChanged, UserPhoneNumberChangedProps, UserDisplayNameChanged, UserDisplayNameChangedProps, UserDeleted, UserDeletedProps, PlaceholderUserMerged, PlaceholderUserMergedProps, UserConvertedToPlaceholder, UserConvertedToPlaceholderProps, UserModel, UserEventType, } from './UserEvents';
5
- export { FriendCreated, FriendCreatedProps, FriendUpdated, FriendUpdatedProps, FriendDeleted, FriendDeletedProps, FriendIdAdded, FriendIdAddedProps, FriendIdRemoved, FriendIdRemovedProps, FriendModel, FriendEventType, } from './FriendEvents';
6
- export { GroupCreated, GroupCreatedProps, GroupNameChanged, GroupNameChangedProps, GroupDescriptionChanged, GroupDescriptionChangedProps, GroupMembersAdded, GroupMembersAddedProps, GroupMembersRemoved, GroupMembersRemovedProps, GroupDeleted, GroupDeletedProps, GroupModel, GroupEventType, } from './GroupEvents';
7
- export { GroupTransactionCreated, GroupTransactionCreatedProps, GroupTransactionDescriptionChanged, GroupTransactionDescriptionChangedProps, GroupTransactionNotesChanged, GroupTransactionNotesChangedProps, GroupTransactionTotalAmountChanged, GroupTransactionTotalAmountChangedProps, GroupTransactionCurrencyChanged, GroupTransactionCurrencyChangedProps, GroupTransactionSplitTypeChanged, GroupTransactionSplitTypeChangedProps, GroupTransactionDateChanged, GroupTransactionDateChangedProps, GroupTransactionSplitDetailsChanged, GroupTransactionSplitDetailsChangedProps, GroupTransactionDeleted, GroupTransactionDeletedProps, GroupTransactionModel, GroupTransactionEventType, MemberPayment, GroupOriginalTransaction, } from './GroupTransactionEvents';
8
- export { ActivityLogCreated, ActivityLogCreatedProps, ActivityLogModel, SourceType, } from './ActivityLogEvents';
9
- export { ModelStore } from './store/ModelStore';
10
- export { TransactionEventStore } from './store/TransactionEventStore';
11
- export { TransactionModelStore } from './store/TransactionModelStore';
12
- export { UserEventStore } from './store/UserEventStore';
13
- export { UserModelStore } from './store/UserModelStore';
14
- export { FriendEventStore } from './store/FriendEventStore';
15
- export { FriendModelStore } from './store/FriendModelStore';
16
- export { GroupEventStore } from './store/GroupEventStore';
17
- export { GroupModelStore } from './store/GroupModelStore';
18
- export { GroupTransactionEventStore } from './store/GroupTransactionEventStore';
19
- export { GroupTransactionModelStore } from './store/GroupTransactionModelStore';
20
- export { ActivityLogEventStore } from './store/ActivityLogEventStore';
21
- export { ActivityLogModelStore } from './store/ActivityLogModelStore';
1
+ export * from './events';
22
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,88 +1,18 @@
1
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserModelStore = exports.UserEventStore = exports.TransactionModelStore = exports.TransactionEventStore = exports.ModelStore = exports.SourceType = exports.ActivityLogCreated = exports.GroupTransactionEventType = exports.GroupTransactionDeleted = exports.GroupTransactionSplitDetailsChanged = exports.GroupTransactionDateChanged = exports.GroupTransactionSplitTypeChanged = exports.GroupTransactionCurrencyChanged = exports.GroupTransactionTotalAmountChanged = exports.GroupTransactionNotesChanged = exports.GroupTransactionDescriptionChanged = exports.GroupTransactionCreated = exports.GroupEventType = exports.GroupDeleted = exports.GroupMembersRemoved = exports.GroupMembersAdded = exports.GroupDescriptionChanged = exports.GroupNameChanged = exports.GroupCreated = exports.FriendEventType = exports.FriendIdRemoved = exports.FriendIdAdded = exports.FriendDeleted = exports.FriendUpdated = exports.FriendCreated = exports.UserEventType = exports.UserConvertedToPlaceholder = exports.PlaceholderUserMerged = exports.UserDeleted = exports.UserDisplayNameChanged = exports.UserPhoneNumberChanged = exports.UserCurrencyChanged = exports.PlaceholderUserCreated = exports.UserCreated = exports.ChangeHistory = exports.TransactionEventType = exports.SplitType = exports.TransactionDetailsChanged = exports.TransactionDateChanged = exports.CurrencyChanged = exports.SplitTypeChanged = exports.TotalAmountChanged = exports.DescriptionChanged = exports.TransactionDeleted = exports.TransactionCreated = void 0;
4
- exports.ActivityLogModelStore = exports.ActivityLogEventStore = exports.GroupTransactionModelStore = exports.GroupTransactionEventStore = exports.GroupModelStore = exports.GroupEventStore = exports.FriendModelStore = exports.FriendEventStore = void 0;
5
- // Transaction event types
6
- var TransactionEvents_1 = require("./TransactionEvents");
7
- Object.defineProperty(exports, "TransactionCreated", { enumerable: true, get: function () { return TransactionEvents_1.TransactionCreated; } });
8
- Object.defineProperty(exports, "TransactionDeleted", { enumerable: true, get: function () { return TransactionEvents_1.TransactionDeleted; } });
9
- Object.defineProperty(exports, "DescriptionChanged", { enumerable: true, get: function () { return TransactionEvents_1.DescriptionChanged; } });
10
- Object.defineProperty(exports, "TotalAmountChanged", { enumerable: true, get: function () { return TransactionEvents_1.TotalAmountChanged; } });
11
- Object.defineProperty(exports, "SplitTypeChanged", { enumerable: true, get: function () { return TransactionEvents_1.SplitTypeChanged; } });
12
- Object.defineProperty(exports, "CurrencyChanged", { enumerable: true, get: function () { return TransactionEvents_1.CurrencyChanged; } });
13
- Object.defineProperty(exports, "TransactionDateChanged", { enumerable: true, get: function () { return TransactionEvents_1.TransactionDateChanged; } });
14
- Object.defineProperty(exports, "TransactionDetailsChanged", { enumerable: true, get: function () { return TransactionEvents_1.TransactionDetailsChanged; } });
15
- Object.defineProperty(exports, "SplitType", { enumerable: true, get: function () { return TransactionEvents_1.SplitType; } });
16
- Object.defineProperty(exports, "TransactionEventType", { enumerable: true, get: function () { return TransactionEvents_1.TransactionEventType; } });
17
- Object.defineProperty(exports, "ChangeHistory", { enumerable: true, get: function () { return TransactionEvents_1.ChangeHistory; } });
18
- // User event types
19
- var UserEvents_1 = require("./UserEvents");
20
- Object.defineProperty(exports, "UserCreated", { enumerable: true, get: function () { return UserEvents_1.UserCreated; } });
21
- Object.defineProperty(exports, "PlaceholderUserCreated", { enumerable: true, get: function () { return UserEvents_1.PlaceholderUserCreated; } });
22
- Object.defineProperty(exports, "UserCurrencyChanged", { enumerable: true, get: function () { return UserEvents_1.UserCurrencyChanged; } });
23
- Object.defineProperty(exports, "UserPhoneNumberChanged", { enumerable: true, get: function () { return UserEvents_1.UserPhoneNumberChanged; } });
24
- Object.defineProperty(exports, "UserDisplayNameChanged", { enumerable: true, get: function () { return UserEvents_1.UserDisplayNameChanged; } });
25
- Object.defineProperty(exports, "UserDeleted", { enumerable: true, get: function () { return UserEvents_1.UserDeleted; } });
26
- Object.defineProperty(exports, "PlaceholderUserMerged", { enumerable: true, get: function () { return UserEvents_1.PlaceholderUserMerged; } });
27
- Object.defineProperty(exports, "UserConvertedToPlaceholder", { enumerable: true, get: function () { return UserEvents_1.UserConvertedToPlaceholder; } });
28
- Object.defineProperty(exports, "UserEventType", { enumerable: true, get: function () { return UserEvents_1.UserEventType; } });
29
- // Friend event types
30
- var FriendEvents_1 = require("./FriendEvents");
31
- Object.defineProperty(exports, "FriendCreated", { enumerable: true, get: function () { return FriendEvents_1.FriendCreated; } });
32
- Object.defineProperty(exports, "FriendUpdated", { enumerable: true, get: function () { return FriendEvents_1.FriendUpdated; } });
33
- Object.defineProperty(exports, "FriendDeleted", { enumerable: true, get: function () { return FriendEvents_1.FriendDeleted; } });
34
- Object.defineProperty(exports, "FriendIdAdded", { enumerable: true, get: function () { return FriendEvents_1.FriendIdAdded; } });
35
- Object.defineProperty(exports, "FriendIdRemoved", { enumerable: true, get: function () { return FriendEvents_1.FriendIdRemoved; } });
36
- Object.defineProperty(exports, "FriendEventType", { enumerable: true, get: function () { return FriendEvents_1.FriendEventType; } });
37
- // Group event types
38
- var GroupEvents_1 = require("./GroupEvents");
39
- Object.defineProperty(exports, "GroupCreated", { enumerable: true, get: function () { return GroupEvents_1.GroupCreated; } });
40
- Object.defineProperty(exports, "GroupNameChanged", { enumerable: true, get: function () { return GroupEvents_1.GroupNameChanged; } });
41
- Object.defineProperty(exports, "GroupDescriptionChanged", { enumerable: true, get: function () { return GroupEvents_1.GroupDescriptionChanged; } });
42
- Object.defineProperty(exports, "GroupMembersAdded", { enumerable: true, get: function () { return GroupEvents_1.GroupMembersAdded; } });
43
- Object.defineProperty(exports, "GroupMembersRemoved", { enumerable: true, get: function () { return GroupEvents_1.GroupMembersRemoved; } });
44
- Object.defineProperty(exports, "GroupDeleted", { enumerable: true, get: function () { return GroupEvents_1.GroupDeleted; } });
45
- Object.defineProperty(exports, "GroupEventType", { enumerable: true, get: function () { return GroupEvents_1.GroupEventType; } });
46
- // Group Transaction event types
47
- var GroupTransactionEvents_1 = require("./GroupTransactionEvents");
48
- Object.defineProperty(exports, "GroupTransactionCreated", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionCreated; } });
49
- Object.defineProperty(exports, "GroupTransactionDescriptionChanged", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionDescriptionChanged; } });
50
- Object.defineProperty(exports, "GroupTransactionNotesChanged", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionNotesChanged; } });
51
- Object.defineProperty(exports, "GroupTransactionTotalAmountChanged", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionTotalAmountChanged; } });
52
- Object.defineProperty(exports, "GroupTransactionCurrencyChanged", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionCurrencyChanged; } });
53
- Object.defineProperty(exports, "GroupTransactionSplitTypeChanged", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionSplitTypeChanged; } });
54
- Object.defineProperty(exports, "GroupTransactionDateChanged", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionDateChanged; } });
55
- Object.defineProperty(exports, "GroupTransactionSplitDetailsChanged", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionSplitDetailsChanged; } });
56
- Object.defineProperty(exports, "GroupTransactionDeleted", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionDeleted; } });
57
- Object.defineProperty(exports, "GroupTransactionEventType", { enumerable: true, get: function () { return GroupTransactionEvents_1.GroupTransactionEventType; } });
58
- // Activity Log types
59
- var ActivityLogEvents_1 = require("./ActivityLogEvents");
60
- Object.defineProperty(exports, "ActivityLogCreated", { enumerable: true, get: function () { return ActivityLogEvents_1.ActivityLogCreated; } });
61
- Object.defineProperty(exports, "SourceType", { enumerable: true, get: function () { return ActivityLogEvents_1.SourceType; } });
62
- // Store abstract classes
63
- var ModelStore_1 = require("./store/ModelStore");
64
- Object.defineProperty(exports, "ModelStore", { enumerable: true, get: function () { return ModelStore_1.ModelStore; } });
65
- var TransactionEventStore_1 = require("./store/TransactionEventStore");
66
- Object.defineProperty(exports, "TransactionEventStore", { enumerable: true, get: function () { return TransactionEventStore_1.TransactionEventStore; } });
67
- var TransactionModelStore_1 = require("./store/TransactionModelStore");
68
- Object.defineProperty(exports, "TransactionModelStore", { enumerable: true, get: function () { return TransactionModelStore_1.TransactionModelStore; } });
69
- var UserEventStore_1 = require("./store/UserEventStore");
70
- Object.defineProperty(exports, "UserEventStore", { enumerable: true, get: function () { return UserEventStore_1.UserEventStore; } });
71
- var UserModelStore_1 = require("./store/UserModelStore");
72
- Object.defineProperty(exports, "UserModelStore", { enumerable: true, get: function () { return UserModelStore_1.UserModelStore; } });
73
- var FriendEventStore_1 = require("./store/FriendEventStore");
74
- Object.defineProperty(exports, "FriendEventStore", { enumerable: true, get: function () { return FriendEventStore_1.FriendEventStore; } });
75
- var FriendModelStore_1 = require("./store/FriendModelStore");
76
- Object.defineProperty(exports, "FriendModelStore", { enumerable: true, get: function () { return FriendModelStore_1.FriendModelStore; } });
77
- var GroupEventStore_1 = require("./store/GroupEventStore");
78
- Object.defineProperty(exports, "GroupEventStore", { enumerable: true, get: function () { return GroupEventStore_1.GroupEventStore; } });
79
- var GroupModelStore_1 = require("./store/GroupModelStore");
80
- Object.defineProperty(exports, "GroupModelStore", { enumerable: true, get: function () { return GroupModelStore_1.GroupModelStore; } });
81
- var GroupTransactionEventStore_1 = require("./store/GroupTransactionEventStore");
82
- Object.defineProperty(exports, "GroupTransactionEventStore", { enumerable: true, get: function () { return GroupTransactionEventStore_1.GroupTransactionEventStore; } });
83
- var GroupTransactionModelStore_1 = require("./store/GroupTransactionModelStore");
84
- Object.defineProperty(exports, "GroupTransactionModelStore", { enumerable: true, get: function () { return GroupTransactionModelStore_1.GroupTransactionModelStore; } });
85
- var ActivityLogEventStore_1 = require("./store/ActivityLogEventStore");
86
- Object.defineProperty(exports, "ActivityLogEventStore", { enumerable: true, get: function () { return ActivityLogEventStore_1.ActivityLogEventStore; } });
87
- var ActivityLogModelStore_1 = require("./store/ActivityLogModelStore");
88
- Object.defineProperty(exports, "ActivityLogModelStore", { enumerable: true, get: function () { return ActivityLogModelStore_1.ActivityLogModelStore; } });
17
+ // Export all backend event definitions here
18
+ __exportStar(require("./events"), exports);
@@ -0,0 +1,23 @@
1
+ import { Event } from '..';
2
+ import * as admin from 'firebase-admin';
3
+ export interface FirestoreEventData {
4
+ eventId: string;
5
+ userId?: string;
6
+ streamId: string;
7
+ version: number;
8
+ createdAt: admin.firestore.Timestamp;
9
+ createdBy: string;
10
+ eventType: string;
11
+ eventMainType: string;
12
+ systemGenerated?: boolean;
13
+ [key: string]: any;
14
+ }
15
+ /**
16
+ * Converts a domain Event to Firestore-friendly format
17
+ */
18
+ export declare function eventToFirestore(event: Event, eventId: string): FirestoreEventData;
19
+ /**
20
+ * Converts Firestore event data to domain Event
21
+ */
22
+ export declare function firestoreToEvent(data: FirestoreEventData): Event;
23
+ //# sourceMappingURL=eventConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventConverter.d.ts","sourceRoot":"","sources":["../../src/utils/eventConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAkBN,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AAExC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAsCD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CA8GlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,KAAK,CAuNhE"}
@@ -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"}