@zeeshan60/event-processor 1.0.48 → 1.0.50

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 (110) hide show
  1. package/dist/ActivityEventHandler.d.ts.map +1 -1
  2. package/dist/ActivityEventHandler.js +3 -7
  3. package/dist/ActivityEventHandler.js.map +1 -1
  4. package/dist/EventProcessorSDK.d.ts +8 -0
  5. package/dist/EventProcessorSDK.d.ts.map +1 -1
  6. package/dist/EventProcessorSDK.js +24 -2
  7. package/dist/EventProcessorSDK.js.map +1 -1
  8. package/dist/GroupEventHandler.d.ts +6 -11
  9. package/dist/GroupEventHandler.d.ts.map +1 -1
  10. package/dist/GroupEventHandler.js +42 -359
  11. package/dist/GroupEventHandler.js.map +1 -1
  12. package/dist/GroupEvents.d.ts +10 -28
  13. package/dist/GroupEvents.d.ts.map +1 -1
  14. package/dist/GroupEvents.js +11 -55
  15. package/dist/GroupEvents.js.map +1 -1
  16. package/dist/GroupTransactionEventHandler.d.ts +6 -12
  17. package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
  18. package/dist/GroupTransactionEventHandler.js +46 -39
  19. package/dist/GroupTransactionEventHandler.js.map +1 -1
  20. package/dist/GroupTransactionEvents.d.ts +29 -157
  21. package/dist/GroupTransactionEvents.d.ts.map +1 -1
  22. package/dist/GroupTransactionEvents.js +25 -307
  23. package/dist/GroupTransactionEvents.js.map +1 -1
  24. package/dist/TransactionEvents.d.ts.map +1 -1
  25. package/dist/TransactionEvents.js.map +1 -1
  26. package/dist/UserEvents.d.ts.map +1 -1
  27. package/dist/UserEvents.js +1 -0
  28. package/dist/UserEvents.js.map +1 -1
  29. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +2 -0
  30. package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
  31. package/dist/__tests__/test-helpers/IMFriendModelStore.js +20 -0
  32. package/dist/__tests__/test-helpers/IMFriendModelStore.js.map +1 -1
  33. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +1 -0
  34. package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
  35. package/dist/__tests__/test-helpers/IMGroupModelStore.js +9 -0
  36. package/dist/__tests__/test-helpers/IMGroupModelStore.js.map +1 -1
  37. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +1 -0
  38. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
  39. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +11 -0
  40. package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js.map +1 -1
  41. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +1 -0
  42. package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
  43. package/dist/__tests__/test-helpers/IMUserModelStore.js +10 -0
  44. package/dist/__tests__/test-helpers/IMUserModelStore.js.map +1 -1
  45. package/dist/client/controllers/ExpenseAccountController.d.ts +2 -1
  46. package/dist/client/controllers/ExpenseAccountController.d.ts.map +1 -1
  47. package/dist/client/controllers/ExpenseAccountController.js +43 -51
  48. package/dist/client/controllers/ExpenseAccountController.js.map +1 -1
  49. package/dist/client/controllers/ExpenseController.d.ts.map +1 -1
  50. package/dist/client/controllers/ExpenseController.js +11 -0
  51. package/dist/client/controllers/ExpenseController.js.map +1 -1
  52. package/dist/client/controllers/FriendController.d.ts.map +1 -1
  53. package/dist/client/controllers/FriendController.js +14 -0
  54. package/dist/client/controllers/FriendController.js.map +1 -1
  55. package/dist/client/controllers/GroupController.d.ts +21 -0
  56. package/dist/client/controllers/GroupController.d.ts.map +1 -0
  57. package/dist/client/controllers/GroupController.js +262 -0
  58. package/dist/client/controllers/GroupController.js.map +1 -0
  59. package/dist/client/controllers/GroupTransactionController.d.ts +23 -0
  60. package/dist/client/controllers/GroupTransactionController.d.ts.map +1 -0
  61. package/dist/client/controllers/GroupTransactionController.js +172 -0
  62. package/dist/client/controllers/GroupTransactionController.js.map +1 -0
  63. package/dist/client/controllers/TransactionController.d.ts.map +1 -1
  64. package/dist/client/controllers/TransactionController.js +14 -2
  65. package/dist/client/controllers/TransactionController.js.map +1 -1
  66. package/dist/client/controllers/UserController.d.ts.map +1 -1
  67. package/dist/client/controllers/UserController.js +15 -1
  68. package/dist/client/controllers/UserController.js.map +1 -1
  69. package/dist/common/EventTypes.d.ts +2 -9
  70. package/dist/common/EventTypes.d.ts.map +1 -1
  71. package/dist/common/EventTypes.js +2 -9
  72. package/dist/common/EventTypes.js.map +1 -1
  73. package/dist/contracts/groups/index.d.ts +13 -1
  74. package/dist/contracts/groups/index.d.ts.map +1 -1
  75. package/dist/converters/GroupConverters.d.ts +4 -10
  76. package/dist/converters/GroupConverters.d.ts.map +1 -1
  77. package/dist/converters/GroupConverters.js +5 -28
  78. package/dist/converters/GroupConverters.js.map +1 -1
  79. package/dist/converters/GroupTransactionConverters.d.ts +4 -40
  80. package/dist/converters/GroupTransactionConverters.d.ts.map +1 -1
  81. package/dist/converters/GroupTransactionConverters.js +33 -154
  82. package/dist/converters/GroupTransactionConverters.js.map +1 -1
  83. package/dist/converters/eventConverter.d.ts.map +1 -1
  84. package/dist/converters/eventConverter.js +4 -18
  85. package/dist/converters/eventConverter.js.map +1 -1
  86. package/dist/index.d.ts +4 -2
  87. package/dist/index.d.ts.map +1 -1
  88. package/dist/index.js +6 -1
  89. package/dist/index.js.map +1 -1
  90. package/dist/store/FriendModelStore.d.ts +2 -0
  91. package/dist/store/FriendModelStore.d.ts.map +1 -1
  92. package/dist/store/GroupModelStore.d.ts +1 -0
  93. package/dist/store/GroupModelStore.d.ts.map +1 -1
  94. package/dist/store/GroupTransactionModelStore.d.ts +1 -0
  95. package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
  96. package/dist/store/UserModelStore.d.ts +1 -0
  97. package/dist/store/UserModelStore.d.ts.map +1 -1
  98. package/dist/utils/ActivityUtil.d.ts +3 -0
  99. package/dist/utils/ActivityUtil.d.ts.map +1 -0
  100. package/dist/utils/ActivityUtil.js +15 -0
  101. package/dist/utils/ActivityUtil.js.map +1 -0
  102. package/dist/utils/BalanceUtil.d.ts +1 -0
  103. package/dist/utils/BalanceUtil.d.ts.map +1 -1
  104. package/dist/utils/BalanceUtil.js +40 -0
  105. package/dist/utils/BalanceUtil.js.map +1 -1
  106. package/dist/utils/GroupUtil.d.ts +29 -0
  107. package/dist/utils/GroupUtil.d.ts.map +1 -0
  108. package/dist/utils/GroupUtil.js +762 -0
  109. package/dist/utils/GroupUtil.js.map +1 -0
  110. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FriendController.js","sourceRoot":"","sources":["../../../src/client/controllers/FriendController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FriendController.js","sourceRoot":"","sources":["../../../src/client/controllers/FriendController.ts"],"names":[],"mappings":";;;AAAA,qDAM4B;AAQ5B,+BAAoC;AACpC,+DAA4D;AAC5D,yDAAsD;AAEtD,MAAa,gBAAgB;IAC3B,IAAY,UAAU;QACpB,OAAO,qCAAiB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,gBAAgB,CAAC;IAC3E,CAAC;IAED,IAAY,qBAAqB;QAC/B,OAAO,qCAAiB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;aACpD,qBAAqB,CAAC;IAC3B,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,qCAAiB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC;IACzE,CAAC;IAED,IAAY,aAAa;QACvB,OAAO,qCAAiB,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC;IACxE,CAAC;IAED,IAAY,kBAAkB;QAC5B,OAAO,qCAAiB,CAAC,WAAW,EAAE,CAAC,qBAAqB,EAAE,CAAC;IACjE,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,yBAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,OAAsB;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,CAAC,8BAA8B,CACvC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,CACpB,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,UAAU,CAAC,2CAA2C,CAC/D,MAAM,EACN,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CACrB,CAAC;YACJ,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,KAAK,iBAAiB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,UAAU,CAAC,iDAAiD,CACrE,MAAM,EACN,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAC3B,CAAC;YACJ,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,4BAA4B,OAAO,CAAC,WAAW,iBAAiB,CACjE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,aAAsC,CAAC;QAC3C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,aAAa;gBACX,MAAM,IAAI,CAAC,UAAU,CAAC,4CAA4C,CAChE,MAAM,EACN,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CACrB,CAAC;QACN,CAAC;QACD,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1C,aAAa;gBACX,MAAM,IAAI,CAAC,UAAU,CAAC,kDAAkD,CACtE,MAAM,EACN,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAC3B,CAAC;QACN,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,8BAAe,CAAC;gBAChC,OAAO,EAAE,IAAA,SAAM,GAAE;gBACjB,MAAM;gBACN,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE;gBAClC,iBAAiB,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;gBAC9C,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;gBACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;gBAClC,SAAS;gBACT,SAAS,EAAE,MAAM;gBACjB,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,OAAO,EAAE,aAAa,CAAC,OAAO,GAAG,CAAC;gBAClC,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEjD,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE;gBAC3D,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;gBAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;aAC/C,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,QAAQ,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,SAAM,GAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,IAAI,4BAAa,CAAC;YAC9B,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE;YAClC,iBAAiB,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;YAC9C,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;YAClC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,SAAS;YAClB,SAAS;YACT,SAAS,EAAE,MAAM;YACjB,QAAQ;YACR,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE;YACzD,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE;YAC/B,QAAQ,EAAE,EAAE,QAAQ,EAAE;SACvB,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,QAAgB,EAChB,OAA4B;QAE5B,IAAI,WAAW,GACb,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAC5D,MAAM,EACN,QAAQ,CACT,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,8BAA8B;YAC9B,WAAW;gBACT,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAC5D,MAAM,EACN,QAAQ,CACT,CAAC;QACN,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,CAAC,8BAA8B,CACvC,MAAM,EACN,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,CACpB,CAAC;QAEF,IACE,OAAO,CAAC,KAAK,KAAK,SAAS;YAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAC3B,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC,WAAW,EACzC,CAAC;YACD,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,UAAU,CAAC,2CAA2C,CAC/D,MAAM,EACN,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CACrB,CAAC;YACJ,IACE,qBAAqB;gBACrB,qBAAqB,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EACvD,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,6BAA6B,OAAO,CAAC,KAAK,iBAAiB,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IACE,OAAO,CAAC,WAAW,KAAK,SAAS;YACjC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;YACjC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,iBAAiB,EACrD,CAAC;YACD,MAAM,qBAAqB,GACzB,MAAM,IAAI,CAAC,UAAU,CAAC,iDAAiD,CACrE,MAAM,EACN,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAC3B,CAAC;YACJ,IACE,qBAAqB;gBACrB,qBAAqB,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EACvD,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,oCAAoC,OAAO,CAAC,WAAW,iBAAiB,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GACd,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAC3B,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC,WAAW,CAAC;YAC5C,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS;gBAChC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;gBACjC,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,iBAAiB,CAAC;YACxD,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;gBACzB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC1B,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,iBAAiB,CAAC;YACjD,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEjC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,4BAAa,CAAC;YAC9B,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,WAAW,EACT,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YAChE,iBAAiB,EACf,OAAO,CAAC,WAAW,KAAK,SAAS;gBAC/B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE;gBAC5B,CAAC,CAAC,SAAS;YACf,iBAAiB,EACf,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;YAC9D,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;YAClC,SAAS;YACT,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,CAAC;YAChC,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE;YAC5D,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAgB;QACjD,IAAI,WAAW,GACb,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAC5D,MAAM,EACN,QAAQ,CACT,CAAC;QAEJ,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,8BAA8B;YAC9B,WAAW;gBACT,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAC5D,MAAM,EACN,QAAQ,CACT,CAAC;QACN,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,4BAAa,CAAC;YAC9B,OAAO,EAAE,IAAA,SAAM,GAAE;YACjB,MAAM;YACN,SAAS;YACT,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,CAAC;YAChC,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE;YAC5D,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAAgB;QAC9C,IAAI,WAAW,GACb,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAC5D,MAAM,EACN,QAAQ,CACT,CAAC;QAEJ,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,8BAA8B;YAC9B,WAAW;gBACT,MAAM,IAAI,CAAC,UAAU,CAAC,wCAAwC,CAC5D,MAAM,EACN,QAAQ,CACT,CAAC;QACN,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC;QACrE,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,qBAAqB,CAAC,iDAAiD,CAChF,MAAM,EACN,eAAe,CAChB,CAAC;QAEJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CACrD,YAAY,EACZ,MAAM,CACP,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE;YAC3D,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;YACnC,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QACxC,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,UAAU,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,yDAAyD,EAAE;YACrE,aAAa,EAAE,EAAE,QAAQ,EAAE;YAC3B,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC;QAEnE,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,kCAAkC,CACjE,MAAM,CACP,CAAC;QAEJ,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,CAClD,CAAC;QAEF,MAAM,6BAA6B,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAClE,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,CAC9C,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CACzD,6BAA6B,EAC7B,MAAM,CACP,CAAC;QAEF,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrC,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC;YACrE,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,qBAAqB,CAAC,iDAAiD,CAChF,MAAM,EACN,eAAe,CAChB,CAAC;YAEJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC3D,kBAAkB,EAClB,MAAM,CACP,CAAC;YAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC3D,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACpE;YACD,OAAO,EAAE,WAAW;SACrB,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,wDAAwD,EAAE;YACpE,aAAa,EAAE,EAAE,MAAM,EAAE;YACzB,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,MAAc,EACd,WAAoB,EACpB,iBAA0B;QAE1B,MAAM,WAAW,GACf,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,WAAW,EAAE,CAAC;YAChB,IACE,CAAC,WAAW,CAAC,KAAK;gBAChB,WAAW;gBACX,WAAW,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC3C,CAAC,WAAW,CAAC,WAAW;oBACtB,iBAAiB;oBACjB,WAAW,CAAC,WAAW,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC,EACvD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CACtB,WAAwB,EACxB,OAAyB;QAEzB,MAAM,YAAY,GAAoB;YACpC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,IAAI,EAAE,WAAW,CAAC,iBAAiB;YACnC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ;YACtD,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,WAAW,CAAC,WAAW;YAC9B,KAAK,EAAE,WAAW,CAAC,iBAAiB;YACpC,OAAO,EAAE,OAAO,IAAI,YAAY;YAChC,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC;IACJ,CAAC;CACF;AArbD,4CAqbC"}
