diff --git a/classquiz/__init__.py b/classquiz/__init__.py index 8749237..9ff9eea 100644 --- a/classquiz/__init__.py +++ b/classquiz/__init__.py @@ -3,7 +3,7 @@ from fastapi import FastAPI, Request from sentry_sdk.integrations.redis import RedisIntegration from socketio import ASGIApp -from classquiz.config import settings +from classquiz.config import settings, meilisearch from classquiz.db import database from classquiz.routers import users, quiz, utils, stats, storage, search from classquiz.socket_server import sio @@ -32,6 +32,7 @@ async def startup() -> None: database_ = app.state.database if not database_.is_connected: await database_.connect() + meilisearch.index(settings.meilisearch_index).update_settings({"sortableAttributes": ["created_at"]}) @app.on_event("shutdown") diff --git a/classquiz/kahoot_importer/import_quiz.py b/classquiz/kahoot_importer/import_quiz.py index fa4b5ae..d49a6db 100644 --- a/classquiz/kahoot_importer/import_quiz.py +++ b/classquiz/kahoot_importer/import_quiz.py @@ -30,6 +30,8 @@ async def import_quiz(quiz_id: str, user: User) -> Quiz | str: return "quiz not found" quiz_questions: list[dict] = [] quiz_id = uuid.uuid4() + meilisearch.delete_index(settings.meilisearch_index) + meilisearch.create_index(settings.meilisearch_index) for q in quiz.kahoot.questions: answers: list[QuizAnswer] = [] diff --git a/import_to_meili.py b/import_to_meili.py index 44e17fe..63fcb9f 100644 --- a/import_to_meili.py +++ b/import_to_meili.py @@ -15,7 +15,7 @@ async def __main__(): quizzes = await Quiz.objects.filter(public=True).all() for quiz in quizzes: meili_data.append(await get_meili_data(quiz)) - print(meili_data) + print(len(meili_data)) client = meilisearch.Client(settings.meilisearch_url) client.index(settings.meilisearch_index).add_documents(meili_data) client.index(settings.meilisearch_index).update_settings({"sortableAttributes": ["created_at"]})