2024-05-25 16:11:52 +04:00
|
|
|
from typing import Annotated
|
|
|
|
from fastapi import APIRouter, Depends
|
2024-06-02 16:38:08 +04:00
|
|
|
from typing import List
|
2024-05-25 16:11:52 +04:00
|
|
|
|
2024-06-02 16:38:08 +04:00
|
|
|
from enums import TypeMood, TypeModel
|
2024-05-25 16:51:34 +04:00
|
|
|
from repository import QuestionRepository
|
|
|
|
from schemas import SQuestionAdd, SQuestion, SQuestionId
|
2024-05-25 16:11:52 +04:00
|
|
|
|
|
|
|
router = APIRouter(
|
2024-05-25 16:51:34 +04:00
|
|
|
prefix="/questions",
|
|
|
|
tags=["Questions"],
|
2024-05-25 16:11:52 +04:00
|
|
|
)
|
|
|
|
|
2024-06-06 22:49:43 +04:00
|
|
|
@router.post("/add")
|
2024-05-25 16:51:34 +04:00
|
|
|
async def add_question(
|
|
|
|
question: Annotated[SQuestionAdd, Depends()],
|
2024-06-02 16:38:08 +04:00
|
|
|
type_mood: TypeMood, # Добавлен параметр type_mood
|
|
|
|
type_model: TypeModel, # Добавлен параметр type_model
|
2024-05-25 16:51:34 +04:00
|
|
|
) -> SQuestionId:
|
2024-06-03 20:05:19 +04:00
|
|
|
question_id, answer = await QuestionRepository.add_one(question, type_mood, type_model) # Передача параметров type_mood и type_model
|
|
|
|
return {"question_id": question_id, "answer": answer}
|
2024-05-25 16:11:52 +04:00
|
|
|
|
2024-06-06 22:49:43 +04:00
|
|
|
@router.get("/get_all")
|
2024-05-25 16:51:34 +04:00
|
|
|
async def get_questions() -> list[SQuestion]:
|
|
|
|
questions = await QuestionRepository.find_all()
|
|
|
|
return questions
|
2024-06-02 16:38:08 +04:00
|
|
|
|
|
|
|
|
2024-06-06 22:49:43 +04:00
|
|
|
@router.get("/get/{email_user}")
|
2024-06-02 16:38:08 +04:00
|
|
|
async def get_questions_by_email(email_user: str) -> list[SQuestion]:
|
|
|
|
questions = await QuestionRepository.find_by_email(email_user)
|
|
|
|
return questions
|
2024-06-02 17:33:50 +04:00
|
|
|
|