You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

131 lines
4.9 KiB

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>/`
## پارامترها
- `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
}
]
}
"""