forked from cartsnitch/cartsnitch
1af98c40ab
The GET /me/email-in-address endpoint was unreachable because the Gateway HTTPRoute routes all /auth/* traffic to Better-Auth (port 3001), not the API service. This change: - Moves the endpoint from the /auth router to a new /api/v1/me/ router - Adds EmailInAddressResponse schema and get_email_in_address service method - Updates Settings.tsx to call /api/v1/me/email-in-address Fixes CAR-445. Co-Authored-By: Paperclip <noreply@paperclip.ing>
27 lines
947 B
Python
27 lines
947 B
Python
"""User routes: per-user account endpoints (email-in address, etc.)."""
|
|
|
|
from fastapi import APIRouter, Depends, HTTPException, status
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
from cartsnitch_api.auth.dependencies import get_current_user
|
|
from cartsnitch_api.database import get_db
|
|
from cartsnitch_api.schemas import EmailInAddressResponse
|
|
from cartsnitch_api.services.auth import AuthService
|
|
|
|
router = APIRouter(tags=["user"])
|
|
|
|
|
|
@router.get("/me/email-in-address", response_model=EmailInAddressResponse)
|
|
async def get_email_in_address(
|
|
user_id: str = Depends(get_current_user),
|
|
db: AsyncSession = Depends(get_db),
|
|
):
|
|
svc = AuthService(db)
|
|
try:
|
|
email_address = await svc.get_email_in_address(user_id)
|
|
return EmailInAddressResponse(email_address=email_address)
|
|
except LookupError:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_404_NOT_FOUND, detail="User not found"
|
|
) from None
|