"""Routes d'administration reservees au sysadmin.""" from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.ext.asyncio import AsyncSession from app.core.database import get_db from app.core.security import get_current_membre, is_sysadmin from app.services.admin_database import initialiser_demo, remettre_a_zero router = APIRouter(prefix="/admin", tags=["Administration"]) async def require_sysadmin(membre=Depends(get_current_membre)): if not is_sysadmin(membre): raise HTTPException(status_code=403, detail="Réservé au sysadmin") return membre @router.post("/reset") async def reset_database( _sysadmin=Depends(require_sysadmin), db: AsyncSession = Depends(get_db), ): return await remettre_a_zero(db) @router.post("/demo") async def demo_database( _sysadmin=Depends(require_sysadmin), db: AsyncSession = Depends(get_db), ): return await initialiser_demo(db)