@zeeshan60/event-processor 1.0.125 → 1.0.126

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 (171) hide show
  1. package/dist/EventProcessorSDK.d.ts +30 -3
  2. package/dist/EventProcessorSDK.d.ts.map +1 -1
  3. package/dist/EventProcessorSDK.js +58 -3
  4. package/dist/EventProcessorSDK.js.map +1 -1
  5. package/dist/ExpenseAccountEventHandler.d.ts.map +1 -1
  6. package/dist/ExpenseAccountEventHandler.js +1 -2
  7. package/dist/ExpenseAccountEventHandler.js.map +1 -1
  8. package/dist/ExpenseEventHandler.d.ts +1 -3
  9. package/dist/ExpenseEventHandler.d.ts.map +1 -1
  10. package/dist/ExpenseEventHandler.js +3 -8
  11. package/dist/ExpenseEventHandler.js.map +1 -1
  12. package/dist/ExpenseEvents.d.ts +8 -20
  13. package/dist/ExpenseEvents.d.ts.map +1 -1
  14. package/dist/ExpenseEvents.js +5 -62
  15. package/dist/ExpenseEvents.js.map +1 -1
  16. package/dist/GroupTransactionEventHandler.d.ts +1 -3
  17. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  18. package/dist/GroupTransactionEventHandler.js +1 -4
  19. package/dist/GroupTransactionEventHandler.js.map +1 -1
  20. package/dist/GroupTransactionEvents.d.ts +7 -20
  21. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  22. package/dist/GroupTransactionEvents.js +5 -52
  23. package/dist/GroupTransactionEvents.js.map +1 -1
  24. package/dist/RecurringExpenseEventHandler.d.ts +20 -0
  25. package/dist/RecurringExpenseEventHandler.d.ts.map +1 -0
  26. package/dist/RecurringExpenseEventHandler.js +90 -0
  27. package/dist/RecurringExpenseEventHandler.js.map +1 -0
  28. package/dist/RecurringExpenseEvents.d.ts +160 -0
  29. package/dist/RecurringExpenseEvents.d.ts.map +1 -0
  30. package/dist/RecurringExpenseEvents.js +161 -0
  31. package/dist/RecurringExpenseEvents.js.map +1 -0
  32. package/dist/RecurringGroupTransactionEventHandler.d.ts +20 -0
  33. package/dist/RecurringGroupTransactionEventHandler.d.ts.map +1 -0
  34. package/dist/RecurringGroupTransactionEventHandler.js +90 -0
  35. package/dist/RecurringGroupTransactionEventHandler.js.map +1 -0
  36. package/dist/RecurringGroupTransactionEvents.d.ts +173 -0
  37. package/dist/RecurringGroupTransactionEvents.d.ts.map +1 -0
  38. package/dist/RecurringGroupTransactionEvents.js +171 -0
  39. package/dist/RecurringGroupTransactionEvents.js.map +1 -0
  40. package/dist/RecurringTransactionEventHandler.d.ts +20 -0
  41. package/dist/RecurringTransactionEventHandler.d.ts.map +1 -0
  42. package/dist/RecurringTransactionEventHandler.js +90 -0
  43. package/dist/RecurringTransactionEventHandler.js.map +1 -0
  44. package/dist/RecurringTransactionEvents.d.ts +172 -0
  45. package/dist/RecurringTransactionEvents.d.ts.map +1 -0
  46. package/dist/RecurringTransactionEvents.js +171 -0
  47. package/dist/RecurringTransactionEvents.js.map +1 -0
  48. package/dist/SuggestionEvents.d.ts +6 -0
  49. package/dist/SuggestionEvents.d.ts.map +1 -1
  50. package/dist/SuggestionEvents.js +5 -0
  51. package/dist/SuggestionEvents.js.map +1 -1
  52. package/dist/TransactionEventHandler.d.ts +1 -3
  53. package/dist/TransactionEventHandler.d.ts.map +1 -1
  54. package/dist/TransactionEventHandler.js +1 -4
  55. package/dist/TransactionEventHandler.js.map +1 -1
  56. package/dist/TransactionEvents.d.ts +8 -32
  57. package/dist/TransactionEvents.d.ts.map +1 -1
  58. package/dist/TransactionEvents.js +5 -71
  59. package/dist/TransactionEvents.js.map +1 -1
  60. package/dist/client/controllers/BudgetController.d.ts.map +1 -1
  61. package/dist/client/controllers/BudgetController.js +19 -5
  62. package/dist/client/controllers/BudgetController.js.map +1 -1
  63. package/dist/client/controllers/CategoryController.d.ts.map +1 -1
  64. package/dist/client/controllers/CategoryController.js.map +1 -1
  65. package/dist/client/controllers/ExpenseAccountController.d.ts.map +1 -1
  66. package/dist/client/controllers/ExpenseAccountController.js.map +1 -1
  67. package/dist/client/controllers/ExpenseController.d.ts.map +1 -1
  68. package/dist/client/controllers/ExpenseController.js +77 -19
  69. package/dist/client/controllers/ExpenseController.js.map +1 -1
  70. package/dist/client/controllers/ExportsController.d.ts +46 -0
  71. package/dist/client/controllers/ExportsController.d.ts.map +1 -0
  72. package/dist/client/controllers/ExportsController.js +176 -0
  73. package/dist/client/controllers/ExportsController.js.map +1 -0
  74. package/dist/client/controllers/FriendController.d.ts.map +1 -1
  75. package/dist/client/controllers/FriendController.js.map +1 -1
  76. package/dist/client/controllers/GroupController.d.ts.map +1 -1
  77. package/dist/client/controllers/GroupController.js.map +1 -1
  78. package/dist/client/controllers/NotificationController.d.ts.map +1 -1
  79. package/dist/client/controllers/NotificationController.js.map +1 -1
  80. package/dist/client/controllers/RecurringController.d.ts +30 -0
  81. package/dist/client/controllers/RecurringController.d.ts.map +1 -0
  82. package/dist/client/controllers/RecurringController.js +606 -0
  83. package/dist/client/controllers/RecurringController.js.map +1 -0
  84. package/dist/client/controllers/SuggestionController.d.ts +19 -0
  85. package/dist/client/controllers/SuggestionController.d.ts.map +1 -1
  86. package/dist/client/controllers/SuggestionController.js +55 -2
  87. package/dist/client/controllers/SuggestionController.js.map +1 -1
  88. package/dist/client/controllers/TransactionController.d.ts.map +1 -1
  89. package/dist/client/controllers/TransactionController.js +7 -20
  90. package/dist/client/controllers/TransactionController.js.map +1 -1
  91. package/dist/common/DomainEvents.d.ts +6 -0
  92. package/dist/common/DomainEvents.d.ts.map +1 -1
  93. package/dist/common/EventTypes.d.ts +12 -0
  94. package/dist/common/EventTypes.d.ts.map +1 -1
  95. package/dist/common/EventTypes.js +15 -0
  96. package/dist/common/EventTypes.js.map +1 -1
  97. package/dist/common/recurringUtil.d.ts +2 -19
  98. package/dist/common/recurringUtil.d.ts.map +1 -1
  99. package/dist/common/recurringUtil.js +26 -32
  100. package/dist/common/recurringUtil.js.map +1 -1
  101. package/dist/contracts/Logger.d.ts.map +1 -1
  102. package/dist/contracts/Logger.js.map +1 -1
  103. package/dist/contracts/expenses/index.d.ts +4 -0
  104. package/dist/contracts/expenses/index.d.ts.map +1 -1
  105. package/dist/contracts/expenses/index.js +1 -0
  106. package/dist/contracts/expenses/index.js.map +1 -1
  107. package/dist/contracts/groups/index.d.ts +7 -1
  108. package/dist/contracts/groups/index.d.ts.map +1 -1
  109. package/dist/contracts/groups/index.js +1 -0
  110. package/dist/contracts/groups/index.js.map +1 -1
  111. package/dist/contracts/index.d.ts +3 -0
  112. package/dist/contracts/index.d.ts.map +1 -1
  113. package/dist/contracts/index.js +3 -0
  114. package/dist/contracts/index.js.map +1 -1
  115. package/dist/contracts/recurringExpenses/index.d.ts +61 -0
  116. package/dist/contracts/recurringExpenses/index.d.ts.map +1 -0
  117. package/dist/contracts/recurringExpenses/index.js +3 -0
  118. package/dist/contracts/recurringExpenses/index.js.map +1 -0
  119. package/dist/contracts/recurringGroupTransactions/index.d.ts +68 -0
  120. package/dist/contracts/recurringGroupTransactions/index.d.ts.map +1 -0
  121. package/dist/contracts/recurringGroupTransactions/index.js +3 -0
  122. package/dist/contracts/recurringGroupTransactions/index.js.map +1 -0
  123. package/dist/contracts/recurringTransactions/index.d.ts +67 -0
  124. package/dist/contracts/recurringTransactions/index.d.ts.map +1 -0
  125. package/dist/contracts/recurringTransactions/index.js +3 -0
  126. package/dist/contracts/recurringTransactions/index.js.map +1 -0
  127. package/dist/contracts/suggestions.d.ts +2 -0
  128. package/dist/contracts/suggestions.d.ts.map +1 -1
  129. package/dist/contracts/transactions/index.d.ts +10 -0
  130. package/dist/contracts/transactions/index.d.ts.map +1 -1
  131. package/dist/contracts/transactions/index.js +5 -0
  132. package/dist/contracts/transactions/index.js.map +1 -1
  133. package/dist/converters/eventConverter.d.ts.map +1 -1
  134. package/dist/converters/eventConverter.js +72 -0
  135. package/dist/converters/eventConverter.js.map +1 -1
  136. package/dist/events.d.ts +12 -0
  137. package/dist/events.d.ts.map +1 -1
  138. package/dist/events.js +16 -1
  139. package/dist/events.js.map +1 -1
  140. package/dist/index.d.ts +7 -5
  141. package/dist/index.d.ts.map +1 -1
  142. package/dist/index.js +13 -3
  143. package/dist/index.js.map +1 -1
  144. package/dist/stores/RecurringExpenseEventStore.d.ts +5 -0
  145. package/dist/stores/RecurringExpenseEventStore.d.ts.map +1 -0
  146. package/dist/stores/RecurringExpenseEventStore.js +3 -0
  147. package/dist/stores/RecurringExpenseEventStore.js.map +1 -0
  148. package/dist/stores/RecurringExpenseModelStore.d.ts +14 -0
  149. package/dist/stores/RecurringExpenseModelStore.d.ts.map +1 -0
  150. package/dist/stores/RecurringExpenseModelStore.js +5 -0
  151. package/dist/stores/RecurringExpenseModelStore.js.map +1 -0
  152. package/dist/stores/RecurringGroupTransactionEventStore.d.ts +6 -0
  153. package/dist/stores/RecurringGroupTransactionEventStore.d.ts.map +1 -0
  154. package/dist/stores/RecurringGroupTransactionEventStore.js +5 -0
  155. package/dist/stores/RecurringGroupTransactionEventStore.js.map +1 -0
  156. package/dist/stores/RecurringGroupTransactionModelStore.d.ts +14 -0
  157. package/dist/stores/RecurringGroupTransactionModelStore.d.ts.map +1 -0
  158. package/dist/stores/RecurringGroupTransactionModelStore.js +5 -0
  159. package/dist/stores/RecurringGroupTransactionModelStore.js.map +1 -0
  160. package/dist/stores/RecurringTransactionEventStore.d.ts +6 -0
  161. package/dist/stores/RecurringTransactionEventStore.d.ts.map +1 -0
  162. package/dist/stores/RecurringTransactionEventStore.js +5 -0
  163. package/dist/stores/RecurringTransactionEventStore.js.map +1 -0
  164. package/dist/stores/RecurringTransactionModelStore.d.ts +14 -0
  165. package/dist/stores/RecurringTransactionModelStore.d.ts.map +1 -0
  166. package/dist/stores/RecurringTransactionModelStore.js +5 -0
  167. package/dist/stores/RecurringTransactionModelStore.js.map +1 -0
  168. package/dist/utils/GroupUtil.d.ts.map +1 -1
  169. package/dist/utils/GroupUtil.js +7 -14
  170. package/dist/utils/GroupUtil.js.map +1 -1
  171. package/package.json +1 -1
