f7e1574176
Better-Auth uses nanoid strings for user IDs, not UUIDs. Changed all user_id parameter/return types in the API layer from UUID to str, removed the obsolete UUID import where unused, and updated the _validate_session_token return type accordingly. Co-authored-by: CartSnitch Engineer Bot <cartnoreply@cartsnitch.com> Co-authored-by: Paperclip <noreply@paperclip.ing>
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
"""Alert routes: list alerts, manage settings."""
|
|
|
|
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 AlertResponse, AlertSettingsRequest, AlertSettingsResponse
|
|
from cartsnitch_api.services.alerts import AlertService
|
|
|
|
router = APIRouter(prefix="/alerts", tags=["alerts"])
|
|
|
|
|
|
@router.get("", response_model=list[AlertResponse])
|
|
async def list_alerts(
|
|
user_id: str = Depends(get_current_user),
|
|
db: AsyncSession = Depends(get_db),
|
|
):
|
|
svc = AlertService(db)
|
|
return await svc.list_alerts(user_id)
|
|
|
|
|
|
@router.get("/settings", response_model=AlertSettingsResponse)
|
|
async def get_alert_settings(
|
|
user_id: str = Depends(get_current_user),
|
|
db: AsyncSession = Depends(get_db),
|
|
):
|
|
svc = AlertService(db)
|
|
return await svc.get_settings(user_id)
|
|
|
|
|
|
@router.put("/settings")
|
|
async def update_alert_settings(
|
|
body: AlertSettingsRequest,
|
|
user_id: str = Depends(get_current_user),
|
|
db: AsyncSession = Depends(get_db),
|
|
):
|
|
raise HTTPException(
|
|
status_code=status.HTTP_501_NOT_IMPLEMENTED,
|
|
detail="Alert settings persistence not yet implemented. "
|
|
"Use GET /alerts/settings for current defaults.",
|
|
)
|