From 7cf2fe7c2b72f06b856b893bfd41e9a459cad82a Mon Sep 17 00:00:00 2001 From: Mawoka Date: Thu, 14 Apr 2022 15:57:17 +0200 Subject: [PATCH] :sparkles: Changes of "Public" also affect search now --- classquiz/routers/quiz.py | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/classquiz/routers/quiz.py b/classquiz/routers/quiz.py index 86a268b..c86e3c1 100644 --- a/classquiz/routers/quiz.py +++ b/classquiz/routers/quiz.py @@ -136,21 +136,36 @@ async def update_quiz(quiz_id: str, quiz_input: QuizInput, user: User = Depends( else: # print(quiz_input) # print(quiz) + meilisearch.index(settings.meilisearch_index).update_documents( + [ + { + "id": str(quiz.id), + "title": quiz_input.title, + "description": quiz_input.description, + "user": (await User.objects.filter(id=quiz.user_id).first()).username, + } + ] + ) + if quiz.public and not quiz_input.public: + print("removing from meilisearch") + meilisearch.index(settings.meilisearch_index).delete_document(str(quiz.id)) + if not quiz.public and quiz_input.public: + meilisearch.index(settings.meilisearch_index).add_documents( + [ + { + "id": str(quiz.id), + "title": quiz_input.title, + "description": quiz_input.description, + "user": (await User.objects.filter(id=quiz.user_id).first()).username, + } + ] + ) quiz.title = quiz_input.title quiz.public = quiz_input.public quiz.description = quiz_input.description quiz.updated_at = datetime.now() quiz.questions = quiz_input.dict()["questions"] - meilisearch.index(settings.meilisearch_index).update_documents( - [ - { - "id": str(quiz.id), - "title": quiz.title, - "description": quiz.description, - "user": (await User.objects.filter(id=quiz.user_id).first()).username, - } - ] - ) + return await quiz.update()