@@ -0,0 +1,173 @@
1
+ import { RecurringGroupTransactionEvent } from "./common/DomainEvents";
2
+ import { Model, ModelProps } from "./common/Model";
3
+ import { SplitType } from "./TransactionEvents";
4
+ import { MemberPayment } from "./GroupTransactionEvents";
5
+ import { RecurringFrequency } from "./contracts/expenses";
6
+ export interface RecurringGroupTransactionModelProps extends ModelProps {
7
+ groupId: string;
8
+ description?: string;
9
+ notes?: string;
10
+ totalAmount: number;
11
+ currency: string;
12
+ splitType: SplitType;
13
+ memberPayments: MemberPayment[];
14
+ frequency: RecurringFrequency;
15
+ interval?: number;
16
+ startDate: number;
17
+ status: "active" | "paused" | "completed";
18
+ tags?: string[];
19
+ attachmentsUrls?: string[];
20
+ category?: string;
21
+ createdAt: number;
22
+ }
23
+ export declare class RecurringGroupTransactionModel implements RecurringGroupTransactionModelProps {
24
+ userId: string;
25
+ streamId: string;
26
+ version: number;
27
+ deleted: boolean;
28
+ updatedAt: number;
29
+ synced: boolean;
30
+ groupId: string;
31
+ description?: string;
32
+ notes?: string;
33
+ totalAmount: number;
34
+ currency: string;
35
+ splitType: SplitType;
36
+ memberPayments: MemberPayment[];
37
+ frequency: RecurringFrequency;
38
+ interval?: number;
39
+ startDate: number;
40
+ status: "active" | "paused" | "completed";
41
+ tags?: string[];
42
+ attachmentsUrls?: string[];
43
+ category?: string;
44
+ createdAt: number;
45
+ constructor(props: RecurringGroupTransactionModelProps);
46
+ }
47
+ export interface RecurringGroupTransactionCreatedProps {
48
+ eventId: string;
49
+ userId: string;
50
+ streamId: string;
51
+ version: number;
52
+ createdAt: number;
53
+ createdBy: string;
54
+ systemGenerated: boolean;
55
+ groupId: string;
56
+ description?: string;
57
+ notes?: string;
58
+ totalAmount: number;
59
+ currency: string;
60
+ splitType: SplitType;
61
+ memberPayments: MemberPayment[];
62
+ frequency: RecurringFrequency;
63
+ interval?: number;
64
+ startDate: number;
65
+ status: "active" | "paused" | "completed";
66
+ tags?: string[];
67
+ attachmentsUrls?: string[];
68
+ category?: string;
69
+ }
70
+ export declare class RecurringGroupTransactionCreated implements RecurringGroupTransactionEvent {
71
+ readonly eventMainType: "recurringGroupTransaction";
72
+ readonly eventType: "RecurringGroupTransactionCreated";
73
+ eventId: string;
74
+ userId: string;
75
+ streamId: string;
76
+ version: number;
77
+ createdAt: number;
78
+ createdBy: string;
79
+ systemGenerated: boolean;
80
+ groupId: string;
81
+ description?: string;
82
+ notes?: string;
83
+ totalAmount: number;
84
+ currency: string;
85
+ splitType: SplitType;
86
+ memberPayments: MemberPayment[];
87
+ frequency: RecurringFrequency;
88
+ interval?: number;
89
+ startDate: number;
90
+ status: "active" | "paused" | "completed";
91
+ tags?: string[];
92
+ attachmentsUrls?: string[];
93
+ category?: string;
94
+ constructor(props: RecurringGroupTransactionCreatedProps);
95
+ apply(_existing?: Model): RecurringGroupTransactionModel;
96
+ }
97
+ export interface RecurringGroupTransactionDeletedProps {
98
+ eventId: string;
99
+ userId: string;
100
+ streamId: string;
101
+ version: number;
102
+ createdAt: number;
103
+ createdBy: string;
104
+ systemGenerated: boolean;
105
+ deletedAt: number;
106
+ deletedBy: string;
107
+ reason?: string;
108
+ }
109
+ export declare class RecurringGroupTransactionDeleted implements RecurringGroupTransactionEvent {
110
+ readonly eventMainType: "recurringGroupTransaction";
111
+ readonly eventType: "RecurringGroupTransactionDeleted";
112
+ eventId: string;
113
+ userId: string;
114
+ streamId: string;
115
+ version: number;
116
+ createdAt: number;
117
+ createdBy: string;
118
+ systemGenerated: boolean;
119
+ deletedAt: number;
120
+ deletedBy: string;
121
+ reason?: string;
122
+ constructor(props: RecurringGroupTransactionDeletedProps);
123
+ apply(existing?: Model): RecurringGroupTransactionModel;
124
+ }
125
+ export interface RecurringGroupTransactionUpdatedProps {
126
+ eventId: string;
127
+ userId: string;
128
+ streamId: string;
129
+ version: number;
130
+ createdAt: number;
131
+ createdBy: string;
132
+ systemGenerated: boolean;
133
+ description?: string;
134
+ notes?: string;
135
+ totalAmount?: number;
136
+ currency?: string;
137
+ splitType?: SplitType;
138
+ memberPayments?: MemberPayment[];
139
+ frequency?: RecurringFrequency;
140
+ interval?: number;
141
+ startDate?: number;
142
+ status?: "active" | "paused" | "completed";
143
+ tags?: string[];
144
+ attachmentsUrls?: string[];
145
+ category?: string;
146
+ }
147
+ export declare class RecurringGroupTransactionUpdated implements RecurringGroupTransactionEvent {
148
+ readonly eventMainType: "recurringGroupTransaction";
149
+ readonly eventType: "RecurringGroupTransactionUpdated";
150
+ eventId: string;
151
+ userId: string;
152
+ streamId: string;
153
+ version: number;
154
+ createdAt: number;
155
+ createdBy: string;
156
+ systemGenerated: boolean;
157
+ description?: string;
158
+ notes?: string;
159
+ totalAmount?: number;
160
+ currency?: string;
161
+ splitType?: SplitType;
162
+ memberPayments?: MemberPayment[];
163
+ frequency?: RecurringFrequency;
164
+ interval?: number;
165
+ startDate?: number;
166
+ status?: "active" | "paused" | "completed";
167
+ tags?: string[];
168
+ attachmentsUrls?: string[];
169
+ category?: string;
170
+ constructor(props: RecurringGroupTransactionUpdatedProps);
171
+ apply(existing?: Model): RecurringGroupTransactionModel;
172
+ }
173
+ //# sourceMappingURL=RecurringGroupTransactionEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecurringGroupTransactionEvents.d.ts","sourceRoot":"","sources":["../src/RecurringGroupTransactionEvents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecurringGroupTransactionUpdated = exports.RecurringGroupTransactionDeleted = exports.RecurringGroupTransactionCreated = exports.RecurringGroupTransactionModel = void 0;
4
+ const EventTypes_1 = require("./common/EventTypes");
5
+ class RecurringGroupTransactionModel {
6
+ constructor(props) {
7
+ this.userId = props.userId;
8
+ this.streamId = props.streamId;
9
+ this.version = props.version;
10
+ this.deleted = props.deleted;
11
+ this.updatedAt = props.updatedAt;
12
+ this.synced = props.synced;
13
+ this.groupId = props.groupId;
14
+ this.description = props.description;
15
+ this.notes = props.notes;
16
+ this.totalAmount = props.totalAmount;
17
+ this.currency = props.currency;
18
+ this.splitType = props.splitType;
19
+ this.memberPayments = props.memberPayments;
20
+ this.frequency = props.frequency;
21
+ this.interval = props.interval;
22
+ this.startDate = props.startDate;
23
+ this.status = props.status;
24
+ this.tags = props.tags;
25
+ this.attachmentsUrls = props.attachmentsUrls;
26
+ this.category = props.category;
27
+ this.createdAt = props.createdAt;
28
+ }
29
+ }
30
+ exports.RecurringGroupTransactionModel = RecurringGroupTransactionModel;
31
+ class RecurringGroupTransactionCreated {
32
+ constructor(props) {
33
+ this.eventMainType = EventTypes_1.EventMainType.RECURRING_GROUP_TRANSACTION;
34
+ this.eventType = EventTypes_1.EventType.RECURRING_GROUP_TRANSACTION_CREATED;
35
+ this.eventId = props.eventId;
36
+ this.userId = props.userId;
37
+ this.streamId = props.streamId;
38
+ this.version = props.version;
39
+ this.createdAt = props.createdAt;
40
+ this.createdBy = props.createdBy;
41
+ this.systemGenerated = props.systemGenerated;
42
+ this.groupId = props.groupId;
43
+ this.description = props.description;
44
+ this.notes = props.notes;
45
+ this.totalAmount = props.totalAmount;
46
+ this.currency = props.currency;
47
+ this.splitType = props.splitType;
48
+ this.memberPayments = props.memberPayments;
49
+ this.frequency = props.frequency;
50
+ this.interval = props.interval;
51
+ this.startDate = props.startDate;
52
+ this.status = props.status;
53
+ this.tags = props.tags;
54
+ this.attachmentsUrls = props.attachmentsUrls;
55
+ this.category = props.category;
56
+ }
57
+ apply(_existing) {
58
+ return new RecurringGroupTransactionModel({
59
+ userId: this.userId,
60
+ streamId: this.streamId,
61
+ version: this.version,
62
+ deleted: false,
63
+ updatedAt: this.createdAt,
64
+ synced: this.systemGenerated,
65
+ groupId: this.groupId,
66
+ description: this.description,
67
+ notes: this.notes,
68
+ totalAmount: this.totalAmount,
69
+ currency: this.currency,
70
+ splitType: this.splitType,
71
+ memberPayments: this.memberPayments,
72
+ frequency: this.frequency,
73
+ interval: this.interval,
74
+ startDate: this.startDate,
75
+ status: this.status,
76
+ tags: this.tags,
77
+ attachmentsUrls: this.attachmentsUrls,
78
+ category: this.category,
79
+ createdAt: this.createdAt,
80
+ });
81
+ }
82
+ }
83
+ exports.RecurringGroupTransactionCreated = RecurringGroupTransactionCreated;
84
+ class RecurringGroupTransactionDeleted {
85
+ constructor(props) {
86
+ this.eventMainType = EventTypes_1.EventMainType.RECURRING_GROUP_TRANSACTION;
87
+ this.eventType = EventTypes_1.EventType.RECURRING_GROUP_TRANSACTION_DELETED;
88
+ this.eventId = props.eventId;
89
+ this.userId = props.userId;
90
+ this.streamId = props.streamId;
91
+ this.version = props.version;
92
+ this.createdAt = props.createdAt;
93
+ this.createdBy = props.createdBy;
94
+ this.systemGenerated = props.systemGenerated;
95
+ this.deletedAt = props.deletedAt;
96
+ this.deletedBy = props.deletedBy;
97
+ this.reason = props.reason;
98
+ }
99
+ apply(existing) {
100
+ if (!existing) {
101
+ throw new Error(`RecurringGroupTransactionDeleted requires existing model. StreamId: ${this.streamId}`);
102
+ }
103
+ const existingModel = existing;
104
+ if (existingModel.deleted) {
105
+ throw new Error(`RecurringGroupTransaction already deleted. StreamId: ${this.streamId}`);
106
+ }
107
+ return new RecurringGroupTransactionModel({
108
+ ...existingModel,
109
+ version: this.version,
110
+ deleted: true,
111
+ status: "completed",
112
+ updatedAt: this.createdAt,
113
+ });
114
+ }
115
+ }
116
+ exports.RecurringGroupTransactionDeleted = RecurringGroupTransactionDeleted;
117
+ class RecurringGroupTransactionUpdated {
118
+ constructor(props) {
119
+ this.eventMainType = EventTypes_1.EventMainType.RECURRING_GROUP_TRANSACTION;
120
+ this.eventType = EventTypes_1.EventType.RECURRING_GROUP_TRANSACTION_UPDATED;
121
+ this.eventId = props.eventId;
122
+ this.userId = props.userId;
123
+ this.streamId = props.streamId;
124
+ this.version = props.version;
125
+ this.createdAt = props.createdAt;
126
+ this.createdBy = props.createdBy;
127
+ this.systemGenerated = props.systemGenerated;
128
+ this.description = props.description;
129
+ this.notes = props.notes;
130
+ this.totalAmount = props.totalAmount;
131
+ this.currency = props.currency;
132
+ this.splitType = props.splitType;
133
+ this.memberPayments = props.memberPayments;
134
+ this.frequency = props.frequency;
135
+ this.interval = props.interval;
136
+ this.startDate = props.startDate;
137
+ this.status = props.status;
138
+ this.tags = props.tags;
139
+ this.attachmentsUrls = props.attachmentsUrls;
140
+ this.category = props.category;
141
+ }
142
+ apply(existing) {
143
+ if (!existing) {
144
+ throw new Error(`RecurringGroupTransactionUpdated requires existing model. StreamId: ${this.streamId}`);
145
+ }
146
+ const existingModel = existing;
147
+ if (existingModel.deleted) {
148
+ throw new Error(`Cannot update deleted RecurringGroupTransaction. StreamId: ${this.streamId}`);
149
+ }
150
+ return new RecurringGroupTransactionModel({
151
+ ...existingModel,
152
+ version: this.version,
153
+ description: this.description ?? existingModel.description,
154
+ notes: this.notes ?? existingModel.notes,
155
+ totalAmount: this.totalAmount ?? existingModel.totalAmount,
156
+ currency: this.currency ?? existingModel.currency,
157
+ splitType: this.splitType ?? existingModel.splitType,
158
+ memberPayments: this.memberPayments ?? existingModel.memberPayments,
159
+ frequency: this.frequency ?? existingModel.frequency,
160
+ interval: this.interval ?? existingModel.interval,
161
+ startDate: this.startDate ?? existingModel.startDate,
162
+ status: this.status ?? existingModel.status,
163
+ tags: this.tags ?? existingModel.tags,
164
+ attachmentsUrls: this.attachmentsUrls ?? existingModel.attachmentsUrls,
165
+ category: this.category ?? existingModel.category,
166
+ updatedAt: this.createdAt,
167
+ });
168
+ }
169
+ }
170
+ exports.RecurringGroupTransactionUpdated = RecurringGroupTransactionUpdated;
171
+ //# sourceMappingURL=RecurringGroupTransactionEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecurringGroupTransactionEvents.js","sourceRoot":"","sources":["../src/RecurringGroupTransactionEvents.ts"],"names":[],"mappings":";;;AAKA,oDAA+D;AAoB/D,MAAa,8BAA8B;IAyBzC,YAAY,KAA0C;QACpD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACnC,CAAC;CACF;AAhDD,wEAgDC;AA0BD,MAAa,gCAAgC;IA2B3C,YAAY,KAA4C;QAxBxC,kBAAa,GAAG,0BAAa,CAAC,2BAA2B,CAAC;QAC1D,cAAS,GAAG,sBAAS,CAAC,mCAAmC,CAAC;QAwBxE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,OAAO,IAAI,8BAA8B,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,eAAe;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AA5ED,4EA4EC;AAeD,MAAa,gCAAgC;IAgB3C,YAAY,KAA4C;QAbxC,kBAAa,GAAG,0BAAa,CAAC,2BAA2B,CAAC;QAC1D,cAAS,GAAG,sBAAS,CAAC,mCAAmC,CAAC;QAaxE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAgB;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,CAAC,QAAQ,EAAE,CACvF,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,QAA0C,CAAC;QAEjE,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,wDAAwD,IAAI,CAAC,QAAQ,EAAE,CACxE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,8BAA8B,CAAC;YACxC,GAAG,aAAa;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AApDD,4EAoDC;AAyBD,MAAa,gCAAgC;IA0B3C,YAAY,KAA4C;QAvBxC,kBAAa,GAAG,0BAAa,CAAC,2BAA2B,CAAC;QAC1D,cAAS,GAAG,sBAAS,CAAC,mCAAmC,CAAC;QAuBxE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAgB;QACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,CAAC,QAAQ,EAAE,CACvF,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,QAA0C,CAAC;QAEjE,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,8DAA8D,IAAI,CAAC,QAAQ,EAAE,CAC9E,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,8BAA8B,CAAC;YACxC,GAAG,aAAa;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW;YAC1D,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK;YACxC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW;YAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS;YACpD,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,aAAa,CAAC,cAAc;YACnE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS;YACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS;YACpD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,aAAa,CAAC,eAAe;YACtE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ;YACjD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AAnFD,4EAmFC"}
@@ -0,0 +1,20 @@
1
+ import { BaseEventHandler } from "./BaseEventHandler";
2
+ import { RecurringTransactionEvent } from "./common/DomainEvents";
3
+ import { RecurringTransactionModel } from "./RecurringTransactionEvents";
4
+ import { RecurringTransactionEventStore } from "./stores/RecurringTransactionEventStore";
5
+ import { RecurringTransactionModelStore } from "./stores/RecurringTransactionModelStore";
6
+ import { Logger } from "./contracts/Logger";
7
+ import { ModelChangeEmitter } from "./ModelChangeEmitter";
8
+ import { ClientType } from "./EventProcessorSDK";
9
+ export declare class RecurringTransactionEventHandler extends BaseEventHandler<RecurringTransactionEvent> {
10
+ private modelStore;
11
+ private recurringTransactionEventStore;
12
+ constructor(modelStore: RecurringTransactionModelStore, recurringTransactionEventStore: RecurringTransactionEventStore, isClient: boolean, clientType: ClientType, modelChangeEmitter?: ModelChangeEmitter, logger?: Logger);
13
+ getModelStore(): RecurringTransactionModelStore;
14
+ getEventStore(): RecurringTransactionEventStore;
15
+ handleEvent(event: RecurringTransactionEvent): Promise<RecurringTransactionModel>;
16
+ private handleRecurringTransactionCreated;
17
+ private handleRecurringTransactionDeleted;
18
+ private handleRecurringTransactionUpdated;
19
+ }
20
+ //# sourceMappingURL=RecurringTransactionEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecurringTransactionEventHandler.d.ts","sourceRoot":"","sources":["../src/RecurringTransactionEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACL,yBAAyB,EAI1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,qBAAa,gCAAiC,SAAQ,gBAAgB,CAAC,yBAAyB,CAAC;IAE7F,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,8BAA8B;gBAD9B,UAAU,EAAE,8BAA8B,EAC1C,8BAA8B,EAAE,8BAA8B,EACtE,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,UAAU,EACtB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,MAAM,CAAC,EAAE,MAAM;IAKV,aAAa,IAAI,8BAA8B;IAI/C,aAAa,IAAI,8BAA8B;IAIhD,WAAW,CACf,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,yBAAyB,CAAC;YAyCvB,iCAAiC;YAqBjC,iCAAiC;YAyBjC,iCAAiC;CAwBhD"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecurringTransactionEventHandler = void 0;
4
+ const BaseEventHandler_1 = require("./BaseEventHandler");
5
+ const EventTypes_1 = require("./common/EventTypes");
6
+ class RecurringTransactionEventHandler extends BaseEventHandler_1.BaseEventHandler {
7
+ constructor(modelStore, recurringTransactionEventStore, isClient, clientType, modelChangeEmitter, logger) {
8
+ super(isClient, clientType, modelChangeEmitter, logger);
9
+ this.modelStore = modelStore;
10
+ this.recurringTransactionEventStore = recurringTransactionEventStore;
11
+ }
12
+ getModelStore() {
13
+ return this.modelStore;
14
+ }
15
+ getEventStore() {
16
+ return this.recurringTransactionEventStore;
17
+ }
18
+ async handleEvent(event) {
19
+ const eventType = event.eventType;
20
+ const existingModel = await this.modelStore.getByStreamId(event.streamId);
21
+ if (this.shouldSkipSave(existingModel, event)) {
22
+ return existingModel;
23
+ }
24
+ let updatedModel;
25
+ switch (eventType) {
26
+ case EventTypes_1.EventType.RECURRING_TRANSACTION_CREATED:
27
+ updatedModel = await this.handleRecurringTransactionCreated(event, existingModel);
28
+ break;
29
+ case EventTypes_1.EventType.RECURRING_TRANSACTION_DELETED:
30
+ updatedModel = await this.handleRecurringTransactionDeleted(event, existingModel);
31
+ break;
32
+ case EventTypes_1.EventType.RECURRING_TRANSACTION_UPDATED:
33
+ updatedModel = await this.handleRecurringTransactionUpdated(event, existingModel);
34
+ break;
35
+ default:
36
+ throw new Error(`Unknown recurring transaction event type: ${eventType}`);
37
+ }
38
+ if (this.isClient) {
39
+ await this.recurringTransactionEventStore.addEvent(event);
40
+ this.modelChangeEmitter?.emit(event.eventMainType);
41
+ }
42
+ return updatedModel;
43
+ }
44
+ async handleRecurringTransactionCreated(event, existingModel) {
45
+ this.logger.log("[RecurringTransactionCreated]", {
46
+ streamId: event.streamId,
47
+ userId: event.userId,
48
+ recipientUserId: event.recipientUserId,
49
+ frequency: event.frequency,
50
+ startDate: event.startDate,
51
+ });
52
+ const updatedModel = event.apply(existingModel);
53
+ if (this.isNotAIClient()) {
54
+ await this.modelStore.save(updatedModel);
55
+ }
56
+ return updatedModel;
57
+ }
58
+ async handleRecurringTransactionDeleted(event, existingModel) {
59
+ this.logger.log("[RecurringTransactionDeleted]", {
60
+ streamId: event.streamId,
61
+ userId: event.userId,
62
+ reason: event.reason,
63
+ });
64
+ if (!existingModel) {
65
+ throw new Error(`RecurringTransaction model not found for streamId: ${event.streamId}`);
66
+ }
67
+ const updatedModel = event.apply(existingModel);
68
+ if (this.isNotAIClient()) {
69
+ await this.modelStore.save(updatedModel);
70
+ }
71
+ return updatedModel;
72
+ }
73
+ async handleRecurringTransactionUpdated(event, existingModel) {
74
+ this.logger.log("[RecurringTransactionUpdated]", {
75
+ streamId: event.streamId,
76
+ userId: event.userId,
77
+ status: event.status,
78
+ });
79
+ if (!existingModel) {
80
+ throw new Error(`RecurringTransaction model not found for streamId: ${event.streamId}`);
81
+ }
82
+ const updatedModel = event.apply(existingModel);
83
+ if (this.isNotAIClient()) {
84
+ await this.modelStore.save(updatedModel);
85
+ }
86
+ return updatedModel;
87
+ }
88
+ }
89
+ exports.RecurringTransactionEventHandler = RecurringTransactionEventHandler;
90
+ //# sourceMappingURL=RecurringTransactionEventHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecurringTransactionEventHandler.js","sourceRoot":"","sources":["../src/RecurringTransactionEventHandler.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAatD,oDAAgD;AAEhD,MAAa,gCAAiC,SAAQ,mCAA2C;IAC/F,YACU,UAA0C,EAC1C,8BAA8D,EACtE,QAAiB,EACjB,UAAsB,EACtB,kBAAuC,EACvC,MAAe;QAEf,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAPhD,eAAU,GAAV,UAAU,CAAgC;QAC1C,mCAA8B,GAA9B,8BAA8B,CAAgC;IAOxE,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,8BAA8B,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAgC;QAEhC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO,aAAc,CAAC;QACxB,CAAC;QAED,IAAI,YAAuC,CAAC;QAE5C,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,sBAAS,CAAC,6BAA6B;gBAC1C,YAAY,GAAG,MAAM,IAAI,CAAC,iCAAiC,CACzD,KAAoC,EACpC,aAAa,CACd,CAAC;gBACF,MAAM;YACR,KAAK,sBAAS,CAAC,6BAA6B;gBAC1C,YAAY,GAAG,MAAM,IAAI,CAAC,iCAAiC,CACzD,KAAoC,EACpC,aAAa,CACd,CAAC;gBACF,MAAM;YACR,KAAK,sBAAS,CAAC,6BAA6B;gBAC1C,YAAY,GAAG,MAAM,IAAI,CAAC,iCAAiC,CACzD,KAAoC,EACpC,aAAa,CACd,CAAC;gBACF,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,KAAkC,EAClC,aAAoD;QAEpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE;YAC/C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAA8B,CAAC;QAE7E,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,KAAkC,EAClC,aAAoD;QAEpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE;YAC/C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,sDAAsD,KAAK,CAAC,QAAQ,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAA8B,CAAC;QAE7E,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,KAAkC,EAClC,aAAoD;QAEpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE;YAC/C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,sDAAsD,KAAK,CAAC,QAAQ,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAA8B,CAAC;QAE7E,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AArID,4EAqIC"}
@@ -0,0 +1,172 @@
1
+ import { RecurringTransactionEvent } from "./common/DomainEvents";
2
+ import { Model, ModelProps } from "./common/Model";
3
+ import { SplitType } from "./TransactionEvents";
4
+ import { RecurringFrequency } from "./contracts/expenses";
5
+ export interface RecurringTransactionModelProps extends ModelProps {
6
+ recipientUserId: string;
7
+ description: string;
8
+ currency: string;
9
+ splitType: SplitType;
10
+ totalAmount: number;
11
+ amount: number;
12
+ isOwed: boolean;
13
+ frequency: RecurringFrequency;
14
+ interval?: number;
15
+ startDate: number;
16
+ status: "active" | "paused" | "completed";
17
+ tags?: string[];
18
+ attachmentsUrls?: string[];
19
+ category?: string;
20
+ createdAt: number;
21
+ }
22
+ export declare class RecurringTransactionModel implements RecurringTransactionModelProps {
23
+ userId: string;
24
+ streamId: string;
25
+ version: number;
26
+ deleted: boolean;
27
+ updatedAt: number;
28
+ synced: boolean;
29
+ recipientUserId: string;
30
+ description: string;
31
+ currency: string;
32
+ splitType: SplitType;
33
+ totalAmount: number;
34
+ amount: number;
35
+ isOwed: boolean;
36
+ frequency: RecurringFrequency;
37
+ interval?: number;
38
+ startDate: number;
39
+ status: "active" | "paused" | "completed";
40
+ tags?: string[];
41
+ attachmentsUrls?: string[];
42
+ category?: string;
43
+ createdAt: number;
44
+ constructor(props: RecurringTransactionModelProps);
45
+ }
46
+ export interface RecurringTransactionCreatedProps {
47
+ eventId: string;
48
+ userId: string;
49
+ streamId: string;
50
+ version: number;
51
+ createdAt: number;
52
+ createdBy: string;
53
+ systemGenerated: boolean;
54
+ recipientUserId: string;
55
+ description: string;
56
+ currency: string;
57
+ splitType: SplitType;
58
+ totalAmount: number;
59
+ amount: number;
60
+ isOwed: boolean;
61
+ frequency: RecurringFrequency;
62
+ interval?: number;
63
+ startDate: number;
64
+ status: "active" | "paused" | "completed";
65
+ tags?: string[];
66
+ attachmentsUrls?: string[];
67
+ category?: string;
68
+ }
69
+ export declare class RecurringTransactionCreated implements RecurringTransactionEvent {
70
+ readonly eventMainType: "recurringTransaction";
71
+ readonly eventType: "RecurringTransactionCreated";
72
+ eventId: string;
73
+ userId: string;
74
+ streamId: string;
75
+ version: number;
76
+ createdAt: number;
77
+ createdBy: string;
78
+ systemGenerated: boolean;
79
+ recipientUserId: string;
80
+ description: string;
81
+ currency: string;
82
+ splitType: SplitType;
83
+ totalAmount: number;
84
+ amount: number;
85
+ isOwed: boolean;
86
+ frequency: RecurringFrequency;
87
+ interval?: number;
88
+ startDate: number;
89
+ status: "active" | "paused" | "completed";
90
+ tags?: string[];
91
+ attachmentsUrls?: string[];
92
+ category?: string;
93
+ constructor(props: RecurringTransactionCreatedProps);
94
+ apply(_existing?: Model): RecurringTransactionModel;
95
+ }
96
+ export interface RecurringTransactionDeletedProps {
97
+ eventId: string;
98
+ userId: string;
99
+ streamId: string;
100
+ version: number;
101
+ createdAt: number;
102
+ createdBy: string;
103
+ systemGenerated: boolean;
104
+ deletedAt: number;
105
+ deletedBy: string;
106
+ reason?: string;
107
+ }
108
+ export declare class RecurringTransactionDeleted implements RecurringTransactionEvent {
109
+ readonly eventMainType: "recurringTransaction";
110
+ readonly eventType: "RecurringTransactionDeleted";
111
+ eventId: string;
112
+ userId: string;
113
+ streamId: string;
114
+ version: number;
115
+ createdAt: number;
116
+ createdBy: string;
117
+ systemGenerated: boolean;
118
+ deletedAt: number;
119
+ deletedBy: string;
120
+ reason?: string;
121
+ constructor(props: RecurringTransactionDeletedProps);
122
+ apply(existing?: Model): RecurringTransactionModel;
123
+ }
124
+ export interface RecurringTransactionUpdatedProps {
125
+ eventId: string;
126
+ userId: string;
127
+ streamId: string;
128
+ version: number;
129
+ createdAt: number;
130
+ createdBy: string;
131
+ systemGenerated: boolean;
132
+ description?: string;
133
+ currency?: string;
134
+ splitType?: SplitType;
135
+ totalAmount?: number;
136
+ amount?: number;
137
+ isOwed?: boolean;
138
+ frequency?: RecurringFrequency;
139
+ interval?: number;
140
+ startDate?: number;
141
+ status?: "active" | "paused" | "completed";
142
+ tags?: string[];
143
+ attachmentsUrls?: string[];
144
+ category?: string;
145
+ }
146
+ export declare class RecurringTransactionUpdated implements RecurringTransactionEvent {
147
+ readonly eventMainType: "recurringTransaction";
148
+ readonly eventType: "RecurringTransactionUpdated";
149
+ eventId: string;
150
+ userId: string;
151
+ streamId: string;
152
+ version: number;
153
+ createdAt: number;
154
+ createdBy: string;
155
+ systemGenerated: boolean;
156
+ description?: string;
157
+ currency?: string;
158
+ splitType?: SplitType;
159
+ totalAmount?: number;
160
+ amount?: number;
161
+ isOwed?: boolean;
162
+ frequency?: RecurringFrequency;
163
+ interval?: number;
164
+ startDate?: number;
165
+ status?: "active" | "paused" | "completed";
166
+ tags?: string[];
167
+ attachmentsUrls?: string[];
168
+ category?: string;
169
+ constructor(props: RecurringTransactionUpdatedProps);
170
+ apply(existing?: Model): RecurringTransactionModel;
171
+ }
172
+ //# sourceMappingURL=RecurringTransactionEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecurringTransactionEvents.d.ts","sourceRoot":"","sources":["../src/RecurringTransactionEvents.ts"],"names":[],"mappings":"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"}