@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,162 +1,162 @@
1
- ---
2
- title: Таблиця
3
- ---
4
-
5
- # Таблиця
6
-
7
- Використовується для виводу інформації з бази даних. В папці `server/templates/table`
8
-
9
- ::: info
10
- Рекомендовано створювати окремі таблиці для виводу інформації до адміністративної, публічної частини та для виводу об'єктів на карту
11
- :::
12
-
13
- ## Основні параметри **таблиці**
14
-
15
- Таблиця формується у форматі `.json` та має бути розташована у відповідній папці `templates/table/{file}.json`
16
-
17
- Нижче наведено приклад файлу таблиці інтерфейсу:
18
-
19
- ``` json
20
- {
21
- "table": "billing.service", // Таблиця БД, з якої беруться дані
22
- "query": "service_name is not null", // Фільтрування даних
23
- "sqlColumns": "*", // Віддає у об'єкті rows усі колонки із таблиці, використовується коли треба кастомну компоненту вивести як колонку в таблиці, щоб у цю компоненту передати усі колонки таблиці, і їх не прописувати в масиві columns
24
-
25
- "order": "cdate", // колонка для сортування
26
-
27
- "key": "service_id", // ID таблиці БД
28
-
29
- "limit": 5, // Обмеження по кількості об'єктів
30
-
31
- "form": "web.customize_menu.form", // Форма
32
-
33
- "columns": [ // Колонки таблиці та їхні налаштування
34
- {
35
- "ua": "Назва", // Назва для відображення користувачам
36
- "meta": "title", // Тип стандартизованого поля
37
- "format": "text", // Тип даних
38
- "name": "service_name", // Колонка таблиці Бд
39
- "data": "service_name_cls", // Назва класифікатора/селекта
40
- },
41
- {
42
- "ua": "Контактні дані", // Заголовок колонки
43
- "name": "email", // Колонка таблиці із цього шаблону
44
- "format": "custom", // Форматування даних
45
- "componentName": "admin-users-contacts" //Кастомна компонента vue для колонки
46
- }
47
- ],
48
-
49
- "filterList": [ // Фільтри таблиці
50
- {
51
- "ua": "Назва", // Підпис фільтру
52
- "name": "service_name", // Колонка таблиці
53
- "type": "Check" // Тип фільтру
54
- }
55
- ],
56
-
57
- "filterInline": [ // Фільтри таблиці
58
- {
59
- "ua": "Назва", // Підпис фільтру
60
- "name": "service_name", // Колонка таблиці
61
- "type": "Check" // Тип фільтру
62
- }
63
- ],
64
-
65
- "filterState": [ // Фільтри статусу
66
- {
67
- "sql": "status=1", // sql
68
- "name": "archive", // назва ключ або номер 1
69
- "ua": "Підпис", // підпис
70
- }
71
- ],
72
-
73
- "filterCustom": [ // Фільтри користувача
74
- {
75
- "sql": "status=1", // Підпис фільтру
76
- "name": "archive", // ключ або номер 1
77
- "ua": "Підпис", // підпис
78
- }
79
- ],
80
-
81
- "meta":{
82
- "cls": {
83
- "service_id": "billing.service_id",
84
- "service_status": "billing.service_status"
85
- }, // присвоєння колонкам класифікаторів для виведення даних (альтернатива columns)
86
- "bbox": "geom", // колонка для пошуку по BBOX
87
- "search":"name,address", // колоноки, за якими відбувається пошук
88
- "title":"service_name", // колонка статус
89
- "key":"service_key", // колонка ключ / code
90
- "status":"service_status", // колонка статус
91
- "type":"service_type", // колонка тип
92
- "address":"address", // колонки адрес
93
- "image":"image" // аватар, іконка і т.д.
94
- }
95
- }
96
- ```
97
-
98
- - [Детально про фільтри](./filters.md)
99
-
100
- ## Format
101
-
102
- | Формат | Опис |
103
- | ------------------------ | --------------- |
104
- | text | по замовчюванню |
105
- | select | з класифікатора |
106
- | tags | у вигляді label |
107
- | badge | label з кольором |
108
- | age | час |
109
- | html | свій шаблон |
110
- | number | число |
111
- | boolean | switcher |
112
-
113
- ::: details Основні параметри **колонки**
114
-
115
- - `ua` - Назва українською для відображення користувачам
116
- - `format` - тип даних. Допустимі значення: `text`, `select`, `age`, `date`, `html`, `boolean`, `geom`, badge, tags, `number`
117
- - `meta` - стандартизоване поле. Допустимі значення: `key`, `title`, `status`, `description`, `type`, category, `image`, `priority`, `teaser`, `start`, `end`, `deadline`, `address`
118
- - `hidden` - приховати колонку зі стандартного вигляду. Допустимі значення: `true`, `false`
119
- - `editable` - швидке редагування значення поля. Допустимі значення: `true`, `false`
120
- - `data` - довідник, з якого беруться значення даних по колонці. Вказується назва селекту чи класифікатора.
121
-
122
- :::
123
-
124
- :::details Поле meta (стандартизоване поле)
125
-
126
- Застосовуються для поля **meta**. Полегшують вивід даних в компоненти за даними від API.
127
-
128
- Також може визначатися автоматично - за назвами колонок.
129
-
130
- Перелік полів meta:
131
-
132
- 1. `key` - Код / номер
133
- 2. `title` - Назва
134
- 3. `status` - Статус
135
- 4. `description` - Повний опис
136
- 5. `type` - Тип
137
- 6. `category` - Категорія/Розділ
138
- 7. `image` - Зображення
139
- 8. `priority` - Пріоритет
140
- 9. `teaser` - Короткий опис
141
- 10. `start` - Дата початку
142
- 11. `end` - Дата закінчення
143
- 12. `deadline` - Дедлайн (очікувана дата завершення)
144
- 13. `address` - Адреса
145
- 14. `bbox` - BBOX
146
- 15. `cls` - Форматування даних за доп. класифікаторів
147
-
148
- :::
149
-
150
- :::details Службові колонки
151
-
152
- При створенні таблиці потрібно створювати службові колонки:
153
-
154
- | Підпис колонки | Назва | Тип |
155
- | ------------------------------------------- | --------------- | ---------------------------------- |
156
- | Дата створення | cdate | date_trunc('seconds'::text, now()) |
157
- | Користувач, що востаннє відредагував об'єкт | editor_id | text |
158
- | Дата редагування | editor_date | timestamp without time zone |
159
- | Файли | files | json |
160
- | Користувач, який створив | uid | text |
161
-
162
- :::
1
+ ---
2
+ title: Таблиця
3
+ ---
4
+
5
+ # Таблиця
6
+
7
+ Використовується для виводу інформації з бази даних. В папці `server/templates/table`
8
+
9
+ ::: info
10
+ Рекомендовано створювати окремі таблиці для виводу інформації до адміністративної, публічної частини та для виводу об'єктів на карту
11
+ :::
12
+
13
+ ## Основні параметри **таблиці**
14
+
15
+ Таблиця формується у форматі `.json` та має бути розташована у відповідній папці `templates/table/{file}.json`
16
+
17
+ Нижче наведено приклад файлу таблиці інтерфейсу:
18
+
19
+ ``` json
20
+ {
21
+ "table": "billing.service", // Таблиця БД, з якої беруться дані
22
+ "query": "service_name is not null", // Фільтрування даних
23
+ "sqlColumns": "*", // Віддає у об'єкті rows усі колонки із таблиці, використовується коли треба кастомну компоненту вивести як колонку в таблиці, щоб у цю компоненту передати усі колонки таблиці, і їх не прописувати в масиві columns
24
+
25
+ "order": "cdate", // колонка для сортування
26
+
27
+ "key": "service_id", // ID таблиці БД
28
+
29
+ "limit": 5, // Обмеження по кількості об'єктів
30
+
31
+ "form": "web.customize_menu.form", // Форма
32
+
33
+ "columns": [ // Колонки таблиці та їхні налаштування
34
+ {
35
+ "ua": "Назва", // Назва для відображення користувачам
36
+ "meta": "title", // Тип стандартизованого поля
37
+ "format": "text", // Тип даних
38
+ "name": "service_name", // Колонка таблиці Бд
39
+ "data": "service_name_cls", // Назва класифікатора/селекта
40
+ },
41
+ {
42
+ "ua": "Контактні дані", // Заголовок колонки
43
+ "name": "email", // Колонка таблиці із цього шаблону
44
+ "format": "custom", // Форматування даних
45
+ "componentName": "admin-users-contacts" //Кастомна компонента vue для колонки
46
+ }
47
+ ],
48
+
49
+ "filterList": [ // Фільтри таблиці
50
+ {
51
+ "ua": "Назва", // Підпис фільтру
52
+ "name": "service_name", // Колонка таблиці
53
+ "type": "Check" // Тип фільтру
54
+ }
55
+ ],
56
+
57
+ "filterInline": [ // Фільтри таблиці
58
+ {
59
+ "ua": "Назва", // Підпис фільтру
60
+ "name": "service_name", // Колонка таблиці
61
+ "type": "Check" // Тип фільтру
62
+ }
63
+ ],
64
+
65
+ "filterState": [ // Фільтри статусу
66
+ {
67
+ "sql": "status=1", // sql
68
+ "name": "archive", // назва ключ або номер 1
69
+ "ua": "Підпис", // підпис
70
+ }
71
+ ],
72
+
73
+ "filterCustom": [ // Фільтри користувача
74
+ {
75
+ "sql": "status=1", // Підпис фільтру
76
+ "name": "archive", // ключ або номер 1
77
+ "ua": "Підпис", // підпис
78
+ }
79
+ ],
80
+
81
+ "meta":{
82
+ "cls": {
83
+ "service_id": "billing.service_id",
84
+ "service_status": "billing.service_status"
85
+ }, // присвоєння колонкам класифікаторів для виведення даних (альтернатива columns)
86
+ "bbox": "geom", // колонка для пошуку по BBOX
87
+ "search":"name,address", // колоноки, за якими відбувається пошук
88
+ "title":"service_name", // колонка статус
89
+ "key":"service_key", // колонка ключ / code
90
+ "status":"service_status", // колонка статус
91
+ "type":"service_type", // колонка тип
92
+ "address":"address", // колонки адрес
93
+ "image":"image" // аватар, іконка і т.д.
94
+ }
95
+ }
96
+ ```
97
+
98
+ - [Детально про фільтри](./filters.md)
99
+
100
+ ## Format
101
+
102
+ | Формат | Опис |
103
+ | ------------------------ | --------------- |
104
+ | text | по замовчюванню |
105
+ | select | з класифікатора |
106
+ | tags | у вигляді label |
107
+ | badge | label з кольором |
108
+ | age | час |
109
+ | html | свій шаблон |
110
+ | number | число |
111
+ | boolean | switcher |
112
+
113
+ ::: details Основні параметри **колонки**
114
+
115
+ - `ua` - Назва українською для відображення користувачам
116
+ - `format` - тип даних. Допустимі значення: `text`, `select`, `age`, `date`, `html`, `boolean`, `geom`, badge, tags, `number`
117
+ - `meta` - стандартизоване поле. Допустимі значення: `key`, `title`, `status`, `description`, `type`, category, `image`, `priority`, `teaser`, `start`, `end`, `deadline`, `address`
118
+ - `hidden` - приховати колонку зі стандартного вигляду. Допустимі значення: `true`, `false`
119
+ - `editable` - швидке редагування значення поля. Допустимі значення: `true`, `false`
120
+ - `data` - довідник, з якого беруться значення даних по колонці. Вказується назва селекту чи класифікатора.
121
+
122
+ :::
123
+
124
+ :::details Поле meta (стандартизоване поле)
125
+
126
+ Застосовуються для поля **meta**. Полегшують вивід даних в компоненти за даними від API.
127
+
128
+ Також може визначатися автоматично - за назвами колонок.
129
+
130
+ Перелік полів meta:
131
+
132
+ 1. `key` - Код / номер
133
+ 2. `title` - Назва
134
+ 3. `status` - Статус
135
+ 4. `description` - Повний опис
136
+ 5. `type` - Тип
137
+ 6. `category` - Категорія/Розділ
138
+ 7. `image` - Зображення
139
+ 8. `priority` - Пріоритет
140
+ 9. `teaser` - Короткий опис
141
+ 10. `start` - Дата початку
142
+ 11. `end` - Дата закінчення
143
+ 12. `deadline` - Дедлайн (очікувана дата завершення)
144
+ 13. `address` - Адреса
145
+ 14. `bbox` - BBOX
146
+ 15. `cls` - Форматування даних за доп. класифікаторів
147
+
148
+ :::
149
+
150
+ :::details Службові колонки
151
+
152
+ При створенні таблиці потрібно створювати службові колонки:
153
+
154
+ | Підпис колонки | Назва | Тип |
155
+ | ------------------------------------------- | --------------- | ---------------------------------- |
156
+ | Дата створення | cdate | date_trunc('seconds'::text, now()) |
157
+ | Користувач, що востаннє відредагував об'єкт | editor_id | text |
158
+ | Дата редагування | editor_date | timestamp without time zone |
159
+ | Файли | files | json |
160
+ | Користувач, який створив | uid | text |
161
+
162
+ :::
@@ -1,29 +1,29 @@
1
- # addCron
2
-
3
- ## Опис
4
-
5
- Додає планувальник
6
-
7
- ## Параметри
8
-
9
- ```js
10
- import updateParcelObjectGeometry from './cron/updateParcelObjectGeometry.js';
11
-
12
- export default async function app(fastify, opts) {
13
- // cron after core init
14
- fastify.addHook('onReady', () => {
15
- fastify.addCron(updateParcelObjectGeometry, 60 * 60 * 24, fastify);
16
- });
17
- }
18
- ```
19
-
20
- :::tabs
21
- == params
22
-
23
- | Параметр | Тип | Опис |
24
- | -------- | --------------- | ------------------------------------------------- |
25
- | func | Object | Функція, яка буде викликатись планувальником |
26
- | interval | String / Number | Інтервал часу між запусками |
27
- | fastify | Object | Передача параметрів, в т.ч. funcs, log, config |
28
-
29
- :::
1
+ # addCron
2
+
3
+ ## Опис
4
+
5
+ Додає планувальник
6
+
7
+ ## Параметри
8
+
9
+ ```js
10
+ import updateParcelObjectGeometry from './cron/updateParcelObjectGeometry.js';
11
+
12
+ export default async function app(fastify, opts) {
13
+ // cron after core init
14
+ fastify.addHook('onReady', () => {
15
+ fastify.addCron(updateParcelObjectGeometry, 60 * 60 * 24, fastify);
16
+ });
17
+ }
18
+ ```
19
+
20
+ :::tabs
21
+ == params
22
+
23
+ | Параметр | Тип | Опис |
24
+ | -------- | --------------- | ------------------------------------------------- |
25
+ | func | Object | Функція, яка буде викликатись планувальником |
26
+ | interval | String / Number | Інтервал часу між запусками |
27
+ | fastify | Object | Передача параметрів, в т.ч. funcs, log, config |
28
+
29
+ :::
@@ -1,52 +1,52 @@
1
- # dataInsert
2
-
3
- ## Опис
4
-
5
- Імпорт даних у таблицю
6
-
7
- ```js
8
- dataInsert({ table, data });
9
- ```
10
-
11
- ## Параметри
12
-
13
- ::: tabs
14
- ==params
15
-
16
- | Параметр | Тип | Опис |
17
- | -------- | ------ | ------- |
18
- | table | String | Таблиця |
19
- | data | String | Дані |
20
- :::
21
-
22
- ## Приклад
23
-
24
- ```js
25
- dataInsert({
26
- table: "data_user.work", data: {
27
- type_work: "2",
28
- number_services: "25",
29
- }
30
- })
31
- ```
32
-
33
- ## Відповідь
34
-
35
- :::details Приклад відповіді
36
-
37
- ```js
38
- {
39
- id_work: "3342501119648597051",
40
- type_work: 2,
41
- date_in: null,
42
- date_out: null,
43
- number_services: "25",
44
- number_order: null,
45
- shop: null,
46
- geom: null,
47
- editor_id: null,
48
- uid: null,
49
- editor_date: null,
50
- }
51
- ```
1
+ # dataInsert
2
+
3
+ ## Опис
4
+
5
+ Імпорт даних у таблицю
6
+
7
+ ```js
8
+ dataInsert({ table, data });
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ::: tabs
14
+ ==params
15
+
16
+ | Параметр | Тип | Опис |
17
+ | -------- | ------ | ------- |
18
+ | table | String | Таблиця |
19
+ | data | String | Дані |
20
+ :::
21
+
22
+ ## Приклад
23
+
24
+ ```js
25
+ dataInsert({
26
+ table: "data_user.work", data: {
27
+ type_work: "2",
28
+ number_services: "25",
29
+ }
30
+ })
31
+ ```
32
+
33
+ ## Відповідь
34
+
35
+ :::details Приклад відповіді
36
+
37
+ ```js
38
+ {
39
+ id_work: "3342501119648597051",
40
+ type_work: 2,
41
+ date_in: null,
42
+ date_out: null,
43
+ number_services: "25",
44
+ number_order: null,
45
+ shop: null,
46
+ geom: null,
47
+ editor_id: null,
48
+ uid: null,
49
+ editor_date: null,
50
+ }
51
+ ```
52
52
  :::
@@ -1,53 +1,53 @@
1
- # dataUpdate
2
-
3
- ## Опис
4
-
5
- Оновлення даних у таблиці
6
-
7
- ```js
8
- dataUpdate({table, id, data});
9
- ```
10
-
11
- ## Параметри
12
-
13
- ::: tabs
14
- ==params
15
-
16
- | Параметр | Тип | Опис |
17
- | -------- | ------ | ------------------- |
18
- | table | String | Таблиця |
19
- | id | String | Ідентифікатор рядка |
20
- | data | Object | Дані для оновлення |
21
- :::
22
-
23
- ## Приклад
24
-
25
- ```js
26
- dataUpdate({
27
- table: 'data_user.work', id: '3342439977240757305', data: {
28
- type_work: "2",
29
- number_services: "25",
30
- }
31
- })
32
- ```
33
-
34
- ## Відповідь
35
-
36
- :::details Приклад відповіді
37
-
38
- ```js
39
- {
40
- id_work: "3342439977240757305",
41
- type_work: 2,
42
- date_in: null,
43
- date_out: null,
44
- number_services: "25",
45
- number_order: null,
46
- shop: null,
47
- geom: null,
48
- editor_id: null,
49
- uid: null,
50
- editor_date: "2024-04-09T12:22:09.000Z",
51
- }
52
- ```
1
+ # dataUpdate
2
+
3
+ ## Опис
4
+
5
+ Оновлення даних у таблиці
6
+
7
+ ```js
8
+ dataUpdate({table, id, data});
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ::: tabs
14
+ ==params
15
+
16
+ | Параметр | Тип | Опис |
17
+ | -------- | ------ | ------------------- |
18
+ | table | String | Таблиця |
19
+ | id | String | Ідентифікатор рядка |
20
+ | data | Object | Дані для оновлення |
21
+ :::
22
+
23
+ ## Приклад
24
+
25
+ ```js
26
+ dataUpdate({
27
+ table: 'data_user.work', id: '3342439977240757305', data: {
28
+ type_work: "2",
29
+ number_services: "25",
30
+ }
31
+ })
32
+ ```
33
+
34
+ ## Відповідь
35
+
36
+ :::details Приклад відповіді
37
+
38
+ ```js
39
+ {
40
+ id_work: "3342439977240757305",
41
+ type_work: 2,
42
+ date_in: null,
43
+ date_out: null,
44
+ number_services: "25",
45
+ number_order: null,
46
+ shop: null,
47
+ geom: null,
48
+ editor_id: null,
49
+ uid: null,
50
+ editor_date: "2024-04-09T12:22:09.000Z",
51
+ }
52
+ ```
53
53
  :::
