Migrated to deta from imgur for image-storing

This commit is contained in:
Mawoka
2022-04-01 18:38:32 +02:00
parent 6d28608824
commit b3a54ce4f5
11 changed files with 182 additions and 62 deletions
+4 -2
View File
@@ -9,8 +9,9 @@ from fastapi.responses import JSONResponse
import re
from classquiz.auth import get_current_user, get_current_user_optional
from classquiz.config import redis
from classquiz.config import redis, settings
from classquiz.db.models import Quiz, QuizInput, User, PlayGame
settings = settings()
router = APIRouter()
@@ -18,9 +19,10 @@ router = APIRouter()
@router.post("/create")
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:
if question.image is not None:
if not re.match(imgur_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")
quiz = Quiz(**quiz_input.dict(), user_id=user.id, id=uuid.uuid4())
await redis.delete("global_quiz_count")