Netzwerkanalyse-Zugang: network_access Toggle im User-Management

- network_access Spalte in UserResponse Model
- PUT /api/users/{id}/network-access Toggle-Endpoint
- Dashboard: Netzwerk-Spalte mit An/Aus-Button in User-Tabelle
Dieser Commit ist enthalten in:
Claude Dev
2026-03-25 00:40:39 +01:00
Ursprung 98130d761c
Commit 1ebb68f147
4 geänderte Dateien mit 32 neuen und 0 gelöschten Zeilen

Datei anzeigen

@@ -180,3 +180,20 @@ async def delete_user(
await db.execute("DELETE FROM users WHERE id = ?", (user_id,))
await db.commit()
@router.put("/{user_id}/network-access")
async def toggle_network_access(
user_id: int,
admin: dict = Depends(get_current_admin),
db: aiosqlite.Connection = Depends(db_dependency),
):
cursor = await db.execute("SELECT id, network_access FROM users WHERE id = ?", (user_id,))
row = await cursor.fetchone()
if not row:
raise HTTPException(status_code=404, detail="Nutzer nicht gefunden")
new_val = 0 if row[1] else 1
await db.execute("UPDATE users SET network_access = ? WHERE id = ?", (new_val, user_id))
await db.commit()
return {"ok": True, "network_access": bool(new_val)}