Skip to content

Conversation

@impatient0
Copy link
Owner

Описание

Данный Pull Request улучшает административные эндпоинты для работы с комментариями путем введения специализированного DTO CommentAdminDto, который включает информацию о статусе "мягкого" удаления комментария (isDeleted).

Проблема, которую решает PR:

Ранее административные API для комментариев использовали общий CommentDto, который не содержал поля isDeleted. Это не позволяло администраторам при просмотре списка комментариев или при восстановлении комментария видеть его актуальный статус удаления, что усложняло модерацию.

Ключевые изменения:

  1. Новый DTO CommentAdminDto.java:

    • Создан CommentAdminDto, включающий все поля из CommentDto и дополнительное поле private Boolean isDeleted;.
  2. Обновление CommentMapper.java:

    • Добавлены новые методы toAdminDto(Comment comment) и toAdminDtoList(List<Comment> comments) для маппинга сущности Comment в CommentAdminDto.
    • Эти методы корректно мапят все поля, включая isDeleted.
  3. Обновление CommentService (интерфейс и реализация CommentServiceImpl):

    • Методы, предназначенные для администраторов и возвращающие информацию о комментариях, обновлены для использования CommentAdminDto:
      • getAllCommentsAdmin(...) теперь возвращает List<CommentAdminDto>.
      • restoreCommentByAdmin(...) теперь возвращает CommentAdminDto.
  4. Обновление AdminCommentController.java:

    • Эндпоинты GET /admin/comments и PATCH /admin/comments/{commentId}/restore теперь возвращают List<CommentAdminDto> и CommentAdminDto соответственно.
  5. Тестирование:

    • Обновлены/добавлены юнит-тесты для CommentMapper для проверки маппинга в CommentAdminDto.
    • Обновлены/добавлены юнит-тесты для CommentServiceImpl и AdminCommentController для проверки корректной работы с новым DTO и возврата поля isDeleted.
    • Обновлены/добавлены интеграционные тесты для проверки, что админские эндпоинты корректно возвращают isDeleted.

@impatient0 impatient0 merged commit 1ac7b81 into feature Jun 1, 2025
2 checks passed
@impatient0 impatient0 deleted the feature_ivan_comment-admin-dto branch June 1, 2025 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

COMMENTS-ADMIN: Добавить флаг isDeleted в DTO для комментариев

5 participants