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