DB-GPT/dbgpt/serve/agent/app/recommend_question/controller.py
明天 b124ecc10b
feat: (0.6)New UI (#1855)
Co-authored-by: 夏姜 <wenfengjiang.jwf@digital-engine.com>
Co-authored-by: aries_ckt <916701291@qq.com>
Co-authored-by: wb-lh513319 <wb-lh513319@alibaba-inc.com>
Co-authored-by: csunny <cfqsunny@163.com>
2024-08-21 17:37:45 +08:00

78 lines
2.3 KiB
Python

import logging
from fastapi import APIRouter, Depends
from dbgpt.app.openapi.api_view_model import Result
from dbgpt.serve.agent.app.recommend_question.recommend_question import (
RecommendQuestion,
RecommendQuestionDao,
)
from dbgpt.serve.utils.auth import UserRequest, get_user_from_headers
router = APIRouter()
logger = logging.getLogger(__name__)
recommend_question_dao = RecommendQuestionDao()
@router.post("/v1/question/create")
async def create(
recommend_question: RecommendQuestion,
user_info: UserRequest = Depends(get_user_from_headers),
):
try:
if user_info.user_id is not None:
recommend_question.user_code = user_info.user_id
return Result.succ(recommend_question_dao.create(recommend_question))
except Exception as ex:
return Result.failed(code="E000X", msg=f"create question error: {ex}")
@router.get("/v1/question/list")
async def query(
valid: str = None,
app_code: str = None,
chat_mode: str = None,
is_hot_question: str = None,
user_info: UserRequest = Depends(get_user_from_headers),
):
try:
return Result.succ(
recommend_question_dao.list_questions(
RecommendQuestion(
valid=valid,
app_code=app_code,
chat_mode=chat_mode,
is_hot_question=is_hot_question,
)
)
)
except Exception as ex:
return Result.failed(code="E000X", msg=f"query questions error: {ex}")
@router.post("/v1/question/update")
async def update(
recommend_question: RecommendQuestion,
user_info: UserRequest = Depends(get_user_from_headers),
):
try:
if user_info.user_id is not None:
recommend_question.user_code = user_info.user_id
recommend_question_dao.update_question(recommend_question)
return Result.succ([])
except Exception as ex:
return Result.failed(code="E000X", msg=f"update question error: {ex}")
@router.post("/v1/question/delete")
async def delete(
recommend_question: RecommendQuestion,
user_info: UserRequest = Depends(get_user_from_headers),
):
try:
recommend_question_dao.delete_question(recommend_question)
return Result.succ([])
except Exception as ex:
return Result.failed(code="E000X", msg=f"delete question error: {ex}")