| 12345678910111213141516171819202122232425262728293031323334 |
- from logging import getLogger
- from venv import logger
- from fastapi.responses import JSONResponse
- from config.messages import ErrorResponse, UserResponse
- from services.data_service import DataServiceFactory
- from fastapi import APIRouter, Depends
- from models.sales import Sale
- sale_data_service = DataServiceFactory.get_sales_service()
- user_data_service = DataServiceFactory.get_user_service()
- logger = getLogger(__name__)
- sales_router = APIRouter()
- @sales_router.get("/user/{user_id}", response_model=list[Sale])
- def get_user_sales(user_id: int):
- user = user_data_service.get_by_id(user_id)
- if not user:
- return JSONResponse(
- status_code=404,
- content={"message": UserResponse.USER_NOT_FOUND}
- )
- sales = sale_data_service.get_by_user(user_id)
- if not sales:
- return JSONResponse(status_code=200, content={
- "sales": [],
- "message": "No se encontraron ventas para el usuario."
- })
- 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."}
- )
|