delete asset

This commit is contained in:
xds
2026-02-06 09:07:03 +03:00
parent 7e2f79aab1
commit 37e69088a1
4 changed files with 20 additions and 0 deletions

View File

@@ -49,6 +49,22 @@ async def get_asset(
return Response(content=content, media_type=media_type, headers=headers)
@router.delete("/{asset_id}", status_code=status.HTTP_204_NO_CONTENT)
async def delete_asset(
asset_id: str,
dao: DAO = Depends(get_dao)
):
logger.info(f"delete_asset called for ID: {asset_id}")
# 1. Проверяем наличие (опционально, delete_one вернет false если нет, но для 404 нужно знать)
# Можно просто попробовать удалить
deleted = await dao.assets.delete_asset(asset_id)
if not deleted:
raise HTTPException(status_code=404, detail="Asset not found")
logger.info(f"Asset {asset_id} deleted successfully")
return None
@router.get("")
async def get_assets(request: Request, dao: DAO = Depends(get_dao), limit: int = 10, offset: int = 0) -> AssetsResponse:
logger.info(f"get_assets called. Limit: {limit}, Offset: {offset}")

View File

@@ -74,3 +74,7 @@ class AssetsRepo:
doc["id"] = str(doc.pop("_id"))
assets.append(Asset(**doc))
return assets
async def delete_asset(self, asset_id: str) -> bool:
res = await self.collection.delete_one({"_id": ObjectId(asset_id)})
return res.deleted_count > 0