@opengis/fastify-table 2.4.2 → 2.4.4
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/README.md +86 -86
- package/dist/functions.js +20 -20
- package/dist/module/core/cls/constraint_action.json +9 -9
- package/dist/module/core/cls/constraint_matchtype.json +5 -5
- package/dist/module/core/cls/constraint_type_full.json +17 -17
- package/dist/module/core/cls/core.user_type.json +13 -13
- package/dist/module/core/pt/schemaItem.pt.hbs +17 -17
- package/dist/script/adduser +14 -14
- package/dist/script/dump.js +48 -48
- package/dist/script/dump.ts +216 -216
- package/dist/script/migrate.ts +41 -41
- package/dist/server/helpers/core/badge.js +1 -1
- package/dist/server/helpers/list/descriptionList.js +8 -8
- package/dist/server/helpers/list/tableList.js +4 -4
- package/dist/server/helpers/list/utils/button.js +1 -1
- package/dist/server/helpers/list/utils/buttonDel.js +3 -3
- package/dist/server/helpers/list/utils/buttonEdit.js +3 -3
- package/dist/server/helpers/utils/button.js +1 -1
- package/dist/server/helpers/utils/buttonAdd.js +15 -15
- package/dist/server/helpers/utils/buttonDel.js +11 -11
- package/dist/server/helpers/utils/buttonEdit.js +3 -3
- package/dist/server/migrations/0.sql +99 -99
- package/dist/server/migrations/cls.sql +105 -105
- package/dist/server/migrations/context.sql +136 -136
- package/dist/server/migrations/oauth.sql +79 -79
- package/dist/server/migrations/properties.sql +115 -115
- package/dist/server/migrations/roles.sql +195 -195
- package/dist/server/migrations/template.sql +43 -43
- package/dist/server/migrations/users.sql +151 -151
- package/dist/server/plugins/access/funcs/getUserPermissions.js +7 -7
- package/dist/server/plugins/auth/funcs/authorizeUser.js +4 -4
- package/dist/server/plugins/auth/funcs/getQuery.js +20 -20
- package/dist/server/plugins/crud/funcs/dataUpdate.js +7 -7
- package/dist/server/plugins/crud/funcs/getAccess.js +14 -14
- package/dist/server/plugins/crud/funcs/utils/getInsertQuery.js +6 -6
- package/dist/server/plugins/crud/funcs/utils/logChanges.js +18 -18
- package/dist/server/plugins/grpc/utils/convertp.proto +136 -136
- package/dist/server/plugins/grpc/utils/htmlTemplate.js +10 -10
- package/dist/server/plugins/grpc/utils/office2pdf.proto +13 -13
- package/dist/server/plugins/metric/loggerSystem.js +1 -1
- package/dist/server/plugins/pg/funcs/autoIndex.js +5 -5
- package/dist/server/plugins/pg/funcs/getMeta.js +10 -10
- package/dist/server/plugins/pg/funcs/init.js +36 -36
- package/dist/server/plugins/sqlite/funcs/init.js +22 -22
- package/dist/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +1 -1
- package/dist/server/plugins/table/funcs/getSelect.js +1 -1
- package/dist/server/plugins/table/funcs/gisIRColumn.js +3 -3
- package/dist/server/plugins/usercls/index.js +2 -2
- package/dist/server/routes/access/controllers/access.group.js +6 -6
- package/dist/server/routes/access/controllers/access.group.post.js +5 -5
- package/dist/server/routes/access/controllers/access.interface.js +14 -14
- package/dist/server/routes/access/controllers/access.user.js +6 -6
- package/dist/server/routes/auth/controllers/2factor/providers/totp.js +5 -5
- package/dist/server/routes/auth/controllers/2factor/qrcode.js +1 -1
- package/dist/server/routes/auth/controllers/2factor/recovery.js +1 -1
- package/dist/server/routes/auth/controllers/2factor/verify.js +1 -1
- package/dist/server/routes/auth/controllers/core/getUserInfo.js +33 -33
- package/dist/server/routes/auth/controllers/core/passwordRecovery.js +1 -1
- package/dist/server/routes/auth/controllers/core/registration.js +2 -2
- package/dist/server/routes/auth/controllers/page/login2faTemplate.js +1 -1
- package/dist/server/routes/file/controllers/download.d.ts.map +1 -1
- package/dist/server/routes/file/controllers/download.js +1 -1
- package/dist/server/routes/file/controllers/files.d.ts.map +1 -1
- package/dist/server/routes/file/controllers/files.js +1 -1
- package/dist/server/routes/file/controllers/resizeAll.js +6 -6
- package/dist/server/routes/grpc/controllers/file2geojson.js +13 -13
- package/dist/server/routes/menu/controllers/getMenu.js +9 -9
- package/dist/server/routes/notifications/controllers/readNotifications.js +4 -4
- package/dist/server/routes/notifications/controllers/userNotifications.js +3 -3
- package/dist/server/routes/table/controllers/card.js +1 -1
- package/dist/server/routes/table/controllers/filter.js +7 -7
- package/dist/server/routes/table/controllers/form.js +1 -1
- package/dist/server/routes/table/controllers/getFormByTable.js +6 -6
- package/dist/server/routes/table/controllers/suggest.js +3 -3
- package/dist/server/routes/table/controllers/tableData.js +2 -2
- package/dist/server/routes/table/controllers/tableInfo.js +10 -10
- package/dist/server/routes/table/functions/getData.js +13 -13
- package/dist/server/routes/widget/controllers/widget.get.js +33 -33
- package/dist/server/routes/widget/controllers/widget.set.js +3 -3
- package/dist/server/templates/page/2factor-recovery.html +101 -101
- package/dist/server/templates/page/2factor.html +140 -140
- package/dist/server/templates/page/login.html +90 -90
- package/dist/server/templates/page/loginEuSign.html +123 -123
- package/dist/server/templates/pt/recovery-codes-email-template.hbs +12 -12
- package/dist/server/templates/pt/recovery-password-email-template.html +20 -20
- package/package.json +98 -98
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
create schema if not exists admin;
|
|
2
|
-
create schema if not exists crm;
|
|
3
|
-
|
|
4
|
-
CREATE EXTENSION if not exists pg_trgm SCHEMA public VERSION "1.5";
|
|
5
|
-
|
|
6
|
-
-- drop old
|
|
7
|
-
DROP TABLE IF EXISTS admin.user_properties;
|
|
8
|
-
DROP TABLE IF EXISTS admin.table_properties;
|
|
9
|
-
-- DROP SCHEMA IF EXISTS setting cascade;
|
|
10
|
-
|
|
11
|
-
CREATE TABLE IF NOT EXISTS admin.properties();
|
|
12
|
-
ALTER TABLE admin.properties DROP CONSTRAINT IF EXISTS admin_properties_property_id_pkey;
|
|
13
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_id text NOT NULL DEFAULT next_id();
|
|
14
|
-
|
|
15
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_entity text;
|
|
16
|
-
COMMENT ON COLUMN admin.properties.property_entity IS 'Сутність';
|
|
17
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_key text;
|
|
18
|
-
COMMENT ON COLUMN admin.properties.property_key IS 'Ключ';
|
|
19
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_text text;
|
|
20
|
-
COMMENT ON COLUMN admin.properties.property_text IS 'Текстове значення налаштування';
|
|
21
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_int integer;
|
|
22
|
-
COMMENT ON COLUMN admin.properties.property_int IS 'Цілочислове значения';
|
|
23
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_json json;
|
|
24
|
-
COMMENT ON COLUMN admin.properties.property_json IS 'Значення налаштування';
|
|
25
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS level text;
|
|
26
|
-
COMMENT ON COLUMN admin.properties.level IS 'Рівень (user/system)';
|
|
27
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS object_id text;
|
|
28
|
-
COMMENT ON COLUMN admin.properties.object_id IS 'ID Об''єкту';
|
|
29
|
-
|
|
30
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
|
|
31
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_id text;
|
|
32
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
33
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
|
|
34
|
-
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS files json;
|
|
35
|
-
|
|
36
|
-
ALTER TABLE admin.properties ADD CONSTRAINT admin_properties_property_id_pkey PRIMARY KEY(property_id);
|
|
37
|
-
|
|
38
|
-
COMMENT ON TABLE admin.properties IS 'Налаштування';
|
|
39
|
-
|
|
40
|
-
CREATE TABLE IF NOT EXISTS admin.custom_column();
|
|
41
|
-
ALTER TABLE admin.custom_column DROP CONSTRAINT IF EXISTS admin_custom_column_column_id_pkey cascade;
|
|
42
|
-
alter table admin.custom_column drop constraint if exists admin_custom_column_name_entity_uid_unique;
|
|
43
|
-
|
|
44
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS column_id text;
|
|
45
|
-
ALTER TABLE admin.custom_column ALTER COLUMN column_id SET NOT NULL;
|
|
46
|
-
ALTER TABLE admin.custom_column ALTER COLUMN column_id SET DEFAULT next_id();
|
|
47
|
-
|
|
48
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS name text;
|
|
49
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS entity text;
|
|
50
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS title text;
|
|
51
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS format text;
|
|
52
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS data text;
|
|
53
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS filter boolean;
|
|
54
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS _table boolean;
|
|
55
|
-
|
|
56
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
|
|
57
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_id text;
|
|
58
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
59
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
|
|
60
|
-
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS files json;
|
|
61
|
-
|
|
62
|
-
ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_column_id_pkey PRIMARY KEY(column_id);
|
|
63
|
-
ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_name_entity_uid_unique UNIQUE (name,entity,uid);
|
|
64
|
-
|
|
65
|
-
COMMENT ON TABLE admin.custom_column IS 'Налаштування таблиць користувача';
|
|
66
|
-
COMMENT ON COLUMN admin.custom_column.name IS 'Ключ';
|
|
67
|
-
COMMENT ON COLUMN admin.custom_column.entity IS 'Таблиця';
|
|
68
|
-
COMMENT ON COLUMN admin.custom_column.title IS 'Підпис';
|
|
69
|
-
COMMENT ON COLUMN admin.custom_column.format IS 'Формат';
|
|
70
|
-
COMMENT ON COLUMN admin.custom_column.data IS 'Класифікатор';
|
|
71
|
-
COMMENT ON COLUMN admin.custom_column.filter IS 'Виводити у фільтрах';
|
|
72
|
-
COMMENT ON COLUMN admin.custom_column._table IS 'Відображати у таблиці';
|
|
73
|
-
|
|
74
|
-
CREATE TABLE if not exists crm.extra_data();
|
|
75
|
-
ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_pkey;
|
|
76
|
-
ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_id_fkey;
|
|
77
|
-
ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_key_object_id_entity_unique;
|
|
78
|
-
|
|
79
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS extra_data_id text;
|
|
80
|
-
ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET NOT NULL;
|
|
81
|
-
ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET DEFAULT next_id();
|
|
82
|
-
|
|
83
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_id text;
|
|
84
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_key text;
|
|
85
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_entity text;
|
|
86
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS object_id text;
|
|
87
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_text text;
|
|
88
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_date timestamp without time zone;
|
|
89
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_array text[];
|
|
90
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS uid text;
|
|
91
|
-
ALTER TABLE crm.extra_data ALTER COLUMN uid SET DEFAULT '1'::text;
|
|
92
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS cdate timestamp without time zone;
|
|
93
|
-
ALTER TABLE crm.extra_data ALTER COLUMN cdate SET DEFAULT date_trunc('seconds'::text, now());
|
|
94
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_id text;
|
|
95
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
96
|
-
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS files json;
|
|
97
|
-
|
|
98
|
-
ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_pkey PRIMARY KEY (extra_data_id);
|
|
99
|
-
-- delete from crm.extra_data where property_id not in (select column_id from admin.custom_column);
|
|
100
|
-
ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_property_id_fkey FOREIGN KEY (property_id) REFERENCES admin.custom_column (column_id) MATCH SIMPLE;
|
|
101
|
-
ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_property_key_object_id_entity_unique UNIQUE (property_key, object_id, property_entity);
|
|
102
|
-
|
|
103
|
-
COMMENT ON TABLE crm.extra_data IS 'Значення користувацьких полів';
|
|
104
|
-
COMMENT ON COLUMN crm.extra_data.property_id IS 'ID поля користувача';
|
|
105
|
-
COMMENT ON COLUMN crm.extra_data.property_key IS 'Назва колонки';
|
|
106
|
-
COMMENT ON COLUMN crm.extra_data.property_entity IS 'Таблиця';
|
|
107
|
-
COMMENT ON COLUMN crm.extra_data.object_id IS 'Ідентифікатор об''єкту';
|
|
108
|
-
COMMENT ON COLUMN crm.extra_data.value_text IS 'Значення';
|
|
109
|
-
COMMENT ON COLUMN crm.extra_data.value_date IS 'Дата';
|
|
110
|
-
COMMENT ON COLUMN crm.extra_data.uid IS 'ID користувача';
|
|
111
|
-
|
|
112
|
-
CREATE INDEX IF NOT EXISTS crm_extra_data_cdate_btree_idx ON crm.extra_data USING btree (cdate);
|
|
113
|
-
CREATE INDEX IF NOT EXISTS crm_extra_data_property_id_btree_idx ON crm.extra_data USING btree (property_id COLLATE pg_catalog."default");
|
|
114
|
-
CREATE INDEX IF NOT EXISTS crm_extra_data_property_entity_btree_idx ON crm.extra_data USING btree (property_entity COLLATE pg_catalog."default");
|
|
115
|
-
CREATE INDEX IF NOT EXISTS crm_extra_data_object_id_btree_idx ON crm.extra_data USING btree (object_id COLLATE pg_catalog."default");
|
|
1
|
+
create schema if not exists admin;
|
|
2
|
+
create schema if not exists crm;
|
|
3
|
+
|
|
4
|
+
CREATE EXTENSION if not exists pg_trgm SCHEMA public VERSION "1.5";
|
|
5
|
+
|
|
6
|
+
-- drop old
|
|
7
|
+
DROP TABLE IF EXISTS admin.user_properties;
|
|
8
|
+
DROP TABLE IF EXISTS admin.table_properties;
|
|
9
|
+
-- DROP SCHEMA IF EXISTS setting cascade;
|
|
10
|
+
|
|
11
|
+
CREATE TABLE IF NOT EXISTS admin.properties();
|
|
12
|
+
ALTER TABLE admin.properties DROP CONSTRAINT IF EXISTS admin_properties_property_id_pkey;
|
|
13
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_id text NOT NULL DEFAULT next_id();
|
|
14
|
+
|
|
15
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_entity text;
|
|
16
|
+
COMMENT ON COLUMN admin.properties.property_entity IS 'Сутність';
|
|
17
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_key text;
|
|
18
|
+
COMMENT ON COLUMN admin.properties.property_key IS 'Ключ';
|
|
19
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_text text;
|
|
20
|
+
COMMENT ON COLUMN admin.properties.property_text IS 'Текстове значення налаштування';
|
|
21
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_int integer;
|
|
22
|
+
COMMENT ON COLUMN admin.properties.property_int IS 'Цілочислове значения';
|
|
23
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_json json;
|
|
24
|
+
COMMENT ON COLUMN admin.properties.property_json IS 'Значення налаштування';
|
|
25
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS level text;
|
|
26
|
+
COMMENT ON COLUMN admin.properties.level IS 'Рівень (user/system)';
|
|
27
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS object_id text;
|
|
28
|
+
COMMENT ON COLUMN admin.properties.object_id IS 'ID Об''єкту';
|
|
29
|
+
|
|
30
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
|
|
31
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_id text;
|
|
32
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
33
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
|
|
34
|
+
ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS files json;
|
|
35
|
+
|
|
36
|
+
ALTER TABLE admin.properties ADD CONSTRAINT admin_properties_property_id_pkey PRIMARY KEY(property_id);
|
|
37
|
+
|
|
38
|
+
COMMENT ON TABLE admin.properties IS 'Налаштування';
|
|
39
|
+
|
|
40
|
+
CREATE TABLE IF NOT EXISTS admin.custom_column();
|
|
41
|
+
ALTER TABLE admin.custom_column DROP CONSTRAINT IF EXISTS admin_custom_column_column_id_pkey cascade;
|
|
42
|
+
alter table admin.custom_column drop constraint if exists admin_custom_column_name_entity_uid_unique;
|
|
43
|
+
|
|
44
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS column_id text;
|
|
45
|
+
ALTER TABLE admin.custom_column ALTER COLUMN column_id SET NOT NULL;
|
|
46
|
+
ALTER TABLE admin.custom_column ALTER COLUMN column_id SET DEFAULT next_id();
|
|
47
|
+
|
|
48
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS name text;
|
|
49
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS entity text;
|
|
50
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS title text;
|
|
51
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS format text;
|
|
52
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS data text;
|
|
53
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS filter boolean;
|
|
54
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS _table boolean;
|
|
55
|
+
|
|
56
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
|
|
57
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_id text;
|
|
58
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
59
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
|
|
60
|
+
ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS files json;
|
|
61
|
+
|
|
62
|
+
ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_column_id_pkey PRIMARY KEY(column_id);
|
|
63
|
+
ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_name_entity_uid_unique UNIQUE (name,entity,uid);
|
|
64
|
+
|
|
65
|
+
COMMENT ON TABLE admin.custom_column IS 'Налаштування таблиць користувача';
|
|
66
|
+
COMMENT ON COLUMN admin.custom_column.name IS 'Ключ';
|
|
67
|
+
COMMENT ON COLUMN admin.custom_column.entity IS 'Таблиця';
|
|
68
|
+
COMMENT ON COLUMN admin.custom_column.title IS 'Підпис';
|
|
69
|
+
COMMENT ON COLUMN admin.custom_column.format IS 'Формат';
|
|
70
|
+
COMMENT ON COLUMN admin.custom_column.data IS 'Класифікатор';
|
|
71
|
+
COMMENT ON COLUMN admin.custom_column.filter IS 'Виводити у фільтрах';
|
|
72
|
+
COMMENT ON COLUMN admin.custom_column._table IS 'Відображати у таблиці';
|
|
73
|
+
|
|
74
|
+
CREATE TABLE if not exists crm.extra_data();
|
|
75
|
+
ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_pkey;
|
|
76
|
+
ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_id_fkey;
|
|
77
|
+
ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_key_object_id_entity_unique;
|
|
78
|
+
|
|
79
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS extra_data_id text;
|
|
80
|
+
ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET NOT NULL;
|
|
81
|
+
ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET DEFAULT next_id();
|
|
82
|
+
|
|
83
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_id text;
|
|
84
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_key text;
|
|
85
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_entity text;
|
|
86
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS object_id text;
|
|
87
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_text text;
|
|
88
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_date timestamp without time zone;
|
|
89
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_array text[];
|
|
90
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS uid text;
|
|
91
|
+
ALTER TABLE crm.extra_data ALTER COLUMN uid SET DEFAULT '1'::text;
|
|
92
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS cdate timestamp without time zone;
|
|
93
|
+
ALTER TABLE crm.extra_data ALTER COLUMN cdate SET DEFAULT date_trunc('seconds'::text, now());
|
|
94
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_id text;
|
|
95
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
96
|
+
ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS files json;
|
|
97
|
+
|
|
98
|
+
ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_pkey PRIMARY KEY (extra_data_id);
|
|
99
|
+
-- delete from crm.extra_data where property_id not in (select column_id from admin.custom_column);
|
|
100
|
+
ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_property_id_fkey FOREIGN KEY (property_id) REFERENCES admin.custom_column (column_id) MATCH SIMPLE;
|
|
101
|
+
ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_property_key_object_id_entity_unique UNIQUE (property_key, object_id, property_entity);
|
|
102
|
+
|
|
103
|
+
COMMENT ON TABLE crm.extra_data IS 'Значення користувацьких полів';
|
|
104
|
+
COMMENT ON COLUMN crm.extra_data.property_id IS 'ID поля користувача';
|
|
105
|
+
COMMENT ON COLUMN crm.extra_data.property_key IS 'Назва колонки';
|
|
106
|
+
COMMENT ON COLUMN crm.extra_data.property_entity IS 'Таблиця';
|
|
107
|
+
COMMENT ON COLUMN crm.extra_data.object_id IS 'Ідентифікатор об''єкту';
|
|
108
|
+
COMMENT ON COLUMN crm.extra_data.value_text IS 'Значення';
|
|
109
|
+
COMMENT ON COLUMN crm.extra_data.value_date IS 'Дата';
|
|
110
|
+
COMMENT ON COLUMN crm.extra_data.uid IS 'ID користувача';
|
|
111
|
+
|
|
112
|
+
CREATE INDEX IF NOT EXISTS crm_extra_data_cdate_btree_idx ON crm.extra_data USING btree (cdate);
|
|
113
|
+
CREATE INDEX IF NOT EXISTS crm_extra_data_property_id_btree_idx ON crm.extra_data USING btree (property_id COLLATE pg_catalog."default");
|
|
114
|
+
CREATE INDEX IF NOT EXISTS crm_extra_data_property_entity_btree_idx ON crm.extra_data USING btree (property_entity COLLATE pg_catalog."default");
|
|
115
|
+
CREATE INDEX IF NOT EXISTS crm_extra_data_object_id_btree_idx ON crm.extra_data USING btree (object_id COLLATE pg_catalog."default");
|
|
@@ -1,195 +1,195 @@
|
|
|
1
|
-
create schema if not exists admin;
|
|
2
|
-
create schema if not exists public;
|
|
3
|
-
CREATE EXTENSION if not exists pg_trgm SCHEMA public VERSION "1.5";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
-- Admin Menu
|
|
7
|
-
-- DROP TABLE if exists admin.menu;
|
|
8
|
-
CREATE TABLE if not exists admin.menu();
|
|
9
|
-
alter table admin.menu DROP CONSTRAINT if exists admin_menu_id_pkey cascade;
|
|
10
|
-
alter table admin.menu DROP CONSTRAINT if exists admin_menu_name_unique;
|
|
11
|
-
|
|
12
|
-
alter table admin.menu add column if not exists menu_id text NOT NULL default next_id();
|
|
13
|
-
alter table admin.menu add column if not exists name text;
|
|
14
|
-
alter table admin.menu add column if not exists ord numeric;
|
|
15
|
-
alter table admin.menu add column if not exists enabled boolean NOT NULL DEFAULT true;
|
|
16
|
-
alter table admin.menu add column if not exists uid text;
|
|
17
|
-
alter table admin.menu add column if not exists editor_id text;
|
|
18
|
-
alter table admin.menu add column if not exists editor_date timestamp without time zone;
|
|
19
|
-
alter table admin.menu add column if not exists cdate timestamp without time zone DEFAULT now();
|
|
20
|
-
alter table admin.menu add CONSTRAINT admin_menu_id_pkey PRIMARY KEY (menu_id);
|
|
21
|
-
alter table admin.menu add CONSTRAINT admin_menu_name_unique UNIQUE (name);
|
|
22
|
-
|
|
23
|
-
COMMENT ON TABLE admin.menu IS 'Пункти меню';
|
|
24
|
-
COMMENT ON COLUMN admin.menu.menu_id IS 'Ідентифікатор пункту меню';
|
|
25
|
-
COMMENT ON COLUMN admin.menu.name IS 'Назва пункту меню';
|
|
26
|
-
COMMENT ON COLUMN admin.menu.ord IS 'Порядковий номер';
|
|
27
|
-
COMMENT ON COLUMN admin.menu.enabled IS 'On / Off';
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
-- Role (Group)
|
|
33
|
-
-- drop table if exists admin.roles;
|
|
34
|
-
CREATE TABLE if not exists admin.roles();
|
|
35
|
-
alter table admin.roles DROP CONSTRAINT if exists admin_roles_id_pkey cascade;
|
|
36
|
-
|
|
37
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists role_id text NOT NULL DEFAULT next_id();
|
|
38
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists name text;
|
|
39
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists enabled boolean;
|
|
40
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists info text;
|
|
41
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now());
|
|
42
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists uid text;
|
|
43
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists editor_id text;
|
|
44
|
-
ALTER TABLE admin.roles ADD COLUMN if not exists editor_date timestamp without time zone;
|
|
45
|
-
|
|
46
|
-
ALTER TABLE admin.roles ADD CONSTRAINT admin_roles_id_pkey PRIMARY KEY(role_id);
|
|
47
|
-
|
|
48
|
-
COMMENT ON TABLE admin.roles IS 'Групи';
|
|
49
|
-
COMMENT ON COLUMN admin.roles.role_id IS 'ID';
|
|
50
|
-
COMMENT ON COLUMN admin.roles.name IS 'Назва групи';
|
|
51
|
-
COMMENT ON COLUMN admin.roles.enabled IS 'On / Off';
|
|
52
|
-
COMMENT ON COLUMN admin.roles.info IS 'Опис групи';
|
|
53
|
-
COMMENT ON COLUMN admin.roles.cdate IS 'Дата створення';
|
|
54
|
-
COMMENT ON COLUMN admin.roles.uid IS 'Хто створив';
|
|
55
|
-
COMMENT ON COLUMN admin.roles.editor_id IS 'Останній редагувач';
|
|
56
|
-
COMMENT ON COLUMN admin.roles.editor_date IS 'Дата останнього редагування';
|
|
57
|
-
|
|
58
|
-
-- Routes (Interfaces)
|
|
59
|
-
-- DROP TABLE if exists admin.routes;
|
|
60
|
-
CREATE TABLE if not exists admin.routes();
|
|
61
|
-
alter table admin.routes DROP CONSTRAINT if exists admin_route_id_pkey cascade;
|
|
62
|
-
alter table admin.routes DROP constraint if exists admin_route_menu_id_fkey cascade;
|
|
63
|
-
alter table admin.routes DROP constraint if exists admin_route_alias_query_unique cascade;
|
|
64
|
-
|
|
65
|
-
alter table admin.routes add column if not exists route_id text;
|
|
66
|
-
alter table admin.routes alter column route_id set not null;
|
|
67
|
-
alter table admin.routes alter column route_id set default next_id();
|
|
68
|
-
alter table admin.routes add column if not exists alias text;
|
|
69
|
-
alter table admin.routes alter column alias drop not null;
|
|
70
|
-
-- alter table admin.routes alter column alias set not null;
|
|
71
|
-
alter table admin.routes add column if not exists table_name text;
|
|
72
|
-
alter table admin.routes alter column table_name drop not null;
|
|
73
|
-
-- alter table admin.routes alter column table_name set not null;
|
|
74
|
-
alter table admin.routes add column if not exists query text;
|
|
75
|
-
alter table admin.routes add column if not exists actions text[];
|
|
76
|
-
alter table admin.routes add column if not exists access text;
|
|
77
|
-
alter table admin.routes add column if not exists title text;
|
|
78
|
-
alter table admin.routes add column if not exists public boolean;
|
|
79
|
-
alter table admin.routes add column if not exists menu_id text;
|
|
80
|
-
alter table admin.routes add column if not exists uid text;
|
|
81
|
-
alter table admin.routes add column if not exists editor_id text;
|
|
82
|
-
alter table admin.routes add column if not exists editor_date timestamp without time zone;
|
|
83
|
-
alter table admin.routes add column if not exists cdate timestamp without time zone DEFAULT now();
|
|
84
|
-
alter table admin.routes alter column cdate set DEFAULT now();
|
|
85
|
-
alter table admin.routes add column if not exists enabled boolean;
|
|
86
|
-
alter table admin.routes alter column enabled set NOT NULL;
|
|
87
|
-
alter table admin.routes alter column enabled set DEFAULT true;
|
|
88
|
-
|
|
89
|
-
alter table admin.routes add CONSTRAINT admin_route_id_pkey PRIMARY KEY (route_id);
|
|
90
|
-
alter table admin.routes add constraint admin_route_menu_id_fkey FOREIGN KEY (menu_id) REFERENCES admin.menu(menu_id);
|
|
91
|
-
|
|
92
|
-
-- alter table admin.routes add CONSTRAINT admin_route_alias_query_unique UNIQUE (alias, query);
|
|
93
|
-
|
|
94
|
-
COMMENT ON TABLE admin.routes IS 'Список інтерфейсів';
|
|
95
|
-
COMMENT ON COLUMN admin.routes.route_id IS 'Ідентифікатор інтерфейса';
|
|
96
|
-
COMMENT ON COLUMN admin.routes.alias IS 'Назва файлу інтерфейса';
|
|
97
|
-
|
|
98
|
-
COMMENT ON COLUMN admin.routes.table_name IS 'Таблиця в БД';
|
|
99
|
-
comment on column admin.routes.query is 'Запит до таблиці';
|
|
100
|
-
COMMENT ON COLUMN admin.routes.actions IS 'Дії';
|
|
101
|
-
COMMENT ON COLUMN admin.routes.access IS 'Рівень доступу';
|
|
102
|
-
COMMENT ON COLUMN admin.routes.title IS 'Назва інтерфейсу українською';
|
|
103
|
-
COMMENT ON COLUMN admin.routes.public IS 'Ознака чи для всіх показується';
|
|
104
|
-
COMMENT ON COLUMN admin.routes.enabled IS 'On / Off';
|
|
105
|
-
COMMENT ON COLUMN admin.routes.menu_id IS 'Пункт меню (для collapse)';
|
|
106
|
-
|
|
107
|
-
-- User <> Role (Group)
|
|
108
|
-
-- DROP TABLE if exists admin.user_roles;
|
|
109
|
-
|
|
110
|
-
CREATE TABLE if not exists admin.user_roles();
|
|
111
|
-
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_role_id_pkey;
|
|
112
|
-
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_pkey;
|
|
113
|
-
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_role_id_fkey;
|
|
114
|
-
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_user_uid_fkey;
|
|
115
|
-
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_user_uid_role_id_key;
|
|
116
|
-
|
|
117
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS ugr_id text NOT NULL DEFAULT next_id();
|
|
118
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS user_uid text NOT NULL;
|
|
119
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS role_id text NOT NULL;
|
|
120
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now());
|
|
121
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS uid text;
|
|
122
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS editor_id text;
|
|
123
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
124
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS expiration date;
|
|
125
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS access_granted text;
|
|
126
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS access_granted_time timestamp without time zone;
|
|
127
|
-
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS actions text [];
|
|
128
|
-
|
|
129
|
-
ALTER TABLE admin.user_roles ADD CONSTRAINT admin_user_roles_pkey PRIMARY KEY (ugr_id);
|
|
130
|
-
ALTER TABLE admin.user_roles ADD CONSTRAINT admin_user_roles_user_uid_role_id_key UNIQUE (user_uid, role_id);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
COMMENT ON TABLE admin.user_roles IS 'Відношення користувачів до груп';
|
|
134
|
-
COMMENT ON COLUMN admin.user_roles.user_uid IS 'ID користувача';
|
|
135
|
-
COMMENT ON COLUMN admin.user_roles.role_id IS 'ID групи';
|
|
136
|
-
COMMENT ON COLUMN admin.user_roles.uid IS 'Користувач, який створив запис в БД';
|
|
137
|
-
COMMENT ON COLUMN admin.user_roles.expiration IS 'закінчення терміну дії доступу до групи';
|
|
138
|
-
COMMENT ON COLUMN admin.user_roles.access_granted IS 'Ідентифікатор користувача який надав доступ';
|
|
139
|
-
COMMENT ON COLUMN admin.user_roles.access_granted_time IS 'Час коли надали доступ';
|
|
140
|
-
COMMENT ON COLUMN admin.user_roles.actions IS 'Рівень доступу користувача в межах групи';
|
|
141
|
-
|
|
142
|
-
CREATE INDEX IF NOT EXISTS admin_user_roles_access_user_uid_idx ON admin.user_roles USING btree (user_uid COLLATE pg_catalog."default");
|
|
143
|
-
CREATE INDEX IF NOT EXISTS admin_user_roles_cdate_btree_idx ON admin.user_roles USING btree (cdate);
|
|
144
|
-
CREATE INDEX IF NOT EXISTS admin_user_roles_editor_date_btree_idx ON admin.user_roles USING btree (editor_date);
|
|
145
|
-
CREATE INDEX IF NOT EXISTS admin_user_roles_user_uid_gin_idx ON admin.user_roles USING gin (user_uid COLLATE pg_catalog."default" gin_trgm_ops);
|
|
146
|
-
CREATE INDEX IF NOT EXISTS admin_user_roles_role_id_idx ON admin.user_roles USING btree (role_id COLLATE pg_catalog."default");
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
-- Route (Interface) <> User / Role (Group)
|
|
150
|
-
-- drop table if exists admin.role_access;
|
|
151
|
-
drop table if exists admin.access;
|
|
152
|
-
|
|
153
|
-
CREATE TABLE if not exists admin.role_access();
|
|
154
|
-
alter table admin.role_access DROP CONSTRAINT if exists admin_access_id_pkey;
|
|
155
|
-
alter table admin.role_access DROP CONSTRAINT if exists admin_role_access_id_pkey;
|
|
156
|
-
alter table admin.role_access DROP CONSTRAINT if exists admin_access_role_id_fkey;
|
|
157
|
-
alter table admin.role_access DROP CONSTRAINT if exists admin_access_route_id_uid_unique;
|
|
158
|
-
alter table admin.role_access DROP CONSTRAINT if exists admin_access_route_id_fkey;
|
|
159
|
-
|
|
160
|
-
alter table admin.role_access add column if not exists access_id text NOT NULL DEFAULT next_id();
|
|
161
|
-
alter table admin.role_access add column if not exists route_id text NOT NULL;
|
|
162
|
-
alter table admin.role_access add column if not exists role_id text;
|
|
163
|
-
alter table admin.role_access add column if not exists user_uid text;
|
|
164
|
-
alter table admin.role_access add column if not exists scope text;
|
|
165
|
-
alter table admin.role_access add column if not exists actions text[];
|
|
166
|
-
ALTER TABLE admin.role_access ADD COLUMN IF NOT EXISTS access_granted text;
|
|
167
|
-
ALTER TABLE admin.role_access ADD COLUMN IF NOT EXISTS access_granted_time timestamp without time zone;
|
|
168
|
-
alter table admin.role_access add column if not exists cdate timestamp without time zone NOT NULL DEFAULT date_trunc('seconds'::text, now());
|
|
169
|
-
alter table admin.role_access add column if not exists uid text;
|
|
170
|
-
alter table admin.role_access add column if not exists editor_id text;
|
|
171
|
-
alter table admin.role_access add column if not exists editor_date timestamp without time zone;
|
|
172
|
-
|
|
173
|
-
alter table admin.role_access add CONSTRAINT admin_role_access_id_pkey PRIMARY KEY (access_id);
|
|
174
|
-
alter table admin.role_access add CONSTRAINT admin_access_role_id_fkey FOREIGN KEY (role_id) REFERENCES admin.roles (role_id);
|
|
175
|
-
alter table admin.role_access add CONSTRAINT admin_access_route_id_uid_unique UNIQUE (route_id, user_uid, role_id);
|
|
176
|
-
alter table admin.role_access add constraint admin_access_route_id_fkey FOREIGN KEY (route_id) REFERENCES admin.routes(route_id);
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
COMMENT ON TABLE admin.role_access IS 'Налаштування прав. Відношення груп / окремих користувачів до шаблонів';
|
|
180
|
-
COMMENT ON COLUMN admin.role_access.route_id IS 'ID шаблона';
|
|
181
|
-
COMMENT ON COLUMN admin.role_access.role_id IS 'ID групи';
|
|
182
|
-
COMMENT ON COLUMN admin.role_access.user_uid IS 'ID користувача';
|
|
183
|
-
COMMENT ON COLUMN admin.role_access.scope IS 'Обмеження виведення (власні, відповідальний, всі)';
|
|
184
|
-
COMMENT ON COLUMN admin.role_access.actions IS 'Доступні дії';
|
|
185
|
-
COMMENT ON COLUMN admin.role_access.access_granted IS 'Ідентифікатор користувача який надав доступ';
|
|
186
|
-
COMMENT ON COLUMN admin.role_access.access_granted_time IS 'Час коли надали доступ';
|
|
187
|
-
|
|
188
|
-
CREATE INDEX if not exists admin_access_route_id_idx ON admin.role_access USING btree (route_id COLLATE pg_catalog."default");
|
|
189
|
-
CREATE INDEX if not exists admin_access_role_id_idx ON admin.role_access USING btree (role_id COLLATE pg_catalog."default");
|
|
190
|
-
|
|
191
|
-
alter table admin.role_access add column if not exists resource_id text;
|
|
192
|
-
COMMENT ON COLUMN admin.role_access.resource_id IS 'ID ресурсу';
|
|
193
|
-
alter table admin.role_access alter column route_id drop not null;
|
|
194
|
-
|
|
195
|
-
|
|
1
|
+
create schema if not exists admin;
|
|
2
|
+
create schema if not exists public;
|
|
3
|
+
CREATE EXTENSION if not exists pg_trgm SCHEMA public VERSION "1.5";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
-- Admin Menu
|
|
7
|
+
-- DROP TABLE if exists admin.menu;
|
|
8
|
+
CREATE TABLE if not exists admin.menu();
|
|
9
|
+
alter table admin.menu DROP CONSTRAINT if exists admin_menu_id_pkey cascade;
|
|
10
|
+
alter table admin.menu DROP CONSTRAINT if exists admin_menu_name_unique;
|
|
11
|
+
|
|
12
|
+
alter table admin.menu add column if not exists menu_id text NOT NULL default next_id();
|
|
13
|
+
alter table admin.menu add column if not exists name text;
|
|
14
|
+
alter table admin.menu add column if not exists ord numeric;
|
|
15
|
+
alter table admin.menu add column if not exists enabled boolean NOT NULL DEFAULT true;
|
|
16
|
+
alter table admin.menu add column if not exists uid text;
|
|
17
|
+
alter table admin.menu add column if not exists editor_id text;
|
|
18
|
+
alter table admin.menu add column if not exists editor_date timestamp without time zone;
|
|
19
|
+
alter table admin.menu add column if not exists cdate timestamp without time zone DEFAULT now();
|
|
20
|
+
alter table admin.menu add CONSTRAINT admin_menu_id_pkey PRIMARY KEY (menu_id);
|
|
21
|
+
alter table admin.menu add CONSTRAINT admin_menu_name_unique UNIQUE (name);
|
|
22
|
+
|
|
23
|
+
COMMENT ON TABLE admin.menu IS 'Пункти меню';
|
|
24
|
+
COMMENT ON COLUMN admin.menu.menu_id IS 'Ідентифікатор пункту меню';
|
|
25
|
+
COMMENT ON COLUMN admin.menu.name IS 'Назва пункту меню';
|
|
26
|
+
COMMENT ON COLUMN admin.menu.ord IS 'Порядковий номер';
|
|
27
|
+
COMMENT ON COLUMN admin.menu.enabled IS 'On / Off';
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
-- Role (Group)
|
|
33
|
+
-- drop table if exists admin.roles;
|
|
34
|
+
CREATE TABLE if not exists admin.roles();
|
|
35
|
+
alter table admin.roles DROP CONSTRAINT if exists admin_roles_id_pkey cascade;
|
|
36
|
+
|
|
37
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists role_id text NOT NULL DEFAULT next_id();
|
|
38
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists name text;
|
|
39
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists enabled boolean;
|
|
40
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists info text;
|
|
41
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now());
|
|
42
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists uid text;
|
|
43
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists editor_id text;
|
|
44
|
+
ALTER TABLE admin.roles ADD COLUMN if not exists editor_date timestamp without time zone;
|
|
45
|
+
|
|
46
|
+
ALTER TABLE admin.roles ADD CONSTRAINT admin_roles_id_pkey PRIMARY KEY(role_id);
|
|
47
|
+
|
|
48
|
+
COMMENT ON TABLE admin.roles IS 'Групи';
|
|
49
|
+
COMMENT ON COLUMN admin.roles.role_id IS 'ID';
|
|
50
|
+
COMMENT ON COLUMN admin.roles.name IS 'Назва групи';
|
|
51
|
+
COMMENT ON COLUMN admin.roles.enabled IS 'On / Off';
|
|
52
|
+
COMMENT ON COLUMN admin.roles.info IS 'Опис групи';
|
|
53
|
+
COMMENT ON COLUMN admin.roles.cdate IS 'Дата створення';
|
|
54
|
+
COMMENT ON COLUMN admin.roles.uid IS 'Хто створив';
|
|
55
|
+
COMMENT ON COLUMN admin.roles.editor_id IS 'Останній редагувач';
|
|
56
|
+
COMMENT ON COLUMN admin.roles.editor_date IS 'Дата останнього редагування';
|
|
57
|
+
|
|
58
|
+
-- Routes (Interfaces)
|
|
59
|
+
-- DROP TABLE if exists admin.routes;
|
|
60
|
+
CREATE TABLE if not exists admin.routes();
|
|
61
|
+
alter table admin.routes DROP CONSTRAINT if exists admin_route_id_pkey cascade;
|
|
62
|
+
alter table admin.routes DROP constraint if exists admin_route_menu_id_fkey cascade;
|
|
63
|
+
alter table admin.routes DROP constraint if exists admin_route_alias_query_unique cascade;
|
|
64
|
+
|
|
65
|
+
alter table admin.routes add column if not exists route_id text;
|
|
66
|
+
alter table admin.routes alter column route_id set not null;
|
|
67
|
+
alter table admin.routes alter column route_id set default next_id();
|
|
68
|
+
alter table admin.routes add column if not exists alias text;
|
|
69
|
+
alter table admin.routes alter column alias drop not null;
|
|
70
|
+
-- alter table admin.routes alter column alias set not null;
|
|
71
|
+
alter table admin.routes add column if not exists table_name text;
|
|
72
|
+
alter table admin.routes alter column table_name drop not null;
|
|
73
|
+
-- alter table admin.routes alter column table_name set not null;
|
|
74
|
+
alter table admin.routes add column if not exists query text;
|
|
75
|
+
alter table admin.routes add column if not exists actions text[];
|
|
76
|
+
alter table admin.routes add column if not exists access text;
|
|
77
|
+
alter table admin.routes add column if not exists title text;
|
|
78
|
+
alter table admin.routes add column if not exists public boolean;
|
|
79
|
+
alter table admin.routes add column if not exists menu_id text;
|
|
80
|
+
alter table admin.routes add column if not exists uid text;
|
|
81
|
+
alter table admin.routes add column if not exists editor_id text;
|
|
82
|
+
alter table admin.routes add column if not exists editor_date timestamp without time zone;
|
|
83
|
+
alter table admin.routes add column if not exists cdate timestamp without time zone DEFAULT now();
|
|
84
|
+
alter table admin.routes alter column cdate set DEFAULT now();
|
|
85
|
+
alter table admin.routes add column if not exists enabled boolean;
|
|
86
|
+
alter table admin.routes alter column enabled set NOT NULL;
|
|
87
|
+
alter table admin.routes alter column enabled set DEFAULT true;
|
|
88
|
+
|
|
89
|
+
alter table admin.routes add CONSTRAINT admin_route_id_pkey PRIMARY KEY (route_id);
|
|
90
|
+
alter table admin.routes add constraint admin_route_menu_id_fkey FOREIGN KEY (menu_id) REFERENCES admin.menu(menu_id);
|
|
91
|
+
|
|
92
|
+
-- alter table admin.routes add CONSTRAINT admin_route_alias_query_unique UNIQUE (alias, query);
|
|
93
|
+
|
|
94
|
+
COMMENT ON TABLE admin.routes IS 'Список інтерфейсів';
|
|
95
|
+
COMMENT ON COLUMN admin.routes.route_id IS 'Ідентифікатор інтерфейса';
|
|
96
|
+
COMMENT ON COLUMN admin.routes.alias IS 'Назва файлу інтерфейса';
|
|
97
|
+
|
|
98
|
+
COMMENT ON COLUMN admin.routes.table_name IS 'Таблиця в БД';
|
|
99
|
+
comment on column admin.routes.query is 'Запит до таблиці';
|
|
100
|
+
COMMENT ON COLUMN admin.routes.actions IS 'Дії';
|
|
101
|
+
COMMENT ON COLUMN admin.routes.access IS 'Рівень доступу';
|
|
102
|
+
COMMENT ON COLUMN admin.routes.title IS 'Назва інтерфейсу українською';
|
|
103
|
+
COMMENT ON COLUMN admin.routes.public IS 'Ознака чи для всіх показується';
|
|
104
|
+
COMMENT ON COLUMN admin.routes.enabled IS 'On / Off';
|
|
105
|
+
COMMENT ON COLUMN admin.routes.menu_id IS 'Пункт меню (для collapse)';
|
|
106
|
+
|
|
107
|
+
-- User <> Role (Group)
|
|
108
|
+
-- DROP TABLE if exists admin.user_roles;
|
|
109
|
+
|
|
110
|
+
CREATE TABLE if not exists admin.user_roles();
|
|
111
|
+
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_role_id_pkey;
|
|
112
|
+
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_pkey;
|
|
113
|
+
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_role_id_fkey;
|
|
114
|
+
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_user_uid_fkey;
|
|
115
|
+
ALTER TABLE admin.user_roles DROP CONSTRAINT IF EXISTS admin_user_roles_user_uid_role_id_key;
|
|
116
|
+
|
|
117
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS ugr_id text NOT NULL DEFAULT next_id();
|
|
118
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS user_uid text NOT NULL;
|
|
119
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS role_id text NOT NULL;
|
|
120
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now());
|
|
121
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS uid text;
|
|
122
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS editor_id text;
|
|
123
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
|
|
124
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS expiration date;
|
|
125
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS access_granted text;
|
|
126
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS access_granted_time timestamp without time zone;
|
|
127
|
+
ALTER TABLE admin.user_roles ADD COLUMN IF NOT EXISTS actions text [];
|
|
128
|
+
|
|
129
|
+
ALTER TABLE admin.user_roles ADD CONSTRAINT admin_user_roles_pkey PRIMARY KEY (ugr_id);
|
|
130
|
+
ALTER TABLE admin.user_roles ADD CONSTRAINT admin_user_roles_user_uid_role_id_key UNIQUE (user_uid, role_id);
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
COMMENT ON TABLE admin.user_roles IS 'Відношення користувачів до груп';
|
|
134
|
+
COMMENT ON COLUMN admin.user_roles.user_uid IS 'ID користувача';
|
|
135
|
+
COMMENT ON COLUMN admin.user_roles.role_id IS 'ID групи';
|
|
136
|
+
COMMENT ON COLUMN admin.user_roles.uid IS 'Користувач, який створив запис в БД';
|
|
137
|
+
COMMENT ON COLUMN admin.user_roles.expiration IS 'закінчення терміну дії доступу до групи';
|
|
138
|
+
COMMENT ON COLUMN admin.user_roles.access_granted IS 'Ідентифікатор користувача який надав доступ';
|
|
139
|
+
COMMENT ON COLUMN admin.user_roles.access_granted_time IS 'Час коли надали доступ';
|
|
140
|
+
COMMENT ON COLUMN admin.user_roles.actions IS 'Рівень доступу користувача в межах групи';
|
|
141
|
+
|
|
142
|
+
CREATE INDEX IF NOT EXISTS admin_user_roles_access_user_uid_idx ON admin.user_roles USING btree (user_uid COLLATE pg_catalog."default");
|
|
143
|
+
CREATE INDEX IF NOT EXISTS admin_user_roles_cdate_btree_idx ON admin.user_roles USING btree (cdate);
|
|
144
|
+
CREATE INDEX IF NOT EXISTS admin_user_roles_editor_date_btree_idx ON admin.user_roles USING btree (editor_date);
|
|
145
|
+
CREATE INDEX IF NOT EXISTS admin_user_roles_user_uid_gin_idx ON admin.user_roles USING gin (user_uid COLLATE pg_catalog."default" gin_trgm_ops);
|
|
146
|
+
CREATE INDEX IF NOT EXISTS admin_user_roles_role_id_idx ON admin.user_roles USING btree (role_id COLLATE pg_catalog."default");
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
-- Route (Interface) <> User / Role (Group)
|
|
150
|
+
-- drop table if exists admin.role_access;
|
|
151
|
+
drop table if exists admin.access;
|
|
152
|
+
|
|
153
|
+
CREATE TABLE if not exists admin.role_access();
|
|
154
|
+
alter table admin.role_access DROP CONSTRAINT if exists admin_access_id_pkey;
|
|
155
|
+
alter table admin.role_access DROP CONSTRAINT if exists admin_role_access_id_pkey;
|
|
156
|
+
alter table admin.role_access DROP CONSTRAINT if exists admin_access_role_id_fkey;
|
|
157
|
+
alter table admin.role_access DROP CONSTRAINT if exists admin_access_route_id_uid_unique;
|
|
158
|
+
alter table admin.role_access DROP CONSTRAINT if exists admin_access_route_id_fkey;
|
|
159
|
+
|
|
160
|
+
alter table admin.role_access add column if not exists access_id text NOT NULL DEFAULT next_id();
|
|
161
|
+
alter table admin.role_access add column if not exists route_id text NOT NULL;
|
|
162
|
+
alter table admin.role_access add column if not exists role_id text;
|
|
163
|
+
alter table admin.role_access add column if not exists user_uid text;
|
|
164
|
+
alter table admin.role_access add column if not exists scope text;
|
|
165
|
+
alter table admin.role_access add column if not exists actions text[];
|
|
166
|
+
ALTER TABLE admin.role_access ADD COLUMN IF NOT EXISTS access_granted text;
|
|
167
|
+
ALTER TABLE admin.role_access ADD COLUMN IF NOT EXISTS access_granted_time timestamp without time zone;
|
|
168
|
+
alter table admin.role_access add column if not exists cdate timestamp without time zone NOT NULL DEFAULT date_trunc('seconds'::text, now());
|
|
169
|
+
alter table admin.role_access add column if not exists uid text;
|
|
170
|
+
alter table admin.role_access add column if not exists editor_id text;
|
|
171
|
+
alter table admin.role_access add column if not exists editor_date timestamp without time zone;
|
|
172
|
+
|
|
173
|
+
alter table admin.role_access add CONSTRAINT admin_role_access_id_pkey PRIMARY KEY (access_id);
|
|
174
|
+
alter table admin.role_access add CONSTRAINT admin_access_role_id_fkey FOREIGN KEY (role_id) REFERENCES admin.roles (role_id);
|
|
175
|
+
alter table admin.role_access add CONSTRAINT admin_access_route_id_uid_unique UNIQUE (route_id, user_uid, role_id);
|
|
176
|
+
alter table admin.role_access add constraint admin_access_route_id_fkey FOREIGN KEY (route_id) REFERENCES admin.routes(route_id);
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
COMMENT ON TABLE admin.role_access IS 'Налаштування прав. Відношення груп / окремих користувачів до шаблонів';
|
|
180
|
+
COMMENT ON COLUMN admin.role_access.route_id IS 'ID шаблона';
|
|
181
|
+
COMMENT ON COLUMN admin.role_access.role_id IS 'ID групи';
|
|
182
|
+
COMMENT ON COLUMN admin.role_access.user_uid IS 'ID користувача';
|
|
183
|
+
COMMENT ON COLUMN admin.role_access.scope IS 'Обмеження виведення (власні, відповідальний, всі)';
|
|
184
|
+
COMMENT ON COLUMN admin.role_access.actions IS 'Доступні дії';
|
|
185
|
+
COMMENT ON COLUMN admin.role_access.access_granted IS 'Ідентифікатор користувача який надав доступ';
|
|
186
|
+
COMMENT ON COLUMN admin.role_access.access_granted_time IS 'Час коли надали доступ';
|
|
187
|
+
|
|
188
|
+
CREATE INDEX if not exists admin_access_route_id_idx ON admin.role_access USING btree (route_id COLLATE pg_catalog."default");
|
|
189
|
+
CREATE INDEX if not exists admin_access_role_id_idx ON admin.role_access USING btree (role_id COLLATE pg_catalog."default");
|
|
190
|
+
|
|
191
|
+
alter table admin.role_access add column if not exists resource_id text;
|
|
192
|
+
COMMENT ON COLUMN admin.role_access.resource_id IS 'ID ресурсу';
|
|
193
|
+
alter table admin.role_access alter column route_id drop not null;
|
|
194
|
+
|
|
195
|
+
|