Список страниц

GET /api/pages/items/

Описание

Этот эндпоинт возвращает список страниц, зарегистрированных в системе. Каждая страница включает детализированную информацию о её метаданных, полях, активности и других атрибутах. Эндпоинт поддерживает вспомогательные параметры для сортировки, фильтрации и пагинации.

Параметры запроса

Обязательные параметры:

Нет

Вспомогательные параметры:

  • sortBy — параметр для сортировки по указанному полю
  • sortOrder — порядок сортировки: ASC (по возрастанию) или DESC (по убыванию).
  • limit — ограничение на количество записей, возвращаемых в одном запросе.
  • page — номер страницы для постраничного вывода данных.

Пример:
GET /api/pages/items/?sortBy=name&sortOrder=ASC&limit=20&page=1

Ответ

Возвращается в формате JSON и содержит следующие ключевые поля:

  • id — Идентификатор страницы.
  • name — Название страницы.
  • url — URL страницы.
  • title — Заголовок страницы.
  • active — Статус активности страницы (true / false).
  • hits — Количество обращений к странице.
  • sort — Порядок сортировки страницы.
  • seo — Массив SEO-метаданных, включающий:
    • name — Имя метаданных.
    • type — Тип данных метаданных (например, "text").
    • value — Значение метаданных.
  • fields — Массив пользовательских полей, содержащий:
    • name — Имя поля.
    • type — Тип поля (например, "color").
    • value — Значение поля.
  • sectionId — Идентификатор раздела, к которому относится страница (если есть).
  • createdAt — Дата создания страницы.
  • updatedAt — Дата последнего обновления страницы.
GET
/api/pages/items/

При успешном запросе, ответ будет выглядеть так:

1{
2  "status": "success",
3  "payload": [
4    {
5      "id": 10,
6      "name": "about",
7      "url": "about",
8      "title": "About Us",
9      "active": true,
10      "hits": 42,
11      "sort": 100,
12      "seo": [
13        {
14          "name": "title",
15          "type": "text",
16          "value": "Welcome to About Us"
17        },
18        {
19          "name": "description",
20          "type": "text",
21          "value": "Description of the about page"
22        },
23        {
24          "name": "robots",
25          "type": "text",
26          "value": "index, follow"
27        }
28      ],
29      "fields": [
30        {
31          "name": "backgroundColor",
32          "type": "color",
33          "value": "#ffffff"
34        }
35      ],
36      "sectionId": null,
37      "createdAt": "2024-10-01T21:30:15.000Z",
38      "updatedAt": "2024-10-31T14:53:17.000Z"
39    }
40  ],
41  "pagination": {
42    "limit": 20,
43    "offset": 0,
44    "currentTotal": 1,
45    "total": 225,
46    "page": 1
47  }
48}

Интерфейс

1interface IPage {
2  id ? : number;
3  name: string;
4  title: string;
5  url: string;
6  hits: number;
7  sort: number;
8  active: boolean;
9  sectionId: number | null;
10  seo: {
11    [key: string]: any
12  };
13  fields: {
14    [key: string]: any
15  };
16}