Список коллекции

GET /core/collections/

Описание

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

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

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

Нет

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

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

Пример:
GET /core/collections/?sortBy=name&sortOrder=ASC&limit=20&page=0

Ответ

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

  • id - Идентификатор коллекции
  • name - Название коллекции
  • singleName - Односложное название коллекции
  • pluralName - Множественное название коллекции
  • fields - Массив объектов, Типы полей
  • active - Статус активности коллекции ( true / false )
  • createdBy - Идентификатор пользователя, создавшего коллекцию
  • createdAt - Дата и время создания коллекции
  • updatedAt - Дата и время последнего обновления коллекции

  • pagination - Информация о пагинации данных
    • limit - Лимит элементов на странице.
    • offset - Смещение от начала списка.
    • currentTotal - Текущее количество элементов в ответе.
    • total - Общее количество коллекций.
    • page - Текущая страница.

  • tableFields - Описание полей, используемых в структуре таблицы коллекций. Каждое поле содержит:
    • type - Тип данных поля.
    • allowNull - Указывает, допускает ли поле null.
    • primaryKey - Указывает, является ли поле первичным ключом.
    • autoIncrement - Указывает, используется ли автоинкремент.
    • fieldName - Имя поля.
    • typeName - Человеко-читаемый тип данных ( "text", "number" и т.д).
    • originalTypeName - Оригинальный тип данных в системе.
GET
/core/collections/

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

1{
2  "status": "success",
3  "payload": [
4    {
5      "id": 1,
6      "name": "Машины",
7      "singleName": "mashiny",
8      "pluralName": "mashinies",
9      "fields": [
10        {
11          "name": "_hits",
12          "type": "number",
13          "default": 0
14        },
15        {
16          "name": "_sort",
17          "type": "number",
18          "default": 500
19        },
20        {
21          "name": "name",
22          "type": "text",
23          "unique": true,
24          "allowNull": false
25        },
26        {
27          "name": "active",
28          "type": "boolean",
29          "default": true
30        },
31        {
32          "name": "text",
33          "type": "text",
34          "unique": false,
35          "allowNull": true
36        },
37        {
38          "name": "TestColor",
39          "type": "color",
40          "unique": false,
41          "allowNull": true
42        },
43        {
44          "name": "actual",
45          "type": "boolean",
46          "unique": false,
47          "allowNull": true
48        }
49      ],
50      "active": true,
51      "createdBy": 1,
52      "createdAt": "2024-11-05T19:31:15.000Z",
53      "updatedAt": "2024-11-09T12:46:45.000Z"
54    }
55  ],
56  "pagination": {
57    "limit": 1,
58    "offset": 0,
59    "currentTotal": 13,
60    "total": 13,
61    "page": 0
62  },
63  "tableFields": {
64    "id": {
65      "type": {
66        "options": {}
67      },
68      "allowNull": false,
69      "primaryKey": true,
70      "autoIncrement": true,
71      "_autoGenerated": true,
72      "fieldName": "id",
73      "_modelAttribute": true,
74      "field": "id",
75      "originalTypeName": "INTEGER"
76    },
77    "name": {
78      "allowNull": false,
79      "unique": true,
80      "type": {
81        "options": {},
82        "_length": 255
83      },
84      "typeName": "text",
85      "fieldName": "name",
86      "_modelAttribute": true,
87      "field": "name",
88      "originalTypeName": "STRING"
89    },
90    "singleName": {
91      "allowNull": false,
92      "unique": true,
93      "type": {
94        "options": {},
95        "_length": 255
96      },
97      "typeName": "text",
98      "fieldName": "singleName",
99      "_modelAttribute": true,
100      "field": "singleName",
101      "originalTypeName": "STRING"
102    },
103    "pluralName": {
104      "type": {
105        "options": {},
106        "_length": 255
107      },
108      "allowNull": false,
109      "typeName": "text",
110      "fieldName": "pluralName",
111      "_modelAttribute": true,
112      "field": "pluralName",
113      "originalTypeName": "STRING"
114    },
115    "fields": {
116      "type": {},
117      "typeName": "rawJson",
118      "fieldName": "fields",
119      "_modelAttribute": true,
120      "field": "fields",
121      "originalTypeName": "JSONTYPE"
122    },
123    "active": {
124      "type": {},
125      "typeName": "boolean",
126      "fieldName": "active",
127      "_modelAttribute": true,
128      "field": "active",
129      "originalTypeName": "BOOLEAN"
130    },
131    "createdBy": {
132      "type": {
133        "options": {}
134      },
135      "typeName": "number",
136      "fieldName": "createdBy",
137      "_modelAttribute": true,
138      "field": "createdBy",
139      "originalTypeName": "INTEGER"
140    },
141    "createdAt": {
142      "type": {
143        "options": {},
144        "_length": ""
145      },
146      "allowNull": false,
147      "_autoGenerated": true,
148      "fieldName": "createdAt",
149      "_modelAttribute": true,
150      "field": "createdAt",
151      "typeName": "date",
152      "originalTypeName": "DATE"
153    },
154    "updatedAt": {
155      "type": {
156        "options": {},
157        "_length": ""
158      },
159      "allowNull": false,
160      "_autoGenerated": true,
161      "fieldName": "updatedAt",
162      "_modelAttribute": true,
163      "field": "updatedAt",
164      "typeName": "date",
165      "originalTypeName": "DATE"
166    }
167  }
168}