Добавлена функциональность «Отзывы» путем реализации задания в ветке add-reviews была добавлена возможность оставить отзыв с рейтинго и несколькими дополнительными характеристиками.
- Оценка — полезно/бесполезно.
- Тип отзыва — негативный/положительный.
- Рейтинг отзыва
POST /reviews
Добавление нового отзыва.
PUT /reviews
Редактирование уже имеющегося отзыва.
DELETE /reviews/{id}
Удаление уже имеющегося отзыва.
GET /reviews/{id}
Получение отзыва по идентификатору.
GET /reviews?filmId={filmId}&count={count}
Получение всех отзывов по идентификатору фильма, если фильм не указан то все. Если кол-во не указано то 10.
PUT /reviews/{id}/like/{userId}
— пользователь ставит лайк отзыву.PUT /reviews/{id}/dislike/{userId}
— пользователь ставит дизлайк отзыву.DELETE /reviews/{id}/like/{userId}
— пользователь удаляет лайк/дизлайк отзыву.DELETE /reviews/{id}/dislike/{userId}
— пользователь удаляет дизлайк отзыву.
Добавлена функциональность «Поиск» путем реализации задания в ветке add-search была добавлена возможность поиск по названию фильмов и по режиссёру.
GET /films/search
Возвращает список фильмов, отсортированных по популярности.
Параметры строки запроса
query
— текст для поиска
by
— может принимать значения director
(поиск по режиссёру), title
(поиск по названию), либо оба значения через запятую при поиске одновременно и по режиссеру и по названию.
Добавлена функциональность «Общие фильмы» путем реализации задания в ветке add-common-films была добавлена возможность вывода общих с другом фильмов с сортировкой по их популярности.
GET /films/common?userId={userId}&friendId={friendId}
Возвращает список фильмов, отсортированных по популярности.
Параметры
userId
— идентификатор пользователя, запрашивающего информацию;
friendId
— идентификатор пользователя, с которым необходимо сравнить список фильмов.
Добавлена функциональность «Рекомендации» путем реализации задания в ветке add-recommendations была добавлена возможность простой рекомендательной системы для фильмов..
GET /films/common?userId={userId}&friendId={friendId}
- Возвращает список фильмов, отсортированных по популярности.
- Находит пользователей с максимальным количеством пересечения по лайкам
- Определяет фильмы, которые один пролайкал, а другой нет
- Рекомендует фильмы, которым поставил лайк пользователь с похожими вкусами, а тот, для кого составляется рекомендация, ещё не поставил.
Параметры
Id
— идентификатор пользователя, запрашивающего информацию;
userId
— идентификатор пользователя, с которым необходимо сравнить список фильмов.
Добавлена функциональность «Лента событий» путем реализации задания в ветке add-feed была добавлена возможность просмотра последних событий на платформе — добавление в друзья, удаление из друзей, лайки и отзывы, которые оставили друзья пользователя.
GET /users/{id}/feed
Возвращает ленту событий пользователя.
Добавлена функциональность "Удаление фильмов и пользователей" путем реализации задания в ветке add-remove-endpoint была добавлена функциональность для удаления фильма и пользователя по идентификатору.
DELETE /users/{userId}
Удаляет пользователя по идентификатору.
DELETE /films/{filmId}
Удаляет фильм по идентификатору.
Добавлена функциональность "Добавление режиссёров в фильмы" путем реализации задания в ветке add-director была добавлена возможность дополнить информацию о фильмах именем режиссёра. После этого должна появилась следующая функциональность:
- Вывод всех фильмов режиссёра, отсортированных по количеству лайков.
- Вывод всех фильмов режиссёра, отсортированных по годам.
GET /films/director/{directorId}?sortBy=[year,likes]
Возвращает список фильмов режиссера отсортированных по количеству лайков или году выпуска.
POST /films
GET /directors
- Список всех режиссёров
GET /directors/{id}
- Получение режиссёра по id
POST /directors
- Создание режиссёра
PUT /directors
- Изменение режиссёра
DELETE /directors/{id}
- Удаление режиссёра
Добавлена функциональность "Вывод самых популярных фильмов по жанру и годам" путем реализации задания в ветке add-most-populars была добавлена возможность выводить топ-N фильмов по количеству лайков. Фильтрация должна быть по двум параметрам.
- По жанру.
- За указанный год.
GET /films/popular?count={limit}&genreId={genreId}&year={year}
Возвращает список самых популярных фильмов указанного жанра за нужный год.