Список коллекции
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}