@opengis/fastify-table 1.1.46 → 1.1.47
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 +26 -26
- package/config.js +10 -10
- package/cron/controllers/cronApi.js +22 -22
- package/cron/controllers/utils/cronList.js +1 -1
- package/cron/index.js +10 -10
- package/crud/controllers/deleteCrud.js +9 -4
- package/crud/controllers/insert.js +9 -6
- package/crud/controllers/update.js +13 -10
- package/crud/controllers/utils/xssInjection.js +72 -72
- package/crud/funcs/getAccess.js +12 -10
- package/crud/funcs/getToken.js +27 -27
- package/crud/funcs/isFileExists.js +13 -13
- package/crud/funcs/setToken.js +53 -53
- package/docs/.vitepress/abbr.mjs +26 -0
- package/docs/.vitepress/config.mjs +127 -0
- package/docs/.vitepress/navigation.mjs +82 -0
- package/docs/.vitepress/theme/Layout.vue +17 -0
- package/docs/.vitepress/theme/components/NavigationLinks.vue +102 -0
- package/docs/.vitepress/theme/components/Panzoom.vue +169 -0
- package/docs/.vitepress/theme/index.mjs +15 -0
- package/docs/.vitepress/theme/style.scss +163 -0
- package/docs/abbr.json +4 -0
- package/docs/api/cron/cronApi.md +56 -0
- package/docs/api/crud/deleteCrud.md +58 -0
- package/docs/api/crud/insert.md +82 -0
- package/docs/api/crud/update.md +85 -0
- package/docs/api/index.md +47 -0
- package/docs/api/notification/testEmail.md +91 -0
- package/docs/api/table/card.md +73 -0
- package/docs/api/table/data.md +134 -0
- package/docs/api/table/export.md +60 -0
- package/docs/api/table/filter.md +104 -0
- package/docs/api/table/form.md +126 -0
- package/docs/api/table/search.md +123 -0
- package/docs/api/table/suggest.md +156 -0
- package/docs/api/table/table.md +107 -0
- package/docs/api/user/user.cls.id.md +77 -0
- package/docs/api/user/user.cls.md +49 -0
- package/docs/api/user/user.cls.post.md +62 -0
- package/docs/api/user/user.info.md +37 -0
- package/docs/api/utils/logger.file.md +61 -0
- package/docs/api/utils/next.id.md +34 -0
- package/docs/api/utils/properties.add.md +127 -0
- package/docs/api/utils/properties.get.md +73 -0
- package/docs/api/utils/status.monitor.md +36 -0
- package/docs/api/widget/widget.del.md +76 -0
- package/docs/api/widget/widget.get.md +233 -0
- package/docs/api/widget/widget.set.md +88 -0
- package/docs/db/admin.md +947 -0
- package/docs/db/crm.md +564 -0
- package/docs/db/index.md +9 -0
- package/docs/db/log.md +204 -0
- package/docs/hook/card/afterCard.md +20 -0
- package/docs/hook/card/preCard.md +25 -0
- package/docs/hook/data/afterData.md +26 -0
- package/docs/hook/data/preData.md +26 -0
- package/docs/hook/deleteCrud/afterDelete.md +21 -0
- package/docs/hook/deleteCrud/preDelete.md +26 -0
- package/docs/hook/form/afterForm.md +19 -0
- package/docs/hook/form/preForm.md +26 -0
- package/docs/hook/getTemplate/afterTemplate.md +24 -0
- package/docs/hook/getTemplate/preTemplate.md +29 -0
- package/docs/hook/index.md +45 -0
- package/docs/hook/insert/afterInsert.md +41 -0
- package/docs/hook/insert/preInsert.md +25 -0
- package/docs/hook/table/afterTable.md +20 -0
- package/docs/hook/table/preTable.md +25 -0
- package/docs/hook/update/afterUpdate.md +41 -0
- package/docs/hook/update/preUpdate.md +25 -0
- package/docs/index.md +42 -0
- package/docs/public/fastify-dark.svg +4 -0
- package/docs/public/fastify.svg +1 -0
- package/docs/public/logo-short-dark.svg +12 -0
- package/docs/public/logo-short.svg +11 -0
- package/docs/public/logo.svg +19 -0
- package/docs/readme/index.md +121 -0
- package/docs/templates/card.md +83 -0
- package/docs/templates/cls.md +29 -0
- package/docs/templates/filters.md +91 -0
- package/docs/templates/forms.md +139 -0
- package/docs/templates/image.png +0 -0
- package/docs/templates/index.md +28 -0
- package/docs/templates/select.md +90 -0
- package/docs/templates/table.md +162 -0
- package/docs/utils/cron/addCron.md +29 -0
- package/docs/utils/crud/dataInsert.md +52 -0
- package/docs/utils/crud/dataUpdate.md +53 -0
- package/docs/utils/crud/getOpt.md +34 -0
- package/docs/utils/crud/isFileExists.md +38 -0
- package/docs/utils/crud/setOpt.md +38 -0
- package/docs/utils/hook/addHook.md +74 -0
- package/docs/utils/hook/applyHook.md +64 -0
- package/docs/utils/index.md +48 -0
- package/docs/utils/notification/addNotification.md +28 -0
- package/docs/utils/notification/notification.md +41 -0
- package/docs/utils/pg/autoIndex.md +22 -0
- package/docs/utils/pg/getMeta.md +59 -0
- package/docs/utils/pg/getPG.md +34 -0
- package/docs/utils/pg/init.md +30 -0
- package/docs/utils/pg/pg.md +70 -0
- package/docs/utils/redis/getRedis.md +36 -0
- package/docs/utils/redis/rclient.md +74 -0
- package/docs/utils/table/getForm.md +69 -0
- package/docs/utils/table/getMeta.md +56 -0
- package/docs/utils/table/getSelect.md +39 -0
- package/docs/utils/table/getSelectMeta.md +47 -0
- package/docs/utils/table/getTable.md +78 -0
- package/logger/createFileStream.js +1 -1
- package/package.json +15 -3
- package/redis/funcs/getRedis.js +23 -23
- package/server/migrations/log.sql +80 -80
- package/table/controllers/data.js +31 -23
- package/table/controllers/table.js +26 -22
- package/table/index.js +3 -50
- package/table/schema.js +54 -0
- package/test/config.example +18 -18
- package/test/funcs/pg.test.js +34 -34
- package/test/funcs/redis.test.js +19 -19
- package/test/templates/cls/test.json +9 -9
- package/test/templates/form/cp_building.form.json +32 -32
- package/test/templates/select/account_id.json +3 -3
- package/test/templates/select/storage.data.json +2 -2
- package/test/templates/table/gis.dataset.table.json +20 -20
- package/util/controllers/next.id.js +4 -4
- package/util/controllers/properties.get.js +19 -19
- package/util/index.js +23 -23
package/docs/db/crm.md
ADDED
|
@@ -0,0 +1,564 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
# crm
|
|
4
|
+
|
|
5
|
+
## Схема
|
|
6
|
+
|
|
7
|
+
``` mermaid
|
|
8
|
+
erDiagram
|
|
9
|
+
"checklists - " {
|
|
10
|
+
checklist_id text PK "-"
|
|
11
|
+
entity_id text "-"
|
|
12
|
+
entity_type text "-"
|
|
13
|
+
subject text "-"
|
|
14
|
+
is_done boolean "-"
|
|
15
|
+
done_date date "-"
|
|
16
|
+
category text "-"
|
|
17
|
+
body text "-"
|
|
18
|
+
parent_id text "-"
|
|
19
|
+
flag boolean "-"
|
|
20
|
+
uid text "ідентифікатор автора запису в БД"
|
|
21
|
+
files json "Системна колонка"
|
|
22
|
+
cdate timestamp_without_time_zone "Дата створення запису в БД"
|
|
23
|
+
editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
|
|
24
|
+
editor_date timestamp_without_time_zone "Час останії зміни в записі"
|
|
25
|
+
}
|
|
26
|
+
"cls - " {
|
|
27
|
+
cls_id text PK "-"
|
|
28
|
+
name text "-"
|
|
29
|
+
data text "-"
|
|
30
|
+
type text "-"
|
|
31
|
+
parent text "-"
|
|
32
|
+
code text "-"
|
|
33
|
+
color text "-"
|
|
34
|
+
icon text "-"
|
|
35
|
+
uid text "ідентифікатор автора запису в БД"
|
|
36
|
+
files json "Системна колонка"
|
|
37
|
+
cdate timestamp_without_time_zone "Дата створення запису в БД"
|
|
38
|
+
editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
|
|
39
|
+
editor_date timestamp_without_time_zone "Час останії зміни в записі"
|
|
40
|
+
module text "-"
|
|
41
|
+
}
|
|
42
|
+
"communications - " {
|
|
43
|
+
communication_id text PK "-"
|
|
44
|
+
entity_id text "-"
|
|
45
|
+
entity_type text "-"
|
|
46
|
+
sender text "-"
|
|
47
|
+
channel text "-"
|
|
48
|
+
participant text "-"
|
|
49
|
+
communication_date date "-"
|
|
50
|
+
expiration_date date "-"
|
|
51
|
+
announcement text "-"
|
|
52
|
+
subject text "-"
|
|
53
|
+
body text "-"
|
|
54
|
+
mark numeric "-"
|
|
55
|
+
parent_id text "-"
|
|
56
|
+
target_id text[] "-"
|
|
57
|
+
enabled boolean "-"
|
|
58
|
+
uid text "ідентифікатор автора запису в БД"
|
|
59
|
+
files json "Системна колонка"
|
|
60
|
+
cdate timestamp_without_time_zone "Дата створення запису в БД"
|
|
61
|
+
editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
|
|
62
|
+
editor_date timestamp_without_time_zone "Час останії зміни в записі"
|
|
63
|
+
}
|
|
64
|
+
"extra_data - Значення користувацьких полів" {
|
|
65
|
+
extra_data_id text PK "-"
|
|
66
|
+
property_id text FK "ID поля користувача"
|
|
67
|
+
property_key text "Назва колонки"
|
|
68
|
+
property_entity text "Таблиця"
|
|
69
|
+
object_id text "Ідентифікатор об'єкту"
|
|
70
|
+
value_text text "Значення"
|
|
71
|
+
value_date timestamp_without_time_zone "Дата"
|
|
72
|
+
uid text "ідентифікатор автора запису в БД"
|
|
73
|
+
cdate timestamp_without_time_zone "Дата створення запису в БД"
|
|
74
|
+
editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
|
|
75
|
+
editor_date timestamp_without_time_zone "Час останії зміни в записі"
|
|
76
|
+
files json "Системна колонка"
|
|
77
|
+
}
|
|
78
|
+
"files - " {
|
|
79
|
+
file_id text PK "-"
|
|
80
|
+
uploaded_name text "-"
|
|
81
|
+
entity_id text "-"
|
|
82
|
+
entity_type text "-"
|
|
83
|
+
file_type text "-"
|
|
84
|
+
file_status numeric "-"
|
|
85
|
+
doc_type text "-"
|
|
86
|
+
subject text "-"
|
|
87
|
+
size numeric "-"
|
|
88
|
+
ext text "-"
|
|
89
|
+
tags text[] "-"
|
|
90
|
+
file_path text "-"
|
|
91
|
+
ismain boolean "-"
|
|
92
|
+
isverified boolean "-"
|
|
93
|
+
uid text "ідентифікатор автора запису в БД"
|
|
94
|
+
files json "Системна колонка"
|
|
95
|
+
cdate timestamp_without_time_zone "Дата створення запису в БД"
|
|
96
|
+
editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
|
|
97
|
+
editor_date timestamp_without_time_zone "Час останії зміни в записі"
|
|
98
|
+
}
|
|
99
|
+
"notifications - " {
|
|
100
|
+
notification_id text PK "-"
|
|
101
|
+
subject text "Тема повідомлення"
|
|
102
|
+
body text "Зміст повідомлення"
|
|
103
|
+
link text "Посилання на об'єкт"
|
|
104
|
+
uid text "ідентифікатор автора запису в БД"
|
|
105
|
+
files json "Системна колонка"
|
|
106
|
+
cdate timestamp_without_time_zone "Дата створення запису в БД"
|
|
107
|
+
editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
|
|
108
|
+
editor_date timestamp_without_time_zone "Час останії зміни в записі"
|
|
109
|
+
addressee_id text "ID користувача отримувача повідомлення"
|
|
110
|
+
read boolean "Чи було повідомлення прочитане"
|
|
111
|
+
sent boolean "Чи було повідомлення відправлене"
|
|
112
|
+
author_id text "ID користувача автора повідомлення"
|
|
113
|
+
entity_id text "ID на об'єкту"
|
|
114
|
+
}
|
|
115
|
+
"properties - " {
|
|
116
|
+
property_id text PK "-"
|
|
117
|
+
table_name text "Таблиця"
|
|
118
|
+
object_id text "Назва атрибуту"
|
|
119
|
+
property_key text "-"
|
|
120
|
+
property_text text "Текст"
|
|
121
|
+
property_int integer "Integer"
|
|
122
|
+
property_json json "Дата"
|
|
123
|
+
property_date date "-"
|
|
124
|
+
property_type text "Тип даних"
|
|
125
|
+
uid text "ідентифікатор автора запису в БД"
|
|
126
|
+
editor_id text "Ідентифікатор автора, який останій вніс зміни в запис"
|
|
127
|
+
editor_date timestamp_without_time_zone "Час останії зміни в записі"
|
|
128
|
+
cdate timestamp_without_time_zone "Дата створення запису в БД"
|
|
129
|
+
files json "Системна колонка"
|
|
130
|
+
}
|
|
131
|
+
"crm.extra_data - " ||--|{ "admin.custom_column - " : ""
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Ключі**
|
|
135
|
+
|
|
136
|
+
``` mermaid
|
|
137
|
+
erDiagram
|
|
138
|
+
"checklists - " {
|
|
139
|
+
checklist_id PRIMARY_KEY
|
|
140
|
+
}
|
|
141
|
+
"cls - " {
|
|
142
|
+
cls_id PRIMARY_KEY
|
|
143
|
+
}
|
|
144
|
+
"communications - " {
|
|
145
|
+
communication_id PRIMARY_KEY
|
|
146
|
+
}
|
|
147
|
+
"extra_data - Значення користувацьких полів" {
|
|
148
|
+
extra_data_id PRIMARY_KEY
|
|
149
|
+
property_id FOREIGN_KEY
|
|
150
|
+
}
|
|
151
|
+
"files - " {
|
|
152
|
+
file_id PRIMARY_KEY
|
|
153
|
+
}
|
|
154
|
+
"notifications - " {
|
|
155
|
+
notification_id PRIMARY_KEY
|
|
156
|
+
}
|
|
157
|
+
"properties - " {
|
|
158
|
+
property_id PRIMARY_KEY
|
|
159
|
+
}
|
|
160
|
+
"crm.extra_data - " ||--|{ "admin.custom_column - " : ""
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
## crm.checklists
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
:::tabs
|
|
170
|
+
|
|
171
|
+
==table
|
|
172
|
+
|
|
173
|
+
| Назва колонки | Тип | Ключ | Опис |
|
|
174
|
+
| ---------------------- | ------------------------- | --- | ---------- |
|
|
175
|
+
| checklist_id | `text` | PK | - |
|
|
176
|
+
| entity_id | `text` | | - |
|
|
177
|
+
| entity_type | `text` | | - |
|
|
178
|
+
| subject | `text` | | - |
|
|
179
|
+
| is_done | `boolean` | | - |
|
|
180
|
+
| done_date | `date` | | - |
|
|
181
|
+
| category | `text` | | - |
|
|
182
|
+
| body | `text` | | - |
|
|
183
|
+
| parent_id | `text` | | - |
|
|
184
|
+
| flag | `boolean` | | - |
|
|
185
|
+
| uid | `text` | | ідентифікатор автора запису в БД |
|
|
186
|
+
| files | `json` | | Системна колонка |
|
|
187
|
+
| cdate | `timestamp without time zone` | | Дата створення запису в БД |
|
|
188
|
+
| editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
|
|
189
|
+
| editor_date | `timestamp without time zone` | | Час останії зміни в записі |
|
|
190
|
+
|
|
191
|
+
==sql
|
|
192
|
+
|
|
193
|
+
```sql
|
|
194
|
+
|
|
195
|
+
CREATE TABLE crm.checklists
|
|
196
|
+
(
|
|
197
|
+
checklist_id text DEFAULT next_id(), -- -
|
|
198
|
+
entity_id text , -- -
|
|
199
|
+
entity_type text , -- -
|
|
200
|
+
subject text , -- -
|
|
201
|
+
is_done boolean DEFAULT false, -- -
|
|
202
|
+
done_date date , -- -
|
|
203
|
+
category text , -- -
|
|
204
|
+
body text , -- -
|
|
205
|
+
parent_id text , -- -
|
|
206
|
+
flag boolean , -- -
|
|
207
|
+
uid text , -- ідентифікатор автора запису в БД
|
|
208
|
+
files json , -- Системна колонка
|
|
209
|
+
cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
|
|
210
|
+
editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
|
|
211
|
+
editor_date timestamp without time zone -- Час останії зміни в записі
|
|
212
|
+
,
|
|
213
|
+
CONSTRAINT crm_checklists_pkey PRIMARY KEY (checklist_id)
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
:::
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
## crm.cls
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
:::tabs
|
|
226
|
+
|
|
227
|
+
==table
|
|
228
|
+
|
|
229
|
+
| Назва колонки | Тип | Ключ | Опис |
|
|
230
|
+
| ---------------------- | ------------------------- | --- | ---------- |
|
|
231
|
+
| cls_id | `text` | PK | - |
|
|
232
|
+
| name | `text` | | - |
|
|
233
|
+
| data | `text` | | - |
|
|
234
|
+
| type | `text` | | - |
|
|
235
|
+
| parent | `text` | | - |
|
|
236
|
+
| code | `text` | | - |
|
|
237
|
+
| color | `text` | | - |
|
|
238
|
+
| icon | `text` | | - |
|
|
239
|
+
| uid | `text` | | ідентифікатор автора запису в БД |
|
|
240
|
+
| files | `json` | | Системна колонка |
|
|
241
|
+
| cdate | `timestamp without time zone` | | Дата створення запису в БД |
|
|
242
|
+
| editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
|
|
243
|
+
| editor_date | `timestamp without time zone` | | Час останії зміни в записі |
|
|
244
|
+
| module | `text` | | - |
|
|
245
|
+
|
|
246
|
+
==sql
|
|
247
|
+
|
|
248
|
+
```sql
|
|
249
|
+
|
|
250
|
+
CREATE TABLE crm.cls
|
|
251
|
+
(
|
|
252
|
+
cls_id text DEFAULT next_id(), -- -
|
|
253
|
+
name text , -- -
|
|
254
|
+
data text , -- -
|
|
255
|
+
type text , -- -
|
|
256
|
+
parent text , -- -
|
|
257
|
+
code text , -- -
|
|
258
|
+
color text , -- -
|
|
259
|
+
icon text , -- -
|
|
260
|
+
uid text , -- ідентифікатор автора запису в БД
|
|
261
|
+
files json , -- Системна колонка
|
|
262
|
+
cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
|
|
263
|
+
editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
|
|
264
|
+
editor_date timestamp without time zone , -- Час останії зміни в записі
|
|
265
|
+
module text -- -
|
|
266
|
+
,
|
|
267
|
+
CONSTRAINT crm_cls_unique UNIQUE KEY (parent,code),
|
|
268
|
+
CONSTRAINT crm_cls_pkey PRIMARY KEY (cls_id)
|
|
269
|
+
);
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
:::
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
## crm.communications
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
:::tabs
|
|
281
|
+
|
|
282
|
+
==table
|
|
283
|
+
|
|
284
|
+
| Назва колонки | Тип | Ключ | Опис |
|
|
285
|
+
| ---------------------- | ------------------------- | --- | ---------- |
|
|
286
|
+
| communication_id | `text` | PK | - |
|
|
287
|
+
| entity_id | `text` | | - |
|
|
288
|
+
| entity_type | `text` | | - |
|
|
289
|
+
| sender | `text` | | - |
|
|
290
|
+
| channel | `text` | | - |
|
|
291
|
+
| participant | `text` | | - |
|
|
292
|
+
| communication_date | `date` | | - |
|
|
293
|
+
| expiration_date | `date` | | - |
|
|
294
|
+
| announcement | `text` | | - |
|
|
295
|
+
| subject | `text` | | - |
|
|
296
|
+
| body | `text` | | - |
|
|
297
|
+
| mark | `numeric` | | - |
|
|
298
|
+
| parent_id | `text` | | - |
|
|
299
|
+
| target_id | `text[]` | | - |
|
|
300
|
+
| enabled | `boolean` | | - |
|
|
301
|
+
| uid | `text` | | ідентифікатор автора запису в БД |
|
|
302
|
+
| files | `json` | | Системна колонка |
|
|
303
|
+
| cdate | `timestamp without time zone` | | Дата створення запису в БД |
|
|
304
|
+
| editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
|
|
305
|
+
| editor_date | `timestamp without time zone` | | Час останії зміни в записі |
|
|
306
|
+
|
|
307
|
+
==sql
|
|
308
|
+
|
|
309
|
+
```sql
|
|
310
|
+
|
|
311
|
+
CREATE TABLE crm.communications
|
|
312
|
+
(
|
|
313
|
+
communication_id text DEFAULT next_id(), -- -
|
|
314
|
+
entity_id text , -- -
|
|
315
|
+
entity_type text , -- -
|
|
316
|
+
sender text , -- -
|
|
317
|
+
channel text , -- -
|
|
318
|
+
participant text , -- -
|
|
319
|
+
communication_date date , -- -
|
|
320
|
+
expiration_date date , -- -
|
|
321
|
+
announcement text , -- -
|
|
322
|
+
subject text , -- -
|
|
323
|
+
body text , -- -
|
|
324
|
+
mark numeric , -- -
|
|
325
|
+
parent_id text , -- -
|
|
326
|
+
target_id text[] , -- -
|
|
327
|
+
enabled boolean , -- -
|
|
328
|
+
uid text , -- ідентифікатор автора запису в БД
|
|
329
|
+
files json , -- Системна колонка
|
|
330
|
+
cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
|
|
331
|
+
editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
|
|
332
|
+
editor_date timestamp without time zone -- Час останії зміни в записі
|
|
333
|
+
,
|
|
334
|
+
CONSTRAINT crm_communications_pkey PRIMARY KEY (communication_id)
|
|
335
|
+
);
|
|
336
|
+
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
:::
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
## crm.extra_data
|
|
343
|
+
|
|
344
|
+
Значення користувацьких полів
|
|
345
|
+
|
|
346
|
+
:::tabs
|
|
347
|
+
|
|
348
|
+
==table
|
|
349
|
+
|
|
350
|
+
| Назва колонки | Тип | Ключ | Опис |
|
|
351
|
+
| ---------------------- | ------------------------- | --- | ---------- |
|
|
352
|
+
| extra_data_id | `text` | PK | - |
|
|
353
|
+
| property_id | `text` | FK | ID поля користувача |
|
|
354
|
+
| property_key | `text` | | Назва колонки |
|
|
355
|
+
| property_entity | `text` | | Таблиця |
|
|
356
|
+
| object_id | `text` | | Ідентифікатор об'єкту |
|
|
357
|
+
| value_text | `text` | | Значення |
|
|
358
|
+
| value_date | `timestamp without time zone` | | Дата |
|
|
359
|
+
| uid | `text` | | ідентифікатор автора запису в БД |
|
|
360
|
+
| cdate | `timestamp without time zone` | | Дата створення запису в БД |
|
|
361
|
+
| editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
|
|
362
|
+
| editor_date | `timestamp without time zone` | | Час останії зміни в записі |
|
|
363
|
+
| files | `json` | | Системна колонка |
|
|
364
|
+
|
|
365
|
+
==sql
|
|
366
|
+
|
|
367
|
+
```sql
|
|
368
|
+
|
|
369
|
+
CREATE TABLE crm.extra_data
|
|
370
|
+
(
|
|
371
|
+
extra_data_id text DEFAULT next_id(), -- -
|
|
372
|
+
property_id text , -- ID поля користувача
|
|
373
|
+
property_key text , -- Назва колонки
|
|
374
|
+
property_entity text , -- Таблиця
|
|
375
|
+
object_id text , -- Ідентифікатор об'єкту
|
|
376
|
+
value_text text , -- Значення
|
|
377
|
+
value_date timestamp without time zone , -- Дата
|
|
378
|
+
uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
|
|
379
|
+
cdate timestamp without time zone DEFAULT date_trunc('seconds'::text, now()), -- Дата створення запису в БД
|
|
380
|
+
editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
|
|
381
|
+
editor_date timestamp without time zone , -- Час останії зміни в записі
|
|
382
|
+
files json -- Системна колонка
|
|
383
|
+
,
|
|
384
|
+
CONSTRAINT crm_extra_data_property_key_object_id_entity_unique UNIQUE KEY (property_key,property_entity,object_id),
|
|
385
|
+
CONSTRAINT crm_extra_data_property_id_fkey FOREIGN KEY (column_id) REFERENCES admin.custom_column (column_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
386
|
+
CONSTRAINT crm_extra_data_pkey PRIMARY KEY (extra_data_id)
|
|
387
|
+
);
|
|
388
|
+
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
:::
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
## crm.files
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
:::tabs
|
|
399
|
+
|
|
400
|
+
==table
|
|
401
|
+
|
|
402
|
+
| Назва колонки | Тип | Ключ | Опис |
|
|
403
|
+
| ---------------------- | ------------------------- | --- | ---------- |
|
|
404
|
+
| file_id | `text` | PK | - |
|
|
405
|
+
| uploaded_name | `text` | | - |
|
|
406
|
+
| entity_id | `text` | | - |
|
|
407
|
+
| entity_type | `text` | | - |
|
|
408
|
+
| file_type | `text` | | - |
|
|
409
|
+
| file_status | `numeric` | | - |
|
|
410
|
+
| doc_type | `text` | | - |
|
|
411
|
+
| subject | `text` | | - |
|
|
412
|
+
| size | `numeric` | | - |
|
|
413
|
+
| ext | `text` | | - |
|
|
414
|
+
| tags | `text[]` | | - |
|
|
415
|
+
| file_path | `text` | | - |
|
|
416
|
+
| ismain | `boolean` | | - |
|
|
417
|
+
| isverified | `boolean` | | - |
|
|
418
|
+
| uid | `text` | | ідентифікатор автора запису в БД |
|
|
419
|
+
| files | `json` | | Системна колонка |
|
|
420
|
+
| cdate | `timestamp without time zone` | | Дата створення запису в БД |
|
|
421
|
+
| editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
|
|
422
|
+
| editor_date | `timestamp without time zone` | | Час останії зміни в записі |
|
|
423
|
+
|
|
424
|
+
==sql
|
|
425
|
+
|
|
426
|
+
```sql
|
|
427
|
+
|
|
428
|
+
CREATE TABLE crm.files
|
|
429
|
+
(
|
|
430
|
+
file_id text DEFAULT next_id(), -- -
|
|
431
|
+
uploaded_name text , -- -
|
|
432
|
+
entity_id text , -- -
|
|
433
|
+
entity_type text , -- -
|
|
434
|
+
file_type text , -- -
|
|
435
|
+
file_status numeric , -- -
|
|
436
|
+
doc_type text , -- -
|
|
437
|
+
subject text , -- -
|
|
438
|
+
size numeric , -- -
|
|
439
|
+
ext text , -- -
|
|
440
|
+
tags text[] , -- -
|
|
441
|
+
file_path text , -- -
|
|
442
|
+
ismain boolean DEFAULT false, -- -
|
|
443
|
+
isverified boolean DEFAULT false, -- -
|
|
444
|
+
uid text , -- ідентифікатор автора запису в БД
|
|
445
|
+
files json , -- Системна колонка
|
|
446
|
+
cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
|
|
447
|
+
editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
|
|
448
|
+
editor_date timestamp without time zone -- Час останії зміни в записі
|
|
449
|
+
,
|
|
450
|
+
CONSTRAINT crm_files_pkey PRIMARY KEY (file_id)
|
|
451
|
+
);
|
|
452
|
+
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
:::
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
## crm.notifications
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
:::tabs
|
|
463
|
+
|
|
464
|
+
==table
|
|
465
|
+
|
|
466
|
+
| Назва колонки | Тип | Ключ | Опис |
|
|
467
|
+
| ---------------------- | ------------------------- | --- | ---------- |
|
|
468
|
+
| notification_id | `text` | PK | - |
|
|
469
|
+
| subject | `text` | | Тема повідомлення |
|
|
470
|
+
| body | `text` | | Зміст повідомлення |
|
|
471
|
+
| link | `text` | | Посилання на об'єкт |
|
|
472
|
+
| uid | `text` | | ідентифікатор автора запису в БД |
|
|
473
|
+
| files | `json` | | Системна колонка |
|
|
474
|
+
| cdate | `timestamp without time zone` | | Дата створення запису в БД |
|
|
475
|
+
| editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
|
|
476
|
+
| editor_date | `timestamp without time zone` | | Час останії зміни в записі |
|
|
477
|
+
| addressee_id | `text` | | ID користувача отримувача повідомлення |
|
|
478
|
+
| read | `boolean` | | Чи було повідомлення прочитане |
|
|
479
|
+
| sent | `boolean` | | Чи було повідомлення відправлене |
|
|
480
|
+
| author_id | `text` | | ID користувача автора повідомлення |
|
|
481
|
+
| entity_id | `text` | | ID на об'єкту |
|
|
482
|
+
|
|
483
|
+
==sql
|
|
484
|
+
|
|
485
|
+
```sql
|
|
486
|
+
|
|
487
|
+
CREATE TABLE crm.notifications
|
|
488
|
+
(
|
|
489
|
+
notification_id text DEFAULT next_id(), -- -
|
|
490
|
+
subject text , -- Тема повідомлення
|
|
491
|
+
body text , -- Зміст повідомлення
|
|
492
|
+
link text , -- Посилання на об'єкт
|
|
493
|
+
uid text , -- ідентифікатор автора запису в БД
|
|
494
|
+
files json , -- Системна колонка
|
|
495
|
+
cdate timestamp without time zone DEFAULT (now())::timestamp without time zone, -- Дата створення запису в БД
|
|
496
|
+
editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
|
|
497
|
+
editor_date timestamp without time zone , -- Час останії зміни в записі
|
|
498
|
+
addressee_id text , -- ID користувача отримувача повідомлення
|
|
499
|
+
read boolean , -- Чи було повідомлення прочитане
|
|
500
|
+
sent boolean , -- Чи було повідомлення відправлене
|
|
501
|
+
author_id text , -- ID користувача автора повідомлення
|
|
502
|
+
entity_id text -- ID на об'єкту
|
|
503
|
+
,
|
|
504
|
+
CONSTRAINT crm_notifications_pkey PRIMARY KEY (notification_id)
|
|
505
|
+
);
|
|
506
|
+
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
:::
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
## crm.properties
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
:::tabs
|
|
517
|
+
|
|
518
|
+
==table
|
|
519
|
+
|
|
520
|
+
| Назва колонки | Тип | Ключ | Опис |
|
|
521
|
+
| ---------------------- | ------------------------- | --- | ---------- |
|
|
522
|
+
| property_id | `text` | PK | - |
|
|
523
|
+
| table_name | `text` | | Таблиця |
|
|
524
|
+
| object_id | `text` | | Назва атрибуту |
|
|
525
|
+
| property_key | `text` | | - |
|
|
526
|
+
| property_text | `text` | | Текст |
|
|
527
|
+
| property_int | `integer` | | Integer |
|
|
528
|
+
| property_json | `json` | | Дата |
|
|
529
|
+
| property_date | `date` | | - |
|
|
530
|
+
| property_type | `text` | | Тип даних |
|
|
531
|
+
| uid | `text` | | ідентифікатор автора запису в БД |
|
|
532
|
+
| editor_id | `text` | | Ідентифікатор автора, який останій вніс зміни в запис |
|
|
533
|
+
| editor_date | `timestamp without time zone` | | Час останії зміни в записі |
|
|
534
|
+
| cdate | `timestamp without time zone` | | Дата створення запису в БД |
|
|
535
|
+
| files | `json` | | Системна колонка |
|
|
536
|
+
|
|
537
|
+
==sql
|
|
538
|
+
|
|
539
|
+
```sql
|
|
540
|
+
|
|
541
|
+
CREATE TABLE crm.properties
|
|
542
|
+
(
|
|
543
|
+
property_id text DEFAULT next_id(), -- -
|
|
544
|
+
table_name text , -- Таблиця
|
|
545
|
+
object_id text , -- Назва атрибуту
|
|
546
|
+
property_key text , -- -
|
|
547
|
+
property_text text , -- Текст
|
|
548
|
+
property_int integer , -- Integer
|
|
549
|
+
property_json json , -- Дата
|
|
550
|
+
property_date date , -- -
|
|
551
|
+
property_type text , -- Тип даних
|
|
552
|
+
uid text DEFAULT '1'::text, -- ідентифікатор автора запису в БД
|
|
553
|
+
editor_id text , -- Ідентифікатор автора, який останій вніс зміни в запис
|
|
554
|
+
editor_date timestamp without time zone , -- Час останії зміни в записі
|
|
555
|
+
cdate timestamp without time zone DEFAULT now(), -- Дата створення запису в БД
|
|
556
|
+
files json -- Системна колонка
|
|
557
|
+
,
|
|
558
|
+
CONSTRAINT crm_properties_pkey PRIMARY KEY (property_id)
|
|
559
|
+
);
|
|
560
|
+
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
:::
|
|
564
|
+
|