generated from yandex-praktikum/java-explore-with-me-plus
-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
1 / 11 of 1 issue completed
Copy link
Description
Зависимости:
COMMENTS-CORE: Сущность Comment, репозиторий и базовый маппинг(полностью).GlobalExceptionHandler.
Описание Задачи:
Реализовать эндпоинт DELETE /admin/comments/{commentId} и сервисную логику для "мягкого" удаления любого комментария администратором (установка флага isDeleted = true).
Основные шаги:
- Service (
CommentServiceImpl):- Создать метод
deleteCommentByAdmin(Long commentId). - Логика:
- Найти
CommentпоcommentId. Если не найден ->EntityNotFoundException. - Если комментарий уже помечен как удаленный, можно либо ничего не делать, либо вернуть ошибку (например, 409), либо просто пересохранить. Проще всего - ничего не делать или пересохранить.
- Установить
comment.setDeleted(true). - Сохранить комментарий.
- Найти
- Создать метод
- Controller (
AdminCommentController):- Создать контроллер и эндпоинт
DELETE /admin/comments/{commentId}. - Принимает
@PathVariable Long commentId. - Вызывает метод сервиса.
- Возвращает статус
204 NO CONTENT.
- Создать контроллер и эндпоинт
- Тесты: Юнит-тесты для сервиса и контроллера.
Критерии готовности:
- Эндпоинт
DELETE /admin/comments/{commentId}реализован. - Комментарий помечается как удаленный (
isDeleted = true). - Обрабатывается случай, если комментарий не найден.
- Возвращается статус
204. - Написаны юнит-тесты.