@zeeshan60/event-processor 1.0.9 → 1.0.11

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 (145) hide show
  1. package/README.md +42 -0
  2. package/dist/ActivityEventHandler.js +1 -1
  3. package/dist/ActivityLogEvents.d.ts +2 -2
  4. package/dist/ActivityLogEvents.d.ts.map +1 -1
  5. package/dist/EventProcessorSDK.d.ts +56 -0
  6. package/dist/EventProcessorSDK.d.ts.map +1 -0
  7. package/dist/EventProcessorSDK.js +80 -0
  8. package/dist/FriendEventHandler.d.ts +2 -2
  9. package/dist/FriendEventHandler.d.ts.map +1 -1
  10. package/dist/FriendEventHandler.js +7 -13
  11. package/dist/FriendEvents.d.ts +14 -21
  12. package/dist/FriendEvents.d.ts.map +1 -1
  13. package/dist/FriendEvents.js +1 -9
  14. package/dist/GroupEventHandler.d.ts +2 -2
  15. package/dist/GroupEventHandler.d.ts.map +1 -1
  16. package/dist/GroupEventHandler.js +10 -17
  17. package/dist/GroupEvents.d.ts +17 -25
  18. package/dist/GroupEvents.d.ts.map +1 -1
  19. package/dist/GroupEvents.js +1 -10
  20. package/dist/GroupTransactionEventHandler.d.ts +2 -2
  21. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  22. package/dist/GroupTransactionEventHandler.js +14 -12
  23. package/dist/GroupTransactionEvents.d.ts +28 -39
  24. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  25. package/dist/GroupTransactionEvents.js +1 -16
  26. package/dist/TransactionEventHandler.d.ts +2 -2
  27. package/dist/TransactionEventHandler.d.ts.map +1 -1
  28. package/dist/TransactionEventHandler.js +9 -30
  29. package/dist/TransactionEvents.d.ts +25 -16
  30. package/dist/TransactionEvents.d.ts.map +1 -1
  31. package/dist/TransactionEvents.js +8 -13
  32. package/dist/UserEventHandler.js +1 -1
  33. package/dist/UserEvents.d.ts +25 -35
  34. package/dist/UserEvents.d.ts.map +1 -1
  35. package/dist/UserEvents.js +1 -22
  36. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts +3 -3
  37. package/dist/__tests__/test-helpers/IMActivityLogEventStore.d.ts.map +1 -1
  38. package/dist/__tests__/test-helpers/IMActivityLogEventStore.js +1 -1
  39. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts +3 -3
  40. package/dist/__tests__/test-helpers/IMFriendEventStore.d.ts.map +1 -1
  41. package/dist/__tests__/test-helpers/IMFriendEventStore.js +1 -1
  42. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts +3 -3
  43. package/dist/__tests__/test-helpers/IMGroupEventStore.d.ts.map +1 -1
  44. package/dist/__tests__/test-helpers/IMGroupEventStore.js +1 -1
  45. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts +3 -3
  46. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.d.ts.map +1 -1
  47. package/dist/__tests__/test-helpers/IMGroupTransactionEventStore.js +3 -3
  48. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts +4 -4
  49. package/dist/__tests__/test-helpers/IMTransactionEventStore.d.ts.map +1 -1
  50. package/dist/__tests__/test-helpers/IMTransactionEventStore.js +1 -1
  51. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts +4 -4
  52. package/dist/__tests__/test-helpers/IMUserEventStore.d.ts.map +1 -1
  53. package/dist/__tests__/test-helpers/IMUserEventStore.js +1 -1
  54. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts +6 -0
  55. package/dist/__tests__/test-helpers/MockFirebaseAdapter.d.ts.map +1 -0
  56. package/dist/__tests__/test-helpers/MockFirebaseAdapter.js +18 -0
  57. package/dist/adapters/FirebaseAdapter.d.ts +5 -0
  58. package/dist/adapters/FirebaseAdapter.d.ts.map +1 -0
  59. package/dist/adapters/FirebaseAdapter.js +2 -0
  60. package/dist/adapters/FirebaseAdminAdapter.d.ts +8 -0
  61. package/dist/adapters/FirebaseAdminAdapter.d.ts.map +1 -0
  62. package/dist/adapters/FirebaseAdminAdapter.js +21 -0
  63. package/dist/adapters/FirebaseClientAdapter.d.ts +8 -0
  64. package/dist/adapters/FirebaseClientAdapter.d.ts.map +1 -0
  65. package/dist/adapters/FirebaseClientAdapter.js +22 -0
  66. package/dist/client/controllers/UserController.d.ts +9 -0
  67. package/dist/client/controllers/UserController.d.ts.map +1 -0
  68. package/dist/client/controllers/UserController.js +36 -0
  69. package/dist/client/handlers/UIActivityEventHandler.d.ts +12 -0
  70. package/dist/client/handlers/UIActivityEventHandler.d.ts.map +1 -0
  71. package/dist/client/handlers/UIActivityEventHandler.js +14 -0
  72. package/dist/client/handlers/UIEventHandler.d.ts +25 -0
  73. package/dist/client/handlers/UIEventHandler.d.ts.map +1 -0
  74. package/dist/client/handlers/UIEventHandler.js +50 -0
  75. package/dist/client/handlers/UIFriendEventHandler.d.ts +16 -0
  76. package/dist/client/handlers/UIFriendEventHandler.d.ts.map +1 -0
  77. package/dist/client/handlers/UIFriendEventHandler.js +27 -0
  78. package/dist/client/handlers/UIGroupEventHandler.d.ts +18 -0
  79. package/dist/client/handlers/UIGroupEventHandler.d.ts.map +1 -0
  80. package/dist/client/handlers/UIGroupEventHandler.js +28 -0
  81. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts +18 -0
  82. package/dist/client/handlers/UIGroupTransactionEventHandler.d.ts.map +1 -0
  83. package/dist/client/handlers/UIGroupTransactionEventHandler.js +28 -0
  84. package/dist/client/handlers/UITransactionEventHandler.d.ts +14 -0
  85. package/dist/client/handlers/UITransactionEventHandler.d.ts.map +1 -0
  86. package/dist/client/handlers/UITransactionEventHandler.js +26 -0
  87. package/dist/client/handlers/UIUserEventHandler.d.ts +12 -0
  88. package/dist/client/handlers/UIUserEventHandler.d.ts.map +1 -0
  89. package/dist/client/handlers/UIUserEventHandler.js +29 -0
  90. package/dist/common/DomainEvents.d.ts +87 -0
  91. package/dist/common/DomainEvents.d.ts.map +1 -0
  92. package/dist/common/DomainEvents.js +91 -0
  93. package/dist/common/Event.d.ts +1 -0
  94. package/dist/common/Event.d.ts.map +1 -1
  95. package/dist/config/environment.d.ts.map +1 -1
  96. package/dist/config/environment.js +14 -7
  97. package/dist/contracts/common/index.d.ts +7 -0
  98. package/dist/contracts/common/index.d.ts.map +1 -0
  99. package/dist/contracts/common/index.js +2 -0
  100. package/dist/contracts/expenses/index.d.ts +148 -0
  101. package/dist/contracts/expenses/index.d.ts.map +1 -0
  102. package/dist/contracts/expenses/index.js +30 -0
  103. package/dist/contracts/friends/index.d.ts +82 -0
  104. package/dist/contracts/friends/index.d.ts.map +1 -0
  105. package/dist/contracts/friends/index.js +2 -0
  106. package/dist/contracts/groups/index.d.ts +139 -0
  107. package/dist/contracts/groups/index.d.ts.map +1 -0
  108. package/dist/contracts/groups/index.js +2 -0
  109. package/dist/contracts/index.d.ts +7 -0
  110. package/dist/contracts/index.d.ts.map +1 -0
  111. package/dist/contracts/index.js +22 -0
  112. package/dist/contracts/shared/index.d.ts +12 -0
  113. package/dist/contracts/shared/index.d.ts.map +1 -0
  114. package/dist/contracts/shared/index.js +2 -0
  115. package/dist/contracts/transactions/index.d.ts +154 -0
  116. package/dist/contracts/transactions/index.d.ts.map +1 -0
  117. package/dist/contracts/transactions/index.js +19 -0
  118. package/dist/controllers/UIEventHandler.d.ts +25 -0
  119. package/dist/controllers/UIEventHandler.d.ts.map +1 -0
  120. package/dist/controllers/UIEventHandler.js +50 -0
  121. package/dist/controllers/UserController.d.ts +5 -0
  122. package/dist/controllers/UserController.d.ts.map +1 -1
  123. package/dist/controllers/UserController.js +8 -0
  124. package/dist/converters/eventConverter.d.ts +17 -0
  125. package/dist/converters/eventConverter.d.ts.map +1 -0
  126. package/dist/converters/eventConverter.js +344 -0
  127. package/dist/events.d.ts +0 -1
  128. package/dist/events.d.ts.map +1 -1
  129. package/dist/events.js +1 -11
  130. package/dist/index.d.ts +12 -1
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +46 -2
  133. package/dist/store/ActivityLogEventStore.d.ts +2 -2
  134. package/dist/store/ActivityLogEventStore.d.ts.map +1 -1
  135. package/dist/store/FriendEventStore.d.ts +2 -2
  136. package/dist/store/FriendEventStore.d.ts.map +1 -1
  137. package/dist/store/GroupEventStore.d.ts +2 -2
  138. package/dist/store/GroupEventStore.d.ts.map +1 -1
  139. package/dist/store/GroupTransactionEventStore.d.ts +2 -2
  140. package/dist/store/GroupTransactionEventStore.d.ts.map +1 -1
  141. package/dist/store/TransactionEventStore.d.ts +2 -2
  142. package/dist/store/TransactionEventStore.d.ts.map +1 -1
  143. package/dist/store/UserEventStore.d.ts +2 -2
  144. package/dist/store/UserEventStore.d.ts.map +1 -1
  145. package/package.json +1 -1
