Skip to content

COMMENTS-PRIVATE: Получение списка своих комментариев #88

@impatient0

Description

@impatient0

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

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

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

Реализовать эндпоинт GET /users/{userId}/comments для получения пользователем списка всех своих комментариев, которые не были "мягко" удалены, с пагинацией.

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

  1. Repository (CommentRepository):
    • Добавить метод Page<Comment> findByAuthorIdAndIsDeletedFalse(Long authorId, Pageable pageable);.
  2. Service (CommentServiceImpl):
    • Создать метод getUserComments(Long userId, int from, int size).
    • Логика:
      • Проверить существование пользователя userId (через UserRepository). Если нет - EntityNotFoundException.
      • Создать Pageable.
      • Вызвать метод репозитория.
      • Смапить Page<Comment> в List<CommentDto>.
  3. Controller (PrivateCommentController):
    • Добавить эндпоинт GET /users/{userId}/comments.
    • Принимает @PathVariable Long userId, @RequestParam(defaultValue="0") int from, @RequestParam(defaultValue="10") int size.
    • Вызывает метод сервиса.
    • Возвращает List<CommentDto> со статусом 200 OK.
  4. Тесты: Юнит-тесты для сервиса и контроллера.

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

  • Эндпоинт GET /users/{userId}/comments реализован.
  • Возвращается список не удаленных комментариев, принадлежащих указанному пользователю.
  • Реализована пагинация.
  • Написаны юнит-тесты.

Metadata

Metadata

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions