@zeeshan60/event-processor 1.0.47 → 1.0.49
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.
- package/dist/ActivityEventHandler.d.ts.map +1 -1
- package/dist/ActivityEventHandler.js +3 -7
- package/dist/ActivityEventHandler.js.map +1 -1
- package/dist/EventProcessorSDK.d.ts +8 -0
- package/dist/EventProcessorSDK.d.ts.map +1 -1
- package/dist/EventProcessorSDK.js +24 -2
- package/dist/EventProcessorSDK.js.map +1 -1
- package/dist/GroupEventHandler.d.ts +6 -11
- package/dist/GroupEventHandler.d.ts.map +1 -1
- package/dist/GroupEventHandler.js +42 -359
- package/dist/GroupEventHandler.js.map +1 -1
- package/dist/GroupEvents.d.ts +10 -28
- package/dist/GroupEvents.d.ts.map +1 -1
- package/dist/GroupEvents.js +11 -55
- package/dist/GroupEvents.js.map +1 -1
- package/dist/GroupTransactionEventHandler.d.ts +6 -12
- package/dist/GroupTransactionEventHandler.d.ts.map +1 -1
- package/dist/GroupTransactionEventHandler.js +46 -39
- package/dist/GroupTransactionEventHandler.js.map +1 -1
- package/dist/GroupTransactionEvents.d.ts +29 -157
- package/dist/GroupTransactionEvents.d.ts.map +1 -1
- package/dist/GroupTransactionEvents.js +25 -307
- package/dist/GroupTransactionEvents.js.map +1 -1
- package/dist/TransactionEventHandler.d.ts.map +1 -1
- package/dist/TransactionEventHandler.js +1 -0
- package/dist/TransactionEventHandler.js.map +1 -1
- package/dist/TransactionEvents.d.ts.map +1 -1
- package/dist/TransactionEvents.js.map +1 -1
- package/dist/UserEvents.d.ts.map +1 -1
- package/dist/UserEvents.js +1 -0
- package/dist/UserEvents.js.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts +2 -0
- package/dist/__tests__/test-helpers/IMFriendModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMFriendModelStore.js +20 -0
- package/dist/__tests__/test-helpers/IMFriendModelStore.js.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts +1 -0
- package/dist/__tests__/test-helpers/IMGroupModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupModelStore.js +9 -0
- package/dist/__tests__/test-helpers/IMGroupModelStore.js.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts +1 -0
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js +11 -0
- package/dist/__tests__/test-helpers/IMGroupTransactionModelStore.js.map +1 -1
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts +1 -0
- package/dist/__tests__/test-helpers/IMUserModelStore.d.ts.map +1 -1
- package/dist/__tests__/test-helpers/IMUserModelStore.js +10 -0
- package/dist/__tests__/test-helpers/IMUserModelStore.js.map +1 -1
- package/dist/client/controllers/ExpenseAccountController.d.ts +2 -1
- package/dist/client/controllers/ExpenseAccountController.d.ts.map +1 -1
- package/dist/client/controllers/ExpenseAccountController.js +43 -51
- package/dist/client/controllers/ExpenseAccountController.js.map +1 -1
- package/dist/client/controllers/ExpenseController.d.ts.map +1 -1
- package/dist/client/controllers/ExpenseController.js +11 -0
- package/dist/client/controllers/ExpenseController.js.map +1 -1
- package/dist/client/controllers/FriendController.d.ts.map +1 -1
- package/dist/client/controllers/FriendController.js +14 -0
- package/dist/client/controllers/FriendController.js.map +1 -1
- package/dist/client/controllers/GroupController.d.ts +21 -0
- package/dist/client/controllers/GroupController.d.ts.map +1 -0
- package/dist/client/controllers/GroupController.js +262 -0
- package/dist/client/controllers/GroupController.js.map +1 -0
- package/dist/client/controllers/GroupTransactionController.d.ts +23 -0
- package/dist/client/controllers/GroupTransactionController.d.ts.map +1 -0
- package/dist/client/controllers/GroupTransactionController.js +172 -0
- package/dist/client/controllers/GroupTransactionController.js.map +1 -0
- package/dist/client/controllers/TransactionController.d.ts.map +1 -1
- package/dist/client/controllers/TransactionController.js +14 -2
- package/dist/client/controllers/TransactionController.js.map +1 -1
- package/dist/client/controllers/UserController.d.ts.map +1 -1
- package/dist/client/controllers/UserController.js +15 -1
- package/dist/client/controllers/UserController.js.map +1 -1
- package/dist/common/EventTypes.d.ts +2 -9
- package/dist/common/EventTypes.d.ts.map +1 -1
- package/dist/common/EventTypes.js +2 -9
- package/dist/common/EventTypes.js.map +1 -1
- package/dist/contracts/groups/index.d.ts +13 -1
- package/dist/contracts/groups/index.d.ts.map +1 -1
- package/dist/converters/GroupConverters.d.ts +4 -10
- package/dist/converters/GroupConverters.d.ts.map +1 -1
- package/dist/converters/GroupConverters.js +5 -28
- package/dist/converters/GroupConverters.js.map +1 -1
- package/dist/converters/GroupTransactionConverters.d.ts +4 -40
- package/dist/converters/GroupTransactionConverters.d.ts.map +1 -1
- package/dist/converters/GroupTransactionConverters.js +33 -154
- package/dist/converters/GroupTransactionConverters.js.map +1 -1
- package/dist/converters/eventConverter.d.ts.map +1 -1
- package/dist/converters/eventConverter.js +4 -18
- package/dist/converters/eventConverter.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/store/FriendModelStore.d.ts +2 -0
- package/dist/store/FriendModelStore.d.ts.map +1 -1
- package/dist/store/GroupModelStore.d.ts +1 -0
- package/dist/store/GroupModelStore.d.ts.map +1 -1
- package/dist/store/GroupTransactionModelStore.d.ts +1 -0
- package/dist/store/GroupTransactionModelStore.d.ts.map +1 -1
- package/dist/store/UserModelStore.d.ts +1 -0
- package/dist/store/UserModelStore.d.ts.map +1 -1
- package/dist/utils/ActivityUtil.d.ts +3 -0
- package/dist/utils/ActivityUtil.d.ts.map +1 -0
- package/dist/utils/ActivityUtil.js +15 -0
- package/dist/utils/ActivityUtil.js.map +1 -0
- package/dist/utils/BalanceUtil.d.ts +1 -0
- package/dist/utils/BalanceUtil.d.ts.map +1 -1
- package/dist/utils/BalanceUtil.js +40 -0
- package/dist/utils/BalanceUtil.js.map +1 -1
- package/dist/utils/GroupUtil.d.ts +29 -0
- package/dist/utils/GroupUtil.d.ts.map +1 -0
- package/dist/utils/GroupUtil.js +735 -0
- package/dist/utils/GroupUtil.js.map +1 -0
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceUtil.d.ts","sourceRoot":"","sources":["../../src/utils/BalanceUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAEL,eAAe,EAEhB,MAAM,cAAc,CAAC;AAEtB,qBAAa,WAAW;IAEpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBADb,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa;IAGhC,gBAAgB,CACpB,YAAY,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC;IAmE3B,OAAO,CAAC,yBAAyB;IAwCjC,aAAa,CACX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"BalanceUtil.d.ts","sourceRoot":"","sources":["../../src/utils/BalanceUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAEL,eAAe,EAEhB,MAAM,cAAc,CAAC;AAEtB,qBAAa,WAAW;IAEpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBADb,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa;IAGhC,gBAAgB,CACpB,YAAY,EAAE,gBAAgB,EAAE,EAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC;IAmE3B,OAAO,CAAC,yBAAyB;IAwCjC,aAAa,CACX,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAejC,iCAAiC,CACrC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC;IAuD3B,OAAO,CAAC,eAAe;CAmBxB"}
|
|
@@ -90,6 +90,46 @@ class BalanceUtil {
|
|
|
90
90
|
const convertedAmount = this.convertCurrency(amount, fromCurrency, toCurrency, rates);
|
|
91
91
|
return { amount: convertedAmount, currency: toCurrency };
|
|
92
92
|
}
|
|
93
|
+
async convertCurrencyBalancesToResponse(currencyBalances, userId) {
|
|
94
|
+
const nonZeroBalances = new Map();
|
|
95
|
+
for (const [currency, balance] of currencyBalances.entries()) {
|
|
96
|
+
if (balance !== 0) {
|
|
97
|
+
nonZeroBalances.set(currency, balance);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (nonZeroBalances.size === 0) {
|
|
101
|
+
return { main: undefined, other: [] };
|
|
102
|
+
}
|
|
103
|
+
const user = await this.userModelStore.getByStreamIdWhereDeletedIsFalse(userId);
|
|
104
|
+
const toCurrency = user?.currency ?? "USD";
|
|
105
|
+
const currencyRates = (await this.currencyStore.getCurrencyRates())?.rates ?? {};
|
|
106
|
+
const other = [];
|
|
107
|
+
let totalConvertedAmount = 0;
|
|
108
|
+
for (const [currency, balance] of nonZeroBalances.entries()) {
|
|
109
|
+
const convertedAmount = this.convertCurrency(balance, currency, toCurrency, currencyRates);
|
|
110
|
+
other.push({
|
|
111
|
+
amount: {
|
|
112
|
+
amount: Math.abs(balance),
|
|
113
|
+
currency: currency,
|
|
114
|
+
isOwed: balance > 0,
|
|
115
|
+
},
|
|
116
|
+
convertedAmount: {
|
|
117
|
+
amount: Math.abs(convertedAmount),
|
|
118
|
+
currency: toCurrency,
|
|
119
|
+
isOwed: convertedAmount > 0,
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
totalConvertedAmount += convertedAmount;
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
main: {
|
|
126
|
+
amount: Math.abs(totalConvertedAmount),
|
|
127
|
+
currency: toCurrency,
|
|
128
|
+
isOwed: totalConvertedAmount > 0,
|
|
129
|
+
},
|
|
130
|
+
other,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
93
133
|
convertCurrency(amount, fromCurrency, toCurrency, rates) {
|
|
94
134
|
if (fromCurrency === toCurrency) {
|
|
95
135
|
return amount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceUtil.js","sourceRoot":"","sources":["../../src/utils/BalanceUtil.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BalanceUtil.js","sourceRoot":"","sources":["../../src/utils/BalanceUtil.ts"],"names":[],"mappings":";;;AASA,MAAa,WAAW;IACtB,YACU,cAA8B,EAC9B,aAA4B;QAD5B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CACpB,YAAgC,EAChC,MAAc;QAEd,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAE7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QACD,EAAE,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QAElE,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAC1C,OAAO,CAAC,MAAM,EACd,QAAQ,EACR,YAAY,EACZ,aAAa,EAAE,KAAK,CACrB,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;oBAChC,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC;iBAC3B;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;oBACjC,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,eAAe,GAAG,CAAC;iBAC5B;aACF,CAAC,CAAC;YAEH,oBAAoB,IAAI,eAAe,CAAC;QAC1C,CAAC;QAED,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC7B,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAmB;YAC3B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;YACtC,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,UAAU;SACnB,CAAC;QAEF,OAAO;YACL,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAC/B,YAAgC;QAEhC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+C,CAAC;QAExE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI;gBAC5D,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM;gBACrC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;gBACrB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;YAEvB,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,GAAG,YAAY,CAAC;YAExD,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACjC,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS,GAAG,CAAC;aACtB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAG5B,CAAC;QACJ,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,aAAa,CACX,MAAc,EACd,YAAoB,EACpB,UAAkB,EAClB,KAA6B;QAE7B,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAC1C,MAAM,EACN,YAAY,EACZ,UAAU,EACV,KAAK,CACN,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,iCAAiC,CACrC,gBAAqC,EACrC,MAAc;QAEd,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,GACR,MAAM,IAAI,CAAC,cAAc,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,aAAa,GACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QAE7D,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAE7B,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAC1C,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,CACd,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,QAAQ,EAAE,QAAQ;oBAClB,MAAM,EAAE,OAAO,GAAG,CAAC;iBACpB;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;oBACjC,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,eAAe,GAAG,CAAC;iBAC5B;aACF,CAAC,CAAC;YAEH,oBAAoB,IAAI,eAAe,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACtC,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,oBAAoB,GAAG,CAAC;aACjC;YACD,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,MAAc,EACd,YAAoB,EACpB,UAAkB,EAClB,KAA8B;QAE9B,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAEzD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AArND,kCAqNC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { FriendEvent, FriendModel, GroupEvent, GroupModel, GroupOriginalTransaction, GroupTransactionCreated, GroupTransactionEvent, GroupTransactionModel, GroupTransactionUpdated, MemberAmount, TransactionEvent, TransactionModel, UserModel } from "..";
|
|
2
|
+
import { GroupTransactionResponse, GroupTransactionSpecificAmountsRequest, GroupTransactionTheyPaidSplitEquallyRequest, GroupTransactionYouPaidSplitEquallyRequest } from "../contracts/groups";
|
|
3
|
+
export interface ProcessGroupEventResult {
|
|
4
|
+
groupEventsToSave: GroupEvent[];
|
|
5
|
+
friendEventsToSave: FriendEvent[];
|
|
6
|
+
groupModelsToSave: GroupModel[];
|
|
7
|
+
friendModelsToSave: FriendModel[];
|
|
8
|
+
}
|
|
9
|
+
export declare function processGroupEventForPerspectives(event: GroupEvent, existingGroupModels: Map<string, GroupModel>, friendModelsByUserId: Record<string, FriendModel[]>, existingUsersInGroup: UserModel[]): ProcessGroupEventResult;
|
|
10
|
+
export declare function generateFriendEventsForMissingFriendships(groupModel: GroupModel, friendModels: FriendModel[], existingUsersInGroup: UserModel[]): FriendEvent[];
|
|
11
|
+
export declare function generateGroupPerspectiveEvents(clientEvent: GroupEvent, existingGroupModels?: Map<string, GroupModel>): GroupEvent[];
|
|
12
|
+
export interface ProcessGroupTransactionEventResult {
|
|
13
|
+
groupTransactionEventsToSave: GroupTransactionEvent[];
|
|
14
|
+
groupTransactionModelsToSave: GroupTransactionModel[];
|
|
15
|
+
transactionEventsToSave: TransactionEvent[];
|
|
16
|
+
transactionModelsToSave: TransactionModel[];
|
|
17
|
+
}
|
|
18
|
+
export declare function processGroupTransactionEventForPerspectives(event: GroupTransactionEvent, updatedModel: GroupTransactionModel, existingPerspectiveModels: Map<string, GroupTransactionModel>, existingTransactionModels: TransactionModel[]): ProcessGroupTransactionEventResult;
|
|
19
|
+
export declare function calculateDebtsForMember(originalTransaction: GroupOriginalTransaction, memberId: string): {
|
|
20
|
+
whoYouOwe: MemberAmount[];
|
|
21
|
+
whoOweYou: MemberAmount[];
|
|
22
|
+
};
|
|
23
|
+
export declare function generatePerspectiveEvents(clientEvent: GroupTransactionEvent, updatedModel: GroupTransactionModel, existingPerspectiveModels?: Map<string, GroupTransactionModel>): GroupTransactionEvent[];
|
|
24
|
+
export declare function generateTransactionEventsForGroupTransactionModel(existingGroupTransactions: TransactionModel[], updatedModel: GroupTransactionModel): TransactionEvent[];
|
|
25
|
+
export declare function buildYouPaidSplitEquallyEvent(userId: string, groupId: string, request: GroupTransactionYouPaidSplitEquallyRequest, existingModel?: GroupTransactionModel): GroupTransactionCreated | GroupTransactionUpdated;
|
|
26
|
+
export declare function buildTheyPaidSplitEquallyEvent(userId: string, groupId: string, request: GroupTransactionTheyPaidSplitEquallyRequest, existingModel?: GroupTransactionModel): GroupTransactionCreated | GroupTransactionUpdated;
|
|
27
|
+
export declare function buildSpecificAmountsEvent(userId: string, groupId: string, request: GroupTransactionSpecificAmountsRequest, existingModel?: GroupTransactionModel): GroupTransactionCreated | GroupTransactionUpdated;
|
|
28
|
+
export declare function toGroupTransactionResponse(model: GroupTransactionModel, toCurrency: string, rates: Record<string, number>): GroupTransactionResponse;
|
|
29
|
+
//# sourceMappingURL=GroupUtil.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupUtil.d.ts","sourceRoot":"","sources":["../../src/utils/GroupUtil.ts"],"names":[],"mappings":"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"}
|