@@ -0,0 +1,139 @@
1
+ import { SplitType } from "../transactions";
2
+ import { BalanceResponse } from "../shared";
3
+ export interface GroupCreateRequest {
4
+ name: string;
5
+ description?: string;
6
+ }
7
+ export interface GroupRemoveMembersRequest {
8
+ memberIds: string[];
9
+ }
10
+ export interface GroupAddMembersRequest {
11
+ memberIds: string[];
12
+ }
13
+ export interface GroupTransactionYouPaidSplitEquallyRequest {
14
+ transactionId?: string;
15
+ description: string;
16
+ currency: string;
17
+ totalAmount: number;
18
+ memberIds: string[];
19
+ transactionDate: string;
20
+ }
21
+ export interface GroupTransactionTheyPaidSplitEquallyRequest {
22
+ transactionId?: string;
23
+ description: string;
24
+ currency: string;
25
+ totalAmount: number;
26
+ paidByMemberId: string;
27
+ memberIds: string[];
28
+ transactionDate: string;
29
+ }
30
+ export interface SpecificMemberAmountRequest {
31
+ memberId: string;
32
+ amountPaid: number;
33
+ amountSpent: number;
34
+ }
35
+ export interface GroupTransactionSpecificAmountsRequest {
36
+ transactionId?: string;
37
+ description: string;
38
+ currency: string;
39
+ totalAmount: number;
40
+ splitType: SplitType;
41
+ memberAmounts: SpecificMemberAmountRequest[];
42
+ transactionDate: string;
43
+ }
44
+ export interface SpecificMemberAmountDto {
45
+ memberId?: string;
46
+ amountPaid: number;
47
+ amountSpent: number;
48
+ }
49
+ export interface GroupMemberResponse {
50
+ memberId: string;
51
+ memberPhoneNumber?: string;
52
+ memberEmail?: string;
53
+ memberName: string;
54
+ userBalanceWithThisMember?: BalanceResponse;
55
+ }
56
+ export interface GroupResponse {
57
+ id: string;
58
+ name: string;
59
+ description?: string;
60
+ members: GroupMemberResponse[];
61
+ balance?: BalanceResponse;
62
+ }
63
+ export interface GroupSummaryResponse {
64
+ id: string;
65
+ name: string;
66
+ description?: string;
67
+ memberCount: number;
68
+ balance?: BalanceResponse;
69
+ }
70
+ export interface GroupSummariesResponse {
71
+ groups: GroupSummaryResponse[];
72
+ }
73
+ export interface WhoPaidWhoDto {
74
+ memberId: string;
75
+ amount: number;
76
+ isOwed: boolean;
77
+ }
78
+ export interface OriginalTransactionResponse {
79
+ type: "YouPaidSplitEqually" | "TheyPaidSplitEqually" | "SpecificAmounts";
80
+ whoPaidWhoResponse(totalAmount: number): WhoPaidWhoDto[];
81
+ }
82
+ export interface OriginalTransactionYouPaidSplitEqually extends OriginalTransactionResponse {
83
+ type: "YouPaidSplitEqually";
84
+ memberIds: string[];
85
+ }
86
+ export interface OriginalTransactionTheyPaidSplitEqually extends OriginalTransactionResponse {
87
+ type: "TheyPaidSplitEqually";
88
+ memberWhoPaid: string;
89
+ memberIds: string[];
90
+ }
91
+ export interface SpecificMemberAmountResponse {
92
+ memberId: string;
93
+ amountPaid: number;
94
+ amountSpent: number;
95
+ }
96
+ export interface OriginalTransactionSpecificAmounts extends OriginalTransactionResponse {
97
+ type: "SpecificAmounts";
98
+ members: SpecificMemberAmountResponse[];
99
+ }
100
+ export interface MemberAmountResponse {
101
+ memberId: string;
102
+ amount: number;
103
+ amountInDefaultCurrency: number;
104
+ }
105
+ export interface WhoOweWhoWithTotalsResponse {
106
+ amount: number;
107
+ isOwed: boolean;
108
+ amountInDefaultCurrency: number;
109
+ defaultCurrency: string;
110
+ whoOweYou: MemberAmountResponse[];
111
+ whoYouOwe: MemberAmountResponse[];
112
+ }
113
+ export interface GroupTransactionResponse {
114
+ id: string;
115
+ date: string;
116
+ description?: string;
117
+ notes?: string;
118
+ totalAmount: number;
119
+ currency: string;
120
+ splitType: SplitType;
121
+ whoOweWho: WhoOweWhoWithTotalsResponse;
122
+ originalTransaction: OriginalTransactionResponse;
123
+ createdAt: string;
124
+ createdBy: string;
125
+ }
126
+ export interface GroupTransactionsPerMonth {
127
+ date: string;
128
+ transactions: GroupTransactionResponse[];
129
+ }
130
+ export interface GroupTransactionsByMonthResponse {
131
+ perMonth: GroupTransactionsPerMonth[];
132
+ balance: BalanceResponse;
133
+ }
134
+ export interface WhoPaidWhoWithTotalsDto {
135
+ amount: number;
136
+ isOwed: boolean;
137
+ details: WhoPaidWhoDto[];
138
+ }
139
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/groups/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ export * from "./shared";
2
+ export * from "./common";
3
+ export * from "./friends";
4
+ export * from "./transactions";
5
+ export * from "./groups";
6
+ export * from "./expenses";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,22 @@
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
+ __exportStar(require("./shared"), exports);
18
+ __exportStar(require("./common"), exports);
19
+ __exportStar(require("./friends"), exports);
20
+ __exportStar(require("./transactions"), exports);
21
+ __exportStar(require("./groups"), exports);
22
+ __exportStar(require("./expenses"), exports);
@@ -0,0 +1,12 @@
1
+ import { AmountDto as EventAmountDto } from "../../TransactionEvents";
2
+ export type AmountDto = EventAmountDto;
3
+ export type AmountResponse = EventAmountDto;
4
+ export interface OtherBalanceResponse {
5
+ amount: AmountResponse;
6
+ convertedAmount: AmountResponse;
7
+ }
8
+ export interface BalanceResponse {
9
+ main?: AmountResponse;
10
+ other: OtherBalanceResponse[];
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,MAAM,SAAS,GAAG,cAAc,CAAC;AACvC,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;AAE5C,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,154 @@
1
+ import { FriendSummaryDto } from "../friends";
2
+ import { AmountDto, AmountResponse, BalanceResponse } from "../shared";
3
+ import { SplitType as EventSplitType } from "../../TransactionEvents";
4
+ export type SplitType = EventSplitType;
5
+ export { EventSplitType as SplitTypeEnum };
6
+ export declare enum ActivityType {
7
+ CREATED = "CREATED",
8
+ UPDATED = "UPDATED",
9
+ DELETED = "DELETED"
10
+ }
11
+ export declare enum TransactionChangeType {
12
+ DESCRIPTION = "DESCRIPTION",
13
+ AMOUNT = "AMOUNT",
14
+ CURRENCY = "CURRENCY",
15
+ SPLIT_TYPE = "SPLIT_TYPE",
16
+ DATE = "DATE"
17
+ }
18
+ export interface UserAmount {
19
+ userId: string;
20
+ paidAmount: number;
21
+ owedAmount: number;
22
+ }
23
+ export interface GroupAmountSplit {
24
+ userAmounts: UserAmount[];
25
+ }
26
+ export interface TransactionBaseRequest {
27
+ transactionDate: string;
28
+ amount: number;
29
+ currency: string;
30
+ type: SplitType;
31
+ description: string;
32
+ groupAmountSplit?: GroupAmountSplit;
33
+ }
34
+ export interface TransactionCreateRequest extends TransactionBaseRequest {
35
+ recipientId?: string;
36
+ }
37
+ export interface TransactionUpdateRequest extends TransactionBaseRequest {
38
+ }
39
+ export interface ChangeSummaryDto {
40
+ date: string;
41
+ changedBy: string;
42
+ changedByName: string;
43
+ changedByPhoto?: string;
44
+ oldValue: string;
45
+ newValue: string;
46
+ type: TransactionChangeType;
47
+ }
48
+ export interface TransactionDto {
49
+ defaultCurrency?: string;
50
+ amountInDefaultCurrency?: number;
51
+ currency: string;
52
+ description: string;
53
+ originalAmount: number;
54
+ specificAmount?: AmountDto;
55
+ splitType: SplitType;
56
+ friendSummaryDto: FriendSummaryDto;
57
+ transactionStreamId: string;
58
+ transactionDate: string;
59
+ updatedAt?: string;
60
+ createdAt?: string;
61
+ createdBy?: string;
62
+ createdByName?: string;
63
+ updatedBy?: string;
64
+ updatedByName?: string;
65
+ deleted: boolean;
66
+ history: ChangeSummaryDto[];
67
+ groupId?: string;
68
+ groupTransactionId?: string;
69
+ groupName?: string;
70
+ }
71
+ export interface TransactionUserResponse {
72
+ id: string;
73
+ name: string;
74
+ }
75
+ export interface ChangeSummaryResponse {
76
+ changedBy: string;
77
+ changedByName: string;
78
+ changedByPhoto?: string;
79
+ changes: ChangeSummaryDto[];
80
+ }
81
+ export interface TransactionResponse {
82
+ date: string;
83
+ description: string;
84
+ transactionId: string;
85
+ groupTransactionId?: string;
86
+ groupId?: string;
87
+ groupName?: string;
88
+ totalAmount: number;
89
+ splitType: SplitType;
90
+ amount: AmountResponse;
91
+ friend: FriendSummaryDto;
92
+ defaultCurrencyAmount?: AmountResponse;
93
+ history: ChangeSummaryResponse[];
94
+ createdAt: string;
95
+ updatedAt?: string;
96
+ createdBy: TransactionUserResponse;
97
+ updatedBy?: TransactionUserResponse;
98
+ deleted: boolean;
99
+ }
100
+ export interface TransactionsPerMonth {
101
+ date: string;
102
+ transactions: TransactionResponse[];
103
+ }
104
+ export interface TransactionsResponse {
105
+ balance: BalanceResponse;
106
+ perMonth: TransactionsPerMonth[];
107
+ }
108
+ export interface TransactionModel {
109
+ streamId: string;
110
+ userId: string;
111
+ description: string;
112
+ currency: string;
113
+ splitType: SplitType;
114
+ totalAmount: number;
115
+ amount?: AmountDto;
116
+ recipientId: string;
117
+ createdAt: string;
118
+ updatedAt?: string;
119
+ firstCreatedAt: string;
120
+ createdBy: string;
121
+ updatedBy?: string;
122
+ deleted: boolean;
123
+ version: number;
124
+ transactionDate: string;
125
+ historyLogId?: string;
126
+ groupId?: string;
127
+ groupTransactionId?: string;
128
+ }
129
+ export interface ActivityLog {
130
+ id: string;
131
+ userId: string;
132
+ activityByUid: string;
133
+ description: string;
134
+ activityType: ActivityType;
135
+ amount: number;
136
+ currency: string;
137
+ isOwed: boolean;
138
+ date: string;
139
+ transactionModel: TransactionModel;
140
+ }
141
+ export interface ActivityLogResponse {
142
+ id: string;
143
+ userUid: string;
144
+ activityByName?: string;
145
+ activityByPhoto?: string;
146
+ description: string;
147
+ activityType: ActivityType;
148
+ amount: number;
149
+ currency: string;
150
+ isOwed: boolean;
151
+ date: string;
152
+ transactionResponse: TransactionResponse;
153
+ }
154
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/transactions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionChangeType = exports.ActivityType = exports.SplitTypeEnum = void 0;
4
+ const TransactionEvents_1 = require("../../TransactionEvents");
5
+ Object.defineProperty(exports, "SplitTypeEnum", { enumerable: true, get: function () { return TransactionEvents_1.SplitType; } });
6
+ var ActivityType;
7
+ (function (ActivityType) {
8
+ ActivityType["CREATED"] = "CREATED";
9
+ ActivityType["UPDATED"] = "UPDATED";
10
+ ActivityType["DELETED"] = "DELETED";
11
+ })(ActivityType || (exports.ActivityType = ActivityType = {}));
12
+ var TransactionChangeType;
13
+ (function (TransactionChangeType) {
14
+ TransactionChangeType["DESCRIPTION"] = "DESCRIPTION";
15
+ TransactionChangeType["AMOUNT"] = "AMOUNT";
16
+ TransactionChangeType["CURRENCY"] = "CURRENCY";
17
+ TransactionChangeType["SPLIT_TYPE"] = "SPLIT_TYPE";
18
+ TransactionChangeType["DATE"] = "DATE";
19
+ })(TransactionChangeType || (exports.TransactionChangeType = TransactionChangeType = {}));
@@ -0,0 +1,25 @@
1
+ import { UserModelStore } from '../store/UserModelStore';
2
+ interface FirestoreTimestamp {
3
+ toDate(): Date;
4
+ seconds: number;
5
+ nanoseconds: number;
6
+ }
7
+ interface ClientFirestoreEventData {
8
+ id: string;
9
+ eventType: string;
10
+ streamId: string;
11
+ version: number;
12
+ createdAt: FirestoreTimestamp | Date;
13
+ createdBy: string;
14
+ systemGenerated?: boolean;
15
+ [key: string]: any;
16
+ }
17
+ export declare class UIEventHandler {
18
+ private userModelStore;
19
+ constructor(userModelStore: UserModelStore);
20
+ handleFirestoreEvent(eventData: ClientFirestoreEventData): Promise<void>;
21
+ private firestoreToEvent;
22
+ private toDate;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=UIEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIEventHandler.d.ts","sourceRoot":"","sources":["../../src/controllers/UIEventHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGvD,UAAU,kBAAkB;IACxB,MAAM,IAAI,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,wBAAwB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,qBAAa,cAAc;IAEnB,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAGpC,oBAAoB,CAAC,SAAS,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9E,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,MAAM;CASjB"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UIEventHandler = void 0;
4
+ const __1 = require("..");
5
+ const EventBusSingleton_1 = require("../common/EventBusSingleton");
6
+ class UIEventHandler {
7
+ constructor(userModelStore) {
8
+ this.userModelStore = userModelStore;
9
+ }
10
+ async handleFirestoreEvent(eventData) {
11
+ const event = this.firestoreToEvent(eventData);
12
+ if (event instanceof __1.UserCreated) {
13
+ const existingModel = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(event.streamId);
14
+ const updatedModel = event.apply(existingModel);
15
+ await this.userModelStore.save(updatedModel);
16
+ (0, EventBusSingleton_1.getEventBus)().publish(event);
17
+ }
18
+ }
19
+ firestoreToEvent(data) {
20
+ const eventType = data.eventType;
21
+ const createdAt = this.toDate(data.createdAt);
22
+ if (eventType === 'UserCreated') {
23
+ return new __1.UserCreated({
24
+ userId: data.userId,
25
+ firebaseUid: data.firebaseUid,
26
+ displayName: data.displayName,
27
+ phoneNumber: data.phoneNumber,
28
+ email: data.email,
29
+ photoUrl: data.photoUrl,
30
+ emailVerified: data.emailVerified,
31
+ createdAt,
32
+ createdBy: data.createdBy,
33
+ streamId: data.streamId,
34
+ version: data.version,
35
+ systemGenerated: data.systemGenerated ?? false,
36
+ });
37
+ }
38
+ throw new Error(`Unsupported event type: ${eventType}`);
39
+ }
40
+ toDate(timestamp) {
41
+ if (timestamp instanceof Date) {
42
+ return timestamp;
43
+ }
44
+ if (typeof timestamp === 'object' && 'toDate' in timestamp) {
45
+ return timestamp.toDate();
46
+ }
47
+ return new Date(timestamp);
48
+ }
49
+ }
50
+ exports.UIEventHandler = UIEventHandler;
@@ -1,4 +1,9 @@
1
+ import { UserModelStore } from '../store/UserModelStore';
2
+ import { UserEventStore } from '../store/UserEventStore';
1
3
  export declare class UserController {
4
+ private modelStore;
5
+ private eventStore?;
6
+ constructor(modelStore: UserModelStore, eventStore?: UserEventStore | undefined);
2
7
  loginUser(userFSId: string): Promise<string>;
3
8
  }
4
9
  //# sourceMappingURL=UserController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"AAIA,qBAAa,cAAc;IACjB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA0BrD"}
1
+ {"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../src/controllers/UserController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGvD,qBAAa,cAAc;IAEnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU,CAAC;gBADX,UAAU,EAAE,cAAc,EAC1B,UAAU,CAAC,EAAE,cAAc,YAAA;IAGjC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA+BrD"}
@@ -5,7 +5,15 @@ const EventBusSingleton_1 = require("../common/EventBusSingleton");
5
5
  const UserEvents_1 = require("../UserEvents");
6
6
  const rxjs_1 = require("rxjs");
7
7
  class UserController {
8
+ constructor(modelStore, eventStore) {
9
+ this.modelStore = modelStore;
10
+ this.eventStore = eventStore;
11
+ }
8
12
  async loginUser(userFSId) {
13
+ const existingUser = await this.modelStore.findByFirebaseUid(userFSId);
14
+ if (existingUser) {
15
+ return existingUser.userId;
16
+ }
9
17
  const eventBus = (0, EventBusSingleton_1.getEventBus)();
10
18
  const isUserCreatedForFirebaseUid = (event) => {
11
19
  return event instanceof UserEvents_1.UserCreated && event.firebaseUid === userFSId;
@@ -0,0 +1,17 @@
1
+ import { Event } from '../events';
2
+ import { FirebaseAdapter } from '../adapters/FirebaseAdapter';
3
+ export interface FirestoreEventData {
4
+ eventId: string;
5
+ userId: string;
6
+ streamId: string;
7
+ version: number;
8
+ createdAt: any;
9
+ createdBy: string;
10
+ eventType: string;
11
+ eventMainType: string;
12
+ systemGenerated?: boolean;
13
+ [key: string]: any;
14
+ }
15
+ export declare function eventToFirestore(event: Event, eventId: string, firebaseAdapter: FirebaseAdapter): FirestoreEventData;
16
+ export declare function firestoreToEvent(data: FirestoreEventData, firebaseAdapter: FirebaseAdapter): Event;
17
+ //# sourceMappingURL=eventConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventConverter.d.ts","sourceRoot":"","sources":["../../src/converters/eventConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,EAkBR,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,GAAG,CAAC;IACf,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;CACtB;AAsCD,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,eAAe,GACjC,kBAAkB,CAwGpB;AAED,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,kBAAkB,EACxB,eAAe,EAAE,eAAe,GACjC,KAAK,CAwOP"}