from logging import getLogger from venv import logger from fastapi.responses import JSONResponse from config.messages import ErrorResponse from services.data_service import SalesDataService from fastapi import APIRouter, Depends from models.sales import Sale sale_data_service = SalesDataService() logger = getLogger(__name__) sales_router = APIRouter() @sales_router.get("/user/{user_id}", response_model=list[Sale]) def get_user_sales(user_id: int): sales = sale_data_service.get_by_user(user_id) if not sales: return JSONResponse( status_code=404, content={"message": ErrorResponse.SALE_NOT_FOUND} ) logger.info(f"Sales found for user {user_id}: {len(sales)} sales") return JSONResponse( status_code=200, content={"sales": [sale.model_dump() for sale in sales], "message": "Ventas obtenidas correctamente."} )