Skip to content

COMMENTS-ADMIN: "Мягкое" удаление любого комментария администратором #89

@impatient0

Description

@impatient0

Зависимости:

  • COMMENTS-CORE: Сущность Comment, репозиторий и базовый маппинг (полностью).
  • GlobalExceptionHandler.

Описание Задачи:

Реализовать эндпоинт DELETE /admin/comments/{commentId} и сервисную логику для "мягкого" удаления любого комментария администратором (установка флага isDeleted = true).

Основные шаги:

  1. Service (CommentServiceImpl):
    • Создать метод deleteCommentByAdmin(Long commentId).
    • Логика:
      • Найти Comment по commentId. Если не найден -> EntityNotFoundException.
      • Если комментарий уже помечен как удаленный, можно либо ничего не делать, либо вернуть ошибку (например, 409), либо просто пересохранить. Проще всего - ничего не делать или пересохранить.
      • Установить comment.setDeleted(true).
      • Сохранить комментарий.
  2. Controller (AdminCommentController):
    • Создать контроллер и эндпоинт DELETE /admin/comments/{commentId}.
    • Принимает @PathVariable Long commentId.
    • Вызывает метод сервиса.
    • Возвращает статус 204 NO CONTENT.
  3. Тесты: Юнит-тесты для сервиса и контроллера.

Критерии готовности:

  • Эндпоинт DELETE /admin/comments/{commentId} реализован.
  • Комментарий помечается как удаленный (isDeleted = true).
  • Обрабатывается случай, если комментарий не найден.
  • Возвращается статус 204.
  • Написаны юнит-тесты.

Sub-issues

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions