from fastapi import APIRouter from pydantic import BaseModel from helper import respond_to from models.taboo import Taboo router = APIRouter(prefix='/taboo') class TabooCheck(BaseModel): mine: str othn: str @router.get('', summary='禁忌下拉选项') async def index(): """ 禁忌下拉选项 :return: """ taboos = await Taboo.all().values_list('name', 'mutex') names_set = {i[0] for i in taboos} mutex_set = {i[1] for i in taboos} result = names_set | mutex_set return respond_to(data=list(result)) @router.post('', summary='药剂禁忌') async def create(item: TabooCheck): trigger, desc = await Taboo.conflict(item.mine, item.othn) if trigger: return respond_to(code=409, desc=desc) return respond_to()