"""Routes — authentification (login/logout pages).""" from fastapi import APIRouter, Form, Request from fastapi.responses import RedirectResponse, HTMLResponse from app.auth import login_user, logout_user from app.templates import templates router = APIRouter() @router.get("/login", response_class=HTMLResponse) async def login_page(request: Request, error: str = ""): return templates.TemplateResponse("login.html", {"request": request, "error": error}) @router.post("/login") async def login(request: Request, username: str = Form(...), password: str = Form(...)): if login_user(request, username, password): return RedirectResponse(url="/", status_code=303) return templates.TemplateResponse("login.html", {"request": request, "error": "اسم المستخدم أو كلمة المرور غير صحيحة"}, status_code=401) @router.get("/logout") async def logout(request: Request): logout_user(request) return RedirectResponse(url="/login")