fix: Fix Decimal serialization in rating_service for PostgreSQL compatibility
This commit is contained in:
@@ -142,14 +142,14 @@ def get_tool_rating_summary(tool: str) -> dict:
|
||||
|
||||
return {
|
||||
"tool": tool,
|
||||
"count": row["count"],
|
||||
"average": round(row["average"], 1),
|
||||
"count": int(row["count"]),
|
||||
"average": round(float(row["average"]), 1),
|
||||
"distribution": {
|
||||
"5": row["star5"],
|
||||
"4": row["star4"],
|
||||
"3": row["star3"],
|
||||
"2": row["star2"],
|
||||
"1": row["star1"],
|
||||
"5": int(row["star5"]),
|
||||
"4": int(row["star4"]),
|
||||
"3": int(row["star3"]),
|
||||
"2": int(row["star2"]),
|
||||
"1": int(row["star1"]),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -170,8 +170,8 @@ def get_all_ratings_summary() -> list[dict]:
|
||||
return [
|
||||
{
|
||||
"tool": row["tool"],
|
||||
"count": row["count"],
|
||||
"average": round(row["average"], 1),
|
||||
"count": int(row["count"]),
|
||||
"average": round(float(row["average"]), 1),
|
||||
}
|
||||
for row in rows
|
||||
]
|
||||
@@ -189,7 +189,9 @@ def get_global_rating_summary() -> dict:
|
||||
cursor = execute_query(conn, sql)
|
||||
row = row_to_dict(cursor.fetchone())
|
||||
|
||||
avg = float(row["average"]) if row and row["average"] is not None else 0.0
|
||||
|
||||
return {
|
||||
"rating_count": int(row["count"]) if row else 0,
|
||||
"average_rating": round(row["average"], 1) if row else 0.0,
|
||||
"average_rating": round(avg, 1),
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ const TRANSLATIONS: Record<Lang, Record<string, string>> = {
|
||||
emailLabel: 'Email',
|
||||
passwordLabel: 'Password',
|
||||
planLabel: 'Plan',
|
||||
roleLabel: 'Role',
|
||||
roleLabel2: 'Role',
|
||||
createBtn: 'Create',
|
||||
cancelBtn: 'Cancel',
|
||||
userCreated: 'User created successfully.',
|
||||
@@ -388,7 +388,7 @@ const TRANSLATIONS: Record<Lang, Record<string, string>> = {
|
||||
emailLabel: 'البريد الإلكتروني',
|
||||
passwordLabel: 'كلمة المرور',
|
||||
planLabel: 'الخطة',
|
||||
roleLabel: 'الدور',
|
||||
roleLabel2: 'الدور',
|
||||
createBtn: 'إنشاء',
|
||||
cancelBtn: 'إلغاء',
|
||||
userCreated: 'تم إنشاء المستخدم بنجاح.',
|
||||
@@ -604,6 +604,8 @@ export default function InternalAdminPage() {
|
||||
}
|
||||
}
|
||||
|
||||
// Fix duplicate roleLabel
|
||||
|
||||
async function handlePlanChange(userId: number, plan: 'free' | 'pro') {
|
||||
if (!isAdmin) return;
|
||||
setUpdatingUserId(userId);
|
||||
|
||||
Reference in New Issue
Block a user