@opengis/admin 0.2.26 → 0.2.27
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 +89 -74
- package/config.js +4 -4
- package/dist/{IconChevronDown-JWm_82sv.js → IconChevronDown-H8JooCxL.js} +1 -1
- package/dist/{add-page-fptWbh7o.js → add-page-DXzuVNRB.js} +1 -1
- package/dist/{admin-interface-Cy578t-S.js → admin-interface-C2c1mmYC.js} +4 -4
- package/dist/{admin-view-ClA3MaHw.js → admin-view-CH5ugpkG.js} +3 -3
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +44 -44
- package/dist/assets/logo.svg +41 -41
- package/dist/{card-view-lQrpanQg.js → card-view-CHd5AODz.js} +1 -1
- package/dist/{edit-page-BSVwhvxu.js → edit-page-Burzk1u4.js} +1 -1
- package/dist/{import-file-Rjl_B7Cb.js → import-file-BEg7UgB4.js} +3019 -3016
- package/dist/style.css +1 -1
- package/module/settings/card/admin.accounts.table/index.yml +7 -7
- package/module/settings/card/admin.accounts.table/rules.hbs +18 -18
- package/module/settings/card/admin.accounts.table/users.hbs +13 -13
- package/module/settings/card/admin.roles.table/access.hbs +3 -3
- package/module/settings/card/admin.roles.table/general_info.hbs +1 -1
- package/module/settings/card/admin.roles.table/index.yml +21 -21
- package/module/settings/card/admin.roles.table/users.hbs +6 -6
- package/module/settings/card/admin.routes.table/general_info.hbs +13 -13
- package/module/settings/card/admin.routes.table/groups.hbs +11 -11
- package/module/settings/card/admin.routes.table/index.yml +11 -11
- package/module/settings/card/admin.routes.table/users.hbs +16 -16
- package/module/settings/card/admin.users.table/context.hbs +14 -14
- package/module/settings/card/admin.users.table/general_info.hbs +12 -12
- package/module/settings/card/admin.users.table/index.yml +22 -22
- package/module/settings/card/admin.users.table/last_login.hbs +9 -9
- package/module/settings/card/admin.users.table/logs.hbs +10 -10
- package/module/settings/card/admin.users.table/routes.hbs +7 -7
- package/module/settings/card/admin.users.table/user_roles.hbs +12 -12
- package/module/settings/cls/core.actions.json +17 -17
- package/module/settings/cls/core.scope.json +13 -13
- package/module/settings/cls/properties.site_status.json +13 -13
- package/module/settings/cls/properties.widget_status.json +13 -13
- package/module/settings/cls/users.user_type.json +13 -13
- package/module/settings/cls/yes_no.json +11 -11
- package/module/settings/form/admin.accounts.form.json +13 -13
- package/module/settings/form/admin.custom_column.form.json +71 -71
- package/module/settings/form/admin.properties.form.json +15 -15
- package/module/settings/form/admin.roles.form.json +21 -21
- package/module/settings/form/admin.routes.form.json +25 -25
- package/module/settings/form/admin.rules.form.json +30 -30
- package/module/settings/form/admin.user_properties.form.json +15 -15
- package/module/settings/form/admin.user_roles.form.json +13 -13
- package/module/settings/form/admin.user_roles_card.form.json +13 -13
- package/module/settings/form/admin.users.form.json +153 -153
- package/module/settings/form/context.account_grants.form.json +23 -23
- package/module/settings/form/context.account_users.form.json +12 -12
- package/module/settings/form/user.user_roles.form.json +13 -13
- package/module/settings/interface/admin.properties.json +4 -4
- package/module/settings/interface/admin.roles.json +4 -4
- package/module/settings/interface/admin.routes.json +4 -4
- package/module/settings/interface/admin.users.json +4 -4
- package/module/settings/menu.json +84 -84
- package/module/settings/select/core.routes.sql +1 -1
- package/module/settings/select/core.user_mentioned.sql +1 -1
- package/module/settings/select/core.user_uid.sql +1 -1
- package/module/settings/table/admin.accounts.table.json +42 -42
- package/module/settings/table/admin.custom_column.table.json +99 -99
- package/module/settings/table/admin.properties.table.json +39 -39
- package/module/settings/table/admin.roles.table.json +64 -64
- package/module/settings/table/admin.routes.table.json +73 -73
- package/module/settings/table/admin.rules.table.json +76 -76
- package/module/settings/table/admin.user_properties.table.json +34 -34
- package/module/settings/table/admin.user_roles.table.json +72 -72
- package/module/settings/table/admin.users.table.json +132 -132
- package/module/settings/table/context.account_grants.table.json +67 -67
- package/module/settings/table/context.account_users.table.json +37 -37
- package/package.json +91 -84
- package/plugin.js +29 -29
- package/server/helpers/core/badge.js +16 -16
- package/server/helpers/core/buttonHelper.js +21 -21
- package/server/helpers/core/select.js +48 -48
- package/server/helpers/core/token.js +18 -18
- package/server/helpers/index.js +29 -29
- package/server/helpers/list/buttonHelper.js +21 -21
- package/server/helpers/list/descriptionList.js +43 -43
- package/server/helpers/list/tableList.js +81 -81
- package/server/helpers/temp/contentList.js +58 -58
- package/server/helpers/temp/ifCond.js +101 -101
- package/server/helpers/utils/button.js +5 -5
- package/server/helpers/utils/buttonAdd.js +5 -5
- package/server/helpers/utils/buttonDel.js +5 -5
- package/server/helpers/utils/buttonEdit.js +5 -5
- package/server/plugins/access/funcs/getAdminAccess.js +12 -12
- package/server/plugins/access/index.mjs +6 -6
- package/server/plugins/adminHook.js +81 -81
- package/server/plugins/cron.js +10 -10
- package/server/plugins/docs.js +28 -28
- package/server/plugins/hook.js +236 -236
- package/server/plugins/vite.js +71 -71
- package/server/routes/access/controllers/access.group.js +29 -29
- package/server/routes/access/controllers/access.group.post.js +49 -49
- package/server/routes/access/index.mjs +8 -8
- package/server/routes/access/schema.mjs +57 -57
- package/server/routes/calendar/controllers/calendar.data.js +87 -87
- package/server/routes/calendar/index.mjs +7 -7
- package/server/routes/calendar/schema.js +21 -21
- package/server/routes/data/controllers/cardData.js +105 -105
- package/server/routes/data/controllers/cardTabData.js +49 -49
- package/server/routes/data/controllers/funcs/getFilterSQL/index.js +92 -92
- package/server/routes/data/controllers/funcs/getFilterSQL/util/formatValue.js +170 -170
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getFilterQuery.js +64 -64
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
- package/server/routes/data/controllers/funcs/getFilterSQL/util/getTableSql.js +34 -34
- package/server/routes/data/controllers/tableData.js +29 -29
- package/server/routes/data/controllers/tableDataId.js +27 -27
- package/server/routes/data/controllers/tableFilter.js +67 -67
- package/server/routes/data/controllers/tokenInfo.js +9 -9
- package/server/routes/data/controllers/utils/assignTokens.js +30 -30
- package/server/routes/data/controllers/utils/getColumns.js +8 -8
- package/server/routes/data/index.mjs +17 -17
- package/server/routes/data/schema.js +54 -54
- package/server/routes/menu/controllers/getMenu.js +58 -58
- package/server/routes/menu/index.mjs +5 -5
- package/server/routes/notifications/controllers/readNotifications.js +27 -27
- package/server/routes/notifications/controllers/testEmail.js +35 -35
- package/server/routes/notifications/controllers/userNotifications.js +53 -53
- package/server/routes/notifications/funcs/addNotification.js +21 -21
- package/server/routes/notifications/funcs/sendNotification.js +92 -92
- package/server/routes/notifications/hook/onWidgetSet.js +57 -57
- package/server/routes/notifications/index.mjs +27 -27
- package/server/routes/notifications/schema.js +16 -16
- package/server/routes/properties/controllers/admin.properties.get.js +29 -29
- package/server/routes/properties/controllers/user.properties.get.js +30 -30
- package/server/routes/properties/controllers/user.properties.post.js +30 -30
- package/server/routes/properties/funcs/getSettings.js +56 -56
- package/server/routes/properties/funcs/setSettings.js +44 -44
- package/server/routes/properties/funcs/utils/dataInsert.js +26 -26
- package/server/routes/properties/index.mjs +14 -14
- package/server/routes/properties/schema.js +10 -10
- package/server/routes/root.mjs +3 -3
- package/server/routes/templates/controllers/getTemplate.js +43 -43
- package/server/routes/templates/index.mjs +16 -16
- package/server/routes/templates/schema.js +8 -8
- package/server/routes/user/controllers/user.cls.id.js +14 -14
- package/server/routes/user/controllers/user.cls.js +71 -71
- package/server/routes/user/controllers/user.cls.post.js +52 -52
- package/server/routes/user/controllers/user.info.js +17 -17
- package/server/routes/user/schema.js +14 -14
- package/server/routes/widget/controllers/utils/historyFormat.js +75 -75
- package/server/routes/widget/controllers/utils/obj2db.js +13 -13
- package/server/routes/widget/controllers/widget.del.js +41 -41
- package/server/routes/widget/controllers/widget.get.js +96 -96
- package/server/routes/widget/controllers/widget.set.js +76 -76
- package/server/routes/widget/index.mjs +11 -11
- package/server/routes/widget/schema.js +12 -12
- package/server/templates/cls/itree.recrzone_category.json +73 -73
- package/server/templates/cls/test.json +9 -9
- package/server/templates/form/admin.user_cls.data.form.json +49 -49
- package/server/templates/form/admin.user_group_rel.form.json +21 -21
- package/server/templates/form/cp_building.form.json +32 -32
- package/server/templates/form/form-user-pass.json +10 -10
- package/server/templates/form/form-user_group.json +39 -39
- package/server/templates/form/form-users.json +156 -156
- package/server/templates/form/user_group_access.form.json +22 -22
- package/server/templates/select/account_id.json +2 -2
- package/server/templates/table/gis.dataset.table.json +43 -43
- package/server/templates/table/management.user_group.table.json +112 -112
- package/server/templates/table/management.users.table.json +126 -126
- package/utils.js +29 -29
@@ -1,68 +1,68 @@
|
|
1
|
-
{
|
2
|
-
"key": "ag_id",
|
3
|
-
"ua": "Організації/Права",
|
4
|
-
"table": "admin.account_grants",
|
5
|
-
"form": "context.account_grants.form",
|
6
|
-
"order": "cdate desc",
|
7
|
-
"access": "admin",
|
8
|
-
"actions": [
|
9
|
-
"add",
|
10
|
-
"edit",
|
11
|
-
"del"
|
12
|
-
],
|
13
|
-
"columns": [
|
14
|
-
{
|
15
|
-
"name": "account_id",
|
16
|
-
"ua": "id Організації",
|
17
|
-
"format": "Select",
|
18
|
-
"data": "core.accounts"
|
19
|
-
},
|
20
|
-
{
|
21
|
-
"name": "rule_id",
|
22
|
-
"ua": "id Правила",
|
23
|
-
"data": "core.rules",
|
24
|
-
"format": "Select"
|
25
|
-
},
|
26
|
-
{
|
27
|
-
"name": "routes",
|
28
|
-
"ua": "Роути",
|
29
|
-
"format": "Text"
|
30
|
-
},
|
31
|
-
{
|
32
|
-
"name": "values",
|
33
|
-
"ua": "Значення",
|
34
|
-
"format": "Text"
|
35
|
-
},
|
36
|
-
{
|
37
|
-
"name": "grants_doc_id",
|
38
|
-
"ua": "id Документу",
|
39
|
-
"format": "Text"
|
40
|
-
},
|
41
|
-
{
|
42
|
-
"name": "grant_scan",
|
43
|
-
"ua": "id Скану",
|
44
|
-
"format": "Text"
|
45
|
-
},
|
46
|
-
{
|
47
|
-
"name": "expire_date",
|
48
|
-
"ua": "Дата закінчення дії дозволу",
|
49
|
-
"format": "Date"
|
50
|
-
},
|
51
|
-
{
|
52
|
-
"name": "actions",
|
53
|
-
"ua": "Дії",
|
54
|
-
"format": "Text"
|
55
|
-
},
|
56
|
-
{
|
57
|
-
"name": "uid",
|
58
|
-
"format": "Select",
|
59
|
-
"data": "core.user_uid",
|
60
|
-
"ua": "Хто створив"
|
61
|
-
},
|
62
|
-
{
|
63
|
-
"name": "cdate",
|
64
|
-
"ua": "Дата створення",
|
65
|
-
"format": "Dat"
|
66
|
-
}
|
67
|
-
]
|
1
|
+
{
|
2
|
+
"key": "ag_id",
|
3
|
+
"ua": "Організації/Права",
|
4
|
+
"table": "admin.account_grants",
|
5
|
+
"form": "context.account_grants.form",
|
6
|
+
"order": "cdate desc",
|
7
|
+
"access": "admin",
|
8
|
+
"actions": [
|
9
|
+
"add",
|
10
|
+
"edit",
|
11
|
+
"del"
|
12
|
+
],
|
13
|
+
"columns": [
|
14
|
+
{
|
15
|
+
"name": "account_id",
|
16
|
+
"ua": "id Організації",
|
17
|
+
"format": "Select",
|
18
|
+
"data": "core.accounts"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"name": "rule_id",
|
22
|
+
"ua": "id Правила",
|
23
|
+
"data": "core.rules",
|
24
|
+
"format": "Select"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"name": "routes",
|
28
|
+
"ua": "Роути",
|
29
|
+
"format": "Text"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"name": "values",
|
33
|
+
"ua": "Значення",
|
34
|
+
"format": "Text"
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"name": "grants_doc_id",
|
38
|
+
"ua": "id Документу",
|
39
|
+
"format": "Text"
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"name": "grant_scan",
|
43
|
+
"ua": "id Скану",
|
44
|
+
"format": "Text"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"name": "expire_date",
|
48
|
+
"ua": "Дата закінчення дії дозволу",
|
49
|
+
"format": "Date"
|
50
|
+
},
|
51
|
+
{
|
52
|
+
"name": "actions",
|
53
|
+
"ua": "Дії",
|
54
|
+
"format": "Text"
|
55
|
+
},
|
56
|
+
{
|
57
|
+
"name": "uid",
|
58
|
+
"format": "Select",
|
59
|
+
"data": "core.user_uid",
|
60
|
+
"ua": "Хто створив"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"name": "cdate",
|
64
|
+
"ua": "Дата створення",
|
65
|
+
"format": "Dat"
|
66
|
+
}
|
67
|
+
]
|
68
68
|
}
|
@@ -1,38 +1,38 @@
|
|
1
|
-
{
|
2
|
-
"key": "au_id",
|
3
|
-
"ua": "Користувачі/Організації",
|
4
|
-
"table": "admin.account_users",
|
5
|
-
"form": "context.account_users.form",
|
6
|
-
"order": "cdate desc",
|
7
|
-
"access": "admin",
|
8
|
-
"actions": [
|
9
|
-
"add",
|
10
|
-
"edit",
|
11
|
-
"del"
|
12
|
-
],
|
13
|
-
"columns": [
|
14
|
-
{
|
15
|
-
"name": "account_id",
|
16
|
-
"format": "Select",
|
17
|
-
"data": "core.accounts",
|
18
|
-
"ua": "id Організації"
|
19
|
-
},
|
20
|
-
{
|
21
|
-
"name": "user_id",
|
22
|
-
"format": "Select",
|
23
|
-
"data": "core.user_uid",
|
24
|
-
"ua": "id Користувача"
|
25
|
-
},
|
26
|
-
{
|
27
|
-
"name": "uid",
|
28
|
-
"format": "Select",
|
29
|
-
"data": "core.user_uid",
|
30
|
-
"ua": "Хто створив"
|
31
|
-
},
|
32
|
-
{
|
33
|
-
"name": "cdate",
|
34
|
-
"format": "date",
|
35
|
-
"ua": "Дата створення"
|
36
|
-
}
|
37
|
-
]
|
1
|
+
{
|
2
|
+
"key": "au_id",
|
3
|
+
"ua": "Користувачі/Організації",
|
4
|
+
"table": "admin.account_users",
|
5
|
+
"form": "context.account_users.form",
|
6
|
+
"order": "cdate desc",
|
7
|
+
"access": "admin",
|
8
|
+
"actions": [
|
9
|
+
"add",
|
10
|
+
"edit",
|
11
|
+
"del"
|
12
|
+
],
|
13
|
+
"columns": [
|
14
|
+
{
|
15
|
+
"name": "account_id",
|
16
|
+
"format": "Select",
|
17
|
+
"data": "core.accounts",
|
18
|
+
"ua": "id Організації"
|
19
|
+
},
|
20
|
+
{
|
21
|
+
"name": "user_id",
|
22
|
+
"format": "Select",
|
23
|
+
"data": "core.user_uid",
|
24
|
+
"ua": "id Користувача"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"name": "uid",
|
28
|
+
"format": "Select",
|
29
|
+
"data": "core.user_uid",
|
30
|
+
"ua": "Хто створив"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"name": "cdate",
|
34
|
+
"format": "date",
|
35
|
+
"ua": "Дата створення"
|
36
|
+
}
|
37
|
+
]
|
38
38
|
}
|
package/package.json
CHANGED
@@ -1,84 +1,91 @@
|
|
1
|
-
{
|
2
|
-
"name": "@opengis/admin",
|
3
|
-
"version": "0.2.
|
4
|
-
"description": "This project Softpro Admin",
|
5
|
-
"main": "dist/admin.js",
|
6
|
-
"type": "module",
|
7
|
-
"directories": {
|
8
|
-
"test": "test"
|
9
|
-
},
|
10
|
-
"files": [
|
11
|
-
"dist/*",
|
12
|
-
"module/*",
|
13
|
-
"server/*",
|
14
|
-
"plugin.js",
|
15
|
-
"utils.js",
|
16
|
-
"config.js"
|
17
|
-
],
|
18
|
-
"scripts": {
|
19
|
-
"test": "node --test test/**/*.test.js",
|
20
|
-
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
21
|
-
"build": "vite build",
|
22
|
-
"build-app": "cross-env APP=true vite build",
|
23
|
-
"admin": "cross-env NODE_ENV=admin npm run start",
|
24
|
-
"prod": "cross-env NODE_ENV=production npm run start",
|
25
|
-
"debug": "node --watch-path=server server",
|
26
|
-
"start": "node server",
|
27
|
-
"docs:dev": "vitepress dev docs",
|
28
|
-
"docs:build": "vitepress build docs",
|
29
|
-
"docs:preview": "vitepress preview docs"
|
30
|
-
},
|
31
|
-
"keywords": [
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
"
|
36
|
-
"
|
37
|
-
"
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
"
|
43
|
-
"@
|
44
|
-
"@
|
45
|
-
"@
|
46
|
-
"@
|
47
|
-
"@
|
48
|
-
"@
|
49
|
-
"@
|
50
|
-
"@tiptap/
|
51
|
-
"@tiptap/
|
52
|
-
"@tiptap/
|
53
|
-
"@tiptap/
|
54
|
-
"@
|
55
|
-
"@
|
56
|
-
"
|
57
|
-
"
|
58
|
-
"
|
59
|
-
"
|
60
|
-
"
|
61
|
-
"
|
62
|
-
"
|
63
|
-
"
|
64
|
-
"
|
65
|
-
|
66
|
-
|
67
|
-
"
|
68
|
-
"
|
69
|
-
"
|
70
|
-
"
|
71
|
-
"
|
72
|
-
|
73
|
-
|
74
|
-
"
|
75
|
-
"
|
76
|
-
"
|
77
|
-
"
|
78
|
-
"
|
79
|
-
"
|
80
|
-
"
|
81
|
-
"
|
82
|
-
"
|
83
|
-
|
84
|
-
|
1
|
+
{
|
2
|
+
"name": "@opengis/admin",
|
3
|
+
"version": "0.2.27",
|
4
|
+
"description": "This project Softpro Admin",
|
5
|
+
"main": "dist/admin.js",
|
6
|
+
"type": "module",
|
7
|
+
"directories": {
|
8
|
+
"test": "test"
|
9
|
+
},
|
10
|
+
"files": [
|
11
|
+
"dist/*",
|
12
|
+
"module/*",
|
13
|
+
"server/*",
|
14
|
+
"plugin.js",
|
15
|
+
"utils.js",
|
16
|
+
"config.js"
|
17
|
+
],
|
18
|
+
"scripts": {
|
19
|
+
"test": "node --test test/**/*.test.js",
|
20
|
+
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
21
|
+
"build": "vite build",
|
22
|
+
"build-app": "cross-env APP=true vite build",
|
23
|
+
"admin": "cross-env NODE_ENV=admin npm run start",
|
24
|
+
"prod": "cross-env NODE_ENV=production npm run start",
|
25
|
+
"debug": "node --watch-path=server server",
|
26
|
+
"start": "node server",
|
27
|
+
"docs:dev": "vitepress dev docs",
|
28
|
+
"docs:build": "vitepress build docs",
|
29
|
+
"docs:preview": "vitepress preview docs"
|
30
|
+
},
|
31
|
+
"keywords": [
|
32
|
+
"admin",
|
33
|
+
"database",
|
34
|
+
"fatify",
|
35
|
+
"vue",
|
36
|
+
"vite",
|
37
|
+
"opengis"
|
38
|
+
],
|
39
|
+
"author": "Softpro",
|
40
|
+
"license": "ISC",
|
41
|
+
"dependencies": {
|
42
|
+
"nodemailer": "^6.5.0",
|
43
|
+
"@fancyapps/ui": "^5.0.36",
|
44
|
+
"@opengis/admin": "^0.1.69",
|
45
|
+
"@opengis/fastify-auth": "^1.0.51",
|
46
|
+
"@opengis/fastify-file": "^1.0.30",
|
47
|
+
"@opengis/fastify-table": "^1.1.86",
|
48
|
+
"@opengis/v3-core": "^0.2.52",
|
49
|
+
"@opengis/v3-filter": "^0.0.41",
|
50
|
+
"@tiptap/core": "^2.8.0",
|
51
|
+
"@tiptap/extension-color": "^2.8.0",
|
52
|
+
"@tiptap/extension-mention": "^2.8.0",
|
53
|
+
"@tiptap/extension-placeholder": "^2.8.0",
|
54
|
+
"@tiptap/extension-text": "^2.8.0",
|
55
|
+
"@tiptap/extension-text-style": "^2.8.0",
|
56
|
+
"@tiptap/extension-underline": "^2.8.0",
|
57
|
+
"@tiptap/pm": "^2.8.0",
|
58
|
+
"@tiptap/starter-kit": "^2.8.0",
|
59
|
+
"@tiptap/suggestion": "^2.8.0",
|
60
|
+
"@tiptap/vue-3": "^2.8.0",
|
61
|
+
"@turf/turf": "^7.1.0",
|
62
|
+
"@vitejs/plugin-vue": "^5.0.4",
|
63
|
+
"close-with-grace": "^1.3.0",
|
64
|
+
"cross-env": "^7.0.3",
|
65
|
+
"fastify": "^4.26.1",
|
66
|
+
"fastify-plugin": "^4.0.0",
|
67
|
+
"maplibre-gl": "^4.7.0",
|
68
|
+
"moment": "^2.30.1",
|
69
|
+
"vite": "^5.1.4",
|
70
|
+
"vue": "^3.4.21",
|
71
|
+
"vue-router": "^4.3.0"
|
72
|
+
},
|
73
|
+
"devDependencies": {
|
74
|
+
"@panzoom/panzoom": "^4.5.1",
|
75
|
+
"@vue/eslint-config-typescript": "^12.0.0",
|
76
|
+
"autoprefixer": "^10.4.20",
|
77
|
+
"eslint": "^8.49.0",
|
78
|
+
"eslint-config-airbnb": "^19.0.4",
|
79
|
+
"eslint-plugin-import": "^2.25.3",
|
80
|
+
"eslint-plugin-vue": "^9.17.0",
|
81
|
+
"markdown-it-abbr": "^2.0.0",
|
82
|
+
"mermaid": "^10.9.0",
|
83
|
+
"postcss": "^8.4.47",
|
84
|
+
"sass-embedded": "^1.79.1",
|
85
|
+
"tailwindcss": "^3.4.13",
|
86
|
+
"vitepress": "^1.1.3",
|
87
|
+
"vitepress-plugin-mermaid": "^2.0.16",
|
88
|
+
"vitepress-plugin-tabs": "^0.5.0",
|
89
|
+
"vitepress-sidebar": "^1.22.0"
|
90
|
+
}
|
91
|
+
}
|
package/plugin.js
CHANGED
@@ -1,30 +1,30 @@
|
|
1
|
-
import fp from 'fastify-plugin';
|
2
|
-
|
3
|
-
import config from './config.js';
|
4
|
-
|
5
|
-
config.prefix = config.prefix || '/api';
|
6
|
-
|
7
|
-
async function plugin(fastify, opts = config) {
|
8
|
-
// const prefix = config.prefix || '/api';
|
9
|
-
|
10
|
-
fastify.register(import('./server/helpers/index.js'), opts);
|
11
|
-
// fastify.register(import('@opengis/fastify-auth'), config);
|
12
|
-
|
13
|
-
fastify.register(import('./server/plugins/cron.js'), opts); // cron / scheduler
|
14
|
-
fastify.register(import('./server/plugins/hook.js'), opts); // data / template hooks
|
15
|
-
fastify.register(import('./server/plugins/access/index.mjs'), opts); // check access / analogue of policy
|
16
|
-
|
17
|
-
// API
|
18
|
-
fastify.register(import('./server/routes/properties/index.mjs'), opts);
|
19
|
-
fastify.register(import('./server/routes/calendar/index.mjs'), opts);
|
20
|
-
fastify.register(import('./server/routes/notifications/index.mjs'), opts);
|
21
|
-
fastify.register(import('./server/routes/templates/index.mjs'), opts);
|
22
|
-
fastify.register(import('./server/routes/menu/index.mjs'), opts);
|
23
|
-
fastify.register(import('./server/routes/data/index.mjs'), opts);
|
24
|
-
|
25
|
-
fastify.register(import('./server/routes/user/index.mjs'), opts);
|
26
|
-
fastify.register(import('./server/routes/widget/index.mjs'), opts);
|
27
|
-
|
28
|
-
fastify.register(import('./server/routes/access/index.mjs'), opts);
|
29
|
-
}
|
1
|
+
import fp from 'fastify-plugin';
|
2
|
+
|
3
|
+
import config from './config.js';
|
4
|
+
|
5
|
+
config.prefix = config.prefix || '/api';
|
6
|
+
|
7
|
+
async function plugin(fastify, opts = config) {
|
8
|
+
// const prefix = config.prefix || '/api';
|
9
|
+
|
10
|
+
fastify.register(import('./server/helpers/index.js'), opts);
|
11
|
+
// fastify.register(import('@opengis/fastify-auth'), config);
|
12
|
+
|
13
|
+
fastify.register(import('./server/plugins/cron.js'), opts); // cron / scheduler
|
14
|
+
fastify.register(import('./server/plugins/hook.js'), opts); // data / template hooks
|
15
|
+
fastify.register(import('./server/plugins/access/index.mjs'), opts); // check access / analogue of policy
|
16
|
+
|
17
|
+
// API
|
18
|
+
fastify.register(import('./server/routes/properties/index.mjs'), opts);
|
19
|
+
fastify.register(import('./server/routes/calendar/index.mjs'), opts);
|
20
|
+
fastify.register(import('./server/routes/notifications/index.mjs'), opts);
|
21
|
+
fastify.register(import('./server/routes/templates/index.mjs'), opts);
|
22
|
+
fastify.register(import('./server/routes/menu/index.mjs'), opts);
|
23
|
+
fastify.register(import('./server/routes/data/index.mjs'), opts);
|
24
|
+
|
25
|
+
fastify.register(import('./server/routes/user/index.mjs'), opts);
|
26
|
+
fastify.register(import('./server/routes/widget/index.mjs'), opts);
|
27
|
+
|
28
|
+
fastify.register(import('./server/routes/access/index.mjs'), opts);
|
29
|
+
}
|
30
30
|
export default fp(plugin)
|
@@ -1,16 +1,16 @@
|
|
1
|
-
import { getSelect } from "@opengis/fastify-table/utils.js";
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
export default async function badge(id, options) {
|
6
|
-
if (!id) return '-';
|
7
|
-
const data = options.hash?.data;
|
8
|
-
if (!data) return id;
|
9
|
-
const classifier = await getSelect(data);
|
10
|
-
if (!classifier?.arr) return id;
|
11
|
-
|
12
|
-
const item = classifier?.arr.find(el => el.id == id);
|
13
|
-
if (!item) return id;
|
14
|
-
return `<span style='color:${item.color || '#14b8a6'};border-color:${item.color || '#14b8a6'};' class="inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-full text-xs font-medium border border-teal-500 text-teal-500">${item.text}</span>`
|
15
|
-
|
16
|
-
}
|
1
|
+
import { getSelect } from "@opengis/fastify-table/utils.js";
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
export default async function badge(id, options) {
|
6
|
+
if (!id) return '-';
|
7
|
+
const data = options.hash?.data;
|
8
|
+
if (!data) return id;
|
9
|
+
const classifier = await getSelect(data);
|
10
|
+
if (!classifier?.arr) return id;
|
11
|
+
|
12
|
+
const item = classifier?.arr.find(el => el.id == id);
|
13
|
+
if (!item) return id;
|
14
|
+
return `<span style='color:${item.color || '#14b8a6'};border-color:${item.color || '#14b8a6'};' class="inline-flex items-center gap-x-1.5 py-1.5 px-3 rounded-full text-xs font-medium border border-teal-500 text-teal-500">${item.text}</span>`
|
15
|
+
|
16
|
+
}
|
@@ -1,21 +1,21 @@
|
|
1
|
-
import buttonAdd from "../utils/buttonAdd.js";
|
2
|
-
import buttonDel from "../utils/buttonDel.js";
|
3
|
-
import buttonEdit from "../utils/buttonEdit.js";
|
4
|
-
import button from "../utils/button.js";
|
5
|
-
export default function buttonHelper(data, opt) {
|
6
|
-
const { hash } = opt;
|
7
|
-
|
8
|
-
// console.log(params)
|
9
|
-
|
10
|
-
if (!hash.token) return "token empty";
|
11
|
-
if (hash.add) {
|
12
|
-
return buttonAdd(hash.token, hash.title);
|
13
|
-
}
|
14
|
-
if (hash.del) {
|
15
|
-
return buttonDel(hash.token, hash.title);
|
16
|
-
}
|
17
|
-
if (hash.edit) {
|
18
|
-
return buttonEdit(hash.token, hash.title);
|
19
|
-
}
|
20
|
-
return button(hash.token, hash.title);
|
21
|
-
}
|
1
|
+
import buttonAdd from "../utils/buttonAdd.js";
|
2
|
+
import buttonDel from "../utils/buttonDel.js";
|
3
|
+
import buttonEdit from "../utils/buttonEdit.js";
|
4
|
+
import button from "../utils/button.js";
|
5
|
+
export default function buttonHelper(data, opt) {
|
6
|
+
const { hash } = opt;
|
7
|
+
|
8
|
+
// console.log(params)
|
9
|
+
|
10
|
+
if (!hash.token) return "token empty";
|
11
|
+
if (hash.add) {
|
12
|
+
return buttonAdd(hash.token, hash.title);
|
13
|
+
}
|
14
|
+
if (hash.del) {
|
15
|
+
return buttonDel(hash.token, hash.title);
|
16
|
+
}
|
17
|
+
if (hash.edit) {
|
18
|
+
return buttonEdit(hash.token, hash.title);
|
19
|
+
}
|
20
|
+
return button(hash.token, hash.title);
|
21
|
+
}
|
@@ -1,48 +1,48 @@
|
|
1
|
-
import { getPG, getSelect } from "@opengis/fastify-table/utils.js";
|
2
|
-
const pg = getPG();
|
3
|
-
|
4
|
-
export default async function select(ids, options) {
|
5
|
-
if (!ids || (Array.isArray(ids) && ids.length === 0) || ids === '') {
|
6
|
-
return '';
|
7
|
-
}
|
8
|
-
|
9
|
-
const data = options.hash?.data;
|
10
|
-
if (!data && data !== false && data !== 0) return '';
|
11
|
-
try {
|
12
|
-
const idsArray = Array.isArray(ids) ? ids : [ids];
|
13
|
-
|
14
|
-
const classifier = await getSelect(data);
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
if (!classifier) return `Не знайдено класифікатор ${data}`;
|
19
|
-
|
20
|
-
const arr = classifier.arr || []
|
21
|
-
if (classifier.sql && typeof classifier.sql === 'string') {
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
const metaQuery = `SELECT * FROM (${classifier.sql})q LIMIT 0`;
|
26
|
-
const meta = await pg.query(metaQuery);
|
27
|
-
const idColumn = meta.fields[0].name;
|
28
|
-
const textColumn = meta.fields[1].name;
|
29
|
-
|
30
|
-
const sql = `SELECT "${idColumn}" AS id, "${textColumn}" AS text FROM (${classifier.sql}) q WHERE "${idColumn}" = ANY($1::text[])`;
|
31
|
-
const values = [idsArray.map(id => String(id))];
|
32
|
-
|
33
|
-
const { rows } = await pg.query(sql, values);
|
34
|
-
Object.assign(arr, rows)
|
35
|
-
|
36
|
-
}
|
37
|
-
if (!arr.length) return idsArray
|
38
|
-
|
39
|
-
const results = idsArray.map(id => {
|
40
|
-
const result = arr.find(el => String(el.id) == String(id));
|
41
|
-
return result ? result.text : '';
|
42
|
-
});
|
43
|
-
|
44
|
-
return results.filter(Boolean).join(', ');
|
45
|
-
} catch (error) {
|
46
|
-
return `Сталася помилка.<!-- err: ${error.toString()} -->`;
|
47
|
-
}
|
48
|
-
}
|
1
|
+
import { getPG, getSelect } from "@opengis/fastify-table/utils.js";
|
2
|
+
const pg = getPG();
|
3
|
+
|
4
|
+
export default async function select(ids, options) {
|
5
|
+
if (!ids || (Array.isArray(ids) && ids.length === 0) || ids === '') {
|
6
|
+
return '';
|
7
|
+
}
|
8
|
+
|
9
|
+
const data = options.hash?.data;
|
10
|
+
if (!data && data !== false && data !== 0) return '';
|
11
|
+
try {
|
12
|
+
const idsArray = Array.isArray(ids) ? ids : [ids];
|
13
|
+
|
14
|
+
const classifier = await getSelect(data);
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
if (!classifier) return `Не знайдено класифікатор ${data}`;
|
19
|
+
|
20
|
+
const arr = classifier.arr || []
|
21
|
+
if (classifier.sql && typeof classifier.sql === 'string') {
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
const metaQuery = `SELECT * FROM (${classifier.sql})q LIMIT 0`;
|
26
|
+
const meta = await pg.query(metaQuery);
|
27
|
+
const idColumn = meta.fields[0].name;
|
28
|
+
const textColumn = meta.fields[1].name;
|
29
|
+
|
30
|
+
const sql = `SELECT "${idColumn}" AS id, "${textColumn}" AS text FROM (${classifier.sql}) q WHERE "${idColumn}" = ANY($1::text[])`;
|
31
|
+
const values = [idsArray.map(id => String(id))];
|
32
|
+
|
33
|
+
const { rows } = await pg.query(sql, values);
|
34
|
+
Object.assign(arr, rows)
|
35
|
+
|
36
|
+
}
|
37
|
+
if (!arr.length) return idsArray
|
38
|
+
|
39
|
+
const results = idsArray.map(id => {
|
40
|
+
const result = arr.find(el => String(el.id) == String(id));
|
41
|
+
return result ? result.text : '';
|
42
|
+
});
|
43
|
+
|
44
|
+
return results.filter(Boolean).join(', ');
|
45
|
+
} catch (error) {
|
46
|
+
return `Сталася помилка.<!-- err: ${error.toString()} -->`;
|
47
|
+
}
|
48
|
+
}
|