Fix: Grant is_founder=0 löscht founder_number; /me gibt is_founder zurück; DB direkt gefixt
This commit is contained in:
parent
3373c19cdc
commit
bb73ca801c
3 changed files with 6 additions and 3 deletions
|
|
@ -92,14 +92,17 @@ def grant_user_status(user_id: int, data: GrantRequest, user=Depends(require_adm
|
|||
).fetchone()
|
||||
if not target:
|
||||
raise HTTPException(404, "User nicht gefunden.")
|
||||
# Beim manuellen Vergeben von is_founder: founder_number zuweisen wenn noch keine
|
||||
if updates.get("is_founder") == 1 and not target["founder_number"]:
|
||||
# Neue Gründer-Nummer zuweisen
|
||||
total = conn.execute(
|
||||
"SELECT COUNT(*) FROM users WHERE is_founder=1"
|
||||
).fetchone()[0]
|
||||
if total >= FOUNDER_MAX:
|
||||
raise HTTPException(400, f"Alle {FOUNDER_MAX} Gründer-Plätze sind vergeben.")
|
||||
updates["founder_number"] = total + 1
|
||||
elif updates.get("is_founder") == 0:
|
||||
# Gründer-Status entfernen → founder_number ebenfalls leeren
|
||||
updates["founder_number"] = None
|
||||
set_clause = ", ".join(f"{k}=?" for k in updates)
|
||||
conn.execute(
|
||||
f"UPDATE users SET {set_clause} WHERE id=?",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue