@opengis/fastify-table 1.1.50 → 1.1.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/.eslintrc.cjs +42 -42
  2. package/.gitlab-ci.yml +18 -18
  3. package/Changelog.md +352 -351
  4. package/README.md +26 -26
  5. package/config.js +10 -10
  6. package/cron/controllers/cronApi.js +22 -22
  7. package/cron/controllers/utils/cronList.js +1 -1
  8. package/cron/funcs/addCron.js +132 -132
  9. package/cron/index.js +10 -10
  10. package/crud/controllers/deleteCrud.js +36 -36
  11. package/crud/controllers/insert.js +71 -71
  12. package/crud/controllers/update.js +76 -76
  13. package/crud/controllers/utils/xssInjection.js +72 -72
  14. package/crud/funcs/dataDelete.js +19 -19
  15. package/crud/funcs/dataInsert.js +30 -30
  16. package/crud/funcs/dataUpdate.js +48 -48
  17. package/crud/funcs/getAccess.js +46 -44
  18. package/crud/funcs/getOpt.js +10 -10
  19. package/crud/funcs/getToken.js +27 -27
  20. package/crud/funcs/isFileExists.js +13 -13
  21. package/crud/funcs/setOpt.js +16 -16
  22. package/crud/funcs/setToken.js +53 -53
  23. package/crud/funcs/utils/getFolder.js +9 -9
  24. package/crud/funcs/utils/logChanges.js +62 -62
  25. package/crud/index.js +36 -36
  26. package/docs/.vitepress/abbr.mjs +26 -26
  27. package/docs/.vitepress/config.mjs +127 -127
  28. package/docs/.vitepress/navigation.mjs +82 -82
  29. package/docs/.vitepress/theme/Layout.vue +17 -17
  30. package/docs/.vitepress/theme/components/NavigationLinks.vue +102 -102
  31. package/docs/.vitepress/theme/components/Panzoom.vue +169 -169
  32. package/docs/.vitepress/theme/index.mjs +15 -15
  33. package/docs/.vitepress/theme/style.scss +163 -163
  34. package/docs/abbr.json +4 -4
  35. package/docs/api/cron/cronApi.md +56 -56
  36. package/docs/api/crud/deleteCrud.md +58 -58
  37. package/docs/api/crud/insert.md +82 -82
  38. package/docs/api/crud/update.md +85 -85
  39. package/docs/api/index.md +47 -47
  40. package/docs/api/notification/testEmail.md +91 -91
  41. package/docs/api/table/card.md +73 -73
  42. package/docs/api/table/data.md +134 -134
  43. package/docs/api/table/export.md +60 -60
  44. package/docs/api/table/filter.md +104 -104
  45. package/docs/api/table/form.md +126 -126
  46. package/docs/api/table/search.md +123 -123
  47. package/docs/api/table/suggest.md +156 -156
  48. package/docs/api/table/table.md +107 -107
  49. package/docs/api/user/user.cls.id.md +77 -77
  50. package/docs/api/user/user.cls.md +49 -49
  51. package/docs/api/user/user.cls.post.md +62 -62
  52. package/docs/api/user/user.info.md +37 -37
  53. package/docs/api/utils/logger.file.md +60 -60
  54. package/docs/api/utils/next.id.md +34 -34
  55. package/docs/api/utils/properties.add.md +127 -127
  56. package/docs/api/utils/properties.get.md +73 -73
  57. package/docs/api/utils/status.monitor.md +36 -36
  58. package/docs/api/widget/widget.del.md +76 -76
  59. package/docs/api/widget/widget.get.md +233 -233
  60. package/docs/api/widget/widget.set.md +88 -88
  61. package/docs/db/admin.md +947 -947
  62. package/docs/db/crm.md +564 -564
  63. package/docs/db/index.md +9 -9
  64. package/docs/db/log.md +204 -204
  65. package/docs/hook/card/afterCard.md +20 -20
  66. package/docs/hook/card/preCard.md +25 -25
  67. package/docs/hook/data/afterData.md +26 -26
  68. package/docs/hook/data/preData.md +26 -26
  69. package/docs/hook/deleteCrud/afterDelete.md +21 -21
  70. package/docs/hook/deleteCrud/preDelete.md +26 -26
  71. package/docs/hook/form/afterForm.md +19 -19
  72. package/docs/hook/form/preForm.md +26 -26
  73. package/docs/hook/getTemplate/afterTemplate.md +24 -24
  74. package/docs/hook/getTemplate/preTemplate.md +29 -29
  75. package/docs/hook/index.md +45 -45
  76. package/docs/hook/insert/afterInsert.md +41 -41
  77. package/docs/hook/insert/preInsert.md +25 -25
  78. package/docs/hook/table/afterTable.md +20 -20
  79. package/docs/hook/table/preTable.md +25 -25
  80. package/docs/hook/update/afterUpdate.md +41 -41
  81. package/docs/hook/update/preUpdate.md +25 -25
  82. package/docs/index.md +42 -42
  83. package/docs/public/fastify-dark.svg +3 -3
  84. package/docs/public/logo-short-dark.svg +11 -11
  85. package/docs/public/logo-short.svg +10 -10
  86. package/docs/public/logo.svg +19 -19
  87. package/docs/readme/index.md +121 -121
  88. package/docs/templates/card.md +83 -83
  89. package/docs/templates/cls.md +29 -29
  90. package/docs/templates/filters.md +91 -91
  91. package/docs/templates/forms.md +139 -139
  92. package/docs/templates/index.md +28 -28
  93. package/docs/templates/select.md +90 -90
  94. package/docs/templates/table.md +162 -162
  95. package/docs/utils/cron/addCron.md +29 -29
  96. package/docs/utils/crud/dataInsert.md +51 -51
  97. package/docs/utils/crud/dataUpdate.md +52 -52
  98. package/docs/utils/crud/getOpt.md +33 -33
  99. package/docs/utils/crud/isFileExists.md +37 -37
  100. package/docs/utils/crud/setOpt.md +37 -37
  101. package/docs/utils/hook/addHook.md +74 -74
  102. package/docs/utils/hook/applyHook.md +64 -64
  103. package/docs/utils/index.md +47 -47
  104. package/docs/utils/notification/addNotification.md +28 -28
  105. package/docs/utils/notification/notification.md +41 -41
  106. package/docs/utils/pg/autoIndex.md +22 -22
  107. package/docs/utils/pg/getMeta.md +58 -58
  108. package/docs/utils/pg/getPG.md +34 -34
  109. package/docs/utils/pg/init.md +29 -29
  110. package/docs/utils/pg/pg.md +70 -70
  111. package/docs/utils/redis/getRedis.md +36 -36
  112. package/docs/utils/redis/rclient.md +74 -74
  113. package/docs/utils/table/getForm.md +68 -68
  114. package/docs/utils/table/getMeta.md +55 -55
  115. package/docs/utils/table/getSelect.md +38 -38
  116. package/docs/utils/table/getSelectMeta.md +46 -46
  117. package/docs/utils/table/getTable.md +77 -77
  118. package/helper.js +30 -30
  119. package/index.js +105 -105
  120. package/migration/exec.migrations.js +79 -79
  121. package/module/core/select/core.user_mentioned.sql +1 -1
  122. package/module/test/cls/itree.composition.json +25 -25
  123. package/module/test/table/test.rest_zone.table.json +265 -265
  124. package/notification/controllers/readNotifications.js +30 -30
  125. package/notification/controllers/testEmail.js +50 -50
  126. package/notification/controllers/userNotifications.js +64 -64
  127. package/notification/funcs/addNotification.js +21 -21
  128. package/notification/funcs/sendNotification.js +112 -112
  129. package/package.json +41 -41
  130. package/pg/funcs/getMeta.js +29 -29
  131. package/pg/funcs/getPG.js +30 -30
  132. package/pg/pgClients.js +20 -20
  133. package/policy/funcs/checkPolicy.js +92 -92
  134. package/policy/funcs/sqlInjection.js +33 -33
  135. package/policy/index.js +14 -14
  136. package/redis/client.js +8 -8
  137. package/redis/funcs/getRedis.js +23 -23
  138. package/redis/funcs/redisClients.js +2 -2
  139. package/redis/index.js +19 -19
  140. package/server/migrations/0.sql +78 -78
  141. package/server/migrations/cls.sql +39 -39
  142. package/server/migrations/log.sql +80 -80
  143. package/server/migrations/properties.sql +144 -144
  144. package/server/migrations/roles.sql +172 -166
  145. package/server/migrations/users.sql +168 -168
  146. package/server.js +26 -26
  147. package/table/controllers/data.js +150 -150
  148. package/table/controllers/filter.js +50 -50
  149. package/table/controllers/form.js +42 -42
  150. package/table/controllers/search.js +80 -80
  151. package/table/controllers/suggest.js +79 -79
  152. package/table/controllers/table.js +83 -83
  153. package/table/controllers/utils/addTemplateDir.js +8 -8
  154. package/table/controllers/utils/getSelect.js +19 -19
  155. package/table/controllers/utils/getSelectMeta.js +66 -66
  156. package/table/controllers/utils/getTemplate_old.js +28 -28
  157. package/table/controllers/utils/getTemplates.js +18 -18
  158. package/table/controllers/utils/gisIRColumn.js +67 -67
  159. package/table/controllers/utils/loadTemplate.js +1 -1
  160. package/table/controllers/utils/loadTemplatePath.js +1 -1
  161. package/table/controllers/utils/userTemplateDir.js +1 -1
  162. package/table/funcs/getFilterSQL/index.js +94 -94
  163. package/table/funcs/getFilterSQL/util/formatValue.js +170 -170
  164. package/table/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
  165. package/table/funcs/getFilterSQL/util/getFilterQuery.js +66 -66
  166. package/table/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
  167. package/table/funcs/getFilterSQL/util/getTableSql.js +34 -34
  168. package/table/funcs/metaFormat/getSelectVal.js +21 -21
  169. package/table/funcs/metaFormat/index.js +28 -28
  170. package/table/index.js +37 -37
  171. package/table/schema.js +54 -54
  172. package/test/api/applyHook.test.js +95 -95
  173. package/test/api/crud.test.js +89 -89
  174. package/test/api/crud.xss.test.js +80 -80
  175. package/test/api/suggest.test.js +66 -66
  176. package/test/api/table.test.js +134 -134
  177. package/test/api/user.test.js +85 -85
  178. package/test/api/widget.test.js +117 -117
  179. package/test/config.example +18 -18
  180. package/test/funcs/pg.test.js +34 -34
  181. package/test/funcs/redis.test.js +19 -19
  182. package/test/helper/formatDate.test.js +62 -62
  183. package/test/templates/cls/test.json +9 -9
  184. package/test/templates/form/cp_building.form.json +32 -32
  185. package/test/templates/select/account_id.json +3 -3
  186. package/test/templates/select/storage.data.json +2 -2
  187. package/test/templates/select/test.storage.data.json +3 -3
  188. package/test/templates/select/test.suggest.ato_new.json +3 -3
  189. package/test/templates/select/test.suggest.ato_new.sql +25 -25
  190. package/test/templates/select/test.suggest.data.json +4 -4
  191. package/test/templates/select/test.suggest.parent.sql +1 -1
  192. package/test/templates/table/gis.dataset.table.json +20 -20
  193. package/user/controllers/user.cls.id.js +14 -14
  194. package/user/controllers/user.cls.js +75 -75
  195. package/user/controllers/user.cls.post.js +55 -55
  196. package/user/controllers/user.info.js +21 -21
  197. package/util/controllers/logger.file.js +91 -91
  198. package/util/controllers/next.id.js +4 -4
  199. package/util/controllers/properties.add.js +60 -60
  200. package/util/controllers/properties.get.js +19 -19
  201. package/util/controllers/status.monitor.js +8 -8
  202. package/util/controllers/utils/checkUserAccess.js +17 -17
  203. package/util/controllers/utils/getRootDir.js +25 -25
  204. package/util/index.js +23 -23
  205. package/utils.js +104 -104
  206. package/widget/controllers/utils/historyFormat.js +76 -76
  207. package/widget/controllers/utils/obj2db.js +13 -13
  208. package/widget/controllers/widget.del.js +44 -44
  209. package/widget/controllers/widget.get.js +102 -102
  210. package/widget/controllers/widget.set.js +79 -79
  211. package/widget/index.js +40 -40
