@zeeshan60/event-processor 1.0.113 → 1.0.115

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.
@@ -1,4 +1,4 @@
1
- import { ExpenseCreateRequest, ExpenseUpdateRequest, ExpenseResponse, ExpensesByMonthResponse, ExpensesByMonthAndDayResponse, ExpenseFilterType, ExpenseQueryRequest, ExpenseQueryResponse } from "../../contracts/expenses";
1
+ import { ExpenseCreateRequest, ExpenseUpdateRequest, ExpenseResponse, ExpensesByMonthResponse, ExpensesByMonthAndDayResponse, ExpenseFilterType, ExpenseQueryRequest, ExpenseQueryResponse, CategoryPieChartResponse } from "../../contracts/expenses";
2
2
  import { EventProcessorSDK } from "../../EventProcessorSDK";
3
3
  export declare class ExpenseController {
4
4
  private readonly sdk;
@@ -22,9 +22,10 @@ export declare class ExpenseController {
22
22
  updateExpense(userId: string, expenseId: string, request: ExpenseUpdateRequest): Promise<void>;
23
23
  deleteExpense(userId: string, expenseId: string): Promise<void>;
24
24
  getExpense(userId: string, expenseId: string): Promise<ExpenseResponse>;
25
- getExpensesByAccountAndMonth(userId: string, accountId: string, timeZone: string, month?: string, search?: string, sortByAmountAscending?: boolean, filters?: ExpenseFilterType[]): Promise<ExpensesByMonthResponse>;
26
- getExpensesByAccountMonthAndDay(userId: string, accountId: string, timeZone: string, month?: string, search?: string, sortByAmountAscending?: boolean, filters?: ExpenseFilterType[]): Promise<ExpensesByMonthAndDayResponse>;
25
+ getExpensesByAccountAndMonth(userId: string, accountId: string, timeZone: string, month?: string, search?: string, sortByAmountAscending?: boolean, filters?: ExpenseFilterType[], category?: string): Promise<ExpensesByMonthResponse>;
26
+ getExpensesByAccountMonthAndDay(userId: string, accountId: string, timeZone: string, month?: string, search?: string, sortByAmountAscending?: boolean, filters?: ExpenseFilterType[], category?: string): Promise<ExpensesByMonthAndDayResponse>;
27
27
  queryExpenses(userId: string, request: ExpenseQueryRequest): Promise<ExpenseQueryResponse>;
28
+ getCategoryPieChart(userId: string, accountId: string, timeZone: string, month?: string): Promise<CategoryPieChartResponse>;
28
29
  private calculateBalance;
29
30
  private groupExpensesByMonth;
30
31
  private startOfMonth;
@@ -1 +1 @@
1
- {"version":3,"file":"ExpenseController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAO7B,iBAAiB,EAEjB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAIlC,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,WAAW,GAEtB;YAEa,qBAAqB;IAkDnC,OAAO,KAAK,YAAY,GAEvB;YAEa,gBAAgB;IAU9B,OAAO,CAAC,qBAAqB;YAaf,eAAe;IAwDvB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAmDZ,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAqDV,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/D,UAAU,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC;IAkCrB,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,OAAO,EAC/B,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,uBAAuB,CAAC;IAuI7B,+BAA+B,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,OAAO,EAC/B,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,6BAA6B,CAAC;IAiInC,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;YAqGlB,gBAAgB;IA+E9B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,0BAA0B;IA8ClC,OAAO,CAAC,qBAAqB;IAwF7B,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,iBAAiB;CAkG1B"}
1
+ {"version":3,"file":"ExpenseController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAO7B,iBAAiB,EAEjB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAUlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAS5D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,EAAE,iBAAiB;IAIlC,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,WAAW,GAEtB;YAEa,qBAAqB;IAkDnC,OAAO,KAAK,YAAY,GAEvB;YAEa,gBAAgB;IAU9B,OAAO,CAAC,qBAAqB;YAaf,eAAe;IAwDvB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IAmDZ,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAqDV,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/D,UAAU,CACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC;IAkCrB,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,OAAO,EAC/B,OAAO,CAAC,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,uBAAuB,CAAC;IA8I7B,+BAA+B,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,OAAO,EAC/B,OAAO,CAAC,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,6BAA6B,CAAC;IAwInC,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC;IAqG1B,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,CAAC;YA8BtB,gBAAgB;IA+E9B,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,0BAA0B;IA8ClC,OAAO,CAAC,qBAAqB;IAwF7B,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,iBAAiB;CAkG1B"}
@@ -11,6 +11,7 @@ const sortingUtils_1 = require("../../utils/sortingUtils");
11
11
  const UserNameUtil_1 = require("../../utils/UserNameUtil");
12
12
  const searchUtil_1 = require("../../utils/searchUtil");
13
13
  const sortUtil_1 = require("../../utils/sortUtil");
14
+ const CategoryPieChartUtil_1 = require("../../utils/CategoryPieChartUtil");
14
15
  class ExpenseController {
15
16
  constructor(sdk) {
16
17
  this.sdk = sdk;
@@ -257,7 +258,7 @@ class ExpenseController {
257
258
  });
258
259
  return response;
259
260
  }
260
- async getExpensesByAccountAndMonth(userId, accountId, timeZone, month, search, sortByAmountAscending, filters) {
261
+ async getExpensesByAccountAndMonth(userId, accountId, timeZone, month, search, sortByAmountAscending, filters, category) {
261
262
  if (!timeZone || timeZone.trim() === "") {
262
263
  throw new Error("Invalid timezone");
263
264
  }
@@ -268,7 +269,10 @@ class ExpenseController {
268
269
  throw new Error("Invalid timezone");
269
270
  }
270
271
  const expenses = await this.modelStore.findAllByAccountIdAndDeletedIsFalse(accountId);
271
- const userExpenses = expenses.filter((e) => e.userId === userId);
272
+ let userExpenses = expenses.filter((e) => e.userId === userId);
273
+ if (category) {
274
+ userExpenses = userExpenses.filter((e) => (e.category || "Uncategorized") === category);
275
+ }
272
276
  const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
273
277
  const toCurrency = user?.currency ?? "USD";
274
278
  const currencyRates = (await this.currencyStore.getCurrencyRates())?.rates ?? {};
@@ -330,12 +334,13 @@ class ExpenseController {
330
334
  search,
331
335
  sortByAmountAscending,
332
336
  filters,
337
+ category,
333
338
  },
334
339
  response,
335
340
  });
336
341
  return response;
337
342
  }
338
- async getExpensesByAccountMonthAndDay(userId, accountId, timeZone, month, search, sortByAmountAscending, filters) {
343
+ async getExpensesByAccountMonthAndDay(userId, accountId, timeZone, month, search, sortByAmountAscending, filters, category) {
339
344
  if (!timeZone || timeZone.trim() === "") {
340
345
  throw new Error("Invalid timezone");
341
346
  }
@@ -346,7 +351,10 @@ class ExpenseController {
346
351
  throw new Error("Invalid timezone");
347
352
  }
348
353
  const expenses = await this.modelStore.findAllByAccountIdAndDeletedIsFalse(accountId);
349
- const userExpenses = expenses.filter((e) => e.userId === userId);
354
+ let userExpenses = expenses.filter((e) => e.userId === userId);
355
+ if (category) {
356
+ userExpenses = userExpenses.filter((e) => (e.category || "Uncategorized") === category);
357
+ }
350
358
  const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
351
359
  const toCurrency = user?.currency ?? "USD";
352
360
  const currencyRates = (await this.currencyStore.getCurrencyRates())?.rates ?? {};
@@ -404,6 +412,7 @@ class ExpenseController {
404
412
  search,
405
413
  sortByAmountAscending,
406
414
  filters,
415
+ category,
407
416
  },
408
417
  response,
409
418
  });
@@ -482,6 +491,19 @@ class ExpenseController {
482
491
  });
