Showing AI reviews for super-admin
Project AI Score ?
72%
Quality Avg ?
77%
Security Avg ?
64%
Reviews ?
91

Review Result ?

solutionbowl/super-admin · 06872fb0
This commit introduces user ID parameters to several API calls and query hooks, improving data filtering by user. The changes add optional userId and parentUserId parameters to fetching functions and pass these around key queries, which enhances the ability to query and display user-specific data. However, the handling of user IDs as strings without validation or sanitization could pose minor security risks. The commit message is brief and could be more descriptive for maintainability.
Quality ?
80%
Security ?
50%
Business Value ?
85%
Maintainability ?
80%
Issues & Suggested Fixes ?
1AI detects the issue
2Shows file, line, or evidence
3Suggests the fix to apply
Too Brief And Non Descriptive
Where commit message
Issue / Evidence too brief and non-descriptive
Suggested Fix expand the commit message to explain the purpose and impact of adding user-id parameters
Missing Validation
Where src/routes/net-exposure-bet.tsx:14
Issue / Evidence casting userId to string with no validation
Suggested Fix validate userId format before using to reduce risk of injection or errors
Missing Validation
Where src/routes/net-exposure-detail.tsx:19
Issue / Evidence casting parentUserId to string with no validation
Suggested Fix add validation or sanitization to avoid potential injection problems
Missing Validation
Where src/routes/user-details.$userId.tsx:1325
Issue / Evidence passing userId without validation
Suggested Fix add validation checks for userId before usage
Potentially Inconsistent Userid Handling
Where src/routes/user-details.$userId.tsx:1343
Issue / Evidence potentially inconsistent userId handling
Suggested Fix ensure consistent validation and error handling for userId
Code Change Preview · src/routes/net-exposure-bet.tsx ?
Removed / Before Commit
- diff --git a/src/routes/net-exposure-bet.tsx b/src/routes/net-exposure-bet.tsx
- index 60b3882..5ed613b 100644
- validateSearch: (s: Record<string, unknown>) => ({
- raceId: String(s.raceId ?? ""),
- marketId: String(s.marketId ?? ""),
- }),
- head: () => ({ meta: [{ title: "Net Exposure Bets - B2B-B2C Panel" }] }),
- });
- 
- // ─── API ──────────────────────────────────────────────────────────────────────
- 
- async function fetchBets(raceId: string, marketId: string, page = 1): Promise<BetsResponse> {
- const res = (await tenantApiClient.post<unknown>(
- "/horse-racing/reports/net-exposure/bets",
-     { raceId, marketId, page, limit: 100 },
- )) as Record<string, unknown>;
- return (res?.data ?? res) as BetsResponse;
- }
Added / After Commit
+ diff --git a/src/routes/net-exposure-bet.tsx b/src/routes/net-exposure-bet.tsx
+ index 60b3882..5ed613b 100644
+ validateSearch: (s: Record<string, unknown>) => ({
+ raceId: String(s.raceId ?? ""),
+ marketId: String(s.marketId ?? ""),
+     userId: String(s.userId ?? ""),
+ }),
+ head: () => ({ meta: [{ title: "Net Exposure Bets - B2B-B2C Panel" }] }),
+ });
+ 
+ // ─── API ──────────────────────────────────────────────────────────────────────
+ 
+ async function fetchBets(raceId: string, marketId: string, page = 1, userId?: string): Promise<BetsResponse> {
+ const res = (await tenantApiClient.post<unknown>(
+ "/horse-racing/reports/net-exposure/bets",
+     { raceId, marketId, page, limit: 100, ...(userId ? { userId } : {}) },
+ )) as Record<string, unknown>;
+ return (res?.data ?? res) as BetsResponse;
Removed / Before Commit
- diff --git a/src/routes/net-exposure-detail.tsx b/src/routes/net-exposure-detail.tsx
- index 12b3611..b46d790 100644
- validateSearch: (s: Record<string, unknown>) => ({
- raceId: String(s.raceId ?? ""),
- marketId: String(s.marketId ?? ""),
- }),
- head: () => ({ meta: [{ title: "Net Exposure Detail - B2B-B2C Panel" }] }),
- });
- 
- // ─── API ──────────────────────────────────────────────────────────────────────
- 
- async function fetchDetail(raceId: string, marketId: string): Promise<DetailData> {
- const res = (await tenantApiClient.post<unknown>(
- "/horse-racing/reports/net-exposure/detail",
-     { raceId, marketId },
- )) as Record<string, unknown>;
- return (res?.data ?? res) as DetailData;
- }
Added / After Commit
+ diff --git a/src/routes/net-exposure-detail.tsx b/src/routes/net-exposure-detail.tsx
+ index 12b3611..b46d790 100644
+ validateSearch: (s: Record<string, unknown>) => ({
+ raceId: String(s.raceId ?? ""),
+ marketId: String(s.marketId ?? ""),
+     parentUserId: String(s.parentUserId ?? ""),
+ }),
+ head: () => ({ meta: [{ title: "Net Exposure Detail - B2B-B2C Panel" }] }),
+ });
+ 
+ // ─── API ──────────────────────────────────────────────────────────────────────
+ 
+ async function fetchDetail(raceId: string, marketId: string, parentUserId?: string): Promise<DetailData> {
+ const res = (await tenantApiClient.post<unknown>(
+ "/horse-racing/reports/net-exposure/detail",
+     { raceId, marketId, ...(parentUserId ? { parentUserId } : {}) },
+ )) as Record<string, unknown>;
+ return (res?.data ?? res) as DetailData;
Removed / Before Commit
- diff --git a/src/routes/net-exposure.tsx b/src/routes/net-exposure.tsx
- index bc7361c..c6b8777 100644
- navigate({
- to: "/net-exposure-detail",
- search: {
-                           raceId: race.raceId,
- marketId: market.marketId,
- },
- })
Added / After Commit
+ diff --git a/src/routes/net-exposure.tsx b/src/routes/net-exposure.tsx
+ index bc7361c..c6b8777 100644
+ navigate({
+ to: "/net-exposure-detail",
+ search: {
+                             raceId: race.raceId,
+ marketId: market.marketId,
+ },
+ })
Removed / Before Commit
- diff --git a/src/routes/user-details.$userId.tsx b/src/routes/user-details.$userId.tsx
- index f1697da..309bc4a 100644
- navigate({
- to: "/net-exposure-detail",
- search: {
-                           raceId: race.raceId,
- marketId: market.marketId,
- },
- })
- }
- search: {
- raceId: race.raceId,
- marketId: market.marketId,
- },
- })
- }
- search: {
- raceId: race.raceId,
Added / After Commit
+ diff --git a/src/routes/user-details.$userId.tsx b/src/routes/user-details.$userId.tsx
+ index f1697da..309bc4a 100644
+ navigate({
+ to: "/net-exposure-detail",
+ search: {
+                            raceId: race.raceId,
+ marketId: market.marketId,
+                            parentUserId: userId,
+ },
+ })
+ }
+ search: {
+ raceId: race.raceId,
+ marketId: market.marketId,
+               userId,
+ },
+ })
+ }