🐛 Fix Pydantic breaking changes

This commit is contained in:
Mawoka
2024-07-11 00:27:45 +02:00
parent b8aebd31ee
commit abafdd40f9
11 changed files with 91 additions and 89 deletions
+8 -6
View File
@@ -15,13 +15,14 @@ import ormar.exceptions
from classquiz.helpers import generate_spreadsheet, handle_import_from_excel
from fastapi import APIRouter, Depends, HTTPException, UploadFile, File
from fastapi.responses import JSONResponse, StreamingResponse
from pydantic import ValidationError, BaseModel, Field
from pydantic import ValidationError, BaseModel
from classquiz.auth import get_current_user
from classquiz.config import redis, settings, storage, meilisearch
from classquiz.db.models import Quiz, User, PlayGame, GameInLobby, QuizQuestion, QuizQuestionType
from classquiz.helpers.box_controller import generate_code
from classquiz.kahoot_importer.import_quiz import import_quiz
from uuid import UUID
import urllib.parse
settings = settings()
@@ -54,9 +55,9 @@ class PublicQuizResponseUser(BaseModel):
id: uuid.UUID
class PublicQuizResponse(Quiz.get_pydantic()):
class PublicQuizResponse(Quiz.get_pydantic(exclude={"questions"})):
user_id: PublicQuizResponseUser
var_questions: list[QuizQuestion] = Field(..., alias="questions")
questions: list[QuizQuestion]
likes: int
dislikes: int
views: int
@@ -143,8 +144,8 @@ async def start_quiz(
class CheckIfCaptchaEnabledResponse(BaseModel):
enabled: bool
game_mode: str | None
custom_field: str | None
game_mode: str | None = None
custom_field: str | None = None
@router.get("/play/check_captcha/{game_pin}", response_model=CheckIfCaptchaEnabledResponse)
@@ -229,7 +230,8 @@ async def export_quiz_answers(export_token: str, game_pin: str):
data = json.loads(data)
data2 = await redis.get(f"game:{game_pin}")
game_data = PlayGame.parse_raw(data2)
quiz = await Quiz.objects.get_or_none(id=game_data.quiz_id)
print(type(game_data.quiz_id))
quiz = await Quiz.objects.get_or_none(id=UUID(game_data.quiz_id))
if quiz is None:
raise HTTPException(status_code=404, detail="quiz not found")