fix: use model_dump() for Redis cache serialization - prevents 500 on cached equipment API calls
This commit is contained in:
@@ -49,7 +49,7 @@ async def list_equipment(
|
|||||||
items = result.scalars().all()
|
items = result.scalars().all()
|
||||||
|
|
||||||
response = {
|
response = {
|
||||||
"items": [EquipmentItem.model_validate(item) for item in items],
|
"items": [EquipmentItem.model_validate(item).model_dump() for item in items],
|
||||||
"total": total,
|
"total": total,
|
||||||
"page": page,
|
"page": page,
|
||||||
"page_size": page_size,
|
"page_size": page_size,
|
||||||
@@ -85,6 +85,6 @@ async def get_equipment(equipment_id: int, db: AsyncSession = Depends(get_db)) -
|
|||||||
item = result.scalar_one_or_none()
|
item = result.scalar_one_or_none()
|
||||||
if not item:
|
if not item:
|
||||||
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Equipment not found")
|
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Equipment not found")
|
||||||
response = EquipmentDetail.model_validate(item)
|
response = EquipmentDetail.model_validate(item).model_dump()
|
||||||
await cache.set(cache_key, response.model_dump(), ttl=3600)
|
await cache.set(cache_key, response.model_dump(), ttl=3600)
|
||||||
return response
|
return response
|
||||||
|
|||||||
Reference in New Issue
Block a user