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

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

Сервис "Слайды", который отвечает за управление слайдами на сайте, включая их получение, создание, обновление и удаление.


Слайды

GET /

Описание: Получение всех слайдов.

Теги: Слайды

Summary: Возвращает список всех слайдов.

Ответ:

  • 200 OK:
        [
            {
               "id": 1,
                "path": "/uploads/slides/some_slide.png",
                "isMobile": false,
                "link": null,
                "sort": 1
            },
           {
               "id": 2,
                "path": "/uploads/slides/some_slide2.png",
               "isMobile": true,
                "link": "some_link_2",
               "sort": 2
            }
        ]
    
    • id: (integer) - ID слайда.
    • path: (string) - Путь к изображению слайда.
    • isMobile: (boolean, optional) - Флаг, указывающий, что слайд предназначен для мобильных устройств.
    • link: (string, optional) - Ссылка для перехода по слайду.
    • sort: (integer) - Порядок сортировки слайда.
  • 500 Internal Server Error:
    {
        "error": "Internal Server Error"
    }
    
    • Внутренняя ошибка сервера.

GET /type/:type

Описание: Получение списка слайдов определенного типа.

Теги: Слайды

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

  • type: (string, required) - Тип слайда (slide, promo).

Ответ:

  • 200 OK:
    [
      {
         "id": 1,
           "path": "/uploads/slides/some_slide.png",
            "isMobile": false,
           "link": null,
           "sort": 1
       },
        {
            "id": 2,
             "path": "/uploads/slides/some_slide2.png",
             "isMobile": true,
            "link": "some_link_2",
           "sort": 2
       }
    ]
    
    • id: (integer) - ID слайда.
    • path: (string) - Путь к изображению слайда.
    • isMobile: (boolean) - Флаг, указывающий, что слайд предназначен для мобильных устройств.
    • link: (string) - Ссылка для перехода по слайду.
    • sort: (integer) - Порядок сортировки слайда.
  • 500 Internal Server Error:
    {
        "error": "Internal Server Error"
    }
    
    • Внутренняя ошибка сервера.

POST /

Описание: Создание нового слайда.

Теги: Слайды

Summary: Создает новый слайд.

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

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

{
    "fileId": 1,
    "type": "slide",
    "link": "some_link",
    "sort": 2,
     "isMobile": true
}
  • fileId: (integer, required) - ID файла (связь с файлом в БД).
  • type: (string, required) - Тип слайда (slide, promo).
  • link: (string, optional) - Ссылка для перехода.
  • sort: (integer, optional) - Порядок сортировки слайда.
  • isMobile: (boolean, optional) - Флаг для мобильного слайда.

Ответ:

  • 201 Created:
    {
      "id": 1,
       "path": "/uploads/slides/some_slide.png",
      "isMobile": false,
       "link": null,
        "sort": 1
     }
    
  • id: (integer) - ID слайда.
  • path: (string) - Путь к изображению слайда.
  • isMobile: (boolean, optional) - Флаг, указывающий, что слайд предназначен для мобильных устройств.
  • link: (string, optional) - Ссылка для перехода по слайду.
  • sort: (integer) - Порядок сортировки слайда.
  • 500 Internal Server Error:
    {
        "error": "Internal Server Error"
    }
    
  • Внутренняя ошибка сервера.

PATCH /

Описание: Обновление нескольких слайдов.

Теги: Слайды

Summary: Обновляет слайды.

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

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

 [
    {
       "id": 1,
        "sort": 2
     },
    {
        "id": 2,
         "sort": 1,
       "link": "some_new_link"
    }
 ]
  • id: (integer, required) - ID слайда.
  • sort: (integer, optional) - Порядок сортировки слайда.
  • link: (string, optional) - Ссылка для перехода по слайду.

Ответ:

  • 200 OK:
  • 500 Internal Server Error:
    {
        "error": "Internal Server Error"
    }
    
  • Внутренняя ошибка сервера.

DELETE /:id

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

Теги: Слайды

Summary: Удаляет слайд по указанному ID.

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

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

  • id: (integer, required) - ID слайда.

Ответ:

  • 200 OK:
    {
        "statusCode": 200,
         "message": "Слайд успешно удален"
    }
    
  • statusCode: (integer) - Код ответа.
  • message: (string) - Сообщение об успешном удалении.
  • 500 Internal Server Error:
    {
        "error": "Что-то пошло не так"
    }
    
  • Внутренняя ошибка сервера.

Описание: Обновление ссылки слайда.

Теги: Слайды

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

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

  • id: (integer, required) - ID слайда.

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

{
 "link": "new_link"
}
  • link: (string, optional) - Ссылка для перехода по слайду.

Ответ:

  • 200 OK:
  • 500 Internal Server Error:
    {
        "error": "Что-то пошло не так"
    }
    
  • Внутренняя ошибка сервера. Примечания:
  • Все запросы, кроме GET / и GET /type/:type требуют авторизации с ролью admin.
  • Все запросы возвращают 500 Internal Server Error в случае внутренней ошибки на сервере.