Сервис управления лайками

Общая информация

Сервис предназначен для управления лайками.


Лайки

POST /

Описание: Создание лайка для продукта.

Теги: Лайки

Summary: Позволяет пользователю поставить лайк на продукт.

Предварительная проверка: Требуется аутентификация пользователя (user role).

Тело запроса (body):

{
  "productId": "product_id_uuid",
  "userId": "user_id_uuid"
}
  • productId: (string, required) - ID продукта.
  • userId: (string, required) - ID пользователя.

Ответ:

  • 200 OK:
    {
      "id": "like_id_uuid",
      "productId": "product_id_uuid",
      "userId": "user_id_uuid"
    }
    
    • id: (string) - ID лайка.
    • productId: (string) - ID продукта.
    • userId: (string) - ID пользователя.
  • 409 Conflict:
       {
           "statusCode": 409,
            "error": "Conflict",
           "message": "User already liked this product"
       }
    
    • Пользователь уже лайкнул данный продукт.
  • 500 Internal Server Error:
    {
        "success": false,
        "message": "Internal Server Error"
    }
    

DELETE /:id

Описание: Удаление лайка по ID.

Теги: Лайки

Summary: Позволяет удалить лайк по его ID.

Предварительная проверка: Требуется аутентификация пользователя (user role).

Параметры запроса (path):

  • id: (string, required) - ID лайка.

Ответ:

  • 200 OK:
    {
      "status": "success"
    }
    
    • status: (string) - Статус удаления.
  • 500 Internal Server Error:
    {
        "success": false,
        "message": "Internal Server Error"
    }
    

DELETE /:userId/:productId

Описание: Удаление лайка по ID пользователя и продукта.

Теги: Лайки

Summary: Позволяет удалить лайк по ID пользователя и ID продукта.

Предварительная проверка: Требуется аутентификация пользователя (user role).

Параметры запроса (path):

  • userId: (string, required) - ID пользователя.
  • productId: (string, required) - ID продукта.

Ответ:

  • 200 OK:
    {
      "status": "success"
    }
    
    • status: (string) - Статус удаления.
  • 500 Internal Server Error:
    {
        "success": false,
        "message": "Internal Server Error"
    }
    

Примечания:

  • Все запросы требуют авторизации с ролью user.
  • Все запросы возвращают 500 Internal Server Error в случае внутренней ошибки на сервере.