oraculo_api / app /api /v1 /endpoints /auth.py
Diiegoal's picture
Actualizo la app
d623240
Raw
History Blame Contribute Delete
982 Bytes
from fastapi import APIRouter, Depends, status
from app.api.dependencies import get_auth_service, get_current_user
from app.db.models import User
from app.schemas.auth import LoginRequest, RegisterRequest, TokenResponse, UserResponse
from app.services.auth import AuthService
router = APIRouter(prefix="/auth", tags=["Authentication"])
@router.post("/register", response_model=UserResponse, status_code=status.HTTP_201_CREATED)
def register(
payload: RegisterRequest,
auth_service: AuthService = Depends(get_auth_service),
) -> UserResponse:
return auth_service.register(payload)
@router.post("/login", response_model=TokenResponse)
def login(
payload: LoginRequest,
auth_service: AuthService = Depends(get_auth_service),
) -> TokenResponse:
return auth_service.login(payload)
@router.get("/me", response_model=UserResponse)
def me(current_user: User = Depends(get_current_user)) -> UserResponse:
return UserResponse.model_validate(current_user)