@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.
- package/.eslintrc.cjs +42 -42
- package/.gitlab-ci.yml +18 -0
- package/Changelog.md +352 -351
- package/cron/funcs/addCron.js +132 -132
- package/crud/controllers/deleteCrud.js +36 -31
- package/crud/controllers/insert.js +71 -70
- package/crud/controllers/update.js +76 -73
- package/crud/funcs/dataDelete.js +19 -19
- package/crud/funcs/dataInsert.js +30 -30
- package/crud/funcs/dataUpdate.js +48 -48
- package/crud/funcs/getAccess.js +46 -56
- package/crud/funcs/getOpt.js +10 -10
- package/crud/funcs/setOpt.js +16 -16
- package/crud/funcs/setToken.js +2 -2
- package/crud/funcs/utils/getFolder.js +9 -9
- package/crud/funcs/utils/logChanges.js +62 -62
- package/crud/index.js +36 -36
- package/docs/.vitepress/abbr.mjs +26 -26
- package/docs/.vitepress/config.mjs +127 -127
- package/docs/.vitepress/navigation.mjs +82 -82
- package/docs/.vitepress/theme/Layout.vue +17 -17
- package/docs/.vitepress/theme/components/NavigationLinks.vue +102 -102
- package/docs/.vitepress/theme/components/Panzoom.vue +169 -169
- package/docs/.vitepress/theme/index.mjs +15 -15
- package/docs/.vitepress/theme/style.scss +163 -163
- package/docs/abbr.json +4 -4
- package/docs/api/cron/cronApi.md +56 -56
- package/docs/api/crud/deleteCrud.md +58 -58
- package/docs/api/crud/insert.md +82 -82
- package/docs/api/crud/update.md +85 -85
- package/docs/api/index.md +47 -47
- package/docs/api/notification/testEmail.md +91 -91
- package/docs/api/table/card.md +73 -73
- package/docs/api/table/data.md +134 -134
- package/docs/api/table/export.md +60 -60
- package/docs/api/table/filter.md +104 -104
- package/docs/api/table/form.md +126 -126
- package/docs/api/table/search.md +123 -123
- package/docs/api/table/suggest.md +156 -156
- package/docs/api/table/table.md +107 -107
- package/docs/api/user/user.cls.id.md +77 -77
- package/docs/api/user/user.cls.md +49 -49
- package/docs/api/user/user.cls.post.md +62 -62
- package/docs/api/user/user.info.md +37 -37
- package/docs/api/utils/logger.file.md +60 -60
- package/docs/api/utils/next.id.md +34 -34
- package/docs/api/utils/properties.add.md +127 -127
- package/docs/api/utils/properties.get.md +73 -73
- package/docs/api/utils/status.monitor.md +36 -36
- package/docs/api/widget/widget.del.md +76 -76
- package/docs/api/widget/widget.get.md +233 -233
- package/docs/api/widget/widget.set.md +88 -88
- package/docs/db/admin.md +947 -947
- package/docs/db/crm.md +564 -564
- package/docs/db/index.md +9 -9
- package/docs/db/log.md +204 -204
- package/docs/hook/card/afterCard.md +20 -20
- package/docs/hook/card/preCard.md +25 -25
- package/docs/hook/data/afterData.md +26 -26
- package/docs/hook/data/preData.md +26 -26
- package/docs/hook/deleteCrud/afterDelete.md +21 -21
- package/docs/hook/deleteCrud/preDelete.md +26 -26
- package/docs/hook/form/afterForm.md +19 -19
- package/docs/hook/form/preForm.md +26 -26
- package/docs/hook/getTemplate/afterTemplate.md +24 -24
- package/docs/hook/getTemplate/preTemplate.md +29 -29
- package/docs/hook/index.md +45 -45
- package/docs/hook/insert/afterInsert.md +41 -41
- package/docs/hook/insert/preInsert.md +25 -25
- package/docs/hook/table/afterTable.md +20 -20
- package/docs/hook/table/preTable.md +25 -25
- package/docs/hook/update/afterUpdate.md +41 -41
- package/docs/hook/update/preUpdate.md +25 -25
- package/docs/index.md +42 -42
- package/docs/public/fastify-dark.svg +3 -3
- package/docs/public/logo-short-dark.svg +11 -11
- package/docs/public/logo-short.svg +10 -10
- package/docs/public/logo.svg +19 -19
- package/docs/readme/index.md +121 -121
- package/docs/templates/card.md +83 -83
- package/docs/templates/cls.md +29 -29
- package/docs/templates/filters.md +91 -91
- package/docs/templates/forms.md +139 -139
- package/docs/templates/index.md +28 -28
- package/docs/templates/select.md +90 -90
- package/docs/templates/table.md +162 -162
- package/docs/utils/cron/addCron.md +29 -29
- package/docs/utils/crud/dataInsert.md +51 -51
- package/docs/utils/crud/dataUpdate.md +52 -52
- package/docs/utils/crud/getOpt.md +33 -33
- package/docs/utils/crud/isFileExists.md +37 -37
- package/docs/utils/crud/setOpt.md +37 -37
- package/docs/utils/hook/addHook.md +74 -74
- package/docs/utils/hook/applyHook.md +64 -64
- package/docs/utils/index.md +47 -47
- package/docs/utils/notification/addNotification.md +28 -28
- package/docs/utils/notification/notification.md +41 -41
- package/docs/utils/pg/autoIndex.md +22 -22
- package/docs/utils/pg/getMeta.md +58 -58
- package/docs/utils/pg/getPG.md +34 -34
- package/docs/utils/pg/init.md +29 -29
- package/docs/utils/pg/pg.md +70 -70
- package/docs/utils/redis/getRedis.md +36 -36
- package/docs/utils/redis/rclient.md +74 -74
- package/docs/utils/table/getForm.md +68 -68
- package/docs/utils/table/getMeta.md +55 -55
- package/docs/utils/table/getSelect.md +38 -38
- package/docs/utils/table/getSelectMeta.md +46 -46
- package/docs/utils/table/getTable.md +77 -77
- package/helper.js +30 -30
- package/index.js +105 -105
- package/migration/exec.migrations.js +79 -79
- package/module/core/select/core.user_mentioned.sql +1 -1
- package/module/test/cls/itree.composition.json +25 -25
- package/module/test/table/test.rest_zone.table.json +265 -265
- package/notification/controllers/readNotifications.js +30 -30
- package/notification/controllers/testEmail.js +50 -50
- package/notification/controllers/userNotifications.js +64 -64
- package/notification/funcs/addNotification.js +21 -21
- package/notification/funcs/sendNotification.js +112 -112
- package/package.json +42 -41
- package/pg/funcs/getMeta.js +29 -29
- package/pg/funcs/getPG.js +30 -30
- package/pg/pgClients.js +20 -20
- package/policy/funcs/checkPolicy.js +92 -92
- package/policy/funcs/sqlInjection.js +33 -33
- package/policy/index.js +14 -14
- package/redis/client.js +8 -8
- package/redis/funcs/redisClients.js +2 -2
- package/redis/index.js +19 -19
- package/server/migrations/0.sql +78 -78
- package/server/migrations/cls.sql +39 -39
- package/server/migrations/properties.sql +144 -144
- package/server/migrations/roles.sql +172 -166
- package/server/migrations/users.sql +168 -168
- package/server.js +26 -26
- package/table/controllers/data.js +150 -134
- package/table/controllers/filter.js +50 -50
- package/table/controllers/form.js +42 -42
- package/table/controllers/search.js +80 -80
- package/table/controllers/suggest.js +79 -79
- package/table/controllers/table.js +83 -79
- package/table/controllers/utils/addTemplateDir.js +8 -8
- package/table/controllers/utils/getSelect.js +19 -19
- package/table/controllers/utils/getSelectMeta.js +66 -66
- package/table/controllers/utils/getTemplate_old.js +28 -28
- package/table/controllers/utils/getTemplates.js +18 -18
- package/table/controllers/utils/gisIRColumn.js +67 -67
- package/table/controllers/utils/loadTemplate.js +1 -1
- package/table/controllers/utils/loadTemplatePath.js +1 -1
- package/table/controllers/utils/userTemplateDir.js +1 -1
- package/table/funcs/getFilterSQL/index.js +94 -94
- package/table/funcs/getFilterSQL/util/formatValue.js +170 -170
- package/table/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
- package/table/funcs/getFilterSQL/util/getFilterQuery.js +66 -66
- package/table/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
- package/table/funcs/getFilterSQL/util/getTableSql.js +34 -34
- package/table/funcs/metaFormat/getSelectVal.js +21 -21
- package/table/funcs/metaFormat/index.js +28 -28
- package/table/index.js +37 -84
- package/table/schema.js +54 -0
- package/test/api/applyHook.test.js +95 -95
- package/test/api/crud.test.js +89 -89
- package/test/api/crud.xss.test.js +80 -80
- package/test/api/suggest.test.js +66 -66
- package/test/api/table.test.js +134 -134
- package/test/api/user.test.js +85 -85
- package/test/api/widget.test.js +117 -117
- package/test/helper/formatDate.test.js +62 -62
- package/test/templates/select/test.storage.data.json +3 -3
- package/test/templates/select/test.suggest.ato_new.json +3 -3
- package/test/templates/select/test.suggest.ato_new.sql +25 -25
- package/test/templates/select/test.suggest.data.json +4 -4
- package/test/templates/select/test.suggest.parent.sql +1 -1
- package/user/controllers/user.cls.id.js +14 -14
- package/user/controllers/user.cls.js +75 -75
- package/user/controllers/user.cls.post.js +55 -55
- package/user/controllers/user.info.js +21 -21
- package/util/controllers/logger.file.js +91 -91
- package/util/controllers/properties.add.js +60 -60
- package/util/controllers/status.monitor.js +8 -8
- package/util/controllers/utils/checkUserAccess.js +17 -17
- package/util/controllers/utils/getRootDir.js +25 -25
- package/utils.js +104 -104
- package/widget/controllers/utils/historyFormat.js +76 -76
- package/widget/controllers/utils/obj2db.js +13 -13
- package/widget/controllers/widget.del.js +44 -44
- package/widget/controllers/widget.get.js +102 -102
- package/widget/controllers/widget.set.js +79 -79
- 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
|
+
|