@@ -1,34 +1,34 @@
1
- # getOpt
2
-
3
- ## Опис
4
-
5
- Функція призначена для отримання опцій (налаштувань) за токеном. Повертає json.
6
-
7
- ```js
8
- getOpt(token)
9
- ```
10
-
11
- ## Параметри
12
-
13
- ::: tabs
14
- ==params
15
-
16
- | Параметр | Тип | Опис |
17
- | -------- | ------ | ----- |
18
- | token | String | Токен |
19
- :::
20
-
21
- ## Приклад
22
-
23
- ```js
24
- getOpt('UfTTVsVKxBXchKlzRKIg')
25
- ```
26
-
27
- ## Відповідь
28
-
29
- :::details Приклад відповіді
30
-
31
- ```json
32
- "data_user.work"
33
- ```
1
+ # getOpt
2
+
3
+ ## Опис
4
+
5
+ Функція призначена для отримання опцій (налаштувань) за токеном. Повертає json.
6
+
7
+ ```js
8
+ getOpt(token)
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ::: tabs
14
+ ==params
15
+
16
+ | Параметр | Тип | Опис |
17
+ | -------- | ------ | ----- |
18
+ | token | String | Токен |
19
+ :::
20
+
21
+ ## Приклад
22
+
23
+ ```js
24
+ getOpt('UfTTVsVKxBXchKlzRKIg')
25
+ ```
26
+
27
+ ## Відповідь
28
+
29
+ :::details Приклад відповіді
30
+
31
+ ```json
32
+ "data_user.work"
33
+ ```
34
34
  :::