Краткое описание: набор REST-эндпоинтов для управления комментариями. Три уровня доступа:
- Admin — администраторские операции (удаление комментария по его идентификатору).
- Private — операции пользователя над собственными комментариями (создать, изменить, удалить, получить все свои комментарии).
- Public — публичный доступ (просмотр комментариев конкретного события).
Цель: операции управления всеми комментариями.
- DELETE
/admin/comments/{commentId}- Описание: удалить комментарий (жёсткое удаление) по его идентификатору.
- Ограничения: без модерации комментариев.
- Права: только админ.
- Ответ:
204 No Contentпри успехе.
Цель: пользовательские операции над собственными комментариями.
-
POST
/users/{userId}/comments/{eventId}- Описание: создать новый комментарий от имени пользователя
userId. - Ограничения: длина комментария 5000 символов, проверка существования идентификаторов события и пользователя.
- Права: только аутентифицированный пользователь.
- Ответ:
201 Createdс созданным объектом.
- Описание: создать новый комментарий от имени пользователя
-
PATCH
/users/{userId}/comments/{eventId}/{commentId}- Описание: обновить собственный комментарий.
- Ограничения: длина комментария 5000 символов, проверка существования идентификаторов комментария, события и пользователя.
- Права: только автор комментария.
- Ответ: обновлённый объект комментария.
-
DELETE
/users/{userId}/comments/{commentId}- Описание: удалить собственный комментарий (жёсткое удаление).
- Ограничения: проверка существования идентификаторов комментария и пользователя.
- Права: только автор комментария.
- Ответ:
204 No Content.
-
GET
/users/{userId}/comments- Описание: получить список собственных комментариев.
- Ограничения: организовать пагинацию (по умолчанию по 10 комментариев на странице).
- Права: только аутентифицированный пользователь.
- Ответ: список комментариев.
Цель: публичный просмотр комментариев.
- GET
/comments/event/{eventId}- Описание: получить публичный список комментариев к событию.
- Ограничения: организовать пагинацию (по умолчанию по 10 комментариев на странице).
- Доступ: публичный (без авторизации).
- Ответ: список публичных комментариев.