sajith-0701's picture
v1.1
1cff1e5
raw
history blame contribute delete
925 Bytes
from fastapi import APIRouter, HTTPException
from schemas.auth import SignupRequest, LoginRequest, AuthResponse
from services.auth_service import signup_user, login_user
router = APIRouter()
@router.post("/signup", response_model=AuthResponse)
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))
@router.post("/login", response_model=AuthResponse)
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))