Showing AI reviews for tenant-service
Project AI Score ?
67%
Quality Avg ?
69%
Security Avg ?
64%
Reviews ?
143

Review Result ?

solutionbowl/tenant-service · 1e3129c6
The commit adds support for bet start time in race data models and controllers, improving feature completeness and business value. However, the changes lack validation or error handling, and it is not clear if the date input is sanitized or correctly formatted.
Quality ?
70%
Security ?
80%
Business Value ?
75%
Maintainability ?
75%
Issues & Suggested Fixes ?
1AI detects the issue
2Shows file, line, or evidence
3Suggests the fix to apply
Missing Validation
Where src/controllers/horseracing/race.controller.js:100
Issue / Evidence No validation of bet_start_time input
Suggested Fix add validation to ensure bet_start_time is a valid date and within acceptable bounds
Conditional Assignment Could Allow Invalid...
Where src/controllers/horseracing/race.controller.js:147
Issue / Evidence Conditional assignment could allow invalid types
Suggested Fix ensure bet_start_time is properly parsed as a Date object before assignment
Default Null May Hide Missing Input Errors
Where src/models/HorseRace.js:20
Issue / Evidence default null may hide missing input errors
Suggested Fix consider adding schema validation or required fields if appropriate
Vague Message
Where commit message
Issue / Evidence vague message
Suggested Fix improve commit message to include why bet_start_time was added and how it impacts the application
Code Change Preview · src/controllers/horseracing/race.controller.js ?
Removed / Before Commit
- diff --git a/src/controllers/horseracing/race.controller.js b/src/controllers/horseracing/race.controller.js
- index 51a553f..4ecf00b 100644
- race_no: 1,
- race_name: 1,
- raceType: 1,
-           betStartBeforeInMin: 1,
- bet_end_time: 1,
- betfairEventId: 1,
- distance: 1,
- 
- exports.createRace = async (req, res) => {
- try {
-     const { event_id, race_no, race_name, distance, start_time, liveUrl, status, raceType, betStartBeforeInMin, bet_end_time, betfairEventId, scrolling_text } = req.body;
- 
- if (!mongoose.Types.ObjectId.isValid(event_id))
- return res.status(400).json({ message: "Invalid event ID" });
- start_time,
- liveUrl,
Added / After Commit
+ diff --git a/src/controllers/horseracing/race.controller.js b/src/controllers/horseracing/race.controller.js
+ index 51a553f..4ecf00b 100644
+ race_no: 1,
+ race_name: 1,
+ raceType: 1,
+           bet_start_time: 1,
+ bet_end_time: 1,
+ betfairEventId: 1,
+ distance: 1,
+ 
+ exports.createRace = async (req, res) => {
+ try {
+     const { event_id, race_no, race_name, distance, start_time, liveUrl, status, raceType, bet_start_time, bet_end_time, betfairEventId, scrolling_text } = req.body;
+ 
+ if (!mongoose.Types.ObjectId.isValid(event_id))
+ return res.status(400).json({ message: "Invalid event ID" });
+ start_time,
+ liveUrl,
Removed / Before Commit
- diff --git a/src/models/HorseRace.js b/src/models/HorseRace.js
- index 17bd585..5c7d643 100644
- placeDeductionPercent: { type: Number, default: 0 },
- fancyDeductionPercent: { type: Number, default: 0 },
- raceType: { type: String, default: "IndianManual" },
-   betStartBeforeInMin: { type: Number, default: 5 },
- bet_end_time: { type: Date, default: null },
- betfairEventId: { type: String, default: "" },
- scrolling_text: { type: String, default: "" }
Added / After Commit
+ diff --git a/src/models/HorseRace.js b/src/models/HorseRace.js
+ index 17bd585..5c7d643 100644
+ placeDeductionPercent: { type: Number, default: 0 },
+ fancyDeductionPercent: { type: Number, default: 0 },
+ raceType: { type: String, default: "IndianManual" },
+   bet_start_time: { type: Date, default: null },
+ bet_end_time: { type: Date, default: null },
+ betfairEventId: { type: String, default: "" },
+ scrolling_text: { type: String, default: "" }