Added API for fetching external database, removed parameters structure,
This commit is contained in:
39
spoolman/api/v1/externaldb.py
Normal file
39
spoolman/api/v1/externaldb.py
Normal file
@@ -0,0 +1,39 @@
|
||||
"""External database API."""
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter
|
||||
from fastapi.responses import FileResponse
|
||||
|
||||
from spoolman.externaldb import ExternalFilament, ExternalMaterial, get_filaments_file, get_materials_file
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/external",
|
||||
tags=["external"],
|
||||
)
|
||||
|
||||
# ruff: noqa: D103,B008
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/filaments",
|
||||
name="Get all external filaments",
|
||||
response_model_exclude_none=True,
|
||||
response_model=list[ExternalFilament],
|
||||
)
|
||||
async def filaments() -> FileResponse:
|
||||
"""Get all external filaments."""
|
||||
return FileResponse(path=get_filaments_file(), media_type="application/json")
|
||||
|
||||
|
||||
@router.get(
|
||||
"/materials",
|
||||
name="Get all external materials",
|
||||
response_model_exclude_none=True,
|
||||
response_model=list[ExternalMaterial],
|
||||
)
|
||||
async def materials() -> FileResponse:
|
||||
"""Get all external materials."""
|
||||
return FileResponse(path=get_materials_file(), media_type="application/json")
|
||||
@@ -15,7 +15,7 @@ from spoolman.database.database import backup_global_db
|
||||
from spoolman.exceptions import ItemNotFoundError
|
||||
from spoolman.ws import websocket_manager
|
||||
|
||||
from . import field, filament, models, other, setting, spool, vendor
|
||||
from . import externaldb, field, filament, models, other, setting, spool, vendor
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -110,3 +110,4 @@ app.include_router(vendor.router)
|
||||
app.include_router(setting.router)
|
||||
app.include_router(field.router)
|
||||
app.include_router(other.router)
|
||||
app.include_router(externaldb.router)
|
||||
|
||||
Reference in New Issue
Block a user