delete chain logic
This commit is contained in:
parent
0806626f51
commit
3f11da083d
|
|
@ -53,3 +53,16 @@ async def chain_get_controller(
|
||||||
except Exception:
|
except Exception:
|
||||||
logger.exception("Error during chain get")
|
logger.exception("Error during chain get")
|
||||||
return HTTPException(status_code=500, detail="Error during chain get")
|
return HTTPException(status_code=500, detail="Error during chain get")
|
||||||
|
|
||||||
|
|
||||||
|
@router.delete("/delete/{chain_id}")
|
||||||
|
async def chain_delete_controller(
|
||||||
|
chain_id: str, chain_repository: ChainRepositoryDependency
|
||||||
|
):
|
||||||
|
try:
|
||||||
|
await chain_repository.delete_by_id(chain_id)
|
||||||
|
return {}
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
logger.exception("Error during chain deletion")
|
||||||
|
return HTTPException(status_code=500, detail="Error during chain deletion")
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
import pymongo
|
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
from typing import List
|
from typing import List
|
||||||
from pydantic import TypeAdapter
|
from pydantic import TypeAdapter
|
||||||
|
|
@ -21,8 +20,8 @@ class ChainRepository:
|
||||||
return chain
|
return chain
|
||||||
|
|
||||||
async def get_list(self) -> List[Chain]:
|
async def get_list(self) -> List[Chain]:
|
||||||
sort_order = ("lastModified", pymongo.DESCENDING)
|
# sort_order = ("lastModified", pymongo.DESCENDING)
|
||||||
chains = [chain async for chain in self.collection.find().sort(*sort_order)]
|
chains = [chain async for chain in self.collection.find()]
|
||||||
return TypeAdapter(List[Chain]).validate_python(chains)
|
return TypeAdapter(List[Chain]).validate_python(chains)
|
||||||
|
|
||||||
async def get_by_id(self, chain_id: str) -> Chain | None:
|
async def get_by_id(self, chain_id: str) -> Chain | None:
|
||||||
|
|
@ -33,3 +32,11 @@ class ChainRepository:
|
||||||
|
|
||||||
except ValueError:
|
except ValueError:
|
||||||
logger.error(f"Cannot convert {chain_id} to UUID")
|
logger.error(f"Cannot convert {chain_id} to UUID")
|
||||||
|
|
||||||
|
async def delete_by_id(self, chain_id: str):
|
||||||
|
try:
|
||||||
|
query = {"_id": UUID(chain_id)}
|
||||||
|
await self.collection.delete_one(query)
|
||||||
|
|
||||||
|
except ValueError:
|
||||||
|
logger.error(f"Cannot convert {chain_id} to UUID")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user