Skip to content

Функциональность «Отзывы». 4 SP #9

@AlinaSoboleva

Description

@AlinaSoboleva

💡 Ветка для реализации задачи должна называться add-reviews.

Описание задачи

В приложении должны появиться отзывы на фильмы. Добавленные отзывы должны иметь рейтинг и несколько дополнительных характеристик.

Характеристики отзыва.

  1. Оценка — полезно/бесполезно.
  2. Тип отзыва — негативный/положительный.

Рейтинг отзыва.

У отзыва имеется рейтинг. При создании отзыва рейтинг равен нулю. Если пользователь оценил отзыв как полезный, это увеличивает его рейтинг на 1. Если как бесполезный, то уменьшает на 1.

Отзывы должны сортироваться по рейтингу полезности.

API

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} — пользователь удаляет дизлайк отзыву.

Описание JSON-объекта с которым работают эндпоинты

{
    "reviewId": 123,
    "content": "This film is sooo baad.",
    "isPositive": false,
    "userId": 123, // Пользователь
    "filmId": 2, // Фильм
    "useful": 20 // рейтинг полезности 
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Completed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions