Source code for chatsky_ui.api.api_v1.endpoints.flows

from typing import Dict, Union

from fastapi import APIRouter
from omegaconf import OmegaConf

from chatsky_ui.core.config import settings
from chatsky_ui.db.base import read_conf, write_conf

router = APIRouter()


[docs]@router.get("/") async def flows_get() -> Dict[str, Union[str, Dict[str, list]]]: """Get the flows by reading the frontend_flows.yaml file.""" omega_flows = await read_conf(settings.frontend_flows_path) dict_flows = OmegaConf.to_container(omega_flows, resolve=True) return {"status": "ok", "data": dict_flows} # type: ignore
[docs]@router.post("/") async def flows_post(flows: Dict[str, list]) -> Dict[str, str]: """Write the flows to the frontend_flows.yaml file.""" await write_conf(flows, settings.frontend_flows_path) return {"status": "ok"}