From 9a1cc1128efdbff854f2cb1c9bfc89a764bea5e4 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 13 Mar 2024 02:26:24 +0700 Subject: [PATCH] namespace --- chain_service/database/models/namespace.py | 5 +++++ chain_service/repositories/namespace.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 chain_service/database/models/namespace.py create mode 100644 chain_service/repositories/namespace.py 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