From 70ad69a5b05d6a4c2a012386ea0dfd7e3814fd13 Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 22 Mar 2024 20:31:55 +0700 Subject: [PATCH] abort all chains --- chain_service/controllers/run_chain.py | 13 +++++++++++++ chain_service/repositories/running_chain.py | 3 +++ 2 files changed, 16 insertions(+) diff --git a/chain_service/controllers/run_chain.py b/chain_service/controllers/run_chain.py index 6280981..b75b3e2 100644 --- a/chain_service/controllers/run_chain.py +++ b/chain_service/controllers/run_chain.py @@ -80,3 +80,16 @@ async def abort_chain_controller( except Exception: logger.exception("Error during chain abortion") raise HTTPException(status_code=400, detail="Chain abortion error :)") + + +@router.post("/abort_all_chains") +async def abort_all_chains_controller( + running_chain_repository: RunningChainRepositoryDependency, +): + try: + await running_chain_repository.delete_all() + return {} + + except Exception: + logger.exception("Error during all chains abortion") + raise HTTPException(status_code=400, detail="Chains abortion error :)") diff --git a/chain_service/repositories/running_chain.py b/chain_service/repositories/running_chain.py index 204e550..472a237 100644 --- a/chain_service/repositories/running_chain.py +++ b/chain_service/repositories/running_chain.py @@ -17,3 +17,6 @@ class RunningChainRepository: async def delete(self, chain_id: str): query = {"chainId": chain_id} await self.collection.delete_one(query) + + async def delete_all(self): + await self.collection.delete_many({})