🚸 Refreshed admin-screen and qr-endpoint!
This commit is contained in:
@@ -2,7 +2,7 @@ from fastapi import FastAPI
|
||||
from classquiz.socket_server import sio
|
||||
from socketio import ASGIApp
|
||||
|
||||
from classquiz.routers import users, quiz
|
||||
from classquiz.routers import users, quiz, utils
|
||||
from classquiz.db import database
|
||||
|
||||
app = FastAPI()
|
||||
@@ -25,4 +25,5 @@ async def shutdown() -> None:
|
||||
|
||||
app.include_router(users.router, tags=["users"], prefix="/api/v1/users")
|
||||
app.include_router(quiz.router, tags=["quiz"], prefix="/api/v1/quiz")
|
||||
app.include_router(utils.router, tags=["utils"], prefix="/api/v1/utils")
|
||||
app.mount("/", ASGIApp(sio))
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
import io
|
||||
|
||||
import qrcode
|
||||
import qrcode.image.svg
|
||||
from fastapi import APIRouter
|
||||
from classquiz.config import settings
|
||||
from fastapi.responses import Response
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.get("/qr/{quiz_pin}")
|
||||
async def get_qr(quiz_pin: str):
|
||||
"""
|
||||
Get QR code for quiz
|
||||
"""
|
||||
factory = qrcode.image.svg.SvgImage
|
||||
qr = qrcode.QRCode(image_factory=qrcode.image.svg.SvgPathImage, version=1
|
||||
, box_size=20, border=0)
|
||||
qr.add_data(f"{settings.root_address}/play?pin={quiz_pin}")
|
||||
buf = io.BytesIO()
|
||||
qr.make(fit=True)
|
||||
qr.make_image(fill_color="black", back_color="white").save(buf, "SVG")
|
||||
return Response(content=buf.getvalue(), media_type="image/svg+xml")
|
||||
Reference in New Issue
Block a user