483
492
  return response;
484
493
  }
494
+ async getCategoryPieChart(userId, accountId, timeZone, month) {
495
+ const expensesResponse = await this.getExpensesByAccountAndMonth(userId, accountId, timeZone, month);
496
+ const categories = await this.categoryModelStore.findAllByUserIdAndDeletedIsFalse(userId);
497
+ const response = CategoryPieChartUtil_1.CategoryPieChartUtil.transform(expensesResponse, categories);
498
+ console.log("[ExpenseController.getCategoryPieChart] Returning category pie chart data", {
499
+ requestParams: { userId, accountId, timeZone, month },
500
+ incomeCategoriesCount: response.incomes.length,
501
+ expenseCategoriesCount: response.expenses.length,
502
+ totalIncome: response.totalIncome,
503
+ totalExpense: response.totalExpense,
504
+ });
505
+ return response;
506
+ }
485
507
  async calculateBalance(expenses, userId) {
486
508
  if (expenses.length === 0) {
487
509
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ExpenseController.js","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpenseController.js","sourceRoot":"","sources":["../../../src/client/controllers/ExpenseController.ts"],"names":[],"mappings":"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"}
@@ -224,4 +224,20 @@ export interface ExpenseQueryResponse {
224
224
  totalCount: number;
225
225
  totals: AccountTotals;
226
226
  }
227
+ export interface CategoryPieChartItem {
228
+ categoryName: string;
229
+ categoryColor: string;
230
+ categoryIcon: string;
231
+ amount: number;
232
+ currency: string;
233
+ percentage: number;
234
+ transactionCount: number;
235
+ }
236
+ export interface CategoryPieChartResponse {
237
+ incomes: CategoryPieChartItem[];
238
+ expenses: CategoryPieChartItem[];
239
+ totalIncome: number;
240
+ totalExpense: number;
241
+ currency: string;
242
+ }
227
243
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/expenses/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/expenses/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { ExpensesByMonthResponse, CategoryPieChartResponse } from "../contracts/expenses";
2
+ import { CategoryModel } from "../CategoryEvents";
3
+ export declare class CategoryPieChartUtil {
4
+ static transform(expensesResponse: ExpensesByMonthResponse, categories: CategoryModel[]): CategoryPieChartResponse;
5
+ private static buildPieChartItems;
6
+ }
7
+ //# sourceMappingURL=CategoryPieChartUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryPieChartUtil.d.ts","sourceRoot":"","sources":["../../src/utils/CategoryPieChartUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EAGzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,SAAS,CACd,gBAAgB,EAAE,uBAAuB,EACzC,UAAU,EAAE,aAAa,EAAE,GAC1B,wBAAwB;IAsE3B,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAyBlC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CategoryPieChartUtil = void 0;
4
+ const expenses_1 = require("../contracts/expenses");
5
+ class CategoryPieChartUtil {
6
+ static transform(expensesResponse, categories) {
7
+ const allTransactions = expensesResponse.perMonth.flatMap((m) => m.transactions);
8
+ const categoryMap = new Map(categories.map((c) => [c.name, c]));
9
+ const incomeAggregation = new Map();
10
+ const expenseAggregation = new Map();
11
+ for (const transaction of allTransactions) {
12
+ const categoryName = transaction.category || "Uncategorized";
13
+ const amount = transaction.defaultCurrencyAmount.amount;
14
+ const aggregation = transaction.transactionType === expenses_1.TransactionType.INCOME
15
+ ? incomeAggregation
16
+ : expenseAggregation;
17
+ const existing = aggregation.get(categoryName) || {
18
+ amount: 0,
19
+ count: 0,
20
+ };
21
+ aggregation.set(categoryName, {
22
+ amount: existing.amount + amount,
23
+ count: existing.count + 1,
24
+ });
25
+ }
26
+ let totalIncome = 0;
27
+ for (const { amount } of incomeAggregation.values()) {
28
+ totalIncome += amount;
29
+ }
30
+ let totalExpense = 0;
31
+ for (const { amount } of expenseAggregation.values()) {
32
+ totalExpense += amount;
33
+ }
34
+ const currency = expensesResponse.totals.currency;
35
+ const incomes = this.buildPieChartItems(incomeAggregation, categoryMap, currency, totalIncome);
36
+ const expenses = this.buildPieChartItems(expenseAggregation, categoryMap, currency, totalExpense);
37
+ return {
38
+ incomes,
39
+ expenses,
40
+ totalIncome,
41
+ totalExpense,
42
+ currency,
43
+ };
44
+ }
45
+ static buildPieChartItems(aggregation, categoryMap, currency, total) {
46
+ const items = [];
47
+ for (const [categoryName, { amount, count }] of aggregation) {
48
+ const categoryModel = categoryMap.get(categoryName);
49
+ items.push({
50
+ categoryName,
51
+ categoryColor: categoryModel?.color ?? "#808080",
52
+ categoryIcon: categoryModel?.icon ?? "help-circle",
53
+ amount,
54
+ currency,
55
+ percentage: total > 0 ? (amount / total) * 100 : 0,
56
+ transactionCount: count,
57
+ });
58
+ }
59
+ items.sort((a, b) => b.amount - a.amount);
60
+ return items;
61
+ }
62
+ }
63
+ exports.CategoryPieChartUtil = CategoryPieChartUtil;
64
+ //# sourceMappingURL=CategoryPieChartUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CategoryPieChartUtil.js","sourceRoot":"","sources":["../../src/utils/CategoryPieChartUtil.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeeshan60/event-processor",
3
- "version": "1.0.113",
3
+ "version": "1.0.115",
4
4
  "description": "Shared event sourcing infrastructure for Loan Tracker projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",