From 86a18ed76da5ec8a8cee9864b277a7996f50bdfb Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 28 Feb 2024 13:04:48 +0700 Subject: [PATCH] catch wrong uuid convertion --- chain_service/repositories/chain.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/chain_service/repositories/chain.py b/chain_service/repositories/chain.py index 98c15f0..ac3af11 100644 --- a/chain_service/repositories/chain.py +++ b/chain_service/repositories/chain.py @@ -1,3 +1,5 @@ +from loguru import logger + import pymongo from uuid import UUID from typing import List @@ -24,6 +26,10 @@ class ChainRepository: return TypeAdapter(List[Chain]).validate_python(chains) async def get_by_id(self, chain_id: str) -> Chain | None: - query = {"_id": UUID(chain_id)} - chain = await self.collection.find_one(query) - return Chain.model_validate(chain) if chain else None + try: + query = {"_id": UUID(chain_id)} + chain = await self.collection.find_one(query) + return Chain.model_validate(chain) if chain else None + + except ValueError: + logger.error(f"Cannot convert {chain_id} to UUID")