@opengis/fastify-table 1.2.13 → 1.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +86 -86
  2. package/index.js +79 -79
  3. package/package.json +1 -1
  4. package/server/migrations/0.sql +84 -84
  5. package/server/migrations/cls.sql +39 -39
  6. package/server/migrations/properties.sql +184 -184
  7. package/server/migrations/template.sql +34 -34
  8. package/server/migrations/users.sql +175 -175
  9. package/server/plugins/cron/funcs/addCron.js +130 -130
  10. package/server/plugins/cron/index.js +6 -6
  11. package/server/plugins/crud/funcs/dataDelete.js +24 -24
  12. package/server/plugins/crud/funcs/dataInsert.js +53 -53
  13. package/server/plugins/crud/funcs/dataUpdate.js +65 -65
  14. package/server/plugins/crud/funcs/getOpt.js +13 -13
  15. package/server/plugins/crud/funcs/setOpt.js +21 -21
  16. package/server/plugins/crud/funcs/setToken.js +44 -44
  17. package/server/plugins/crud/funcs/utils/getFolder.js +10 -10
  18. package/server/plugins/crud/funcs/utils/logChanges.js +118 -118
  19. package/server/plugins/crud/index.js +23 -23
  20. package/server/plugins/hook/index.js +8 -8
  21. package/server/plugins/logger/errorStatus.js +19 -19
  22. package/server/plugins/logger/index.js +21 -21
  23. package/server/plugins/migration/exec.migrations.js +37 -37
  24. package/server/plugins/migration/index.js +7 -7
  25. package/server/plugins/pg/pgClients.js +21 -21
  26. package/server/plugins/policy/index.js +12 -12
  27. package/server/plugins/policy/sqlInjection.js +33 -33
  28. package/server/plugins/redis/client.js +8 -8
  29. package/server/plugins/redis/funcs/redisClients.js +3 -3
  30. package/server/plugins/redis/index.js +17 -17
  31. package/server/plugins/table/funcs/addTemplateDir.js +8 -8
  32. package/server/plugins/table/funcs/getFilterSQL/index.js +96 -96
  33. package/server/plugins/table/funcs/getFilterSQL/util/formatValue.js +179 -179
  34. package/server/plugins/table/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
  35. package/server/plugins/table/funcs/getFilterSQL/util/getFilterQuery.js +66 -66
  36. package/server/plugins/table/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
  37. package/server/plugins/table/funcs/getFilterSQL/util/getTableSql.js +34 -34
  38. package/server/plugins/table/funcs/getTemplates.js +19 -19
  39. package/server/plugins/table/funcs/gisIRColumn.js +82 -82
  40. package/server/plugins/table/funcs/loadTemplate.js +1 -1
  41. package/server/plugins/table/funcs/loadTemplatePath.js +1 -1
  42. package/server/plugins/table/funcs/metaFormat/getSelectVal.js +50 -50
  43. package/server/plugins/table/funcs/metaFormat/index.js +45 -45
  44. package/server/plugins/table/funcs/userTemplateDir.js +1 -1
  45. package/server/plugins/table/index.js +13 -13
  46. package/server/plugins/util/index.js +7 -7
  47. package/server/routes/cron/index.js +14 -14
  48. package/server/routes/crud/controllers/deleteCrud.js +39 -39
  49. package/server/routes/crud/controllers/table.js +91 -91
  50. package/server/routes/logger/controllers/logger.file.js +92 -92
  51. package/server/routes/logger/controllers/utils/checkUserAccess.js +19 -19
  52. package/server/routes/logger/controllers/utils/getRootDir.js +26 -26
  53. package/server/routes/logger/index.js +17 -17
  54. package/server/routes/properties/controllers/properties.add.js +55 -55
  55. package/server/routes/properties/controllers/properties.get.js +17 -17
  56. package/server/routes/properties/index.js +16 -16
  57. package/server/routes/table/controllers/filter.js +67 -67
  58. package/server/routes/table/controllers/form.js +42 -42
  59. package/server/routes/table/controllers/search.js +74 -74
  60. package/server/routes/table/controllers/suggest.js +166 -166
  61. package/server/routes/table/index.js +29 -29
  62. package/server/routes/table/schema.js +64 -64
  63. package/server/routes/util/controllers/status.monitor.js +8 -8
  64. package/server/routes/util/index.js +11 -11
  65. package/utils.js +129 -129
