Skip to content

feat: add user event feed - #18

Merged
DariaPrindina merged 3 commits into
developfrom
add-feed
Oct 9, 2026
Merged

DariaPrindina merged 3 commits into
developfrom
add-feed

Conversation

@DariaPrindina

Copy link
Copy Markdown
Collaborator

Лента событий

GET /users/{id}/feed — лента действий пользователя по порядку eventId: лайки фильмам (LIKE), друзья (FRIEND) и отзывы (REVIEW) с операциями ADD, REMOVE, UPDATE. Для неизвестного пользователя — 404.

Как работает

  • События записываются в сервисах: FilmService.addLike/removeLike, UserService.addFriend/removeFriend, ReviewService.add/update/delete.
  • Для UPDATE и REMOVE отзыва автор берётся из базы, а не из тела запроса.
  • Лайки и дизлайки отзывов в ленту не пишутся.
  • В FilmService, UserService и ReviewService в конструктор добавлен FeedService.

База данных

  • feed_events — события; entity_id — id фильма, друга или отзыва; ON DELETE CASCADE на users.

Тесты

  • FeedDbStorageTest — хранилище: порядок событий, фильтр по пользователю, каскадное удаление.
  • FeedEventsTest — сервисы пишут нужные события в нужном порядке, оценки отзывов в ленту не попадают, 404 для неизвестного пользователя.
  • Локально прогнала Postman Практикума для add-feed: 205/205.

Для остальных веток

  • Лайки и друзей ставить через FilmService и UserService: при прямом вызове хранилища событие в ленту не запишется.

@ksupyl ksupyl left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Даша, супер!
Тесты Практикума для ветки проходят все, и в общем наборе для финального PR лента - 124 из 124.
Каскад на user_id на месте, автора для UPDATE и REMOVE отзыва берёшь из базы, оценки отзывов в ленту не попадают - всё по ТЗ.

После второго апрува вливай через Squash and merge с заголовком
feat: add user event feed (#18)

@DariaPrindina
DariaPrindina merged commit 3d83563 into develop Oct 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Функциональность «Лента событий». 3 SP

3 participants