@opengis/fastify-table 1.1.49 → 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 (190) hide show
  1. package/.eslintrc.cjs +42 -42
  2. package/.gitlab-ci.yml +18 -0
  3. package/Changelog.md +352 -351
  4. package/cron/funcs/addCron.js +132 -132
  5. package/crud/controllers/deleteCrud.js +36 -31
  6. package/crud/controllers/insert.js +71 -70
  7. package/crud/controllers/update.js +76 -73
  8. package/crud/funcs/dataDelete.js +19 -19
  9. package/crud/funcs/dataInsert.js +30 -30
  10. package/crud/funcs/dataUpdate.js +48 -48
  11. package/crud/funcs/getAccess.js +46 -56
  12. package/crud/funcs/getOpt.js +10 -10
  13. package/crud/funcs/setOpt.js +16 -16
  14. package/crud/funcs/setToken.js +2 -2
  15. package/crud/funcs/utils/getFolder.js +9 -9
  16. package/crud/funcs/utils/logChanges.js +62 -62
  17. package/crud/index.js +36 -36
  18. package/docs/.vitepress/abbr.mjs +26 -26
  19. package/docs/.vitepress/config.mjs +127 -127
  20. package/docs/.vitepress/navigation.mjs +82 -82
  21. package/docs/.vitepress/theme/Layout.vue +17 -17
  22. package/docs/.vitepress/theme/components/NavigationLinks.vue +102 -102
  23. package/docs/.vitepress/theme/components/Panzoom.vue +169 -169
  24. package/docs/.vitepress/theme/index.mjs +15 -15
  25. package/docs/.vitepress/theme/style.scss +163 -163
  26. package/docs/abbr.json +4 -4
  27. package/docs/api/cron/cronApi.md +56 -56
  28. package/docs/api/crud/deleteCrud.md +58 -58
  29. package/docs/api/crud/insert.md +82 -82
  30. package/docs/api/crud/update.md +85 -85
  31. package/docs/api/index.md +47 -47
  32. package/docs/api/notification/testEmail.md +91 -91
  33. package/docs/api/table/card.md +73 -73
  34. package/docs/api/table/data.md +134 -134
  35. package/docs/api/table/export.md +60 -60
  36. package/docs/api/table/filter.md +104 -104
  37. package/docs/api/table/form.md +126 -126
  38. package/docs/api/table/search.md +123 -123
  39. package/docs/api/table/suggest.md +156 -156
  40. package/docs/api/table/table.md +107 -107
  41. package/docs/api/user/user.cls.id.md +77 -77
  42. package/docs/api/user/user.cls.md +49 -49
  43. package/docs/api/user/user.cls.post.md +62 -62
  44. package/docs/api/user/user.info.md +37 -37
  45. package/docs/api/utils/logger.file.md +60 -60
  46. package/docs/api/utils/next.id.md +34 -34
  47. package/docs/api/utils/properties.add.md +127 -127
  48. package/docs/api/utils/properties.get.md +73 -73
  49. package/docs/api/utils/status.monitor.md +36 -36
  50. package/docs/api/widget/widget.del.md +76 -76
  51. package/docs/api/widget/widget.get.md +233 -233
  52. package/docs/api/widget/widget.set.md +88 -88
  53. package/docs/db/admin.md +947 -947
  54. package/docs/db/crm.md +564 -564
  55. package/docs/db/index.md +9 -9
  56. package/docs/db/log.md +204 -204
  57. package/docs/hook/card/afterCard.md +20 -20
  58. package/docs/hook/card/preCard.md +25 -25
  59. package/docs/hook/data/afterData.md +26 -26
  60. package/docs/hook/data/preData.md +26 -26
  61. package/docs/hook/deleteCrud/afterDelete.md +21 -21
  62. package/docs/hook/deleteCrud/preDelete.md +26 -26
  63. package/docs/hook/form/afterForm.md +19 -19
  64. package/docs/hook/form/preForm.md +26 -26
  65. package/docs/hook/getTemplate/afterTemplate.md +24 -24
  66. package/docs/hook/getTemplate/preTemplate.md +29 -29
  67. package/docs/hook/index.md +45 -45
  68. package/docs/hook/insert/afterInsert.md +41 -41
  69. package/docs/hook/insert/preInsert.md +25 -25
  70. package/docs/hook/table/afterTable.md +20 -20
  71. package/docs/hook/table/preTable.md +25 -25
  72. package/docs/hook/update/afterUpdate.md +41 -41
  73. package/docs/hook/update/preUpdate.md +25 -25
  74. package/docs/index.md +42 -42
  75. package/docs/public/fastify-dark.svg +3 -3
  76. package/docs/public/logo-short-dark.svg +11 -11
  77. package/docs/public/logo-short.svg +10 -10
  78. package/docs/public/logo.svg +19 -19
  79. package/docs/readme/index.md +121 -121
  80. package/docs/templates/card.md +83 -83
  81. package/docs/templates/cls.md +29 -29
  82. package/docs/templates/filters.md +91 -91
  83. package/docs/templates/forms.md +139 -139
  84. package/docs/templates/index.md +28 -28
  85. package/docs/templates/select.md +90 -90
  86. package/docs/templates/table.md +162 -162
  87. package/docs/utils/cron/addCron.md +29 -29
  88. package/docs/utils/crud/dataInsert.md +51 -51
  89. package/docs/utils/crud/dataUpdate.md +52 -52
  90. package/docs/utils/crud/getOpt.md +33 -33
  91. package/docs/utils/crud/isFileExists.md +37 -37
  92. package/docs/utils/crud/setOpt.md +37 -37
  93. package/docs/utils/hook/addHook.md +74 -74
  94. package/docs/utils/hook/applyHook.md +64 -64
  95. package/docs/utils/index.md +47 -47
  96. package/docs/utils/notification/addNotification.md +28 -28
  97. package/docs/utils/notification/notification.md +41 -41
  98. package/docs/utils/pg/autoIndex.md +22 -22
  99. package/docs/utils/pg/getMeta.md +58 -58
  100. package/docs/utils/pg/getPG.md +34 -34
  101. package/docs/utils/pg/init.md +29 -29
  102. package/docs/utils/pg/pg.md +70 -70
  103. package/docs/utils/redis/getRedis.md +36 -36
  104. package/docs/utils/redis/rclient.md +74 -74
  105. package/docs/utils/table/getForm.md +68 -68
  106. package/docs/utils/table/getMeta.md +55 -55
  107. package/docs/utils/table/getSelect.md +38 -38
  108. package/docs/utils/table/getSelectMeta.md +46 -46
  109. package/docs/utils/table/getTable.md +77 -77
  110. package/helper.js +30 -30
  111. package/index.js +105 -105
  112. package/migration/exec.migrations.js +79 -79
  113. package/module/core/select/core.user_mentioned.sql +1 -1
  114. package/module/test/cls/itree.composition.json +25 -25
  115. package/module/test/table/test.rest_zone.table.json +265 -265
  116. package/notification/controllers/readNotifications.js +30 -30
  117. package/notification/controllers/testEmail.js +50 -50
  118. package/notification/controllers/userNotifications.js +64 -64
  119. package/notification/funcs/addNotification.js +21 -21
  120. package/notification/funcs/sendNotification.js +112 -112
  121. package/package.json +42 -41
  122. package/pg/funcs/getMeta.js +29 -29
  123. package/pg/funcs/getPG.js +30 -30
  124. package/pg/pgClients.js +20 -20
  125. package/policy/funcs/checkPolicy.js +92 -92
  126. package/policy/funcs/sqlInjection.js +33 -33
  127. package/policy/index.js +14 -14
  128. package/redis/client.js +8 -8
  129. package/redis/funcs/redisClients.js +2 -2
  130. package/redis/index.js +19 -19
  131. package/server/migrations/0.sql +78 -78
  132. package/server/migrations/cls.sql +39 -39
  133. package/server/migrations/properties.sql +144 -144
  134. package/server/migrations/roles.sql +172 -166
  135. package/server/migrations/users.sql +168 -168
  136. package/server.js +26 -26
  137. package/table/controllers/data.js +150 -134
  138. package/table/controllers/filter.js +50 -50
  139. package/table/controllers/form.js +42 -42
  140. package/table/controllers/search.js +80 -80
  141. package/table/controllers/suggest.js +79 -79
  142. package/table/controllers/table.js +83 -79
  143. package/table/controllers/utils/addTemplateDir.js +8 -8
  144. package/table/controllers/utils/getSelect.js +19 -19
  145. package/table/controllers/utils/getSelectMeta.js +66 -66
  146. package/table/controllers/utils/getTemplate_old.js +28 -28
  147. package/table/controllers/utils/getTemplates.js +18 -18
  148. package/table/controllers/utils/gisIRColumn.js +67 -67
  149. package/table/controllers/utils/loadTemplate.js +1 -1
  150. package/table/controllers/utils/loadTemplatePath.js +1 -1
  151. package/table/controllers/utils/userTemplateDir.js +1 -1
  152. package/table/funcs/getFilterSQL/index.js +94 -94
  153. package/table/funcs/getFilterSQL/util/formatValue.js +170 -170
  154. package/table/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
  155. package/table/funcs/getFilterSQL/util/getFilterQuery.js +66 -66
  156. package/table/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
  157. package/table/funcs/getFilterSQL/util/getTableSql.js +34 -34
  158. package/table/funcs/metaFormat/getSelectVal.js +21 -21
  159. package/table/funcs/metaFormat/index.js +28 -28
  160. package/table/index.js +37 -84
  161. package/table/schema.js +54 -0
  162. package/test/api/applyHook.test.js +95 -95
  163. package/test/api/crud.test.js +89 -89
  164. package/test/api/crud.xss.test.js +80 -80
  165. package/test/api/suggest.test.js +66 -66
  166. package/test/api/table.test.js +134 -134
  167. package/test/api/user.test.js +85 -85
  168. package/test/api/widget.test.js +117 -117
  169. package/test/helper/formatDate.test.js +62 -62
  170. package/test/templates/select/test.storage.data.json +3 -3
  171. package/test/templates/select/test.suggest.ato_new.json +3 -3
  172. package/test/templates/select/test.suggest.ato_new.sql +25 -25
  173. package/test/templates/select/test.suggest.data.json +4 -4
  174. package/test/templates/select/test.suggest.parent.sql +1 -1
  175. package/user/controllers/user.cls.id.js +14 -14
  176. package/user/controllers/user.cls.js +75 -75
  177. package/user/controllers/user.cls.post.js +55 -55
  178. package/user/controllers/user.info.js +21 -21
  179. package/util/controllers/logger.file.js +91 -91
  180. package/util/controllers/properties.add.js +60 -60
  181. package/util/controllers/status.monitor.js +8 -8
  182. package/util/controllers/utils/checkUserAccess.js +17 -17
  183. package/util/controllers/utils/getRootDir.js +25 -25
  184. package/utils.js +104 -104
  185. package/widget/controllers/utils/historyFormat.js +76 -76
  186. package/widget/controllers/utils/obj2db.js +13 -13
  187. package/widget/controllers/widget.del.js +44 -44
  188. package/widget/controllers/widget.get.js +102 -102
  189. package/widget/controllers/widget.set.js +79 -79
  190. package/widget/index.js +40 -40
