Сервис управления историями
Общая информация
Сервис "Истории" (Story), который отвечает за управление отображением историй на сайте. Модуль предоставляет функции для получения, создания, обновления и удаления историй.
Истории (Story)
GET /
Описание: Получение списка всех историй.
Теги: Story
Summary: Возвращает массив историй, отсортированных по полю "sort" в порядке возрастания.
Ответ:
- 200 OK:
[ { "id": 1, "src": "https://example.com/image.jpg", "sort": 1, "link": "https://example.com", "type": "image", "linkTitle": "Перейти на сайт", "isMobile": true }, { "id": 2, "src": "https://example.com/video.mp4", "sort": 2, "link": null, "type": "video", "linkTitle": null, "isMobile": false } ]id: (integer) - ID истории.src: (string) - URL источника истории (изображение или видео).sort: (integer) - Порядковый номер для сортировки историй.link: (string, optional) - Ссылка, связанная с историей.type: (string) - Тип истории (изображение или видео).linkTitle: (string, optional) - Заголовок для связанной ссылки.isMobile: (boolean) - Отображается ли на мобильных устройствах.
- 500 Internal Server Error:
{ "error": "Внутренняя ошибка сервера" }
POST /
Описание: Создание новой истории.
Теги: Story
Summary: Создаёт новую историю и возвращает её данные.
Предварительная проверка: Требуется аутентификация пользователя (admin role).
Тело запроса (body):
{
"fileId": 1,
"isMobile": true,
"sort": 1,
"type": "image",
"link": "https://example.com",
"linkTitle": "Перейти на сайт"
}
fileId: (integer, required) - ID файла связанного с историейisMobile: (boolean, optional) - Отображается ли на мобильных устройствах.sort: (integer, optional) - Порядковый номер для сортировки сториз.type: (string, optional) - Тип сторизы (изображение или видео).link: (string, optional) - Ссылка, связанная со сторизой.linkTitle: (string, optional) - Заголовок для связанной ссылки.
Ответ:
- 201 Created:
{ "id": 1, "src": "https://example.com/image.jpg", "sort": 1, "link": "https://example.com", "type": "image", "linkTitle": "Перейти на сайт", "isMobile": true }id: (integer) - ID созданной истории.src: (string) - URL источника сторизы.sort: (integer) - Порядковый номер.link: (string) - Связанная ссылка.type: (string) - Тип сторизы.linkTitle: (string, optional) - Заголовок для связанной ссылки.isMobile: (boolean) - Отображается ли на мобильных устройствах.
- 400 Bad Request:
{ "statusCode": 400, "error": "Bad Request", "message": "Некорректные данные для создания сторизы" } - 500 Internal Server Error:
{ "error": "Внутренняя ошибка сервера" }
PATCH /
Описание: Массовое обновление сториз.
Теги: Story
Summary: Обновляет несколько сториз одновременно.
Предварительная проверка: Требуется аутентификация пользователя (admin role).
Тело запроса (body):
[
{
"id": 1,
"sort": 2,
"link": "https://example.com",
"linkTitle": "Перейти на сайт"
},
{
"id": 2,
"sort": 1
}
]
id: (integer, required) - ID историиsort: (integer, optional) - Порядковый номер для сортировки сториз.link: (string, optional) - Ссылка, связанная со сторизой.linkTitle: (string, optional) - Заголовок для связанной ссылки.
Ответ:
- 200 OK:
{ "success": true, "message": "Сторизы успешно обновлены" }success: (boolean) - Статус операции.message: (string) - Сообщение об успешном обновлении.
- 400 Bad Request:
{ "statusCode": 400, "error": "Bad Request", "message": "Некорректные данные для обновления сториз" } - 500 Internal Server Error:
{ "error": "Внутренняя ошибка сервера" }
PATCH /:id
Описание: Обновление одной сторизы по ID.
Теги: Story
Summary: Обновляет данные одной сторизы по её ID.
Предварительная проверка: Требуется аутентификация пользователя (admin role).
Параметры запроса (path):
id: (integer, required) - ID сторизы для обновления.
Тело запроса (body):
{
"fileId": 1,
"isMobile": true,
"sort": 1,
"type": "image",
"link": "https://example.com",
"linkTitle": "Перейти на сайт"
}
fileId: (integer, optional) - ID файла связанного с историейisMobile: (boolean, optional) - Отображается ли на мобильных устройствах.sort: (integer, optional) - Порядковый номер для сортировки сториз.type: (string, optional) - Тип сторизы (изображение или видео).link: (string, optional) - Ссылка, связанная со сторизой.linkTitle: (string, optional) - Заголовок для связанной ссылки.
Ответ:
- 200 OK:
{ "success": true, "message": "Сториза успешно обновлена" }success: (boolean) - Статус операции.message: (string) - Сообщение об успешном обновлении.
- 400 Bad Request:
{ "statusCode": 400, "error": "Bad Request", "message": "Некорректные данные для обновления сторизы" } - 404 Not Found:
{ "statusCode": 404, "error": "Not Found", "message": "Сториза с указанным ID не найдена" } - 500 Internal Server Error:
{ "error": "Внутренняя ошибка сервера" }
DELETE /:id
Описание: Удаление сторизы по ID.
Теги: Story
Summary: Удаляет сторизу по её ID.
Предварительная проверка: Требуется аутентификация пользователя (admin role).
Параметры запроса (path):
id: (integer, required) - ID сторизы для удаления.
Ответ:
- 200 OK:
{ "success": true, "message": "Сториза успешно удалена" }success: (boolean) - Статус операции.message: (string) - Сообщение об успешном удалении.
- 404 Not Found:
{ "statusCode": 404, "error": "Not Found", "message": "Сториза с указанным ID не найдена" } - 500 Internal Server Error:
{ "error": "Внутренняя ошибка сервера" }
Примечания:
- Все запросы, кроме
GET /требуют авторизации с рольюadmin. - Все запросы возвращают
500 Internal Server Errorв случае внутренней ошибки на сервере.