mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-10 20:52:33 +00:00
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>
78 lines
2.3 KiB
Python
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}")
|