namespace api
This commit is contained in:
parent
9a1cc1128e
commit
5ae12ea3ca
|
|
@ -1,6 +1,7 @@
|
|||
from .chain import router as chain_router
|
||||
from .run_chain import router as run_chain_router
|
||||
from .s3 import router as s3_router
|
||||
from .namespace import router as namespace_router
|
||||
|
||||
from fastapi import FastAPI, APIRouter
|
||||
|
||||
|
|
@ -11,5 +12,6 @@ def setup_controllers(application: FastAPI):
|
|||
router.include_router(chain_router)
|
||||
router.include_router(run_chain_router)
|
||||
router.include_router(s3_router)
|
||||
router.include_router(namespace_router)
|
||||
|
||||
application.include_router(router)
|
||||
|
|
|
|||
23
chain_service/controllers/namespace.py
Normal file
23
chain_service/controllers/namespace.py
Normal 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")
|
||||
15
chain_service/dependencies/namespace_repository.py
Normal file
15
chain_service/dependencies/namespace_repository.py
Normal 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)
|
||||
]
|
||||
Loading…
Reference in New Issue
Block a user