🚑 image-bug
This commit is contained in:
@@ -14,16 +14,17 @@ from classquiz.db.models import Quiz, QuizInput, User, PlayGame
|
|||||||
from classquiz.kahoot_importer.import_quiz import import_quiz
|
from classquiz.kahoot_importer.import_quiz import import_quiz
|
||||||
|
|
||||||
settings = settings()
|
settings = settings()
|
||||||
|
imgur_regex = r"^https://i\.imgur\.com\/.{7}.(jpg|png|gif)$"
|
||||||
|
server_regex = rf"^{settings.root_address}/api/v1/storage/download/.{36}--.{36}$"
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
@router.post("/create")
|
@router.post("/create")
|
||||||
async def create_quiz_lol(quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
async def create_quiz_lol(quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
||||||
imgur_regex = r"^https://i\.imgur\.com\/.{7}.(jpg|png|gif)$"
|
|
||||||
server_regex = rf"^{settings.root_address}/api/v1/storage/download/.{36}--.{36}$"
|
|
||||||
for question in quiz_input.questions:
|
for question in quiz_input.questions:
|
||||||
if question.image is not None:
|
if question.image is not "":
|
||||||
if not re.match(imgur_regex, question.image) or not re.match(server_regex, question.image):
|
if not re.match(imgur_regex, question.image) or not re.match(server_regex, question.image):
|
||||||
raise HTTPException(status_code=400, detail="image url is not valid")
|
raise HTTPException(status_code=400, detail="image url is not valid")
|
||||||
quiz = Quiz(**quiz_input.dict(), user_id=user.id, id=uuid.uuid4())
|
quiz = Quiz(**quiz_input.dict(), user_id=user.id, id=uuid.uuid4())
|
||||||
@@ -90,6 +91,10 @@ async def get_quiz_list(user: User = Depends(get_current_user)):
|
|||||||
|
|
||||||
@router.put("/update/{quiz_id}")
|
@router.put("/update/{quiz_id}")
|
||||||
async def update_quiz(quiz_id: str, quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
async def update_quiz(quiz_id: str, quiz_input: QuizInput, user: User = Depends(get_current_user)):
|
||||||
|
for question in quiz_input.questions:
|
||||||
|
if question.image is not "":
|
||||||
|
if not re.match(imgur_regex, question.image) or not re.match(server_regex, question.image):
|
||||||
|
raise HTTPException(status_code=400, detail="image url is not valid")
|
||||||
try:
|
try:
|
||||||
quiz_id = uuid.UUID(quiz_id)
|
quiz_id = uuid.UUID(quiz_id)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
|
|||||||
Reference in New Issue
Block a user