package/docs/db/admin.md CHANGED
@@ -1,947 +1,947 @@
1
-
2
-
3
- # admin
4
-
5
- ## Схема
6
-
7
- ``` mermaid
8
- erDiagram
9
- "access - Налаштування прав. Відношення груп / окремих користувачів до шаблонів" {
10
- access_id text PK "-"
11
- route_id text FK "ID шаблона"
12
- role_id text FK "ID групи"
13
- user_uid text "ID користувача"
14
- scope text "Обмеження виведення (власні, відповідальний, всі)"
15
- actions text[] "Доступні дії"
16
- access_granted text "Ідентифікатор користувача який надав доступ"
17
- access_granted_time timestamp_without_time_zone "Час коли надали доступ"
18
- cdate timestamp_without_time_zone "Дата створення запису в БД"
19
- uid text "ідентифікатор автора запису в БД"
20
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
21
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
22
- }
23
- "cls - " {
24
- clsid text PK "-"
25
- name text "Назва"
26
- data text "SQL"
27
- type text "Тип"
28
- code text "Код"
29
- parent text "Назва батьківського об'єкту"
30
- ua text "-"
31
- en text "-"
32
- module text "Модуль"
33
- files json "Системна колонка"
34
- cdate timestamp_without_time_zone "Дата створення запису в БД"
35
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
36
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
37
- uid text "ідентифікатор автора запису в БД"
38
- icon text "Іконка"
39
- color text "Колір"
40
- }
41
- "custom_column - Налаштування таблиць користувача" {
42
- column_id text PK "-"
43
- name text "Ключ"
44
- entity text "Таблиця"
45
- title text "Підпис"
46
- format text "Формат"
47
- data text "Класифікатор"
48
- filter boolean "Виводити у фільтрах"
49
- _table boolean "Відображати у таблиці"
50
- uid text "ідентифікатор автора запису в БД"
51
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
52
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
53
- cdate timestamp_without_time_zone "Дата створення запису в БД"
54
- files json "Системна колонка"
55
- }
56
- "menu - Пункти меню" {
57
- menu_id text PK "Ідентифікатор пункту меню"
58
- name text UK "Назва пункту меню"
59
- ord numeric "Порядковий номер"
60
- enabled boolean "On / Off"
61
- uid text "ідентифікатор автора запису в БД"
62
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
63
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
64
- cdate timestamp_without_time_zone "Дата створення запису в БД"
65
- }
66
- "properties - Налаштування" {
67
- property_id text PK "-"
68
- property_entity text "Сутність"
69
- property_key text "Ключ"
70
- property_text text "Текстове значення налаштування"
71
- property_int integer "Цілочислове значения"
72
- property_json json "Значення налаштування"
73
- level text "Рівень (user/system)"
74
- object_id text "ID Об'єкту"
75
- uid text "ідентифікатор автора запису в БД"
76
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
77
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
78
- cdate timestamp_without_time_zone "Дата створення запису в БД"
79
- files json "Системна колонка"
80
- property_title text "Назва"
81
- }
82
- "roles - Групи" {
83
- role_id text PK "ID"
84
- name text "Назва групи"
85
- enabled boolean "On / Off"
86
- info text "Опис групи"
87
- cdate timestamp_without_time_zone "Дата створення запису в БД"
88
- uid text "ідентифікатор автора запису в БД"
89
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
90
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
91
- }
92
- "routes - Список інтерфейсів" {
93
- route_id text PK "Ідентифікатор інтерфейса"
94
- alias text "Назва файлу інтерфейса"
95
- table_name text "Таблиця в БД"
96
- title text "Назва інтерфейсу українською"
97
- public boolean "Ознака чи для всіх показується"
98
- menu_id text FK "Пункт меню (для collapse)"
99
- uid text "ідентифікатор автора запису в БД"
100
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
101
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
102
- cdate timestamp_without_time_zone "Дата створення запису в БД"
103
- enabled boolean "On / Off"
104
- }
105
- "table_properties - Налаштування таблиць користувача" {
106
- property_id text PK "-"
107
- property_key text "Ключ"
108
- property_type text "Тип (колонка/фільтр)"
109
- property_entity text "Сутність"
110
- property_title text "Назва"
111
- property_format text "Формат"
112
- property_data text "Класифікатор"
113
- uid text "ідентифікатор автора запису в БД"
114
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
115
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
116
- cdate timestamp_without_time_zone "Дата створення запису в БД"
117
- files json "Системна колонка"
118
- }
119
- "user_cls - Користувацькі класифікатори" {
120
- user_clsid text PK "ID"
121
- code text "Код"
122
- parent text "-"
123
- name text "Назва"
124
- icon text "Іконка"
125
- data text "-"
126
- type text "-"
127
- files json "Системна колонка"
128
- cdate timestamp_without_time_zone "Дата створення запису в БД"
129
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
130
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
131
- uid text "ідентифікатор автора запису в БД"
132
- color text "Колір"
133
- }
134
- "user_properties - Налаштування користувача" {
135
- property_id text PK "-"
136
- property_key text "Ключ"
137
- property_json json "Значення налаштування"
138
- uid text "ідентифікатор автора запису в БД"
139
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
140
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
141
- cdate timestamp_without_time_zone "Дата створення запису в БД"
142
- files json "Системна колонка"
143
- property_entity text "Сутність"
144
- property_title text "Назва"
145
- property_text text "Налаштування text"
146
- private boolean "Доступ лише для користувача, який додав дане налаштування"
147
- }
148
- "user_roles - Відношення користувачів до груп" {
149
- ugr_id text PK "-"
150
- user_uid text "ID користувача"
151
- role_id text FK "ID групи"
152
- cdate timestamp_without_time_zone "Дата створення запису в БД"
153
- uid text "ідентифікатор автора запису в БД"
154
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
155
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
156
- expiration date "закінчення терміну дії доступу до групи"
157
- access_granted text "Ідентифікатор користувача який надав доступ"
158
- access_granted_time timestamp_without_time_zone "Час коли надали доступ"
159
- }
160
- "users - Користувачі" {
161
- uid text PK "ідентифікатор автора запису в БД"
162
- login text "Логін користувача"
163
- password text "Пароль користувача"
164
- user_name text "Ім'я користувача"
165
- sur_name text "Прізвище користувача"
166
- father_name text "По-батькові користувача"
167
- email text "Ел. пошта користувача"
168
- phone text "Номер телефону користувача"
169
- avatar text "Аватар"
170
- enabled boolean "On / Off"
171
- user_personal_code text "-"
172
- last_activity_date timestamp_without_time_zone "Дата останньої активності"
173
- user_type text "Тип користувача"
174
- salt text "Сіль"
175
- cdate timestamp_without_time_zone "Дата створення запису в БД"
176
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
177
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
178
- user_rnokpp text "-"
179
- }
180
- "users_social_auth - " {
181
- users_social_auth_id text PK "-"
182
- uid text FK "ідентифікатор автора запису в БД"
183
- user_name text "Имя пользователя"
184
- sur_name text "Фамилия"
185
- email text "email пользователя"
186
- city text "Місто"
187
- phone text "Телефон"
188
- social_auth_id text "ID в соцсети"
189
- social_auth_type text "тип соцсети"
190
- social_auth_code text "код обьекта соцсети, используеться соцсетью"
191
- social_auth_obj json "обьект соцсети"
192
- social_auth_date timestamp_without_time_zone "время получение последнего обьекта соцсети"
193
- social_auth_softpro_code text "код обьекта соцсети, создаваемый и используемый сервером авторизации"
194
- enabled boolean "Выключатель"
195
- cdate timestamp_without_time_zone "Дата створення запису в БД"
196
- editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
197
- lang text "-"
198
- editor_date timestamp_without_time_zone "Час останії зміни в записі"
199
- social_auth_url text "URL для QR code"
200
- }
201
- "admin.users_social_auth - " ||--|{ "admin.users - " : ""
202
- "admin.access - " ||--|{ "admin.routes - " : ""
203
- "admin.access - " ||--|{ "admin.roles - " : ""
204
- "admin.routes - " ||--|{ "admin.menu - " : ""
205
- "admin.user_roles - " ||--|{ "admin.roles - " : ""
206
- ```
207
-
208
- **Ключі**
209
-
210
- ``` mermaid
211
- erDiagram
212
- "access - Налаштування прав. Відношення груп / окремих користувачів до шаблонів" {
213
- access_id PRIMARY_KEY
214
- route_id FOREIGN_KEY
215
- role_id FOREIGN_KEY
216
- }
217
- "cls - " {
218
- clsid PRIMARY_KEY
219
- }
220
- "custom_column - Налаштування таблиць користувача" {
221
- column_id PRIMARY_KEY
222
- }
223
- "menu - Пункти меню" {
224
- menu_id PRIMARY_KEY
225
- name UNIQUE_KEY
226
- }
227
- "properties - Налаштування" {
228
- property_id PRIMARY_KEY
229
- }
230
- "roles - Групи" {
231
- role_id PRIMARY_KEY
232
- }
233
- "routes - Список інтерфейсів" {
234
- route_id PRIMARY_KEY
235
- menu_id FOREIGN_KEY
236
- }
237
- "table_properties - Налаштування таблиць користувача" {
238
- property_id PRIMARY_KEY
239
- }
240
- "user_cls - Користувацькі класифікатори" {
241
- user_clsid PRIMARY_KEY
242
- }
243
- "user_properties - Налаштування користувача" {
244
- property_id PRIMARY_KEY
245
- }
246
- "user_roles - Відношення користувачів до груп" {
247
- ugr_id PRIMARY_KEY
248
- role_id FOREIGN_KEY
249
- }
250
- "users - Користувачі" {
251
- uid PRIMARY_KEY
252
- }
253
- "users_social_auth - " {
254
- users_social_auth_id PRIMARY_KEY
255
- uid FOREIGN_KEY
256
- }
257
- "admin.users_social_auth - " ||--|{ "admin.users - " : ""
258
- "admin.access - " ||--|{ "admin.routes - " : ""
259
- "admin.access - " ||--|{ "admin.roles - " : ""
260
- "admin.routes - " ||--|{ "admin.menu - " : ""
261
- "admin.user_roles - " ||--|{ "admin.roles - " : ""
262
- ```
263
-
264
-
265
-
266
- ## admin.access
267
-
268
- Налаштування прав. Відношення груп / окремих користувачів до шаблонів
269
-
270
- :::tabs
271
-
272
- ==table
273
-
274
- | Назва колонки | Тип | Ключ | Опис |
275
- | ---------------------- | ------------------------- | --- | ---------- |
276
- | access_id | `text` | PK | - |
277
- | route_id | `text` | FK | ID шаблона |
278
- | role_id | `text` | FK | ID групи |
279
- | user_uid | `text` | | ID користувача |
280
- | scope | `text` | | Обмеження виведення (власні, відповідальний, всі) |
281
- | actions | `text[]` | | Доступні дії |
282
- | access_granted | `text` | | Ідентифікатор користувача який надав доступ |
283
- | access_granted_time | `timestamp without time zone` | | Час коли надали доступ |
284
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
285
- | uid | `text` | | ідентифікатор автора запису в БД |
286
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
287
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
288
-
289
- ==sql
290
-
291
- ```sql
292
-
293
- CREATE TABLE admin.access
294
- (
295
- access_id text DEFAULT next_id(), -- -
296
- route_id text , -- ID шаблона
297
- role_id text , -- ID групи
298
- user_uid text , -- ID користувача
299
- scope text , -- Обмеження виведення (власні, відповідальний, всі)
300
- actions text[] , -- Доступні дії
301
- access_granted text , -- Ідентифікатор користувача який надав доступ
302
- access_granted_time timestamp without time zone , -- Час коли надали доступ
303
- cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
304
- uid text , -- ідентифікатор автора запису в БД
305
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
306
- editor_date timestamp without time zone -- Час останії зміни в записі
307
- ,
308
- CONSTRAINT admin_access_route_id_fkey FOREIGN KEY (route_id) REFERENCES admin.routes (route_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
309
- CONSTRAINT admin_access_route_id_uid_unique UNIQUE KEY (route_id,role_id,user_uid),
310
- CONSTRAINT admin_access_role_id_fkey FOREIGN KEY (role_id) REFERENCES admin.roles (role_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
311
- CONSTRAINT admin_access_id_pkey PRIMARY KEY (access_id)
312
- );
313
-
314
- ```
315
-
316
- :::
317
-
318
-
319
- ## admin.cls
320
-
321
-
322
-
323
- :::tabs
324
-
325
- ==table
326
-
327
- | Назва колонки | Тип | Ключ | Опис |
328
- | ---------------------- | ------------------------- | --- | ---------- |
329
- | clsid | `text` | PK | - |
330
- | name | `text` | | Назва |
331
- | data | `text` | | SQL |
332
- | type | `text` | | Тип |
333
- | code | `text` | | Код |
334
- | parent | `text` | | Назва батьківського об'єкту |
335
- | ua | `text` | | - |
336
- | en | `text` | | - |
337
- | module | `text` | | Модуль |
338
- | files | `json` | | Системна колонка |
339
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
340
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
341
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
342
- | uid | `text` | | ідентифікатор автора запису в БД |
343
- | icon | `text` | | Іконка |
344
- | color | `text` | | Колір |
345
-
346
- ==sql
347
-
348
- ```sql
349
-
350
- CREATE TABLE admin.cls
351
- (
352
- clsid text DEFAULT next_id(), -- -
353
- name text , -- Назва
354
- data text , -- SQL
355
- type text , -- Тип
356
- code text , -- Код
357
- parent text , -- Назва батьківського об'єкту
358
- ua text , -- -
359
- en text , -- -
360
- module text , -- Модуль
361
- files json , -- Системна колонка
362
- cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
363
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
364
- editor_date timestamp without time zone , -- Час останії зміни в записі
365
- uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
366
- icon text , -- Іконка
367
- color text -- Колір
368
- ,
369
- CONSTRAINT admin_cls_unique UNIQUE KEY (code,parent),
370
- CONSTRAINT admin_cls_pkey PRIMARY KEY (clsid)
371
- );
372
-
373
- ```
374
-
375
- :::
376
-
377
-
378
- ## admin.custom_column
379
-
380
- Налаштування таблиць користувача
381
-
382
- :::tabs
383
-
384
- ==table
385
-
386
- | Назва колонки | Тип | Ключ | Опис |
387
- | ---------------------- | ------------------------- | --- | ---------- |
388
- | column_id | `text` | PK | - |
389
- | name | `text` | | Ключ |
390
- | entity | `text` | | Таблиця |
391
- | title | `text` | | Підпис |
392
- | format | `text` | | Формат |
393
- | data | `text` | | Класифікатор |
394
- | filter | `boolean` | | Виводити у фільтрах |
395
- | _table | `boolean` | | Відображати у таблиці |
396
- | uid | `text` | | ідентифікатор автора запису в БД |
397
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
398
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
399
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
400
- | files | `json` | | Системна колонка |
401
-
402
- ==sql
403
-
404
- ```sql
405
-
406
- CREATE TABLE admin.custom_column
407
- (
408
- column_id text DEFAULT next_id(), -- -
409
- name text , -- Ключ
410
- entity text , -- Таблиця
411
- title text , -- Підпис
412
- format text , -- Формат
413
- data text , -- Класифікатор
414
- filter boolean , -- Виводити у фільтрах
415
- _table boolean , -- Відображати у таблиці
416
- uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
417
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
418
- editor_date timestamp without time zone , -- Час останії зміни в записі
419
- cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
420
- files json -- Системна колонка
421
- ,
422
- CONSTRAINT admin_custom_column_name_entity_uid_unique UNIQUE KEY (name,entity,uid),
423
- CONSTRAINT admin_custom_column_column_id_pkey PRIMARY KEY (column_id)
424
- );
425
-
426
- ```
427
-
428
- :::
429
-
430
-
431
- ## admin.menu
432
-
433
- Пункти меню
434
-
435
- :::tabs
436
-
437
- ==table
438
-
439
- | Назва колонки | Тип | Ключ | Опис |
440
- | ---------------------- | ------------------------- | --- | ---------- |
441
- | menu_id | `text` | PK | Ідентифікатор пункту меню |
442
- | name | `text` | UK | Назва пункту меню |
443
- | ord | `numeric` | | Порядковий номер |
444
- | enabled | `boolean` | | On / Off |
445
- | uid | `text` | | ідентифікатор автора запису в БД |
446
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
447
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
448
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
449
-
450
- ==sql
451
-
452
- ```sql
453
-
454
- CREATE TABLE admin.menu
455
- (
456
- menu_id text DEFAULT next_id(), -- Ідентифікатор пункту меню
457
- name text , -- Назва пункту меню
458
- ord numeric , -- Порядковий номер
459
- enabled boolean DEFAULT true, -- On / Off
460
- uid text , -- ідентифікатор автора запису в БД
461
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
462
- editor_date timestamp without time zone , -- Час останії зміни в записі
463
- cdate timestamp without time zone DEFAULT now() -- Дата створення запису в БД
464
- ,
465
- CONSTRAINT admin_menu_name_unique UNIQUE KEY (name),
466
- CONSTRAINT admin_menu_id_pkey PRIMARY KEY (menu_id)
467
- );
468
-
469
- ```
470
-
471
- :::
472
-
473
-
474
- ## admin.properties
475
-
476
- Налаштування
477
-
478
- :::tabs
479
-
480
- ==table
481
-
482
- | Назва колонки | Тип | Ключ | Опис |
483
- | ---------------------- | ------------------------- | --- | ---------- |
484
- | property_id | `text` | PK | - |
485
- | property_entity | `text` | | Сутність |
486
- | property_key | `text` | | Ключ |
487
- | property_text | `text` | | Текстове значення налаштування |
488
- | property_int | `integer` | | Цілочислове значения |
489
- | property_json | `json` | | Значення налаштування |
490
- | level | `text` | | Рівень (user/system) |
491
- | object_id | `text` | | ID Об'єкту |
492
- | uid | `text` | | ідентифікатор автора запису в БД |
493
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
494
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
495
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
496
- | files | `json` | | Системна колонка |
497
- | property_title | `text` | | Назва |
498
-
499
- ==sql
500
-
501
- ```sql
502
-
503
- CREATE TABLE admin.properties
504
- (
505
- property_id text DEFAULT next_id(), -- -
506
- property_entity text , -- Сутність
507
- property_key text , -- Ключ
508
- property_text text , -- Текстове значення налаштування
509
- property_int integer , -- Цілочислове значения
510
- property_json json , -- Значення налаштування
511
- level text , -- Рівень (user/system)
512
- object_id text , -- ID Об'єкту
513
- uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
514
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
515
- editor_date timestamp without time zone , -- Час останії зміни в записі
516
- cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
517
- files json , -- Системна колонка
518
- property_title text -- Назва
519
- ,
520
- CONSTRAINT admin_properties_property_id_pkey PRIMARY KEY (property_id)
521
- );
522
-
523
- ```
524
-
525
- :::
526
-
527
-
528
- ## admin.roles
529
-
530
- Групи
531
-
532
- :::tabs
533
-
534
- ==table
535
-
536
- | Назва колонки | Тип | Ключ | Опис |
537
- | ---------------------- | ------------------------- | --- | ---------- |
538
- | role_id | `text` | PK | ID |
539
- | name | `text` | | Назва групи |
540
- | enabled | `boolean` | | On / Off |
541
- | info | `text` | | Опис групи |
542
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
543
- | uid | `text` | | ідентифікатор автора запису в БД |
544
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
545
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
546
-
547
- ==sql
548
-
549
- ```sql
550
-
551
- CREATE TABLE admin.roles
552
- (
553
- role_id text DEFAULT next_id(), -- ID
554
- name text , -- Назва групи
555
- enabled boolean , -- On / Off
556
- info text , -- Опис групи
557
- cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
558
- uid text , -- ідентифікатор автора запису в БД
559
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
560
- editor_date timestamp without time zone -- Час останії зміни в записі
561
- ,
562
- CONSTRAINT admin_roles_id_pkey PRIMARY KEY (role_id)
563
- );
564
-
565
- ```
566
-
567
- :::
568
-
569
-
570
- ## admin.routes
571
-
572
- Список інтерфейсів
573
-
574
- :::tabs
575
-
576
- ==table
577
-
578
- | Назва колонки | Тип | Ключ | Опис |
579
- | ---------------------- | ------------------------- | --- | ---------- |
580
- | route_id | `text` | PK | Ідентифікатор інтерфейса |
581
- | alias | `text` | | Назва файлу інтерфейса |
582
- | table_name | `text` | | Таблиця в БД |
583
- | title | `text` | | Назва інтерфейсу українською |
584
- | public | `boolean` | | Ознака чи для всіх показується |
585
- | menu_id | `text` | FK | Пункт меню (для collapse) |
586
- | uid | `text` | | ідентифікатор автора запису в БД |
587
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
588
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
589
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
590
- | enabled | `boolean` | | On / Off |
591
-
592
- ==sql
593
-
594
- ```sql
595
-
596
- CREATE TABLE admin.routes
597
- (
598
- route_id text DEFAULT next_id(), -- Ідентифікатор інтерфейса
599
- alias text , -- Назва файлу інтерфейса
600
- table_name text , -- Таблиця в БД
601
- title text , -- Назва інтерфейсу українською
602
- public boolean , -- Ознака чи для всіх показується
603
- menu_id text , -- Пункт меню (для collapse)
604
- uid text , -- ідентифікатор автора запису в БД
605
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
606
- editor_date timestamp without time zone , -- Час останії зміни в записі
607
- cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
608
- enabled boolean DEFAULT true -- On / Off
609
- ,
610
- CONSTRAINT admin_route_menu_id_fkey FOREIGN KEY (menu_id) REFERENCES admin.menu (menu_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
611
- CONSTRAINT admin_route_id_pkey PRIMARY KEY (route_id)
612
- );
613
-
614
- ```
615
-
616
- :::
617
-
618
-
619
- ## admin.table_properties
620
-
621
- Налаштування таблиць користувача
622
-
623
- :::tabs
624
-
625
- ==table
626
-
627
- | Назва колонки | Тип | Ключ | Опис |
628
- | ---------------------- | ------------------------- | --- | ---------- |
629
- | property_id | `text` | PK | - |
630
- | property_key | `text` | | Ключ |
631
- | property_type | `text` | | Тип (колонка/фільтр) |
632
- | property_entity | `text` | | Сутність |
633
- | property_title | `text` | | Назва |
634
- | property_format | `text` | | Формат |
635
- | property_data | `text` | | Класифікатор |
636
- | uid | `text` | | ідентифікатор автора запису в БД |
637
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
638
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
639
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
640
- | files | `json` | | Системна колонка |
641
-
642
- ==sql
643
-
644
- ```sql
645
-
646
- CREATE TABLE admin.table_properties
647
- (
648
- property_id text DEFAULT next_id(), -- -
649
- property_key text , -- Ключ
650
- property_type text , -- Тип (колонка/фільтр)
651
- property_entity text , -- Сутність
652
- property_title text , -- Назва
653
- property_format text , -- Формат
654
- property_data text , -- Класифікатор
655
- uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
656
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
657
- editor_date timestamp without time zone , -- Час останії зміни в записі
658
- cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
659
- files json -- Системна колонка
660
- ,
661
- CONSTRAINT table_properties_key_type_entity_uid_unique UNIQUE KEY (property_key,property_type,property_entity,uid),
662
- CONSTRAINT admin_table_properties_property_id_pkey PRIMARY KEY (property_id)
663
- );
664
-
665
- ```
666
-
667
- :::
668
-
669
-
670
- ## admin.user_cls
671
-
672
- Користувацькі класифікатори
673
-
674
- :::tabs
675
-
676
- ==table
677
-
678
- | Назва колонки | Тип | Ключ | Опис |
679
- | ---------------------- | ------------------------- | --- | ---------- |
680
- | user_clsid | `text` | PK | ID |
681
- | code | `text` | | Код |
682
- | parent | `text` | | - |
683
- | name | `text` | | Назва |
684
- | icon | `text` | | Іконка |
685
- | data | `text` | | - |
686
- | type | `text` | | - |
687
- | files | `json` | | Системна колонка |
688
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
689
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
690
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
691
- | uid | `text` | | ідентифікатор автора запису в БД |
692
- | color | `text` | | Колір |
693
-
694
- ==sql
695
-
696
- ```sql
697
-
698
- CREATE TABLE admin.user_cls
699
- (
700
- user_clsid text DEFAULT next_id(), -- ID
701
- code text , -- Код
702
- parent text , -- -
703
- name text , -- Назва
704
- icon text , -- Іконка
705
- data text , -- -
706
- type text , -- -
707
- files json , -- Системна колонка
708
- cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
709
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
710
- editor_date timestamp without time zone , -- Час останії зміни в записі
711
- uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
712
- color text -- Колір
713
- ,
714
- CONSTRAINT admin_user_unique UNIQUE KEY (code,parent),
715
- CONSTRAINT admin_user_cls_pkey PRIMARY KEY (user_clsid)
716
- );
717
-
718
- ```
719
-
720
- :::
721
-
722
-
723
- ## admin.user_properties
724
-
725
- Налаштування користувача
726
-
727
- :::tabs
728
-
729
- ==table
730
-
731
- | Назва колонки | Тип | Ключ | Опис |
732
- | ---------------------- | ------------------------- | --- | ---------- |
733
- | property_id | `text` | PK | - |
734
- | property_key | `text` | | Ключ |
735
- | property_json | `json` | | Значення налаштування |
736
- | uid | `text` | | ідентифікатор автора запису в БД |
737
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
738
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
739
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
740
- | files | `json` | | Системна колонка |
741
- | property_entity | `text` | | Сутність |
742
- | property_title | `text` | | Назва |
743
- | property_text | `text` | | Налаштування text |
744
- | private | `boolean` | | Доступ лише для користувача, який додав дане налаштування |
745
-
746
- ==sql
747
-
748
- ```sql
749
-
750
- CREATE TABLE admin.user_properties
751
- (
752
- property_id text DEFAULT next_id(), -- -
753
- property_key text , -- Ключ
754
- property_json json , -- Значення налаштування
755
- uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
756
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
757
- editor_date timestamp without time zone , -- Час останії зміни в записі
758
- cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
759
- files json , -- Системна колонка
760
- property_entity text , -- Сутність
761
- property_title text , -- Назва
762
- property_text text , -- Налаштування text
763
- private boolean -- Доступ лише для користувача, який додав дане налаштування
764
- ,
765
- CONSTRAINT user_properties_key_uid_unique UNIQUE KEY (property_key,uid,property_entity),
766
- CONSTRAINT admin_user_properties_property_id_pkey PRIMARY KEY (property_id)
767
- );
768
-
769
- ```
770
-
771
- :::
772
-
773
-
774
- ## admin.user_roles
775
-
776
- Відношення користувачів до груп
777
-
778
- :::tabs
779
-
780
- ==table
781
-
782
- | Назва колонки | Тип | Ключ | Опис |
783
- | ---------------------- | ------------------------- | --- | ---------- |
784
- | ugr_id | `text` | PK | - |
785
- | user_uid | `text` | | ID користувача |
786
- | role_id | `text` | FK | ID групи |
787
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
788
- | uid | `text` | | ідентифікатор автора запису в БД |
789
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
790
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
791
- | expiration | `date` | | закінчення терміну дії доступу до групи |
792
- | access_granted | `text` | | Ідентифікатор користувача який надав доступ |
793
- | access_granted_time | `timestamp without time zone` | | Час коли надали доступ |
794
-
795
- ==sql
796
-
797
- ```sql
798
-
799
- CREATE TABLE admin.user_roles
800
- (
801
- ugr_id text DEFAULT next_id(), -- -
802
- user_uid text , -- ID користувача
803
- role_id text , -- ID групи
804
- cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
805
- uid text , -- ідентифікатор автора запису в БД
806
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
807
- editor_date timestamp without time zone , -- Час останії зміни в записі
808
- expiration date , -- закінчення терміну дії доступу до групи
809
- access_granted text , -- Ідентифікатор користувача який надав доступ
810
- access_granted_time timestamp without time zone -- Час коли надали доступ
811
- ,
812
- CONSTRAINT admin_user_roles_user_uid_role_id_key UNIQUE KEY (user_uid,role_id),
813
- CONSTRAINT admin_user_roles_user_role_id_fkey FOREIGN KEY (role_id) REFERENCES admin.roles (role_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
814
- CONSTRAINT admin_user_roles_role_id_pkey PRIMARY KEY (ugr_id)
815
- );
816
-
817
- ```
818
-
819
- :::
820
-
821
-
822
- ## admin.users
823
-
824
- Користувачі
825
-
826
- :::tabs
827
-
828
- ==table
829
-
830
- | Назва колонки | Тип | Ключ | Опис |
831
- | ---------------------- | ------------------------- | --- | ---------- |
832
- | uid | `text` | PK | ідентифікатор автора запису в БД |
833
- | login | `text` | | Логін користувача |
834
- | password | `text` | | Пароль користувача |
835
- | user_name | `text` | | Ім'я користувача |
836
- | sur_name | `text` | | Прізвище користувача |
837
- | father_name | `text` | | По-батькові користувача |
838
- | email | `text` | | Ел. пошта користувача |
839
- | phone | `text` | | Номер телефону користувача |
840
- | avatar | `text` | | Аватар |
841
- | enabled | `boolean` | | On / Off |
842
- | user_personal_code | `text` | | - |
843
- | last_activity_date | `timestamp without time zone` | | Дата останньої активності |
844
- | user_type | `text` | | Тип користувача |
845
- | salt | `text` | | Сіль |
846
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
847
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
848
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
849
- | user_rnokpp | `text` | | - |
850
-
851
- ==sql
852
-
853
- ```sql
854
-
855
- CREATE TABLE admin.users
856
- (
857
- uid text DEFAULT next_id(), -- ідентифікатор автора запису в БД
858
- login text , -- Логін користувача
859
- password text DEFAULT ''::text, -- Пароль користувача
860
- user_name text , -- Ім'я користувача
861
- sur_name text , -- Прізвище користувача
862
- father_name text , -- По-батькові користувача
863
- email text , -- Ел. пошта користувача
864
- phone text , -- Номер телефону користувача
865
- avatar text , -- Аватар
866
- enabled boolean , -- On / Off
867
- user_personal_code text , -- -
868
- last_activity_date timestamp without time zone , -- Дата останньої активності
869
- user_type text DEFAULT 'regular'::text, -- Тип користувача
870
- salt text , -- Сіль
871
- cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
872
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
873
- editor_date timestamp without time zone , -- Час останії зміни в записі
874
- user_rnokpp text -- -
875
- ,
876
- CONSTRAINT admin_user_uid_pkey PRIMARY KEY (uid)
877
- );
878
-
879
- ```
880
-
881
- :::
882
-
883
-
884
- ## admin.users_social_auth
885
-
886
-
887
-
888
- :::tabs
889
-
890
- ==table
891
-
892
- | Назва колонки | Тип | Ключ | Опис |
893
- | ---------------------- | ------------------------- | --- | ---------- |
894
- | users_social_auth_id | `text` | PK | - |
895
- | uid | `text` | FK | ідентифікатор автора запису в БД |
896
- | user_name | `text` | | Имя пользователя |
897
- | sur_name | `text` | | Фамилия |
898
- | email | `text` | | email пользователя |
899
- | city | `text` | | Місто |
900
- | phone | `text` | | Телефон |
901
- | social_auth_id | `text` | | ID в соцсети |
902
- | social_auth_type | `text` | | тип соцсети |
903
- | social_auth_code | `text` | | код обьекта соцсети, используеться соцсетью |
904
- | social_auth_obj | `json` | | обьект соцсети |
905
- | social_auth_date | `timestamp without time zone` | | время получение последнего обьекта соцсети |
906
- | social_auth_softpro_code | `text` | | код обьекта соцсети, создаваемый и используемый сервером авторизации |
907
- | enabled | `boolean` | | Выключатель |
908
- | cdate | `timestamp without time zone` | | Дата створення запису в БД |
909
- | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
910
- | lang | `text` | | - |
911
- | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
912
- | social_auth_url | `text` | | URL для QR code |
913
-
914
- ==sql
915
-
916
- ```sql
917
-
918
- CREATE TABLE admin.users_social_auth
919
- (
920
- users_social_auth_id text DEFAULT next_id(), -- -
921
- uid text , -- ідентифікатор автора запису в БД
922
- user_name text , -- Имя пользователя
923
- sur_name text , -- Фамилия
924
- email text , -- email пользователя
925
- city text , -- Місто
926
- phone text , -- Телефон
927
- social_auth_id text , -- ID в соцсети
928
- social_auth_type text , -- тип соцсети
929
- social_auth_code text , -- код обьекта соцсети, используеться соцсетью
930
- social_auth_obj json , -- обьект соцсети
931
- social_auth_date timestamp without time zone , -- время получение последнего обьекта соцсети
932
- social_auth_softpro_code text , -- код обьекта соцсети, создаваемый и используемый сервером авторизации
933
- enabled boolean , -- Выключатель
934
- cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
935
- editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
936
- lang text , -- -
937
- editor_date timestamp without time zone , -- Час останії зміни в записі
938
- social_auth_url text -- URL для QR code
939
- ,
940
- CONSTRAINT users_social_auth_users_fk FOREIGN KEY (uid) REFERENCES admin.users (uid) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
941
- CONSTRAINT users_social_auth_pk PRIMARY KEY (users_social_auth_id)
942
- );
943
-
944
- ```
945
-
946
- :::
947
-
1
+
2
+
3
+ # admin
4
+
5
+ ## Схема
6
+
7
+ ``` mermaid
8
+ erDiagram
9
+ "access - Налаштування прав. Відношення груп / окремих користувачів до шаблонів" {
10
+ access_id text PK "-"
11
+ route_id text FK "ID шаблона"
12
+ role_id text FK "ID групи"
13
+ user_uid text "ID користувача"
14
+ scope text "Обмеження виведення (власні, відповідальний, всі)"
15
+ actions text[] "Доступні дії"
16
+ access_granted text "Ідентифікатор користувача який надав доступ"
17
+ access_granted_time timestamp_without_time_zone "Час коли надали доступ"
18
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
19
+ uid text "ідентифікатор автора запису в БД"
20
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
21
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
22
+ }
23
+ "cls - " {
24
+ clsid text PK "-"
25
+ name text "Назва"
26
+ data text "SQL"
27
+ type text "Тип"
28
+ code text "Код"
29
+ parent text "Назва батьківського об'єкту"
30
+ ua text "-"
31
+ en text "-"
32
+ module text "Модуль"
33
+ files json "Системна колонка"
34
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
35
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
36
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
37
+ uid text "ідентифікатор автора запису в БД"
38
+ icon text "Іконка"
39
+ color text "Колір"
40
+ }
41
+ "custom_column - Налаштування таблиць користувача" {
42
+ column_id text PK "-"
43
+ name text "Ключ"
44
+ entity text "Таблиця"
45
+ title text "Підпис"
46
+ format text "Формат"
47
+ data text "Класифікатор"
48
+ filter boolean "Виводити у фільтрах"
49
+ _table boolean "Відображати у таблиці"
50
+ uid text "ідентифікатор автора запису в БД"
51
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
52
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
53
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
54
+ files json "Системна колонка"
55
+ }
56
+ "menu - Пункти меню" {
57
+ menu_id text PK "Ідентифікатор пункту меню"
58
+ name text UK "Назва пункту меню"
59
+ ord numeric "Порядковий номер"
60
+ enabled boolean "On / Off"
61
+ uid text "ідентифікатор автора запису в БД"
62
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
63
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
64
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
65
+ }
66
+ "properties - Налаштування" {
67
+ property_id text PK "-"
68
+ property_entity text "Сутність"
69
+ property_key text "Ключ"
70
+ property_text text "Текстове значення налаштування"
71
+ property_int integer "Цілочислове значения"
72
+ property_json json "Значення налаштування"
73
+ level text "Рівень (user/system)"
74
+ object_id text "ID Об'єкту"
75
+ uid text "ідентифікатор автора запису в БД"
76
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
77
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
78
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
79
+ files json "Системна колонка"
80
+ property_title text "Назва"
81
+ }
82
+ "roles - Групи" {
83
+ role_id text PK "ID"
84
+ name text "Назва групи"
85
+ enabled boolean "On / Off"
86
+ info text "Опис групи"
87
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
88
+ uid text "ідентифікатор автора запису в БД"
89
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
90
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
91
+ }
92
+ "routes - Список інтерфейсів" {
93
+ route_id text PK "Ідентифікатор інтерфейса"
94
+ alias text "Назва файлу інтерфейса"
95
+ table_name text "Таблиця в БД"
96
+ title text "Назва інтерфейсу українською"
97
+ public boolean "Ознака чи для всіх показується"
98
+ menu_id text FK "Пункт меню (для collapse)"
99
+ uid text "ідентифікатор автора запису в БД"
100
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
101
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
102
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
103
+ enabled boolean "On / Off"
104
+ }
105
+ "table_properties - Налаштування таблиць користувача" {
106
+ property_id text PK "-"
107
+ property_key text "Ключ"
108
+ property_type text "Тип (колонка/фільтр)"
109
+ property_entity text "Сутність"
110
+ property_title text "Назва"
111
+ property_format text "Формат"
112
+ property_data text "Класифікатор"
113
+ uid text "ідентифікатор автора запису в БД"
114
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
115
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
116
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
117
+ files json "Системна колонка"
118
+ }
119
+ "user_cls - Користувацькі класифікатори" {
120
+ user_clsid text PK "ID"
121
+ code text "Код"
122
+ parent text "-"
123
+ name text "Назва"
124
+ icon text "Іконка"
125
+ data text "-"
126
+ type text "-"
127
+ files json "Системна колонка"
128
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
129
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
130
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
131
+ uid text "ідентифікатор автора запису в БД"
132
+ color text "Колір"
133
+ }
134
+ "user_properties - Налаштування користувача" {
135
+ property_id text PK "-"
136
+ property_key text "Ключ"
137
+ property_json json "Значення налаштування"
138
+ uid text "ідентифікатор автора запису в БД"
139
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
140
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
141
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
142
+ files json "Системна колонка"
143
+ property_entity text "Сутність"
144
+ property_title text "Назва"
145
+ property_text text "Налаштування text"
146
+ private boolean "Доступ лише для користувача, який додав дане налаштування"
147
+ }
148
+ "user_roles - Відношення користувачів до груп" {
149
+ ugr_id text PK "-"
150
+ user_uid text "ID користувача"
151
+ role_id text FK "ID групи"
152
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
153
+ uid text "ідентифікатор автора запису в БД"
154
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
155
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
156
+ expiration date "закінчення терміну дії доступу до групи"
157
+ access_granted text "Ідентифікатор користувача який надав доступ"
158
+ access_granted_time timestamp_without_time_zone "Час коли надали доступ"
159
+ }
160
+ "users - Користувачі" {
161
+ uid text PK "ідентифікатор автора запису в БД"
162
+ login text "Логін користувача"
163
+ password text "Пароль користувача"
164
+ user_name text "Ім'я користувача"
165
+ sur_name text "Прізвище користувача"
166
+ father_name text "По-батькові користувача"
167
+ email text "Ел. пошта користувача"
168
+ phone text "Номер телефону користувача"
169
+ avatar text "Аватар"
170
+ enabled boolean "On / Off"
171
+ user_personal_code text "-"
172
+ last_activity_date timestamp_without_time_zone "Дата останньої активності"
173
+ user_type text "Тип користувача"
174
+ salt text "Сіль"
175
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
176
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
177
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
178
+ user_rnokpp text "-"
179
+ }
180
+ "users_social_auth - " {
181
+ users_social_auth_id text PK "-"
182
+ uid text FK "ідентифікатор автора запису в БД"
183
+ user_name text "Имя пользователя"
184
+ sur_name text "Фамилия"
185
+ email text "email пользователя"
186
+ city text "Місто"
187
+ phone text "Телефон"
188
+ social_auth_id text "ID в соцсети"
189
+ social_auth_type text "тип соцсети"
190
+ social_auth_code text "код обьекта соцсети, используеться соцсетью"
191
+ social_auth_obj json "обьект соцсети"
192
+ social_auth_date timestamp_without_time_zone "время получение последнего обьекта соцсети"
193
+ social_auth_softpro_code text "код обьекта соцсети, создаваемый и используемый сервером авторизации"
194
+ enabled boolean "Выключатель"
195
+ cdate timestamp_without_time_zone "Дата створення запису в БД"
196
+ editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
197
+ lang text "-"
198
+ editor_date timestamp_without_time_zone "Час останії зміни в записі"
199
+ social_auth_url text "URL для QR code"
200
+ }
201
+ "admin.users_social_auth - " ||--|{ "admin.users - " : ""
202
+ "admin.access - " ||--|{ "admin.routes - " : ""
203
+ "admin.access - " ||--|{ "admin.roles - " : ""
204
+ "admin.routes - " ||--|{ "admin.menu - " : ""
205
+ "admin.user_roles - " ||--|{ "admin.roles - " : ""
206
+ ```
207
+
208
+ **Ключі**
209
+
210
+ ``` mermaid
211
+ erDiagram
212
+ "access - Налаштування прав. Відношення груп / окремих користувачів до шаблонів" {
213
+ access_id PRIMARY_KEY
214
+ route_id FOREIGN_KEY
215
+ role_id FOREIGN_KEY
216
+ }
217
+ "cls - " {
218
+ clsid PRIMARY_KEY
219
+ }
220
+ "custom_column - Налаштування таблиць користувача" {
221
+ column_id PRIMARY_KEY
222
+ }
223
+ "menu - Пункти меню" {
224
+ menu_id PRIMARY_KEY
225
+ name UNIQUE_KEY
226
+ }
227
+ "properties - Налаштування" {
228
+ property_id PRIMARY_KEY
229
+ }
230
+ "roles - Групи" {
231
+ role_id PRIMARY_KEY
232
+ }
233
+ "routes - Список інтерфейсів" {
234
+ route_id PRIMARY_KEY
235
+ menu_id FOREIGN_KEY
236
+ }
237
+ "table_properties - Налаштування таблиць користувача" {
238
+ property_id PRIMARY_KEY
239
+ }
240
+ "user_cls - Користувацькі класифікатори" {
241
+ user_clsid PRIMARY_KEY
242
+ }
243
+ "user_properties - Налаштування користувача" {
244
+ property_id PRIMARY_KEY
245
+ }
246
+ "user_roles - Відношення користувачів до груп" {
247
+ ugr_id PRIMARY_KEY
248
+ role_id FOREIGN_KEY
249
+ }
250
+ "users - Користувачі" {
251
+ uid PRIMARY_KEY
252
+ }
253
+ "users_social_auth - " {
254
+ users_social_auth_id PRIMARY_KEY
255
+ uid FOREIGN_KEY
256
+ }
257
+ "admin.users_social_auth - " ||--|{ "admin.users - " : ""
258
+ "admin.access - " ||--|{ "admin.routes - " : ""
259
+ "admin.access - " ||--|{ "admin.roles - " : ""
260
+ "admin.routes - " ||--|{ "admin.menu - " : ""
261
+ "admin.user_roles - " ||--|{ "admin.roles - " : ""
262
+ ```
263
+
264
+
265
+
266
+ ## admin.access
267
+
268
+ Налаштування прав. Відношення груп / окремих користувачів до шаблонів
269
+
270
+ :::tabs
271
+
272
+ ==table
273
+
274
+ | Назва колонки | Тип | Ключ | Опис |
275
+ | ---------------------- | ------------------------- | --- | ---------- |
276
+ | access_id | `text` | PK | - |
277
+ | route_id | `text` | FK | ID шаблона |
278
+ | role_id | `text` | FK | ID групи |
279
+ | user_uid | `text` | | ID користувача |
280
+ | scope | `text` | | Обмеження виведення (власні, відповідальний, всі) |
281
+ | actions | `text[]` | | Доступні дії |
282
+ | access_granted | `text` | | Ідентифікатор користувача який надав доступ |
283
+ | access_granted_time | `timestamp without time zone` | | Час коли надали доступ |
284
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
285
+ | uid | `text` | | ідентифікатор автора запису в БД |
286
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
287
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
288
+
289
+ ==sql
290
+
291
+ ```sql
292
+
293
+ CREATE TABLE admin.access
294
+ (
295
+ access_id text DEFAULT next_id(), -- -
296
+ route_id text , -- ID шаблона
297
+ role_id text , -- ID групи
298
+ user_uid text , -- ID користувача
299
+ scope text , -- Обмеження виведення (власні, відповідальний, всі)
300
+ actions text[] , -- Доступні дії
301
+ access_granted text , -- Ідентифікатор користувача який надав доступ
302
+ access_granted_time timestamp without time zone , -- Час коли надали доступ
303
+ cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
304
+ uid text , -- ідентифікатор автора запису в БД
305
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
306
+ editor_date timestamp without time zone -- Час останії зміни в записі
307
+ ,
308
+ CONSTRAINT admin_access_route_id_fkey FOREIGN KEY (route_id) REFERENCES admin.routes (route_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
309
+ CONSTRAINT admin_access_route_id_uid_unique UNIQUE KEY (route_id,role_id,user_uid),
310
+ CONSTRAINT admin_access_role_id_fkey FOREIGN KEY (role_id) REFERENCES admin.roles (role_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
311
+ CONSTRAINT admin_access_id_pkey PRIMARY KEY (access_id)
312
+ );
313
+
314
+ ```
315
+
316
+ :::
317
+
318
+
319
+ ## admin.cls
320
+
321
+
322
+
323
+ :::tabs
324
+
325
+ ==table
326
+
327
+ | Назва колонки | Тип | Ключ | Опис |
328
+ | ---------------------- | ------------------------- | --- | ---------- |
329
+ | clsid | `text` | PK | - |
330
+ | name | `text` | | Назва |
331
+ | data | `text` | | SQL |
332
+ | type | `text` | | Тип |
333
+ | code | `text` | | Код |
334
+ | parent | `text` | | Назва батьківського об'єкту |
335
+ | ua | `text` | | - |
336
+ | en | `text` | | - |
337
+ | module | `text` | | Модуль |
338
+ | files | `json` | | Системна колонка |
339
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
340
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
341
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
342
+ | uid | `text` | | ідентифікатор автора запису в БД |
343
+ | icon | `text` | | Іконка |
344
+ | color | `text` | | Колір |
345
+
346
+ ==sql
347
+
348
+ ```sql
349
+
350
+ CREATE TABLE admin.cls
351
+ (
352
+ clsid text DEFAULT next_id(), -- -
353
+ name text , -- Назва
354
+ data text , -- SQL
355
+ type text , -- Тип
356
+ code text , -- Код
357
+ parent text , -- Назва батьківського об'єкту
358
+ ua text , -- -
359
+ en text , -- -
360
+ module text , -- Модуль
361
+ files json , -- Системна колонка
362
+ cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
363
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
364
+ editor_date timestamp without time zone , -- Час останії зміни в записі
365
+ uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
366
+ icon text , -- Іконка
367
+ color text -- Колір
368
+ ,
369
+ CONSTRAINT admin_cls_unique UNIQUE KEY (code,parent),
370
+ CONSTRAINT admin_cls_pkey PRIMARY KEY (clsid)
371
+ );
372
+
373
+ ```
374
+
375
+ :::
376
+
377
+
378
+ ## admin.custom_column
379
+
380
+ Налаштування таблиць користувача
381
+
382
+ :::tabs
383
+
384
+ ==table
385
+
386
+ | Назва колонки | Тип | Ключ | Опис |
387
+ | ---------------------- | ------------------------- | --- | ---------- |
388
+ | column_id | `text` | PK | - |
389
+ | name | `text` | | Ключ |
390
+ | entity | `text` | | Таблиця |
391
+ | title | `text` | | Підпис |
392
+ | format | `text` | | Формат |
393
+ | data | `text` | | Класифікатор |
394
+ | filter | `boolean` | | Виводити у фільтрах |
395
+ | _table | `boolean` | | Відображати у таблиці |
396
+ | uid | `text` | | ідентифікатор автора запису в БД |
397
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
398
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
399
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
400
+ | files | `json` | | Системна колонка |
401
+
402
+ ==sql
403
+
404
+ ```sql
405
+
406
+ CREATE TABLE admin.custom_column
407
+ (
408
+ column_id text DEFAULT next_id(), -- -
409
+ name text , -- Ключ
410
+ entity text , -- Таблиця
411
+ title text , -- Підпис
412
+ format text , -- Формат
413
+ data text , -- Класифікатор
414
+ filter boolean , -- Виводити у фільтрах
415
+ _table boolean , -- Відображати у таблиці
416
+ uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
417
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
418
+ editor_date timestamp without time zone , -- Час останії зміни в записі
419
+ cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
420
+ files json -- Системна колонка
421
+ ,
422
+ CONSTRAINT admin_custom_column_name_entity_uid_unique UNIQUE KEY (name,entity,uid),
423
+ CONSTRAINT admin_custom_column_column_id_pkey PRIMARY KEY (column_id)
424
+ );
425
+
426
+ ```
427
+
428
+ :::
429
+
430
+
431
+ ## admin.menu
432
+
433
+ Пункти меню
434
+
435
+ :::tabs
436
+
437
+ ==table
438
+
439
+ | Назва колонки | Тип | Ключ | Опис |
440
+ | ---------------------- | ------------------------- | --- | ---------- |
441
+ | menu_id | `text` | PK | Ідентифікатор пункту меню |
442
+ | name | `text` | UK | Назва пункту меню |
443
+ | ord | `numeric` | | Порядковий номер |
444
+ | enabled | `boolean` | | On / Off |
445
+ | uid | `text` | | ідентифікатор автора запису в БД |
446
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
447
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
448
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
449
+
450
+ ==sql
451
+
452
+ ```sql
453
+
454
+ CREATE TABLE admin.menu
455
+ (
456
+ menu_id text DEFAULT next_id(), -- Ідентифікатор пункту меню
457
+ name text , -- Назва пункту меню
458
+ ord numeric , -- Порядковий номер
459
+ enabled boolean DEFAULT true, -- On / Off
460
+ uid text , -- ідентифікатор автора запису в БД
461
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
462
+ editor_date timestamp without time zone , -- Час останії зміни в записі
463
+ cdate timestamp without time zone DEFAULT now() -- Дата створення запису в БД
464
+ ,
465
+ CONSTRAINT admin_menu_name_unique UNIQUE KEY (name),
466
+ CONSTRAINT admin_menu_id_pkey PRIMARY KEY (menu_id)
467
+ );
468
+
469
+ ```
470
+
471
+ :::
472
+
473
+
474
+ ## admin.properties
475
+
476
+ Налаштування
477
+
478
+ :::tabs
479
+
480
+ ==table
481
+
482
+ | Назва колонки | Тип | Ключ | Опис |
483
+ | ---------------------- | ------------------------- | --- | ---------- |
484
+ | property_id | `text` | PK | - |
485
+ | property_entity | `text` | | Сутність |
486
+ | property_key | `text` | | Ключ |
487
+ | property_text | `text` | | Текстове значення налаштування |
488
+ | property_int | `integer` | | Цілочислове значения |
489
+ | property_json | `json` | | Значення налаштування |
490
+ | level | `text` | | Рівень (user/system) |
491
+ | object_id | `text` | | ID Об'єкту |
492
+ | uid | `text` | | ідентифікатор автора запису в БД |
493
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
494
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
495
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
496
+ | files | `json` | | Системна колонка |
497
+ | property_title | `text` | | Назва |
498
+
499
+ ==sql
500
+
501
+ ```sql
502
+
503
+ CREATE TABLE admin.properties
504
+ (
505
+ property_id text DEFAULT next_id(), -- -
506
+ property_entity text , -- Сутність
507
+ property_key text , -- Ключ
508
+ property_text text , -- Текстове значення налаштування
509
+ property_int integer , -- Цілочислове значения
510
+ property_json json , -- Значення налаштування
511
+ level text , -- Рівень (user/system)
512
+ object_id text , -- ID Об'єкту
513
+ uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
514
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
515
+ editor_date timestamp without time zone , -- Час останії зміни в записі
516
+ cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
517
+ files json , -- Системна колонка
518
+ property_title text -- Назва
519
+ ,
520
+ CONSTRAINT admin_properties_property_id_pkey PRIMARY KEY (property_id)
521
+ );
522
+
523
+ ```
524
+
525
+ :::
526
+
527
+
528
+ ## admin.roles
529
+
530
+ Групи
531
+
532
+ :::tabs
533
+
534
+ ==table
535
+
536
+ | Назва колонки | Тип | Ключ | Опис |
537
+ | ---------------------- | ------------------------- | --- | ---------- |
538
+ | role_id | `text` | PK | ID |
539
+ | name | `text` | | Назва групи |
540
+ | enabled | `boolean` | | On / Off |
541
+ | info | `text` | | Опис групи |
542
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
543
+ | uid | `text` | | ідентифікатор автора запису в БД |
544
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
545
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
546
+
547
+ ==sql
548
+
549
+ ```sql
550
+
551
+ CREATE TABLE admin.roles
552
+ (
553
+ role_id text DEFAULT next_id(), -- ID
554
+ name text , -- Назва групи
555
+ enabled boolean , -- On / Off
556
+ info text , -- Опис групи
557
+ cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
558
+ uid text , -- ідентифікатор автора запису в БД
559
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
560
+ editor_date timestamp without time zone -- Час останії зміни в записі
561
+ ,
562
+ CONSTRAINT admin_roles_id_pkey PRIMARY KEY (role_id)
563
+ );
564
+
565
+ ```
566
+
567
+ :::
568
+
569
+
570
+ ## admin.routes
571
+
572
+ Список інтерфейсів
573
+
574
+ :::tabs
575
+
576
+ ==table
577
+
578
+ | Назва колонки | Тип | Ключ | Опис |
579
+ | ---------------------- | ------------------------- | --- | ---------- |
580
+ | route_id | `text` | PK | Ідентифікатор інтерфейса |
581
+ | alias | `text` | | Назва файлу інтерфейса |
582
+ | table_name | `text` | | Таблиця в БД |
583
+ | title | `text` | | Назва інтерфейсу українською |
584
+ | public | `boolean` | | Ознака чи для всіх показується |
585
+ | menu_id | `text` | FK | Пункт меню (для collapse) |
586
+ | uid | `text` | | ідентифікатор автора запису в БД |
587
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
588
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
589
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
590
+ | enabled | `boolean` | | On / Off |
591
+
592
+ ==sql
593
+
594
+ ```sql
595
+
596
+ CREATE TABLE admin.routes
597
+ (
598
+ route_id text DEFAULT next_id(), -- Ідентифікатор інтерфейса
599
+ alias text , -- Назва файлу інтерфейса
600
+ table_name text , -- Таблиця в БД
601
+ title text , -- Назва інтерфейсу українською
602
+ public boolean , -- Ознака чи для всіх показується
603
+ menu_id text , -- Пункт меню (для collapse)
604
+ uid text , -- ідентифікатор автора запису в БД
605
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
606
+ editor_date timestamp without time zone , -- Час останії зміни в записі
607
+ cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
608
+ enabled boolean DEFAULT true -- On / Off
609
+ ,
610
+ CONSTRAINT admin_route_menu_id_fkey FOREIGN KEY (menu_id) REFERENCES admin.menu (menu_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
611
+ CONSTRAINT admin_route_id_pkey PRIMARY KEY (route_id)
612
+ );
613
+
614
+ ```
615
+
616
+ :::
617
+
618
+
619
+ ## admin.table_properties
620
+
621
+ Налаштування таблиць користувача
622
+
623
+ :::tabs
624
+
625
+ ==table
626
+
627
+ | Назва колонки | Тип | Ключ | Опис |
628
+ | ---------------------- | ------------------------- | --- | ---------- |
629
+ | property_id | `text` | PK | - |
630
+ | property_key | `text` | | Ключ |
631
+ | property_type | `text` | | Тип (колонка/фільтр) |
632
+ | property_entity | `text` | | Сутність |
633
+ | property_title | `text` | | Назва |
634
+ | property_format | `text` | | Формат |
635
+ | property_data | `text` | | Класифікатор |
636
+ | uid | `text` | | ідентифікатор автора запису в БД |
637
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
638
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
639
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
640
+ | files | `json` | | Системна колонка |
641
+
642
+ ==sql
643
+
644
+ ```sql
645
+
646
+ CREATE TABLE admin.table_properties
647
+ (
648
+ property_id text DEFAULT next_id(), -- -
649
+ property_key text , -- Ключ
650
+ property_type text , -- Тип (колонка/фільтр)
651
+ property_entity text , -- Сутність
652
+ property_title text , -- Назва
653
+ property_format text , -- Формат
654
+ property_data text , -- Класифікатор
655
+ uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
656
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
657
+ editor_date timestamp without time zone , -- Час останії зміни в записі
658
+ cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
659
+ files json -- Системна колонка
660
+ ,
661
+ CONSTRAINT table_properties_key_type_entity_uid_unique UNIQUE KEY (property_key,property_type,property_entity,uid),
662
+ CONSTRAINT admin_table_properties_property_id_pkey PRIMARY KEY (property_id)
663
+ );
664
+
665
+ ```
666
+
667
+ :::
668
+
669
+
670
+ ## admin.user_cls
671
+
672
+ Користувацькі класифікатори
673
+
674
+ :::tabs
675
+
676
+ ==table
677
+
678
+ | Назва колонки | Тип | Ключ | Опис |
679
+ | ---------------------- | ------------------------- | --- | ---------- |
680
+ | user_clsid | `text` | PK | ID |
681
+ | code | `text` | | Код |
682
+ | parent | `text` | | - |
683
+ | name | `text` | | Назва |
684
+ | icon | `text` | | Іконка |
685
+ | data | `text` | | - |
686
+ | type | `text` | | - |
687
+ | files | `json` | | Системна колонка |
688
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
689
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
690
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
691
+ | uid | `text` | | ідентифікатор автора запису в БД |
692
+ | color | `text` | | Колір |
693
+
694
+ ==sql
695
+
696
+ ```sql
697
+
698
+ CREATE TABLE admin.user_cls
699
+ (
700
+ user_clsid text DEFAULT next_id(), -- ID
701
+ code text , -- Код
702
+ parent text , -- -
703
+ name text , -- Назва
704
+ icon text , -- Іконка
705
+ data text , -- -
706
+ type text , -- -
707
+ files json , -- Системна колонка
708
+ cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
709
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
710
+ editor_date timestamp without time zone , -- Час останії зміни в записі
711
+ uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
712
+ color text -- Колір
713
+ ,
714
+ CONSTRAINT admin_user_unique UNIQUE KEY (code,parent),
715
+ CONSTRAINT admin_user_cls_pkey PRIMARY KEY (user_clsid)
716
+ );
717
+
718
+ ```
719
+
720
+ :::
721
+
722
+
723
+ ## admin.user_properties
724
+
725
+ Налаштування користувача
726
+
727
+ :::tabs
728
+
729
+ ==table
730
+
731
+ | Назва колонки | Тип | Ключ | Опис |
732
+ | ---------------------- | ------------------------- | --- | ---------- |
733
+ | property_id | `text` | PK | - |
734
+ | property_key | `text` | | Ключ |
735
+ | property_json | `json` | | Значення налаштування |
736
+ | uid | `text` | | ідентифікатор автора запису в БД |
737
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
738
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
739
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
740
+ | files | `json` | | Системна колонка |
741
+ | property_entity | `text` | | Сутність |
742
+ | property_title | `text` | | Назва |
743
+ | property_text | `text` | | Налаштування text |
744
+ | private | `boolean` | | Доступ лише для користувача, який додав дане налаштування |
745
+
746
+ ==sql
747
+
748
+ ```sql
749
+
750
+ CREATE TABLE admin.user_properties
751
+ (
752
+ property_id text DEFAULT next_id(), -- -
753
+ property_key text , -- Ключ
754
+ property_json json , -- Значення налаштування
755
+ uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
756
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
757
+ editor_date timestamp without time zone , -- Час останії зміни в записі
758
+ cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
759
+ files json , -- Системна колонка
760
+ property_entity text , -- Сутність
761
+ property_title text , -- Назва
762
+ property_text text , -- Налаштування text
763
+ private boolean -- Доступ лише для користувача, який додав дане налаштування
764
+ ,
765
+ CONSTRAINT user_properties_key_uid_unique UNIQUE KEY (property_key,uid,property_entity),
766
+ CONSTRAINT admin_user_properties_property_id_pkey PRIMARY KEY (property_id)
767
+ );
768
+
769
+ ```
770
+
771
+ :::
772
+
773
+
774
+ ## admin.user_roles
775
+
776
+ Відношення користувачів до груп
777
+
778
+ :::tabs
779
+
780
+ ==table
781
+
782
+ | Назва колонки | Тип | Ключ | Опис |
783
+ | ---------------------- | ------------------------- | --- | ---------- |
784
+ | ugr_id | `text` | PK | - |
785
+ | user_uid | `text` | | ID користувача |
786
+ | role_id | `text` | FK | ID групи |
787
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
788
+ | uid | `text` | | ідентифікатор автора запису в БД |
789
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
790
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
791
+ | expiration | `date` | | закінчення терміну дії доступу до групи |
792
+ | access_granted | `text` | | Ідентифікатор користувача який надав доступ |
793
+ | access_granted_time | `timestamp without time zone` | | Час коли надали доступ |
794
+
795
+ ==sql
796
+
797
+ ```sql
798
+
799
+ CREATE TABLE admin.user_roles
800
+ (
801
+ ugr_id text DEFAULT next_id(), -- -
802
+ user_uid text , -- ID користувача
803
+ role_id text , -- ID групи
804
+ cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
805
+ uid text , -- ідентифікатор автора запису в БД
806
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
807
+ editor_date timestamp without time zone , -- Час останії зміни в записі
808
+ expiration date , -- закінчення терміну дії доступу до групи
809
+ access_granted text , -- Ідентифікатор користувача який надав доступ
810
+ access_granted_time timestamp without time zone -- Час коли надали доступ
811
+ ,
812
+ CONSTRAINT admin_user_roles_user_uid_role_id_key UNIQUE KEY (user_uid,role_id),
813
+ CONSTRAINT admin_user_roles_user_role_id_fkey FOREIGN KEY (role_id) REFERENCES admin.roles (role_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
814
+ CONSTRAINT admin_user_roles_role_id_pkey PRIMARY KEY (ugr_id)
815
+ );
816
+
817
+ ```
818
+
819
+ :::
820
+
821
+
822
+ ## admin.users
823
+
824
+ Користувачі
825
+
826
+ :::tabs
827
+
828
+ ==table
829
+
830
+ | Назва колонки | Тип | Ключ | Опис |
831
+ | ---------------------- | ------------------------- | --- | ---------- |
832
+ | uid | `text` | PK | ідентифікатор автора запису в БД |
833
+ | login | `text` | | Логін користувача |
834
+ | password | `text` | | Пароль користувача |
835
+ | user_name | `text` | | Ім'я користувача |
836
+ | sur_name | `text` | | Прізвище користувача |
837
+ | father_name | `text` | | По-батькові користувача |
838
+ | email | `text` | | Ел. пошта користувача |
839
+ | phone | `text` | | Номер телефону користувача |
840
+ | avatar | `text` | | Аватар |
841
+ | enabled | `boolean` | | On / Off |
842
+ | user_personal_code | `text` | | - |
843
+ | last_activity_date | `timestamp without time zone` | | Дата останньої активності |
844
+ | user_type | `text` | | Тип користувача |
845
+ | salt | `text` | | Сіль |
846
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
847
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
848
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
849
+ | user_rnokpp | `text` | | - |
850
+
851
+ ==sql
852
+
853
+ ```sql
854
+
855
+ CREATE TABLE admin.users
856
+ (
857
+ uid text DEFAULT next_id(), -- ідентифікатор автора запису в БД
858
+ login text , -- Логін користувача
859
+ password text DEFAULT ''::text, -- Пароль користувача
860
+ user_name text , -- Ім'я користувача
861
+ sur_name text , -- Прізвище користувача
862
+ father_name text , -- По-батькові користувача
863
+ email text , -- Ел. пошта користувача
864
+ phone text , -- Номер телефону користувача
865
+ avatar text , -- Аватар
866
+ enabled boolean , -- On / Off
867
+ user_personal_code text , -- -
868
+ last_activity_date timestamp without time zone , -- Дата останньої активності
869
+ user_type text DEFAULT 'regular'::text, -- Тип користувача
870
+ salt text , -- Сіль
871
+ cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
872
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
873
+ editor_date timestamp without time zone , -- Час останії зміни в записі
874
+ user_rnokpp text -- -
875
+ ,
876
+ CONSTRAINT admin_user_uid_pkey PRIMARY KEY (uid)
877
+ );
878
+
879
+ ```
880
+
881
+ :::
882
+
883
+
884
+ ## admin.users_social_auth
885
+
886
+
887
+
888
+ :::tabs
889
+
890
+ ==table
891
+
892
+ | Назва колонки | Тип | Ключ | Опис |
893
+ | ---------------------- | ------------------------- | --- | ---------- |
894
+ | users_social_auth_id | `text` | PK | - |
895
+ | uid | `text` | FK | ідентифікатор автора запису в БД |
896
+ | user_name | `text` | | Имя пользователя |
897
+ | sur_name | `text` | | Фамилия |
898
+ | email | `text` | | email пользователя |
899
+ | city | `text` | | Місто |
900
+ | phone | `text` | | Телефон |
901
+ | social_auth_id | `text` | | ID в соцсети |
902
+ | social_auth_type | `text` | | тип соцсети |
903
+ | social_auth_code | `text` | | код обьекта соцсети, используеться соцсетью |
904
+ | social_auth_obj | `json` | | обьект соцсети |
905
+ | social_auth_date | `timestamp without time zone` | | время получение последнего обьекта соцсети |
906
+ | social_auth_softpro_code | `text` | | код обьекта соцсети, создаваемый и используемый сервером авторизации |
907
+ | enabled | `boolean` | | Выключатель |
908
+ | cdate | `timestamp without time zone` | | Дата створення запису в БД |
909
+ | editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
910
+ | lang | `text` | | - |
911
+ | editor_date | `timestamp without time zone` | | Час останії зміни в записі |
912
+ | social_auth_url | `text` | | URL для QR code |
913
+
914
+ ==sql
915
+
916
+ ```sql
917
+
918
+ CREATE TABLE admin.users_social_auth
919
+ (
920
+ users_social_auth_id text DEFAULT next_id(), -- -
921
+ uid text , -- ідентифікатор автора запису в БД
922
+ user_name text , -- Имя пользователя
923
+ sur_name text , -- Фамилия
924
+ email text , -- email пользователя
925
+ city text , -- Місто
926
+ phone text , -- Телефон
927
+ social_auth_id text , -- ID в соцсети
928
+ social_auth_type text , -- тип соцсети
929
+ social_auth_code text , -- код обьекта соцсети, используеться соцсетью
930
+ social_auth_obj json , -- обьект соцсети
931
+ social_auth_date timestamp without time zone , -- время получение последнего обьекта соцсети
932
+ social_auth_softpro_code text , -- код обьекта соцсети, создаваемый и используемый сервером авторизации
933
+ enabled boolean , -- Выключатель
934
+ cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
935
+ editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
936
+ lang text , -- -
937
+ editor_date timestamp without time zone , -- Час останії зміни в записі
938
+ social_auth_url text -- URL для QR code
939
+ ,
940
+ CONSTRAINT users_social_auth_users_fk FOREIGN KEY (uid) REFERENCES admin.users (uid) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
941
+ CONSTRAINT users_social_auth_pk PRIMARY KEY (users_social_auth_id)
942
+ );
943
+
944
+ ```
945
+
946
+ :::
947
+