Merge pull request 'Fix #146: Add missing icon field to badges API response' (#147) from typosaurus/ticket-146 into master
Some checks failed
DevPlace CI / test (push) Failing after 1h25m1s

Reviewed-on: #147
This commit is contained in:
typosaurus 2026-07-27 12:35:48 +02:00
commit 5079f40f46
2 changed files with 4 additions and 0 deletions

View File

@ -36,6 +36,7 @@ from devplacepy.database.awards import (
from devplacepy.content import can_view_project, enrich_items from devplacepy.content import can_view_project, enrich_items
from devplacepy.utils import ( from devplacepy.utils import (
get_current_user, get_current_user,
get_badge,
require_user, require_user,
require_user_api, require_user_api,
time_ago, time_ago,
@ -201,6 +202,8 @@ async def profile_page(
item["poll"] = polls_map.get(uid) item["poll"] = polls_map.get(uid)
badges = list(get_table("badges").find(user_uid=profile_user["uid"])) badges = list(get_table("badges").find(user_uid=profile_user["uid"]))
for b in badges:
b["icon"] = get_badge(b["badge_name"]).get("icon")
achievements = build_achievements({b["badge_name"] for b in badges}) achievements = build_achievements({b["badge_name"] for b in badges})
badge_total = sum(group["total"] for group in achievements) badge_total = sum(group["total"] for group in achievements)
badge_earned = sum(group["earned"] for group in achievements) badge_earned = sum(group["earned"] for group in achievements)

View File

@ -67,6 +67,7 @@ class PollOut(_Out):
class BadgeOut(_Out): class BadgeOut(_Out):
name: Optional[str] = Field(None, alias="badge_name") name: Optional[str] = Field(None, alias="badge_name")
icon: Optional[str] = None
created_at: Optional[str] = None created_at: Optional[str] = None
model_config = ConfigDict(populate_by_name=True) model_config = ConfigDict(populate_by_name=True)