Showing AI reviews for bet-service
Project AI Score ?
62%
Quality Avg ?
63%
Security Avg ?
59%
Reviews ?
92

Review Result ?

solutionbowl/bet-service · 6b4c9fb6
This commit updates bet exposure calculations, though the actual logic has been simplified and the previously commented detailed logic remains commented out. The commit message is very brief and non-descriptive. The code changes replace some detailed exposure calculation comments with simpler, direct expressions, which may reduce clarity and maintainability. The commented-out legacy code should be cleaned up or integrated properly.
Quality ?
45%
Security ?
80%
Business Value ?
50%
Maintainability ?
40%
Issues & Suggested Fixes ?
1AI detects the issue
2Shows file, line, or evidence
3Suggests the fix to apply
Commit Message Is Too Brief And Non Descri...
Where commit message
Issue / Evidence commit message is too brief and non-descriptive
Suggested Fix write a detailed message explaining the motivation and impact of exposure change update
Long Function
Where src/controllers/bet.controller.js:307
Issue / Evidence unclear complex expression with unclear calculation intent
Suggested Fix add comments explaining logic for exposureChange calculation
Commented Out Code Clutters The File And C...
Where src/controllers/bet.controller.js:311-336
Issue / Evidence commented out code clutters the file and confuses current logic
Suggested Fix remove unnecessary commented code or refactor it into well-documented helper functions
Simplified Exposurechange Assignment Might...
Where src/controllers/bet.controller.js:324
Issue / Evidence simplified exposureChange assignment might cause semantic bugs
Suggested Fix verify and unit test this logic thoroughly to reduce bug risk
Code Change Preview · src/controllers/bet.controller.js ?
Removed / Before Commit
- diff --git a/src/controllers/bet.controller.js b/src/controllers/bet.controller.js
- index 7ab6f49..f179da6 100644
- 
- if (isSelectedRunner) {
- // Selected runner exposure (admin's perspective)
-             if (odds_type === "back") {
-               // BACK: If this runner wins, admin pays profit
-               // NOTE: odds are NET odds (profit multiplier), not gross
-               // Admin's loss = odds × stake (profit to pay)
-               const profit = Number(currentOdd) * amount;
-               exposureChange = profit;  // Admin's potential loss
-               profitChange = 0;  // No profit if this wins
-             } else {
-               // LAY: If this runner wins, admin wins the stake
-               exposureChange = 0;  // No loss if this wins (admin wins)
-               profitChange = amount;  // Admin keeps user's stake
-             }
- } else {
Added / After Commit
+ diff --git a/src/controllers/bet.controller.js b/src/controllers/bet.controller.js
+ index 7ab6f49..f179da6 100644
+ 
+ if (isSelectedRunner) {
+ // Selected runner exposure (admin's perspective)
+             exposureChange =
+               odds_type === "back"
+                 ? -returnAmount
+                 : amount * Number(currentOdd);
+             // if (odds_type === "back") {
+             //   // BACK: If this runner wins, admin pays profit
+             //   // NOTE: odds are NET odds (profit multiplier), not gross
+             //   // Admin's loss = odds × stake (profit to pay)
+             //   const profit = Number(currentOdd) * amount;
+             //   exposureChange = profit;  // Admin's potential loss
+             //   profitChange = 0;  // No profit if this wins
+             // } else {
+             //   // LAY: If this runner wins, admin wins the stake