"""Auth endpoints: login, logout.""" from __future__ import annotations from auth import login, logout, require_auth from fastapi import APIRouter, Depends, Response from pydantic import BaseModel, EmailStr, Field router = APIRouter(prefix="/api/auth", tags=["auth"]) class LoginRequest(BaseModel): email: EmailStr password: str = Field(min_length=8, max_length=256) @router.post("/login") def auth_login(body: LoginRequest): return login(body.email, body.password) @router.post("/logout") def auth_logout(response: Response, session: dict = Depends(require_auth)): token = session.get("token") if token: logout(token) return {"ok": True}