namespace api

This commit is contained in:
Robert 2024-03-13 02:26:34 +07:00
parent 9a1cc1128e
commit 5ae12ea3ca
No known key found for this signature in database
GPG Key ID: F631C7FD957D5F22
3 changed files with 40 additions and 0 deletions

View File

@ -1,6 +1,7 @@
from .chain import router as chain_router from .chain import router as chain_router
from .run_chain import router as run_chain_router from .run_chain import router as run_chain_router
from .s3 import router as s3_router from .s3 import router as s3_router
from .namespace import router as namespace_router
from fastapi import FastAPI, APIRouter from fastapi import FastAPI, APIRouter
@ -11,5 +12,6 @@ def setup_controllers(application: FastAPI):
router.include_router(chain_router) router.include_router(chain_router)
router.include_router(run_chain_router) router.include_router(run_chain_router)
router.include_router(s3_router) router.include_router(s3_router)
router.include_router(namespace_router)
application.include_router(router) application.include_router(router)

View File

@ -0,0 +1,23 @@
from loguru import logger
from fastapi import APIRouter, HTTPException
from chain_service.database.models.namespace import Namespace
from chain_service.dependencies.namespace_repository import (
NamespaceRepositoryDependency,
)
router = APIRouter(prefix="/namespace")
@router.post("/")
async def namespace_controller(
namespace: Namespace, namespace_repository: NamespaceRepositoryDependency
):
try:
upserted_namespace = await namespace_repository.upsert(namespace)
return upserted_namespace
except Exception:
logger.exception(f"Error during namespace upsert {namespace.model_dump_json()}")
return HTTPException(status_code=500, detail="Error during namespace upsert")

View File

@ -0,0 +1,15 @@
from .database import DatabaseDependency
from chain_service.repositories.namespace import NamespaceRepository
from fastapi import Depends
from typing import Annotated
def get_namespace_repository(database: DatabaseDependency) -> NamespaceRepository:
return NamespaceRepository(database=database)
NamespaceRepositoryDependency = Annotated[
NamespaceRepository, Depends(get_namespace_repository)
]