sales.py 891 B

12345678910111213141516171819202122232425
  1. from logging import getLogger
  2. from venv import logger
  3. from fastapi.responses import JSONResponse
  4. from config.messages import ErrorResponse
  5. from services.data_service import SalesDataService
  6. from fastapi import APIRouter, Depends
  7. from models.sales import Sale
  8. sale_data_service = SalesDataService()
  9. logger = getLogger(__name__)
  10. sales_router = APIRouter()
  11. @sales_router.get("/user/{user_id}", response_model=list[Sale])
  12. def get_user_sales(user_id: int):
  13. sales = sale_data_service.get_by_user(user_id)
  14. if not sales:
  15. return JSONResponse(
  16. status_code=404,
  17. content={"message": ErrorResponse.SALE_NOT_FOUND}
  18. )
  19. logger.info(f"Sales found for user {user_id}: {len(sales)} sales")
  20. return JSONResponse(
  21. status_code=200,
  22. content={"sales": [sale.model_dump() for sale in sales], "message": "Ventas obtenidas correctamente."}
  23. )