- POST /user/rating/{id}/response
тело:
{"rating": 4}
Валидация: 1 <= rating <= note.rating_max.
- POST /user/text/{id}/response
тело:
{"text": "всё понравилось"}
Валидация: непустой после обрезки пробелов, длина не больше note.max_length.
- POST /user/choice/{id}/response
тело:
{"selected_choices": [1, 3]}
Валидация: все id есть в choice_options, дублей нет, при is_multiple = false ровно один элемент.
Общее для трёх ручек ответа:
Проверяют по порядку: модалка существует (404), активна (403), не истекла (403), её тип совпадает с типом ручки (403), юзер ещё не отвечал (409).
Записывают строку в note_response.
После ответа модалка этому юзеру больше не показывается.
Типы 1 и 5 ответа не имеют — ручек для них нет.
тело:
{"rating": 4}
Валидация: 1 <= rating <= note.rating_max.
тело:
{"text": "всё понравилось"}
Валидация: непустой после обрезки пробелов, длина не больше note.max_length.
тело:
{"selected_choices": [1, 3]}
Валидация: все id есть в choice_options, дублей нет, при is_multiple = false ровно один элемент.
Общее для трёх ручек ответа:
Проверяют по порядку: модалка существует (404), активна (403), не истекла (403), её тип совпадает с типом ручки (403), юзер ещё не отвечал (409).
Записывают строку в note_response.
После ответа модалка этому юзеру больше не показывается.
Типы 1 и 5 ответа не имеют — ручек для них нет.