Список страниц
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}