@@ -0,0 +1,21 @@
1
+ import { GroupAddMembersRequest, GroupCreateRequest, GroupRemoveMembersRequest, GroupResponse, GroupSummariesResponse, GroupUpdateRequest } from "../../contracts/groups";
2
+ export declare class GroupController {
3
+ private get modelStore();
4
+ private get groupEventHandler();
5
+ private get userModelStore();
6
+ private get friendModelStore();
7
+ private get groupTransactionModelStore();
8
+ private get currencyStore();
9
+ private get balanceUtil();
10
+ createGroup(userId: string, request: GroupCreateRequest): Promise<string>;
11
+ updateGroup(userId: string, groupId: string, request: GroupUpdateRequest): Promise<void>;
12
+ addMembers(userId: string, groupId: string, request: GroupAddMembersRequest): Promise<void>;
13
+ removeMembers(userId: string, groupId: string, request: GroupRemoveMembersRequest): Promise<void>;
14
+ deleteGroup(userId: string, groupId: string): Promise<void>;
15
+ getGroup(userId: string, groupId: string): Promise<GroupResponse>;
16
+ getAllGroups(userId: string): Promise<GroupSummariesResponse>;
17
+ private calculateGroupBalance;
18
+ private mapMembersToResponse;
19
+ private calculateMemberBalance;
20
+ }
21
+ //# sourceMappingURL=GroupController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/GroupController.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAElB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EAEtB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAOhC,qBAAa,eAAe;IAC1B,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,0BAA0B,GAGrC;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,WAAW,GAEtB;IAEK,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAmCZ,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC;IA+BV,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAiCV,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC;IAiCV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B3D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAyCjE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;YA8CrD,qBAAqB;YA+BrB,oBAAoB;YAuDpB,sBAAsB;CA6BrC"}
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupController = void 0;
4
+ const GroupEvents_1 = require("../../GroupEvents");
5
+ const EventProcessorSDK_1 = require("../../EventProcessorSDK");
6
+ const uuid_1 = require("uuid");
7
+ const BalanceUtil_1 = require("../../utils/BalanceUtil");
8
+ class GroupController {
9
+ get modelStore() {
10
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().groupModelStore;
11
+ }
12
+ get groupEventHandler() {
13
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getGroupEventHandler();
14
+ }
15
+ get userModelStore() {
16
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().userModelStore;
17
+ }
18
+ get friendModelStore() {
19
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().friendModelStore;
20
+ }
21
+ get groupTransactionModelStore() {
22
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig()
23
+ .groupTransactionModelStore;
24
+ }
25
+ get currencyStore() {
26
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().currencyStore;
27
+ }
28
+ get balanceUtil() {
29
+ return new BalanceUtil_1.BalanceUtil(this.userModelStore, this.currencyStore);
30
+ }
31
+ async createGroup(userId, request) {
32
+ const groupId = (0, uuid_1.v4)();
33
+ const streamId = (0, uuid_1.v4)();
34
+ const createdAt = new Date();
35
+ const members = request.memberIds ?? [];
36
+ if (!members.includes(userId)) {
37
+ members.push(userId);
38
+ }
39
+ const event = new GroupEvents_1.GroupCreated({
40
+ eventId: (0, uuid_1.v4)(),
41
+ userId,
42
+ groupId,
43
+ name: request.name.trim(),
44
+ description: request.description?.trim(),
45
+ photoUrl: request.photoUrl,
46
+ members,
47
+ createdAt,
48
+ createdBy: userId,
49
+ streamId,
50
+ version: 1,
51
+ systemGenerated: false,
52
+ });
53
+ await this.groupEventHandler.handleEvent(event);
54
+ console.log("[GroupController.createGroup] Group created", {
55
+ requestParams: { userId, request },
56
+ groupId,
57
+ });
58
+ return groupId;
59
+ }
60
+ async updateGroup(userId, groupId, request) {
61
+ const groupModel = await this.modelStore.findByUserIdAndGroupIdAndDeletedIsFalse(userId, groupId);
62
+ if (!groupModel) {
63
+ throw new Error(`Group not found: ${groupId}`);
64
+ }
65
+ const createdAt = new Date();
66
+ const event = new GroupEvents_1.GroupUpdated({
67
+ eventId: (0, uuid_1.v4)(),
68
+ userId,
69
+ name: request.name.trim(),
70
+ description: request.description?.trim(),
71
+ photoUrl: request.photoUrl,
72
+ createdAt,
73
+ createdBy: userId,
74
+ streamId: groupModel.streamId,
75
+ version: groupModel.version + 1,
76
+ systemGenerated: false,
77
+ });
78
+ await this.groupEventHandler.handleEvent(event);
79
+ console.log("[GroupController.updateGroup] Group updated", {
80
+ requestParams: { userId, groupId, request },
81
+ });
82
+ }
83
+ async addMembers(userId, groupId, request) {
84
+ const groupModel = await this.modelStore.findByUserIdAndGroupIdAndDeletedIsFalse(userId, groupId);
85
+ if (!groupModel) {
86
+ throw new Error(`Group not found: ${groupId}`);
87
+ }
88
+ if (!request.memberIds || request.memberIds.length === 0) {
89
+ throw new Error("No members to add");
90
+ }
91
+ const createdAt = new Date();
92
+ const event = new GroupEvents_1.GroupMembersAdded({
93
+ eventId: (0, uuid_1.v4)(),
94
+ userId,
95
+ members: request.memberIds,
96
+ createdAt,
97
+ createdBy: userId,
98
+ streamId: groupModel.streamId,
99
+ version: groupModel.version + 1,
100
+ systemGenerated: false,
101
+ });
102
+ await this.groupEventHandler.handleEvent(event);
103
+ console.log("[GroupController.addMembers] Members added", {
104
+ requestParams: { userId, groupId, request },
105
+ });
106
+ }
107
+ async removeMembers(userId, groupId, request) {
108
+ const groupModel = await this.modelStore.findByUserIdAndGroupIdAndDeletedIsFalse(userId, groupId);
109
+ if (!groupModel) {
110
+ throw new Error(`Group not found: ${groupId}`);
111
+ }
112
+ if (!request.memberIds || request.memberIds.length === 0) {
113
+ throw new Error("No members to remove");
114
+ }
115
+ const createdAt = new Date();
116
+ const event = new GroupEvents_1.GroupMembersRemoved({
117
+ eventId: (0, uuid_1.v4)(),
118
+ userId,
119
+ members: request.memberIds,
120
+ createdAt,
121
+ createdBy: userId,
122
+ streamId: groupModel.streamId,
123
+ version: groupModel.version + 1,
124
+ systemGenerated: false,
125
+ });
126
+ await this.groupEventHandler.handleEvent(event);
127
+ console.log("[GroupController.removeMembers] Members removed", {
128
+ requestParams: { userId, groupId, request },
129
+ });
130
+ }
131
+ async deleteGroup(userId, groupId) {
132
+ const groupModel = await this.modelStore.findByUserIdAndGroupIdAndDeletedIsFalse(userId, groupId);
133
+ if (!groupModel) {
134
+ throw new Error(`Group not found: ${groupId}`);
135
+ }
136
+ const createdAt = new Date();
137
+ const event = new GroupEvents_1.GroupDeleted({
138
+ eventId: (0, uuid_1.v4)(),
139
+ userId,
140
+ createdAt,
141
+ createdBy: userId,
142
+ streamId: groupModel.streamId,
143
+ version: groupModel.version + 1,
144
+ systemGenerated: false,
145
+ });
146
+ await this.groupEventHandler.handleEvent(event);
147
+ console.log("[GroupController.deleteGroup] Group deleted", {
148
+ requestParams: { userId, groupId },
149
+ });
150
+ }
151
+ async getGroup(userId, groupId) {
152
+ const groupModel = await this.modelStore.findByUserIdAndGroupIdAndDeletedIsFalse(userId, groupId);
153
+ if (!groupModel) {
154
+ throw new Error(`Group not found: ${groupId}`);
155
+ }
156
+ const transactions = await this.groupTransactionModelStore.findByUserIdAndGroupIdWhereDeletedIsFalse(userId, groupId);
157
+ const balance = await this.calculateGroupBalance(transactions, userId);
158
+ const members = await this.mapMembersToResponse(groupModel.members ?? [], userId, groupId);
159
+ const response = {
160
+ id: groupModel.groupId,
161
+ name: groupModel.name,
162
+ photoUrl: groupModel.photoUrl,
163
+ description: groupModel.description,
164
+ members,
165
+ balance,
166
+ };
167
+ console.log("[GroupController.getGroup] Returning group", {
168
+ requestParams: { userId, groupId },
169
+ response,
170
+ });
171
+ return response;
172
+ }
173
+ async getAllGroups(userId) {
174
+ const groups = await this.modelStore.findAllByUserIdAndDeletedIsFalse(userId);
175
+ const groupSummaries = [];
176
+ const allTransactions = [];
177
+ for (const group of groups) {
178
+ const transactions = await this.groupTransactionModelStore.findByUserIdAndGroupIdWhereDeletedIsFalse(userId, group.groupId);
179
+ allTransactions.push(...transactions);
180
+ const balance = await this.calculateGroupBalance(transactions, userId);
181
+ groupSummaries.push({
182
+ id: group.groupId,
183
+ name: group.name,
184
+ photoUrl: group.photoUrl,
185
+ description: group.description,
186
+ memberCount: group.members?.length ?? 0,
187
+ balance,
188
+ });
189
+ }
190
+ const totalBalance = await this.calculateGroupBalance(allTransactions, userId);
191
+ const response = {
192
+ groups: groupSummaries,
193
+ balance: totalBalance,
194
+ };
195
+ console.log("[GroupController.getAllGroups] Returning all groups", {
196
+ requestParams: { userId },
197
+ response,
198
+ });
199
+ return response;
200
+ }
201
+ async calculateGroupBalance(transactions, userId) {
202
+ if (transactions.length === 0) {
203
+ return { main: undefined, other: [] };
204
+ }
205
+ const currencyBalances = new Map();
206
+ for (const transaction of transactions) {
207
+ const totalOwedToYou = transaction.whoOweYou.reduce((sum, m) => sum + m.amount, 0);
208
+ const totalYouOwe = transaction.whoYouOwe.reduce((sum, m) => sum + m.amount, 0);
209
+ const netAmount = totalOwedToYou - totalYouOwe;
210
+ const existing = currencyBalances.get(transaction.currency) || 0;
211
+ currencyBalances.set(transaction.currency, existing + netAmount);
212
+ }
213
+ return this.balanceUtil.convertCurrencyBalancesToResponse(currencyBalances, userId);
214
+ }
215
+ async mapMembersToResponse(memberIds, userId, groupId) {
216
+ const members = [];
217
+ const transactions = await this.groupTransactionModelStore.findByUserIdAndGroupIdWhereDeletedIsFalse(userId, groupId);
218
+ for (const memberId of memberIds) {
219
+ if (memberId === userId) {
220
+ const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(memberId);
221
+ if (user) {
222
+ members.push({
223
+ memberId: user.userId,
224
+ memberPhoneNumber: user.phoneNumber,
225
+ memberEmail: user.email,
226
+ memberName: user.displayName,
227
+ userBalanceWithThisMember: undefined,
228
+ });
229
+ }
230
+ }
231
+ else {
232
+ const friend = await this.friendModelStore.findByUserIdAndFriendIdAndDeletedIsFalse(userId, memberId);
233
+ if (friend) {
234
+ const memberBalance = await this.calculateMemberBalance(transactions, memberId, userId);
235
+ members.push({
236
+ memberId: friend.friendId ?? friend.streamId,
237
+ memberPhoneNumber: friend.friendPhoneNumber,
238
+ memberEmail: friend.friendEmail,
239
+ memberName: friend.friendDisplayName,
240
+ userBalanceWithThisMember: memberBalance,
241
+ });
242
+ }
243
+ }
244
+ }
245
+ return members;
246
+ }
247
+ async calculateMemberBalance(transactions, memberId, userId) {
248
+ const currencyBalances = new Map();
249
+ for (const transaction of transactions) {
250
+ const owedByMember = transaction.whoOweYou.find((m) => m.memberId === memberId);
251
+ const owedToMember = transaction.whoYouOwe.find((m) => m.memberId === memberId);
252
+ const netAmount = (owedByMember?.amount ?? 0) - (owedToMember?.amount ?? 0);
253
+ if (netAmount !== 0) {
254
+ const existing = currencyBalances.get(transaction.currency) || 0;
255
+ currencyBalances.set(transaction.currency, existing + netAmount);
256
+ }
257
+ }
258
+ return this.balanceUtil.convertCurrencyBalancesToResponse(currencyBalances, userId);
259
+ }
260
+ }
261
+ exports.GroupController = GroupController;
262
+ //# sourceMappingURL=GroupController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupController.js","sourceRoot":"","sources":["../../../src/client/controllers/GroupController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { GroupTransactionResponse, GroupTransactionsByMonthResponse, GroupTransactionSpecificAmountsRequest, GroupTransactionTheyPaidSplitEquallyRequest, GroupTransactionYouPaidSplitEquallyRequest } from "../../contracts/groups";
2
+ export declare class GroupTransactionController {
3
+ private get groupTransactionModelStore();
4
+ private get groupTransactionEventHandler();
5
+ private get groupModelStore();
6
+ private get userModelStore();
7
+ private get currencyStore();
8
+ private get balanceUtil();
9
+ createYouPaidSplitEqually(userId: string, groupId: string, request: GroupTransactionYouPaidSplitEquallyRequest): Promise<string>;
10
+ createTheyPaidSplitEqually(userId: string, groupId: string, request: GroupTransactionTheyPaidSplitEquallyRequest): Promise<string>;
11
+ createSpecificAmounts(userId: string, groupId: string, request: GroupTransactionSpecificAmountsRequest): Promise<string>;
12
+ updateYouPaidSplitEqually(userId: string, groupId: string, request: GroupTransactionYouPaidSplitEquallyRequest): Promise<void>;
13
+ updateTheyPaidSplitEqually(userId: string, groupId: string, request: GroupTransactionTheyPaidSplitEquallyRequest): Promise<void>;
14
+ updateSpecificAmounts(userId: string, groupId: string, request: GroupTransactionSpecificAmountsRequest): Promise<void>;
15
+ deleteTransaction(userId: string, groupId: string, transactionId: string): Promise<void>;
16
+ getTransaction(userId: string, transactionId: string): Promise<GroupTransactionResponse | undefined>;
17
+ getTransactionsByMonth(userId: string, groupId: string, timeZone: string): Promise<GroupTransactionsByMonthResponse>;
18
+ private calculateTotalOwed;
19
+ private findExistingTransaction;
20
+ private groupTransactionsByMonth;
21
+ private startOfMonth;
22
+ }
23
+ //# sourceMappingURL=GroupTransactionController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupTransactionController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/GroupTransactionController.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,sCAAsC,EAEtC,2CAA2C,EAC3C,0CAA0C,EAC3C,MAAM,wBAAwB,CAAC;AAQhC,qBAAa,0BAA0B;IACrC,OAAO,KAAK,0BAA0B,GAGrC;IAED,OAAO,KAAK,4BAA4B,GAEvC;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,WAAW,GAEtB;IAEK,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,MAAM,CAAC;IAaZ,0BAA0B,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,MAAM,CAAC;IAaZ,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,CAAC;IAaZ,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,IAAI,CAAC;IAuBV,0BAA0B,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,IAAI,CAAC;IAuBV,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAuBV,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAyBV,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA+B1C,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gCAAgC,CAAC;IA6D5C,OAAO,CAAC,kBAAkB;YASZ,uBAAuB;IAsBrC,OAAO,CAAC,wBAAwB;IAuBhC,OAAO,CAAC,YAAY;CAMrB"}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupTransactionController = void 0;
4
+ const GroupTransactionEvents_1 = require("../../GroupTransactionEvents");
5
+ const EventProcessorSDK_1 = require("../../EventProcessorSDK");
6
+ const uuid_1 = require("uuid");
7
+ const BalanceUtil_1 = require("../../utils/BalanceUtil");
8
+ const GroupUtil_1 = require("../../utils/GroupUtil");
9
+ class GroupTransactionController {
10
+ get groupTransactionModelStore() {
11
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig()
12
+ .groupTransactionModelStore;
13
+ }
14
+ get groupTransactionEventHandler() {
15
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getGroupTransactionEventHandler();
16
+ }
17
+ get groupModelStore() {
18
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().groupModelStore;
19
+ }
20
+ get userModelStore() {
21
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().userModelStore;
22
+ }
23
+ get currencyStore() {
24
+ return EventProcessorSDK_1.EventProcessorSDK.getInstance().getStoreConfig().currencyStore;
25
+ }
26
+ get balanceUtil() {
27
+ return new BalanceUtil_1.BalanceUtil(this.userModelStore, this.currencyStore);
28
+ }
29
+ async createYouPaidSplitEqually(userId, groupId, request) {
30
+ const event = (0, GroupUtil_1.buildYouPaidSplitEquallyEvent)(userId, groupId, request);
31
+ await this.groupTransactionEventHandler.handleEvent(event);
32
+ const transactionId = event.transactionId;
33
+ console.log("[GroupTransactionController.createYouPaidSplitEqually] Transaction created", { requestParams: { userId, groupId, request }, transactionId });
34
+ return transactionId;
35
+ }
36
+ async createTheyPaidSplitEqually(userId, groupId, request) {
37
+ const event = (0, GroupUtil_1.buildTheyPaidSplitEquallyEvent)(userId, groupId, request);
38
+ await this.groupTransactionEventHandler.handleEvent(event);
39
+ const transactionId = event.transactionId;
40
+ console.log("[GroupTransactionController.createTheyPaidSplitEqually] Transaction created", { requestParams: { userId, groupId, request }, transactionId });
41
+ return transactionId;
42
+ }
43
+ async createSpecificAmounts(userId, groupId, request) {
44
+ const event = (0, GroupUtil_1.buildSpecificAmountsEvent)(userId, groupId, request);
45
+ await this.groupTransactionEventHandler.handleEvent(event);
46
+ const transactionId = event.transactionId;
47
+ console.log("[GroupTransactionController.createSpecificAmounts] Transaction created", { requestParams: { userId, groupId, request }, transactionId });
48
+ return transactionId;
49
+ }
50
+ async updateYouPaidSplitEqually(userId, groupId, request) {
51
+ if (!request.transactionId) {
52
+ throw new Error("transactionId is required for update");
53
+ }
54
+ const existingModel = await this.findExistingTransaction(userId, groupId, request.transactionId);
55
+ const event = (0, GroupUtil_1.buildYouPaidSplitEquallyEvent)(userId, groupId, request, existingModel);
56
+ await this.groupTransactionEventHandler.handleEvent(event);
57
+ console.log("[GroupTransactionController.updateYouPaidSplitEqually] Transaction updated", { requestParams: { userId, groupId, request } });
58
+ }
59
+ async updateTheyPaidSplitEqually(userId, groupId, request) {
60
+ if (!request.transactionId) {
61
+ throw new Error("transactionId is required for update");
62
+ }
63
+ const existingModel = await this.findExistingTransaction(userId, groupId, request.transactionId);
64
+ const event = (0, GroupUtil_1.buildTheyPaidSplitEquallyEvent)(userId, groupId, request, existingModel);
65
+ await this.groupTransactionEventHandler.handleEvent(event);
66
+ console.log("[GroupTransactionController.updateTheyPaidSplitEqually] Transaction updated", { requestParams: { userId, groupId, request } });
67
+ }
68
+ async updateSpecificAmounts(userId, groupId, request) {
69
+ if (!request.transactionId) {
70
+ throw new Error("transactionId is required for update");
71
+ }
72
+ const existingModel = await this.findExistingTransaction(userId, groupId, request.transactionId);
73
+ const event = (0, GroupUtil_1.buildSpecificAmountsEvent)(userId, groupId, request, existingModel);
74
+ await this.groupTransactionEventHandler.handleEvent(event);
75
+ console.log("[GroupTransactionController.updateSpecificAmounts] Transaction updated", { requestParams: { userId, groupId, request } });
76
+ }
77
+ async deleteTransaction(userId, groupId, transactionId) {
78
+ const existingModel = await this.findExistingTransaction(userId, groupId, transactionId);
79
+ const event = new GroupTransactionEvents_1.GroupTransactionDeleted({
80
+ eventId: (0, uuid_1.v4)(),
81
+ userId,
82
+ createdAt: new Date(),
83
+ createdBy: userId,
84
+ streamId: existingModel.streamId,
85
+ version: existingModel.version + 1,
86
+ systemGenerated: false,
87
+ });
88
+ await this.groupTransactionEventHandler.handleEvent(event);
89
+ console.log("[GroupTransactionController.deleteTransaction] Transaction deleted", { requestParams: { userId, groupId, transactionId } });
90
+ }
91
+ async getTransaction(userId, transactionId) {
92
+ const transaction = await this.groupTransactionModelStore.findByUserIdAndTransactionId(userId, transactionId);
93
+ if (!transaction) {
94
+ return undefined;
95
+ }
96
+ const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
97
+ const toCurrency = user?.currency ?? "USD";
98
+ const currencyRates = (await this.currencyStore.getCurrencyRates())?.rates ?? {};
99
+ const response = (0, GroupUtil_1.toGroupTransactionResponse)(transaction, toCurrency, currencyRates);
100
+ console.log("[GroupTransactionController.getTransaction] Returning transaction", { requestParams: { userId, transactionId }, response });
101
+ return response;
102
+ }
103
+ async getTransactionsByMonth(userId, groupId, timeZone) {
104
+ if (!timeZone || timeZone.trim() === "") {
105
+ throw new Error("Invalid timezone");
106
+ }
107
+ const transactions = await this.groupTransactionModelStore.findByUserIdAndGroupIdWhereDeletedIsFalse(userId, groupId);
108
+ const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
109
+ const toCurrency = user?.currency ?? "USD";
110
+ const currencyRates = (await this.currencyStore.getCurrencyRates())?.rates ?? {};
111
+ const sortedTransactions = transactions
112
+ .sort((a, b) => b.transactionDate.getTime() - a.transactionDate.getTime() ||
113
+ b.createdAt.getTime() - a.createdAt.getTime())
114
+ .map((t) => (0, GroupUtil_1.toGroupTransactionResponse)(t, toCurrency, currencyRates));
115
+ const groupedByMonth = this.groupTransactionsByMonth(sortedTransactions, timeZone);
116
+ const balance = await this.balanceUtil.calculateBalance(transactions.map((t) => ({
117
+ ...t,
118
+ description: t.description ?? "",
119
+ recipientUserId: "",
120
+ logicalTransactionId: t.transactionId,
121
+ amount: this.calculateTotalOwed(t),
122
+ isOwed: t.whoOweYou.length > 0,
123
+ history: { changes: [] },
124
+ })), userId);
125
+ const response = {
126
+ perMonth: groupedByMonth,
127
+ balance,
128
+ };
129
+ console.log("[GroupTransactionController.getTransactionsByMonth] Returning transactions by month", {
130
+ requestParams: { userId, groupId, timeZone },
131
+ response,
132
+ });
133
+ return response;
134
+ }
135
+ calculateTotalOwed(model) {
136
+ const totalOwedToYou = model.whoOweYou.reduce((sum, m) => sum + m.amount, 0);
137
+ const totalYouOwe = model.whoYouOwe.reduce((sum, m) => sum + m.amount, 0);
138
+ return totalOwedToYou > 0 ? totalOwedToYou : totalYouOwe;
139
+ }
140
+ async findExistingTransaction(userId, groupId, transactionId) {
141
+ const transactions = await this.groupTransactionModelStore.findByUserIdAndGroupIdWhereDeletedIsFalse(userId, groupId);
142
+ const existingModel = transactions.find((t) => t.transactionId === transactionId);
143
+ if (!existingModel) {
144
+ throw new Error(`Transaction not found: ${transactionId}`);
145
+ }
146
+ return existingModel;
147
+ }
148
+ groupTransactionsByMonth(transactions, timeZone) {
149
+ const grouped = new Map();
150
+ for (const transaction of transactions) {
151
+ const monthStart = this.startOfMonth(transaction.date, timeZone);
152
+ if (!grouped.has(monthStart)) {
153
+ grouped.set(monthStart, []);
154
+ }
155
+ grouped.get(monthStart).push(transaction);
156
+ }
157
+ return Array.from(grouped.entries())
158
+ .sort((a, b) => new Date(b[0]).getTime() - new Date(a[0]).getTime())
159
+ .map(([date, txs]) => ({
160
+ date,
161
+ transactions: txs,
162
+ }));
163
+ }
164
+ startOfMonth(dateString, timeZone) {
165
+ const date = new Date(dateString);
166
+ const year = date.toLocaleString("en-US", { year: "numeric", timeZone });
167
+ const month = date.toLocaleString("en-US", { month: "2-digit", timeZone });
168
+ return new Date(`${year}-${month}-01T00:00:00.000Z`).toISOString();
169
+ }
170
+ }
171
+ exports.GroupTransactionController = GroupTransactionController;
172
+ //# sourceMappingURL=GroupTransactionController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupTransactionController.js","sourceRoot":"","sources":["../../../src/client/controllers/GroupTransactionController.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/TransactionController.ts"],"names":[],"mappings":"AASA,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EAMrB,MAAM,8BAA8B,CAAC;AAQtC,qBAAa,qBAAqB;IAChC,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,CAAC,eAAe;IAYjB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IA8EZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;IA6FV,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAqCV,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IAwDjB,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC;IAgFhC,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,qBAAqB;IAgE7B,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,oCAAoC;CAoB7C"}
1
+ {"version":3,"file":"TransactionController.d.ts","sourceRoot":"","sources":["../../../src/client/controllers/TransactionController.ts"],"names":[],"mappings":"AASA,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EAMrB,MAAM,8BAA8B,CAAC;AAQtC,qBAAa,qBAAqB;IAChC,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO,KAAK,uBAAuB,GAElC;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED,OAAO,CAAC,eAAe;IAYjB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAmFZ,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC;IAsGV,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA4CV,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC;IAwDjB,sBAAsB,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC;IAgFhC,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,qBAAqB;IAgE7B,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,oCAAoC;CAoB7C"}
@@ -102,6 +102,10 @@ class TransactionController {
102
102
  });