@@ -1,184 +1,184 @@
1
- create schema if not exists admin;
2
- create schema if not exists crm;
3
- create schema if not exists setting;
4
-
5
- -- drop old
6
- DROP TABLE IF EXISTS setting.extra_data;
7
- DROP TABLE IF EXISTS admin.table_properties;
8
-
9
- CREATE TABLE IF NOT EXISTS admin.properties();
10
- ALTER TABLE admin.properties DROP CONSTRAINT IF EXISTS admin_properties_property_id_pkey;
11
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_id text NOT NULL DEFAULT next_id();
12
-
13
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_entity text;
14
- COMMENT ON COLUMN admin.properties.property_entity IS 'Сутність';
15
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_key text;
16
- COMMENT ON COLUMN admin.properties.property_key IS 'Ключ';
17
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_text text;
18
- COMMENT ON COLUMN admin.properties.property_text IS 'Текстове значення налаштування';
19
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_int integer;
20
- COMMENT ON COLUMN admin.properties.property_int IS 'Цілочислове значения';
21
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_json json;
22
- COMMENT ON COLUMN admin.properties.property_json IS 'Значення налаштування';
23
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS level text;
24
- COMMENT ON COLUMN admin.properties.level IS 'Рівень (user/system)';
25
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS object_id text;
26
- COMMENT ON COLUMN admin.properties.object_id IS 'ID Об''єкту';
27
-
28
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
29
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_id text;
30
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
31
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
32
- ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS files json;
33
-
34
- ALTER TABLE admin.properties ADD CONSTRAINT admin_properties_property_id_pkey PRIMARY KEY(property_id);
35
-
36
- COMMENT ON TABLE admin.properties IS 'Налаштування';
37
-
38
- CREATE TABLE IF NOT EXISTS admin.user_properties();
39
- ALTER TABLE admin.user_properties DROP CONSTRAINT IF EXISTS admin_user_properties_property_id_pkey;
40
- alter table admin.user_properties drop constraint if exists user_properties_key_uid_unique;
41
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_id text NOT NULL DEFAULT next_id();
42
-
43
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_key text;
44
- COMMENT ON COLUMN admin.user_properties.property_key IS 'Ключ';
45
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_json json;
46
- COMMENT ON COLUMN admin.user_properties.property_json IS 'Налаштування json';
47
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_text text;
48
- COMMENT ON COLUMN admin.user_properties.property_text IS 'Налаштування text';
49
-
50
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_entity text;
51
- COMMENT ON COLUMN admin.user_properties.property_entity IS 'Сутність';
52
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_title text;
53
- COMMENT ON COLUMN admin.user_properties.property_title IS 'Назва';
54
-
55
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private boolean;
56
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private SET NOT NULL;
57
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private boolean default SET default true;
58
- COMMENT ON COLUMN admin.user_properties.private IS 'Доступ лише для користувача, який додав дане налаштування';
59
-
60
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
61
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS editor_id text;
62
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
63
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
64
- ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS files json;
65
-
66
- ALTER TABLE admin.user_properties ADD CONSTRAINT admin_user_properties_property_id_pkey PRIMARY KEY(property_id);
67
- ALTER TABLE admin.user_properties ADD CONSTRAINT user_properties_key_uid_unique UNIQUE (property_key,property_entity,uid);
68
-
69
- COMMENT ON TABLE admin.user_properties IS 'Налаштування користувача';
70
-
71
- CREATE TABLE IF NOT EXISTS admin.custom_column();
72
- ALTER TABLE admin.custom_column DROP CONSTRAINT IF EXISTS admin_custom_column_column_id_pkey cascade;
73
- alter table admin.custom_column drop constraint if exists admin_custom_column_name_entity_uid_unique;
74
-
75
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS column_id text;
76
- ALTER TABLE admin.custom_column ALTER COLUMN column_id SET NOT NULL;
77
- ALTER TABLE admin.custom_column ALTER COLUMN column_id SET DEFAULT next_id();
78
-
79
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS name text;
80
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS entity text;
81
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS title text;
82
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS format text;
83
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS data text;
84
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS filter boolean;
85
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS _table boolean;
86
-
87
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
88
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_id text;
89
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
90
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
91
- ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS files json;
92
-
93
- ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_column_id_pkey PRIMARY KEY(column_id);
94
- ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_name_entity_uid_unique UNIQUE (name,entity,uid);
95
-
96
- COMMENT ON TABLE admin.custom_column IS 'Налаштування таблиць користувача';
97
- COMMENT ON COLUMN admin.custom_column.name IS 'Ключ';
98
- COMMENT ON COLUMN admin.custom_column.entity IS 'Таблиця';
99
- COMMENT ON COLUMN admin.custom_column.title IS 'Підпис';
100
- COMMENT ON COLUMN admin.custom_column.format IS 'Формат';
101
- COMMENT ON COLUMN admin.custom_column.data IS 'Класифікатор';
102
- COMMENT ON COLUMN admin.custom_column.filter IS 'Виводити у фільтрах';
103
- COMMENT ON COLUMN admin.custom_column._table IS 'Відображати у таблиці';
104
-
105
- CREATE TABLE if not exists crm.extra_data();
106
- ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_pkey;
107
- ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_id_fkey;
108
- ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_key_object_id_entity_unique;
109
-
110
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS extra_data_id text;
111
- ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET NOT NULL;
112
- ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET DEFAULT next_id();
113
-
114
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_id text;
115
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_key text;
116
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_entity text;
117
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS object_id text;
118
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_text text;
119
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_date timestamp without time zone;
120
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS uid text;
121
- ALTER TABLE crm.extra_data ALTER COLUMN uid SET DEFAULT '1'::text;
122
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS cdate timestamp without time zone;
123
- ALTER TABLE crm.extra_data ALTER COLUMN cdate SET DEFAULT date_trunc('seconds'::text, now());
124
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_id text;
125
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
126
- ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS files json;
127
-
128
- ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_pkey PRIMARY KEY (extra_data_id);
129
- -- delete from crm.extra_data where property_id not in (select column_id from admin.custom_column);
130
- 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;
131
- ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_property_key_object_id_entity_unique UNIQUE (property_key, object_id, property_entity);
132
-
133
- COMMENT ON TABLE crm.extra_data IS 'Значення користувацьких полів';
134
- COMMENT ON COLUMN crm.extra_data.property_id IS 'ID поля користувача';
135
- COMMENT ON COLUMN crm.extra_data.property_key IS 'Назва колонки';
136
- COMMENT ON COLUMN crm.extra_data.property_entity IS 'Таблиця';
137
- COMMENT ON COLUMN crm.extra_data.object_id IS 'Ідентифікатор об''єкту';
138
- COMMENT ON COLUMN crm.extra_data.value_text IS 'Значення';
139
- COMMENT ON COLUMN crm.extra_data.value_date IS 'Дата';
140
- COMMENT ON COLUMN crm.extra_data.uid IS 'ID користувача';
141
-
142
- CREATE INDEX IF NOT EXISTS crm_extra_data_cdate_btree_idx ON crm.extra_data USING btree (cdate);
143
- CREATE INDEX IF NOT EXISTS crm_extra_data_property_id_btree_idx ON crm.extra_data USING btree (property_id COLLATE pg_catalog."default");
144
- CREATE INDEX IF NOT EXISTS crm_extra_data_property_entity_btree_idx ON crm.extra_data USING btree (property_entity COLLATE pg_catalog."default");
145
- CREATE INDEX IF NOT EXISTS crm_extra_data_object_id_btree_idx ON crm.extra_data USING btree (object_id COLLATE pg_catalog."default");
146
-
147
-
148
- CREATE TABLE IF NOT EXISTS setting.property ();
149
- ALTER TABLE setting.property DROP CONSTRAINT IF EXISTS setting_property_pkey;
150
-
151
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_id text;
152
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_entity text;
153
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_key text;
154
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_text text;
155
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_json json;
156
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_int integer;
157
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS level text;
158
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS object_id text;
159
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS category text;
160
-
161
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS uid text;
162
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS editor_id text;
163
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
164
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS cdate timestamp without time zone;
165
- ALTER TABLE setting.property ALTER COLUMN cdate SET DEFAULT date_trunc('seconds'::text, now());
166
- ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS files json;
167
-
168
- ALTER TABLE setting.property ADD CONSTRAINT setting_property_pkey PRIMARY KEY (property_id);
169
-
170
- COMMENT ON TABLE setting.property IS 'Налаштування';
171
- COMMENT ON COLUMN setting.property.property_entity IS 'Сутність';
172
- COMMENT ON COLUMN setting.property.property_key IS 'Ключ';
173
- COMMENT ON COLUMN setting.property.property_text IS 'Текстове значення налаштування';
174
- COMMENT ON COLUMN setting.property.property_json IS 'Значення налаштування';
175
- COMMENT ON COLUMN setting.property.level IS 'Рівень (user/system)';
176
- COMMENT ON COLUMN setting.property.object_id IS 'ID Об''єкту';
177
- COMMENT ON COLUMN setting.property.category IS 'Категорія (filter/menu/...)';
178
- COMMENT ON COLUMN setting.property.property_int IS 'Цілочислове значения';
179
-
180
- CREATE INDEX if not exists setting_property_object_id_gin_idx ON setting.property USING gin (object_id COLLATE pg_catalog."default" gin_trgm_ops);
181
- CREATE INDEX if not exists setting_property_property_entity_gin_idx ON setting.property USING gin (property_entity COLLATE pg_catalog."default" gin_trgm_ops);
182
- CREATE INDEX if not exists setting_property_property_int_btree_idx ON setting.property USING btree (property_int);
183
- CREATE INDEX if not exists setting_property_property_key_gin_idx ON setting.property USING gin (property_key COLLATE pg_catalog."default" gin_trgm_ops);
184
- CREATE INDEX if not exists setting_property_property_text_gin_idx ON setting.property USING gin (property_text COLLATE pg_catalog."default" gin_trgm_ops);
1
+ create schema if not exists admin;
2
+ create schema if not exists crm;
3
+ create schema if not exists setting;
4
+
5
+ -- drop old
6
+ DROP TABLE IF EXISTS setting.extra_data;
7
+ DROP TABLE IF EXISTS admin.table_properties;
8
+
9
+ CREATE TABLE IF NOT EXISTS admin.properties();
10
+ ALTER TABLE admin.properties DROP CONSTRAINT IF EXISTS admin_properties_property_id_pkey;
11
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_id text NOT NULL DEFAULT next_id();
12
+
13
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_entity text;
14
+ COMMENT ON COLUMN admin.properties.property_entity IS 'Сутність';
15
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_key text;
16
+ COMMENT ON COLUMN admin.properties.property_key IS 'Ключ';
17
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_text text;
18
+ COMMENT ON COLUMN admin.properties.property_text IS 'Текстове значення налаштування';
19
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_int integer;
20
+ COMMENT ON COLUMN admin.properties.property_int IS 'Цілочислове значения';
21
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS property_json json;
22
+ COMMENT ON COLUMN admin.properties.property_json IS 'Значення налаштування';
23
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS level text;
24
+ COMMENT ON COLUMN admin.properties.level IS 'Рівень (user/system)';
25
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS object_id text;
26
+ COMMENT ON COLUMN admin.properties.object_id IS 'ID Об''єкту';
27
+
28
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
29
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_id text;
30
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
31
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
32
+ ALTER TABLE admin.properties ADD COLUMN IF NOT EXISTS files json;
33
+
34
+ ALTER TABLE admin.properties ADD CONSTRAINT admin_properties_property_id_pkey PRIMARY KEY(property_id);
35
+
36
+ COMMENT ON TABLE admin.properties IS 'Налаштування';
37
+
38
+ CREATE TABLE IF NOT EXISTS admin.user_properties();
39
+ ALTER TABLE admin.user_properties DROP CONSTRAINT IF EXISTS admin_user_properties_property_id_pkey;
40
+ alter table admin.user_properties drop constraint if exists user_properties_key_uid_unique;
41
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_id text NOT NULL DEFAULT next_id();
42
+
43
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_key text;
44
+ COMMENT ON COLUMN admin.user_properties.property_key IS 'Ключ';
45
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_json json;
46
+ COMMENT ON COLUMN admin.user_properties.property_json IS 'Налаштування json';
47
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_text text;
48
+ COMMENT ON COLUMN admin.user_properties.property_text IS 'Налаштування text';
49
+
50
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_entity text;
51
+ COMMENT ON COLUMN admin.user_properties.property_entity IS 'Сутність';
52
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS property_title text;
53
+ COMMENT ON COLUMN admin.user_properties.property_title IS 'Назва';
54
+
55
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private boolean;
56
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private SET NOT NULL;
57
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS private boolean default SET default true;
58
+ COMMENT ON COLUMN admin.user_properties.private IS 'Доступ лише для користувача, який додав дане налаштування';
59
+
60
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
61
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS editor_id text;
62
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
63
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
64
+ ALTER TABLE admin.user_properties ADD COLUMN IF NOT EXISTS files json;
65
+
66
+ ALTER TABLE admin.user_properties ADD CONSTRAINT admin_user_properties_property_id_pkey PRIMARY KEY(property_id);
67
+ ALTER TABLE admin.user_properties ADD CONSTRAINT user_properties_key_uid_unique UNIQUE (property_key,property_entity,uid);
68
+
69
+ COMMENT ON TABLE admin.user_properties IS 'Налаштування користувача';
70
+
71
+ CREATE TABLE IF NOT EXISTS admin.custom_column();
72
+ ALTER TABLE admin.custom_column DROP CONSTRAINT IF EXISTS admin_custom_column_column_id_pkey cascade;
73
+ alter table admin.custom_column drop constraint if exists admin_custom_column_name_entity_uid_unique;
74
+
75
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS column_id text;
76
+ ALTER TABLE admin.custom_column ALTER COLUMN column_id SET NOT NULL;
77
+ ALTER TABLE admin.custom_column ALTER COLUMN column_id SET DEFAULT next_id();
78
+
79
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS name text;
80
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS entity text;
81
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS title text;
82
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS format text;
83
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS data text;
84
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS filter boolean;
85
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS _table boolean;
86
+
87
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS uid text NOT NULL DEFAULT '1'::text;
88
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_id text;
89
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
90
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS cdate timestamp without time zone DEFAULT now();
91
+ ALTER TABLE admin.custom_column ADD COLUMN IF NOT EXISTS files json;
92
+
93
+ ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_column_id_pkey PRIMARY KEY(column_id);
94
+ ALTER TABLE admin.custom_column ADD CONSTRAINT admin_custom_column_name_entity_uid_unique UNIQUE (name,entity,uid);
95
+
96
+ COMMENT ON TABLE admin.custom_column IS 'Налаштування таблиць користувача';
97
+ COMMENT ON COLUMN admin.custom_column.name IS 'Ключ';
98
+ COMMENT ON COLUMN admin.custom_column.entity IS 'Таблиця';
99
+ COMMENT ON COLUMN admin.custom_column.title IS 'Підпис';
100
+ COMMENT ON COLUMN admin.custom_column.format IS 'Формат';
101
+ COMMENT ON COLUMN admin.custom_column.data IS 'Класифікатор';
102
+ COMMENT ON COLUMN admin.custom_column.filter IS 'Виводити у фільтрах';
103
+ COMMENT ON COLUMN admin.custom_column._table IS 'Відображати у таблиці';
104
+
105
+ CREATE TABLE if not exists crm.extra_data();
106
+ ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_pkey;
107
+ ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_id_fkey;
108
+ ALTER TABLE crm.extra_data DROP CONSTRAINT IF EXISTS crm_extra_data_property_key_object_id_entity_unique;
109
+
110
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS extra_data_id text;
111
+ ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET NOT NULL;
112
+ ALTER TABLE crm.extra_data ALTER COLUMN extra_data_id SET DEFAULT next_id();
113
+
114
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_id text;
115
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_key text;
116
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS property_entity text;
117
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS object_id text;
118
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_text text;
119
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS value_date timestamp without time zone;
120
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS uid text;
121
+ ALTER TABLE crm.extra_data ALTER COLUMN uid SET DEFAULT '1'::text;
122
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS cdate timestamp without time zone;
123
+ ALTER TABLE crm.extra_data ALTER COLUMN cdate SET DEFAULT date_trunc('seconds'::text, now());
124
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_id text;
125
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
126
+ ALTER TABLE crm.extra_data ADD COLUMN IF NOT EXISTS files json;
127
+
128
+ ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_pkey PRIMARY KEY (extra_data_id);
129
+ -- delete from crm.extra_data where property_id not in (select column_id from admin.custom_column);
130
+ 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;
131
+ ALTER TABLE crm.extra_data ADD CONSTRAINT crm_extra_data_property_key_object_id_entity_unique UNIQUE (property_key, object_id, property_entity);
132
+
133
+ COMMENT ON TABLE crm.extra_data IS 'Значення користувацьких полів';
134
+ COMMENT ON COLUMN crm.extra_data.property_id IS 'ID поля користувача';
135
+ COMMENT ON COLUMN crm.extra_data.property_key IS 'Назва колонки';
136
+ COMMENT ON COLUMN crm.extra_data.property_entity IS 'Таблиця';
137
+ COMMENT ON COLUMN crm.extra_data.object_id IS 'Ідентифікатор об''єкту';
138
+ COMMENT ON COLUMN crm.extra_data.value_text IS 'Значення';
139
+ COMMENT ON COLUMN crm.extra_data.value_date IS 'Дата';
140
+ COMMENT ON COLUMN crm.extra_data.uid IS 'ID користувача';
141
+
142
+ CREATE INDEX IF NOT EXISTS crm_extra_data_cdate_btree_idx ON crm.extra_data USING btree (cdate);
143
+ CREATE INDEX IF NOT EXISTS crm_extra_data_property_id_btree_idx ON crm.extra_data USING btree (property_id COLLATE pg_catalog."default");
144
+ CREATE INDEX IF NOT EXISTS crm_extra_data_property_entity_btree_idx ON crm.extra_data USING btree (property_entity COLLATE pg_catalog."default");
145
+ CREATE INDEX IF NOT EXISTS crm_extra_data_object_id_btree_idx ON crm.extra_data USING btree (object_id COLLATE pg_catalog."default");
146
+
147
+
148
+ CREATE TABLE IF NOT EXISTS setting.property ();
149
+ ALTER TABLE setting.property DROP CONSTRAINT IF EXISTS setting_property_pkey;
150
+
151
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_id text;
152
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_entity text;
153
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_key text;
154
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_text text;
155
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_json json;
156
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS property_int integer;
157
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS level text;
158
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS object_id text;
159
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS category text;
160
+
161
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS uid text;
162
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS editor_id text;
163
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS editor_date timestamp without time zone;
164
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS cdate timestamp without time zone;
165
+ ALTER TABLE setting.property ALTER COLUMN cdate SET DEFAULT date_trunc('seconds'::text, now());
166
+ ALTER TABLE setting.property ADD COLUMN IF NOT EXISTS files json;
167
+
168
+ ALTER TABLE setting.property ADD CONSTRAINT setting_property_pkey PRIMARY KEY (property_id);
169
+
170
+ COMMENT ON TABLE setting.property IS 'Налаштування';
171
+ COMMENT ON COLUMN setting.property.property_entity IS 'Сутність';
172
+ COMMENT ON COLUMN setting.property.property_key IS 'Ключ';
173
+ COMMENT ON COLUMN setting.property.property_text IS 'Текстове значення налаштування';
174
+ COMMENT ON COLUMN setting.property.property_json IS 'Значення налаштування';
175
+ COMMENT ON COLUMN setting.property.level IS 'Рівень (user/system)';
176
+ COMMENT ON COLUMN setting.property.object_id IS 'ID Об''єкту';
177
+ COMMENT ON COLUMN setting.property.category IS 'Категорія (filter/menu/...)';
178
+ COMMENT ON COLUMN setting.property.property_int IS 'Цілочислове значения';
179
+
180
+ CREATE INDEX if not exists setting_property_object_id_gin_idx ON setting.property USING gin (object_id COLLATE pg_catalog."default" gin_trgm_ops);
181
+ CREATE INDEX if not exists setting_property_property_entity_gin_idx ON setting.property USING gin (property_entity COLLATE pg_catalog."default" gin_trgm_ops);
182
+ CREATE INDEX if not exists setting_property_property_int_btree_idx ON setting.property USING btree (property_int);
183
+ CREATE INDEX if not exists setting_property_property_key_gin_idx ON setting.property USING gin (property_key COLLATE pg_catalog."default" gin_trgm_ops);
184
+ CREATE INDEX if not exists setting_property_property_text_gin_idx ON setting.property USING gin (property_text COLLATE pg_catalog."default" gin_trgm_ops);
@@ -1,35 +1,35 @@
1
- create schema if not exists admin;
2
-
3
- -- DROP TABLE is exists admin.templates;
4
- CREATE TABLE if not exists admin.templates();
5
- ALTER TABLE admin.templates add column if not exists template_id text NOT NULL DEFAULT next_id();
6
- ALTER TABLE admin.templates DROP CONSTRAINT if exists admin_templates_template_id_pkey cascade;
7
- ALTER TABLE admin.templates DROP CONSTRAINT if exists admin_templates_name_type_unique;
8
-
9
- ALTER TABLE admin.templates add column if not exists name text;
10
- ALTER TABLE admin.templates add column if not exists title text;
11
- ALTER TABLE admin.templates add column if not exists type text;
12
- ALTER TABLE admin.templates add column if not exists route_id text;
13
- ALTER TABLE admin.templates add column if not exists enabled boolean;
14
- ALTER TABLE admin.templates alter column enabled set default true;
15
- ALTER TABLE admin.templates add column if not exists body text;
16
-
17
- ALTER TABLE admin.templates add column if not exists uid text;
18
- ALTER TABLE admin.templates add column if not exists cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now());
19
- ALTER TABLE admin.templates alter column cdate set DEFAULT date_trunc('seconds'::text, now());
20
- ALTER TABLE admin.templates add column if not exists editor_id text;
21
- ALTER TABLE admin.templates add column if not exists editor_date timestamp without time zone;
22
-
23
- ALTER TABLE admin.templates add CONSTRAINT admin_templates_template_id_pkey PRIMARY KEY (template_id);
24
- ALTER TABLE admin.templates add CONSTRAINT admin_templates_name_type_unique UNIQUE (name, type);
25
-
26
- COMMENT ON TABLE admin.templates IS 'Шаблони для друку';
27
-
28
- COMMENT ON COLUMN admin.templates.uid IS 'ID користувача';
29
-
30
- COMMENT ON COLUMN admin.templates.name IS 'Систамна назва шаблону';
31
- COMMENT ON COLUMN admin.templates.title IS 'Назва шаблону українською';
32
- COMMENT ON COLUMN admin.templates.type IS 'Тип вихідних даних шаблону (demo/user)';
33
- COMMENT ON COLUMN admin.templates.route_id IS 'ID інтерфейсу';
34
- COMMENT ON COLUMN admin.templates.enabled IS 'On / Off';
1
+ create schema if not exists admin;
2
+
3
+ -- DROP TABLE is exists admin.templates;
4
+ CREATE TABLE if not exists admin.templates();
5
+ ALTER TABLE admin.templates add column if not exists template_id text NOT NULL DEFAULT next_id();
6
+ ALTER TABLE admin.templates DROP CONSTRAINT if exists admin_templates_template_id_pkey cascade;
7
+ ALTER TABLE admin.templates DROP CONSTRAINT if exists admin_templates_name_type_unique;
8
+
9
+ ALTER TABLE admin.templates add column if not exists name text;
10
+ ALTER TABLE admin.templates add column if not exists title text;
11
+ ALTER TABLE admin.templates add column if not exists type text;
12
+ ALTER TABLE admin.templates add column if not exists route_id text;
13
+ ALTER TABLE admin.templates add column if not exists enabled boolean;
14
+ ALTER TABLE admin.templates alter column enabled set default true;
15
+ ALTER TABLE admin.templates add column if not exists body text;
16
+
17
+ ALTER TABLE admin.templates add column if not exists uid text;
18
+ ALTER TABLE admin.templates add column if not exists cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now());
19
+ ALTER TABLE admin.templates alter column cdate set DEFAULT date_trunc('seconds'::text, now());
20
+ ALTER TABLE admin.templates add column if not exists editor_id text;
21
+ ALTER TABLE admin.templates add column if not exists editor_date timestamp without time zone;
22
+
23
+ ALTER TABLE admin.templates add CONSTRAINT admin_templates_template_id_pkey PRIMARY KEY (template_id);
24
+ ALTER TABLE admin.templates add CONSTRAINT admin_templates_name_type_unique UNIQUE (name, type);
25
+
26
+ COMMENT ON TABLE admin.templates IS 'Шаблони для друку';
27
+
28
+ COMMENT ON COLUMN admin.templates.uid IS 'ID користувача';
29
+
30
+ COMMENT ON COLUMN admin.templates.name IS 'Систамна назва шаблону';
31
+ COMMENT ON COLUMN admin.templates.title IS 'Назва шаблону українською';
32
+ COMMENT ON COLUMN admin.templates.type IS 'Тип вихідних даних шаблону (demo/user)';
33
+ COMMENT ON COLUMN admin.templates.route_id IS 'ID інтерфейсу';
34
+ COMMENT ON COLUMN admin.templates.enabled IS 'On / Off';
35
35
  COMMENT ON COLUMN admin.templates.body IS 'Body HTML';