def doc_quiz_submit(): return """ # 📝 ارسال پاسخ‌های کوییز این API برای ثبت شرکت کاربر در کوییز و ارسال پاسخ‌های مربوطه استفاده می‌شود. زمانی که کاربر در کوییز شرکت می‌کند، باید به همراه پاسخ‌های خود، زمان پاسخ‌دهی و اطلاعات دیگر را ارسال نماید. در این API، کاربر نمی‌تواند دوباره در همان کوییز شرکت کند. --- ## 📄 توضیحات مقادیر پاسخ | کلید | نوع داده | توضیحات | |------------------------|-----------------|---------------------------------------------------------| | `quiz` | Integer | شناسه کوییز که کاربر در آن شرکت کرده است. | | `started_at` | DateTime | زمان شروع کوییز. | | `ended_at` | DateTime | زمان پایان کوییز. | | `total_timing` | Integer | مدت زمان کلی که کاربر برای پاسخ‌دهی به کوییز صرف کرده است.| | `question_score` | Integer | امتیاز به‌دست‌آمده توسط کاربر در پاسخ به سوالات کوییز. | | `timing_score` | Integer | امتیاز به‌دست‌آمده توسط کاربر بر اساس زمان پاسخ‌دهی. | | `total_score` | Integer | امتیاز کلی کاربر در کوییز (ترکیب امتیاز سوالات و زمان).| | `answers` | Array | لیستی از پاسخ‌های کاربر به سوالات. | | `answers.question` | Integer | شناسه سوالی که کاربر به آن پاسخ داده است. | | `answers.option_num` | Integer | شماره گزینه‌ای که کاربر انتخاب کرده است. | | `answers.at_time` | DateTime | زمانی که کاربر پاسخ به سوال را ارسال کرده است. | | `answers.answer_timing`| Integer | مدت زمان پاسخ‌دهی به سوال (در ثانیه). | --- ## errors: # کاربر از قبل کوعیز را شرکت کرده است ```json { "status": "error", "code": "validation_error", "status_code": 400, "message": "There were validation errors.", "errors": [ { "field": "quiz", "message": "you have already participated in the quiz" } ] } ‍``` --- ## پاسخ موفق (201 Created) در صورتی که ثبت‌نام موفقیت‌آمیز باشد و پاسخ‌ها ذخیره شوند، یک شیء JSON مشابه با نمونه زیر برگشت داده می‌شود: ### پاسخ: ```json { "quiz": 1, "started_at": "2024-11-29T12:00:00Z", "ended_at": "2024-11-29T12:30:00Z", "total_timing": 1800, "question_score": 80, "timing_score": 10, "total_score": 90, "answers": [ { "question": 1, "option_num": 3, "at_time": "2024-11-29T12:05:00Z", "answer_timing": 30 }, { "question": 2, "option_num": 1, "at_time": "2024-11-29T12:15:00Z", "answer_timing": 45 } ] } """ def doc_quiz_detail(): return """ # 📋 Quiz Detail API با ایدی درس میتواند وارد یک کوعیز شوید این api سوالات کوعیز و جزعیاتش را برمیگرداند ## URL `GET /path//` ## پارامترها - `lesson_id`: شناسه درس برای دریافت کوییز مرتبط. ## پاسخ موفق (200 OK) در صورتی که درس دارای کوییز باشد، یک شیء JSON با اطلاعات کوییز برگشت داده می‌شود. ### پاسخ: ```json { "id": 1, "permission": true, "lesson": 101, "title": "Quiz on Python Basics", "description": "A quiz on the basics of Python programming.", "each_question_timing": 30, "questions": [ { "id": 1, "question": "What is the output of print(2 + 3)?", "options": [ {"id": 1, "title": "5"}, {"id": 2, "title": "6"}, {"id": 3, "title": "7"}, {"id": 4, "title": "8"} ], "correct_answer": 1 }, { "id": 2, "question": "What is the result of 2 * 3?", "options": [ {"id": 1, "title": "6"}, {"id": 2, "title": "5"}, {"id": 3, "title": "7"}, {"id": 4, "title": "8"} ], "correct_answer": 1 } ] } """