@@ -1,123 +1,123 @@
1
- # `GET` Search
2
-
3
- ## Опис
4
-
5
- Пошук даних по тексту з таблиці
6
-
7
- ```example
8
- /api/search?table=gis.dataset.table&key=1
9
- ```
10
-
11
- Пошук за текстом виконується через параметр `key`
12
-
13
- Для коректної роботи пошуку по тексту необхідно внести зміни до шаблону таблиці
14
-
15
- * meta.search - колонка для пошуку за текстом
16
- * meta.title - колонка title
17
- * meta.href - посилання на картку, підтримує handlebars
18
-
19
- Приклад налаштування шаблону таблиці:
20
-
21
- ```json
22
- {
23
- "meta": {
24
- "search": "short_ukr",
25
- "title": "short_ukr",
26
- "href": "/gis.dataset.table/{{id}}"
27
- }
28
- }
29
-
30
- ```
31
-
32
- ## Параметри
33
-
34
- ```scheme-api
35
- /api/search?table=&key=
36
- ```
37
-
38
- | Назва | Тип | Опис |
39
- | ----- | ------ | ------------- |
40
- | table | String | Таблиця |
41
- | key | String | Текст для пошуку |
42
- | sql | Number | Повернути sql запит |
43
- | order | String | Колонка порядку виведення даних |
44
- | desc | Number | Порядок виведення даних |
45
- | page | Number | Сторінка |
46
- | limit | String | Ліміт |
47
-
48
- ## Відповідь
49
-
50
- ::: tabs
51
-
52
- ==Пошук по таблиці
53
- ::: details Приклад
54
-
55
- ```html
56
- /api/search?table=green_space.table&page=3&limit=5&order=cdate&desc=1
57
- ```
58
-
59
- Відповідь:
60
-
61
- ```json
62
- {
63
- "time": 3200,
64
- "total": 1,
65
- "rows": [
66
- {
67
- "id": "3214755775570248945",
68
- "title": "000085",
69
- "register": "green_space.table",
70
- "register_title": "Зелені насадження",
71
- "href": "/green_space.table/3214755775570248945"
72
- }
73
- ]
74
- }
75
- ```
76
-
77
- ==Наскрізний пошук
78
- ::: details Приклад
79
-
80
- ```html
81
- /api/search?page=3&limit=5&order=cdate&desc=1
82
- ```
83
-
84
- Відповідь:
85
-
86
- ```json
87
- {
88
- "time": 70,
89
- "total": 143,
90
- "count": 5,
91
- "rows": [
92
- {
93
- "id": "3379389662576510425",
94
- "title": "000135",
95
- "register": "green_space.table",
96
- "register_title": "Зелені насадження",
97
- "href": "/green_space.table/3379389662576510425"
98
- },
99
- {
100
- "id": "3243156228318169040",
101
- "title": "000115",
102
- "register": "itree.invent_greenspace.table",
103
- "register_title": "Інвентарізація зелених насаджень"
104
- }
105
- ]
106
- }
107
- ```
108
-
109
- ==404
110
-
111
- ```text
112
- not found
113
- ```
114
-
115
- :::
116
-
117
- ## Статус коди
118
-
119
- | Ключ | Опис |
120
- | ---------------------------------------------------------- | ----------------------------------------- |
121
- | <Badge type="code_2xx" text="200" /> Success | Успішний запит |
122
- | <Badge type="code_4xx" text="404" /> Not Found | Інформації не знайдено |
123
- | <Badge type="code_5xx" text="500" /> Internal Server Error | Помилка на стороні сервера |
1
+ # `GET` Search
2
+
3
+ ## Опис
4
+
5
+ Пошук даних по тексту з таблиці
6
+
7
+ ```example
8
+ /api/search?table=gis.dataset.table&key=1
9
+ ```
10
+
11
+ Пошук за текстом виконується через параметр `key`
12
+
13
+ Для коректної роботи пошуку по тексту необхідно внести зміни до шаблону таблиці
14
+
15
+ * meta.search - колонка для пошуку за текстом
16
+ * meta.title - колонка title
17
+ * meta.href - посилання на картку, підтримує handlebars
18
+
19
+ Приклад налаштування шаблону таблиці:
20
+
21
+ ```json
22
+ {
23
+ "meta": {
24
+ "search": "short_ukr",
25
+ "title": "short_ukr",
26
+ "href": "/gis.dataset.table/{{id}}"
27
+ }
28
+ }
29
+
30
+ ```
31
+
32
+ ## Параметри
33
+
34
+ ```scheme-api
35
+ /api/search?table=&key=
36
+ ```
37
+
38
+ | Назва | Тип | Опис |
39
+ | ----- | ------ | ------------- |
40
+ | table | String | Таблиця |
41
+ | key | String | Текст для пошуку |
42
+ | sql | Number | Повернути sql запит |
43
+ | order | String | Колонка порядку виведення даних |
44
+ | desc | Number | Порядок виведення даних |
45
+ | page | Number | Сторінка |
46
+ | limit | String | Ліміт |
47
+
48
+ ## Відповідь
49
+
50
+ ::: tabs
51
+
52
+ ==Пошук по таблиці
53
+ ::: details Приклад
54
+
55
+ ```html
56
+ /api/search?table=green_space.table&page=3&limit=5&order=cdate&desc=1
57
+ ```
58
+
59
+ Відповідь:
60
+
61
+ ```json
62
+ {
63
+ "time": 3200,
64
+ "total": 1,
65
+ "rows": [
66
+ {
67
+ "id": "3214755775570248945",
68
+ "title": "000085",
69
+ "register": "green_space.table",
70
+ "register_title": "Зелені насадження",
71
+ "href": "/green_space.table/3214755775570248945"
72
+ }
73
+ ]
74
+ }
75
+ ```
76
+
77
+ ==Наскрізний пошук
78
+ ::: details Приклад
79
+
80
+ ```html
81
+ /api/search?page=3&limit=5&order=cdate&desc=1
82
+ ```
83
+
84
+ Відповідь:
85
+
86
+ ```json
87
+ {
88
+ "time": 70,
89
+ "total": 143,
90
+ "count": 5,
91
+ "rows": [
92
+ {
93
+ "id": "3379389662576510425",
94
+ "title": "000135",
95
+ "register": "green_space.table",
96
+ "register_title": "Зелені насадження",
97
+ "href": "/green_space.table/3379389662576510425"
98
+ },
99
+ {
100
+ "id": "3243156228318169040",
101
+ "title": "000115",
102
+ "register": "itree.invent_greenspace.table",
103
+ "register_title": "Інвентарізація зелених насаджень"
104
+ }
105
+ ]
106
+ }
107
+ ```
108
+
109
+ ==404
110
+
111
+ ```text
112
+ not found
113
+ ```
114
+
115
+ :::
116
+
117
+ ## Статус коди
118
+
119
+ | Ключ | Опис |
120
+ | ---------------------------------------------------------- | ----------------------------------------- |
121
+ | <Badge type="code_2xx" text="200" /> Success | Успішний запит |
122
+ | <Badge type="code_4xx" text="404" /> Not Found | Інформації не знайдено |
123
+ | <Badge type="code_5xx" text="500" /> Internal Server Error | Помилка на стороні сервера |
@@ -1,156 +1,156 @@
1
- # `GET` Suggest
2
-
3
- ## Опис
4
-
5
- Повертає інформацію за запитом
6
-
7
- ```example
8
- /api/suggest/test
9
- ```
10
-
11
- ## Параметри
12
-
13
- ```scheme-api
14
- /api/suggest/:data?name={name}&lang={lang}&sel={sel}
15
- ```
16
-
17
- :::tabs
18
-
19
- == params
20
-
21
- | Назва | Тип | Опис |
22
- | ----- | ------ | ---- |
23
- | data | String | Дані |
24
-
25
- == query
26
-
27
- | Назва | Тип | Опис |
28
- | ----- | ------ | ------ |
29
- | name | String | Назва |
30
- | lang | String | Мова |
31
- | sel | String | Селект |
32
- | json | Number | Результат у вигляді об'єкту (за замовчуванням - масив) |
33
-
34
- :::
35
-
36
- ## Приклади
37
-
38
- ::: tabs
39
-
40
- ==200 Результат у вигляді масиву
41
-
42
- ### Запит
43
-
44
- ```txt
45
- /api/suggest/data_parcel.object_type
46
- ```
47
-
48
- ### Відповідь
49
-
50
- ```json
51
- [
52
- {
53
- "id": "1",
54
- "text": "Теплиця",
55
- "color": "orange"
56
- },
57
- {
58
- "id": "2",
59
- "text": "Сад",
60
- "color": "green"
61
- }
62
- ]
63
- ```
64
-
65
- ==200 Результат у вигляді об'єкту
66
-
67
- ### Запит
68
-
69
- ```txt
70
- /api/suggest/data_parcel.object_type?json=1
71
- ```
72
-
73
- ### Відповідь
74
-
75
- ```json
76
- {
77
- "limit": 50,
78
- "count": 2,
79
- "mode": "array",
80
- "time": 1,
81
- "data": [
82
- {
83
- "id": "1",
84
- "text": "Теплиця",
85
- "color": "orange"
86
- },
87
- {
88
- "id": "2",
89
- "text": "Сад",
90
- "color": "green"
91
- }
92
- ]
93
- }
94
-
95
- ```
96
-
97
- ==200 Передача шаблону таблиці та колонки
98
-
99
- ### Запит
100
-
101
- ```txt
102
- /api/suggest/site.prc.parcel_object.table:frame_type?json=1
103
- ```
104
-
105
- ### Відповідь
106
-
107
- ```json
108
- {
109
- "time": 4,
110
- "count": 5,
111
- "total": null,
112
- "mode": "sql",
113
- "sql": "with c(id,text) as (select row_number() over(), frame_type from data_parcel.parcel_object group by frame_type ) select * from c where id is not null limit 50",
114
- "data": [
115
- {
116
- "id": "1",
117
- "text": "Металевий збірний"
118
- },
119
- {
120
- "id": "2",
121
- "text": "Металевий (стальний), збірний"
122
- },
123
- {
124
- "id": "3",
125
- "text": "Металевий, збірний"
126
- }
127
- ]
128
- }
129
-
130
- ```
131
-
132
-
133
-
134
-
135
- ==400
136
-
137
- ```text
138
- name is required
139
- ```
140
-
141
- ==404
142
-
143
- ```text
144
- Not found query select
145
- ```
146
-
147
- :::
148
-
149
- ## Статус коди
150
-
151
- | Ключ | Опис |
152
- | ---------------------------------------------------------- | ----------------------------------------- |
153
- | <Badge type="code_2xx" text="200" /> Success | Успішний запит |
154
- | <Badge type="code_4xx" text="400" /> Bad Request | Неправильно сформований запит від клієнта |
155
- | <Badge type="code_4xx" text="404" /> Not Found | Інформації не знайдено |
156
- | <Badge type="code_5xx" text="500" /> Internal Server Error | Помилка на стороні сервера |
1
+ # `GET` Suggest
2
+
3
+ ## Опис
4
+
5
+ Повертає інформацію за запитом
6
+
7
+ ```example
8
+ /api/suggest/test
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ```scheme-api
14
+ /api/suggest/:data?name={name}&lang={lang}&sel={sel}
15
+ ```
16
+
17
+ :::tabs
18
+
19
+ == params
20
+
21
+ | Назва | Тип | Опис |
22
+ | ----- | ------ | ---- |
23
+ | data | String | Дані |
24
+
25
+ == query
26
+
27
+ | Назва | Тип | Опис |
28
+ | ----- | ------ | ------ |
29
+ | name | String | Назва |
30
+ | lang | String | Мова |
31
+ | sel | String | Селект |
32
+ | json | Number | Результат у вигляді об'єкту (за замовчуванням - масив) |
33
+
34
+ :::
35
+
36
+ ## Приклади
37
+
38
+ ::: tabs
39
+
40
+ ==200 Результат у вигляді масиву
41
+
42
+ ### Запит
43
+
44
+ ```txt
45
+ /api/suggest/data_parcel.object_type
46
+ ```
47
+
48
+ ### Відповідь
49
+
50
+ ```json
51
+ [
52
+ {
53
+ "id": "1",
54
+ "text": "Теплиця",
55
+ "color": "orange"
56
+ },
57
+ {
58
+ "id": "2",
59
+ "text": "Сад",
60
+ "color": "green"
61
+ }
62
+ ]
63
+ ```
64
+
65
+ ==200 Результат у вигляді об'єкту
66
+
67
+ ### Запит
68
+
69
+ ```txt
70
+ /api/suggest/data_parcel.object_type?json=1
71
+ ```
72
+
73
+ ### Відповідь
74
+
75
+ ```json
76
+ {
77
+ "limit": 50,
78
+ "count": 2,
79
+ "mode": "array",
80
+ "time": 1,
81
+ "data": [
82
+ {
83
+ "id": "1",
84
+ "text": "Теплиця",
85
+ "color": "orange"
86
+ },
87
+ {
88
+ "id": "2",
89
+ "text": "Сад",
90
+ "color": "green"
91
+ }
92
+ ]
93
+ }
94
+
95
+ ```
96
+
97
+ ==200 Передача шаблону таблиці та колонки
98
+
99
+ ### Запит
100
+
101
+ ```txt
102
+ /api/suggest/site.prc.parcel_object.table:frame_type?json=1
103
+ ```
104
+
105
+ ### Відповідь
106
+
107
+ ```json
108
+ {
109
+ "time": 4,
110
+ "count": 5,
111
+ "total": null,
112
+ "mode": "sql",
113
+ "sql": "with c(id,text) as (select row_number() over(), frame_type from data_parcel.parcel_object group by frame_type ) select * from c where id is not null limit 50",
114
+ "data": [
115
+ {
116
+ "id": "1",
117
+ "text": "Металевий збірний"
118
+ },
119
+ {
120
+ "id": "2",
121
+ "text": "Металевий (стальний), збірний"
122
+ },
123
+ {
124
+ "id": "3",
125
+ "text": "Металевий, збірний"
126
+ }
127
+ ]
128
+ }
129
+
130
+ ```
131
+
132
+
133
+
134
+
135
+ ==400
136
+
137
+ ```text
138
+ name is required
139
+ ```
140
+
141
+ ==404
142
+
143
+ ```text
144
+ Not found query select
145
+ ```
146
+
147
+ :::
148
+
149
+ ## Статус коди
150
+
151
+ | Ключ | Опис |
152
+ | ---------------------------------------------------------- | ----------------------------------------- |
153
+ | <Badge type="code_2xx" text="200" /> Success | Успішний запит |
154
+ | <Badge type="code_4xx" text="400" /> Bad Request | Неправильно сформований запит від клієнта |
155
+ | <Badge type="code_4xx" text="404" /> Not Found | Інформації не знайдено |
156
+ | <Badge type="code_5xx" text="500" /> Internal Server Error | Помилка на стороні сервера |