"""
check_strict
--------------
{
'check_id': str,
'title': str,
'short_desc': str,
'tags': [str],
'desc': str,
}
check
--------------
{
'title': str,
'desc': str,
'short_desc': str,
'questions': [question],
'tags': [str]
'question_current' - id первого вопроса
}
question_radio
--------------
{
'title': str,
'desc': str,
'next': str,
'type': str,
'answer': str,
'choices': [{
'title': str,
'desc': str,
'cost':str,
}],
}
question_checklist
--------------
{
'title': str,
'desc': str,
'next': str,
'type': str,
'answer': [str],
'choices': [{
'title': str,
'desc': str,
'cost':str,
}],
}
start_check
--------------
{
'check_id': str,
'title': str,
'short_desc': str,
'tags': [str],
'status': str,
'started_ts': datetime,
'tags': [str],
'question_current': str,
'user': user,
}
Tags:
$plan
$plan-id
$checklist
$checklist-idx
$task
$task-idx
# Для создателя
Список тестов для объекта:
GET /plans/:id/checks
!Сервер отдаст: check_strict
Создать новый тест для объекта:
POST /plans/:id/checks
!Сервер принимает: check
!Сервер отдаст: check
Правка:
PATCH /items/:id/checks/:id
!Сервер принимает: check
!Сервер отдаст: check
DELETE /items/:id/checks/:id
Один тест:
GET /items/:id/checks/:id
!Сервер отдаст: check_strict
# Для пользователя
Cписок доступных тестов для объекта:
GET /plans/:id/checks
GET /plans/:id/tasks/id/checks
GET /plans/:id/checklists/id/checks
!Сервер отдаст: check_strict
Начать проходить тест:
GET /items/:id/checks/:id/start
(копируем, заполняя user и id)
Вернётся новый id теста {'id': '8734ad2312515'}
!Сервер отдаст: start_check
Список тестов, проходящихся в данный момент:
GET /checks
(фильтр по status и tags - ещё в процессе)
!Сервер отдаст: [check_strict]
Информация о тесте (без вопросов!):
GET /checks/:id
!Сервер отдаст: check_strict
Информация по вопросу:
GET /checks/:id/questions/:id
(id вопроса равен question_current)
!Сервер отдаст: question_radio|question_checklist
Отправка ответа:
PATCH /checks/:id/questions/:id
{'answer': 'ljhsdjkhaegv'} => {'next': {следующий вопрос}}
!Сервер принимает: question_radio|question_checklist
!Сервер отдаст: question_radio|question_checklist
"""