diff --git a/chain_service/database/models/namespace.py b/chain_service/database/models/namespace.py new file mode 100644 index 0000000..f79ec2a --- /dev/null +++ b/chain_service/database/models/namespace.py @@ -0,0 +1,5 @@ +from .base import BaseMongoModel + + +class Namespace(BaseMongoModel): + name: str diff --git a/chain_service/repositories/namespace.py b/chain_service/repositories/namespace.py new file mode 100644 index 0000000..5ea5c30 --- /dev/null +++ b/chain_service/repositories/namespace.py @@ -0,0 +1,14 @@ +from chain_service.database.database import Database +from chain_service.database.models.namespace import Namespace + + +class NamespaceRepository: + + def __init__(self, database: Database): + self.collection = database.get_collection("namespaces") + + async def upsert(self, namespace: Namespace) -> Namespace: + query = {"_id": namespace.id} + payload = namespace.model_dump(by_alias=True) + await self.collection.replace_one(query, payload, upsert=True) + return namespace