products.py 717 B

12345678910111213141516171819
  1. from math import prod
  2. from fastapi.responses import JSONResponse
  3. from auth.security import get_current_user
  4. from services.data_service import ProductDataService
  5. from logging import getLogger
  6. from fastapi import APIRouter, Depends
  7. logger = getLogger(__name__)
  8. product_data_service = ProductDataService()
  9. product_router = APIRouter()
  10. @product_router.get("/")
  11. async def get_products(current_user = Depends(get_current_user)):
  12. """Get products"""
  13. logger.debug(f"Current user: {current_user.email if current_user else 'Anonymous'}")
  14. logger.info("Fetching all products")
  15. all_products = list(map(lambda p: p.model_dump(), product_data_service.get_all()))
  16. return JSONResponse({"products": all_products})