diff --git a/backend/app/api/v1/auth.py b/backend/app/api/v1/auth.py new file mode 100644 index 0000000..c003d0c --- /dev/null +++ b/backend/app/api/v1/auth.py @@ -0,0 +1,26 @@ +"""Auth endpoints: login, register, current user.""" +from fastapi import APIRouter, Depends +from sqlalchemy.orm import Session +from app.database import get_db +from app.schemas.auth import LoginRequest, RegisterRequest +from app.schemas.common import TokenResponse, UserBrief +from app.services.auth_service import AuthService +from app.api.deps import get_current_user +from app.models.user import User + +router = APIRouter(prefix="/auth", tags=["auth"]) + + +@router.post("/login", response_model=TokenResponse) +def login(req: LoginRequest, db: Session = Depends(get_db)): + return AuthService.login(db, req) + + +@router.post("/register", response_model=TokenResponse) +def register(req: RegisterRequest, db: Session = Depends(get_db)): + return AuthService.register(db, req) + + +@router.get("/me", response_model=UserBrief) +def me(user: User = Depends(get_current_user)): + return UserBrief.model_validate(user)