@opengis/admin 0.3.28 → 0.3.30
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/dist/{add-page-CSm2yIQ_.js → add-page-DEMB0NVp.js} +2 -2
- package/dist/{admin-interface-Dan7BpjD.js → admin-interface-hLLnl1qT.js} +8 -8
- package/dist/{admin-view-CSRgmIo1.js → admin-view-BxAU72CU.js} +88 -88
- package/dist/admin.js +1 -1
- package/dist/admin.umd.cjs +47 -47
- package/dist/{card-view-BxePr7Rm.js → card-view-DdCCgDuV.js} +1 -1
- package/dist/{edit-page-DEK3t6su.js → edit-page-Dw2VGB_7.js} +2 -2
- package/dist/{import-file-D0iJgW_Q.js → import-file-Brsexl6w.js} +6545 -6262
- package/dist/{profile-page-DaCFg6QA.js → profile-page-C_aOC-wH.js} +1 -1
- package/dist/style.css +1 -1
- package/package.json +3 -3
- package/server/routes/data/controllers/tableData.js +42 -31
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@opengis/admin",
|
3
|
-
"version": "0.3.
|
3
|
+
"version": "0.3.30",
|
4
4
|
"description": "This project Softpro Admin",
|
5
5
|
"main": "dist/admin.js",
|
6
6
|
"type": "module",
|
@@ -48,8 +48,8 @@
|
|
48
48
|
"@fullcalendar/vue3": "^6.1.15",
|
49
49
|
"@opengis/fastify-auth": "^1.0.73",
|
50
50
|
"@opengis/fastify-file": "^1.0.42",
|
51
|
-
"@opengis/fastify-table": "^1.2.
|
52
|
-
"@opengis/v3-core": "^0.3.
|
51
|
+
"@opengis/fastify-table": "^1.2.77",
|
52
|
+
"@opengis/v3-core": "^0.3.90",
|
53
53
|
"@opengis/v3-filter": "^0.0.72",
|
54
54
|
"@tabler/icons-vue": "^3.28.1",
|
55
55
|
"@tiptap/core": "^2.8.0",
|
@@ -1,32 +1,43 @@
|
|
1
|
-
import getData from '@opengis/fastify-table/
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
const {
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
const
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
const
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
1
|
+
import { getOpt, getMeta, getTemplate, getData, pgClients } from '@opengis/fastify-table/utils.js';
|
2
|
+
|
3
|
+
export default async function getTableData(req) {
|
4
|
+
const { user = {}, params = {}, query = {}, pg = pgClients.client } = req;
|
5
|
+
const { filter, limit, page, search, sql } = query || {};
|
6
|
+
const { id } = params || {};
|
7
|
+
|
8
|
+
const tokenData = await getOpt(params.table, user?.uid);
|
9
|
+
|
10
|
+
if (tokenData?.table) {
|
11
|
+
const loadTable = await getTemplate('table', tokenData.table);
|
12
|
+
|
13
|
+
if (!loadTable) {
|
14
|
+
const { rows = [], fields = [] } = await pg.query(`select ${tokenData.columns || '*'} from ${tokenData.table} where ${tokenData.query || 'true'} limit 10`);
|
15
|
+
const meta = await getMeta({ pg, table: tokenData.table });
|
16
|
+
const columns = (meta?.columns || fields).map(el => ({ name: el.name, type: pg.pgType?.[el.dataTypeID], title: el.title }));
|
17
|
+
return { rows, columns };
|
18
|
+
}
|
19
|
+
|
20
|
+
const resp = await getData({ id, table: tokenData.table, pg, filter, limit, page, search, user, sql });
|
21
|
+
return resp;
|
22
|
+
}
|
23
|
+
|
24
|
+
// Це можна 1 раз на старті
|
25
|
+
const interfaceName = req.headers?.referer?.match(/.*\/([^?]+)/)?.[1];
|
26
|
+
const { query: interfaceQuery } = interfaceName ?
|
27
|
+
await pg.query(`select query from admin.routes where route_id=$1`, [interfaceName])
|
28
|
+
.then(el => el.rows?.[0] || {}) : {};
|
29
|
+
|
30
|
+
// це можна від користувача
|
31
|
+
const { rows = [] } = pg.pk?.['admin.rules'] ? await pg.query(`select attr,(select rule_values from admin.account_grants where account_id in (select account_id from admin.account_users where user_uid=$2) and rule_id=r.rule_id limit 1) from admin.rules r where (select route_id from admin.routes where $1 in (alias,table_name)) = any(routes)`, [params.table, user.uid]) : {};
|
32
|
+
|
33
|
+
const context = rows.filter(el => el.rule_values).map(el => `${el.attr} = any ('{${el.rule_values}}')`).join(' and ');
|
34
|
+
const contextQuery = [interfaceQuery, context].filter(el => el).join(' and ') || ' 2=2 ';
|
35
|
+
|
36
|
+
const res = await getData({
|
37
|
+
id, table: params.table, pg, filter, limit, page, search, user, sql, contextQuery,
|
38
|
+
});
|
39
|
+
// console.log('contextQuery', contextQuery);
|
40
|
+
|
41
|
+
return res;
|
42
|
+
|
32
43
|
}
|