Spaces:
Sleeping
Sleeping
| from fastapi import APIRouter, HTTPException | |
| from schemas.auth import SignupRequest, LoginRequest, AuthResponse | |
| from services.auth_service import signup_user, login_user | |
| router = APIRouter() | |
| async def signup(request: SignupRequest): | |
| """Register a new user.""" | |
| try: | |
| result = await signup_user( | |
| name=request.name, | |
| email=request.email, | |
| password=request.password, | |
| ) | |
| return result | |
| except ValueError as e: | |
| raise HTTPException(status_code=400, detail=str(e)) | |
| async def login(request: LoginRequest): | |
| """Authenticate and get JWT token.""" | |
| try: | |
| result = await login_user(email=request.email, password=request.password) | |
| return result | |
| except ValueError as e: | |
| raise HTTPException(status_code=401, detail=str(e)) | |