check_strict -------------- check_id str title str short_desc str tags

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
"""
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
"""