103
103
  this.transactionMigrationUtil.scheduleResolveTempData(userId);
104
104
  }
105
+ console.log("[TransactionController.addTransaction] Transaction created", {
106
+ request: { userId, ...request },
107
+ response: { streamId },
108
+ });
105
109
  return streamId;
106
110
  }
107
111
  async updateTransaction(userId, transactionId, request) {
@@ -129,8 +133,10 @@ class TransactionController {
129
133
  : transactionModel.recurringDetails;
130
134
  const { amount, isOwed } = (0, splitTypeUtils_1.calculateAmountAndIsOwed)(totalAmount, transactionModel.amount, splitType, transactionModel.isOwed);
131
135
  const recurringChanged = recurring !== transactionModel.recurring ||
132
- recurringDetails?.frequency !== transactionModel.recurringDetails?.frequency ||
133
- recurringDetails?.interval !== transactionModel.recurringDetails?.interval;
136
+ recurringDetails?.frequency !==
137
+ transactionModel.recurringDetails?.frequency ||
138
+ recurringDetails?.interval !==
139
+ transactionModel.recurringDetails?.interval;
134
140
  const hasChanges = description !== transactionModel.description ||
135
141
  currency !== transactionModel.currency ||
136
142
  splitType !== transactionModel.splitType ||
@@ -171,6 +177,9 @@ class TransactionController {
171
177
  });
172
178
  this.transactionMigrationUtil.scheduleResolveTempData(userId);
173
179
  }
180
+ console.log("[TransactionController.updateTransaction] Transaction updated", {
181
+ request: { userId, transactionId, ...request },
182
+ });
174
183
  }
175
184
  async deleteTransaction(userId, transactionId) {
176
185
  const transactionModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(transactionId);
@@ -199,6 +208,9 @@ class TransactionController {
199
208
  });
200
209
  this.transactionMigrationUtil.scheduleResolveTempData(userId);
201
210
  }
211
+ console.log("[TransactionController.deleteTransaction] Transaction deleted", {
212
+ request: { userId, transactionId },
213
+ });
202
214
  }
203
215
  async getTransaction(userId, transactionId) {
204
216
  const transactionModel = await this.modelStore.getByStreamIdWhereDeletedIsFalse(transactionId);