api/schema: return list of missing modules

This commit is contained in:
DavHau
2023-11-10 15:06:59 +07:00
parent f3312cb7a6
commit 170d29a15a
4 changed files with 80 additions and 8 deletions

View File

@@ -0,0 +1,10 @@
import logging
from pydantic import BaseModel
log = logging.getLogger(__name__)
class MissingClanImports(BaseModel):
missing_clan_imports: list[str] = []
msg: str = "Some requested clan modules could not be found"

View File

@@ -4,6 +4,7 @@ from typing import Annotated
from fastapi import APIRouter, Body
from clan_cli.webui.api_errors import MissingClanImports
from clan_cli.webui.api_inputs import MachineConfig
from ...config.machine import (
@@ -68,7 +69,11 @@ async def set_machine_config(
set_config_for_machine(flake_name, name, conf)
@router.put("/api/{flake_name}/schema", tags=[Tags.machine])
@router.put(
"/api/{flake_name}/schema",
tags=[Tags.machine],
responses={400: {"model": MissingClanImports}},
)
async def get_machine_schema(
flake_name: FlakeName, config: Annotated[dict, Body()]
) -> SchemaResponse: