prostgles-server 4.0.60 → 4.0.62
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/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +7 -20
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +8 -20
- package/package.json +3 -2
- package/tests/client/PID.txt +1 -1
- package/tests/client/package.json +1 -1
- package/tests/server/package-lock.json +1 -1
- package/tests/server/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTablesForSchemaPostgresSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAC;AAI3E,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,SAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"getTablesForSchemaPostgresSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,WAAW,EAAE,MAAM,eAAe,CAAC;AAI3E,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,SAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoMzH"}
|
|
@@ -7,24 +7,9 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema = "public")
|
|
|
7
7
|
const query = `
|
|
8
8
|
SELECT
|
|
9
9
|
jsonb_build_object(
|
|
10
|
-
'insert',
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
WHERE rg.table_name = t.table_name
|
|
14
|
-
AND rg.privilege_type = 'INSERT'
|
|
15
|
-
),
|
|
16
|
-
'select', EXISTS (
|
|
17
|
-
SELECT 1
|
|
18
|
-
FROM information_schema.role_table_grants rg
|
|
19
|
-
WHERE rg.table_name = t.table_name
|
|
20
|
-
AND rg.privilege_type = 'SELECT'
|
|
21
|
-
),
|
|
22
|
-
'update', EXISTS (
|
|
23
|
-
SELECT 1
|
|
24
|
-
FROM information_schema.role_table_grants rg
|
|
25
|
-
WHERE rg.table_name = t.table_name
|
|
26
|
-
AND rg.privilege_type = 'UPDATE'
|
|
27
|
-
),
|
|
10
|
+
'insert', TRUE,
|
|
11
|
+
'select', TRUE,
|
|
12
|
+
'update', TRUE,
|
|
28
13
|
'delete', EXISTS (
|
|
29
14
|
SELECT 1
|
|
30
15
|
FROM information_schema.role_table_grants rg
|
|
@@ -77,7 +62,7 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema = "public")
|
|
|
77
62
|
ccc.references,
|
|
78
63
|
ccc.has_default,
|
|
79
64
|
ccc.column_default,
|
|
80
|
-
ccc.privileges
|
|
65
|
+
COALESCE(ccc.privileges, '[]'::JSON) as privileges
|
|
81
66
|
) as x) ORDER BY ccc.ordinal_position ) as columns
|
|
82
67
|
FROM (
|
|
83
68
|
SELECT c.table_schema, c.table_name, c.column_name, c.data_type, c.udt_name
|
|
@@ -151,10 +136,12 @@ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema = "public")
|
|
|
151
136
|
ORDER BY schema, name
|
|
152
137
|
|
|
153
138
|
`;
|
|
154
|
-
// console.log(pgp.as.format(query, { schema }), schema);
|
|
155
139
|
let result = await db.any(query, { schema });
|
|
156
140
|
result = await Promise.all(result
|
|
157
141
|
.map(async (tbl) => {
|
|
142
|
+
tbl.privileges.select = tbl.columns.some(c => c.privileges.some(p => p.privilege_type === "SELECT"));
|
|
143
|
+
tbl.privileges.insert = tbl.columns.some(c => c.privileges.some(p => p.privilege_type === "INSERT"));
|
|
144
|
+
tbl.privileges.update = tbl.columns.some(c => c.privileges.some(p => p.privilege_type === "UPDATE"));
|
|
158
145
|
/** Get view reference cols (based on parent table) */
|
|
159
146
|
let viewFCols = [];
|
|
160
147
|
if (tbl.is_view) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTablesForSchemaPostgresSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":";;;AAEA,kEAAyD;AAEzD,uLAAuL;AAChL,KAAK,UAAU,6BAA6B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAc,EAAE,MAAM,GAAG,QAAQ;IAC/F,MAAM,KAAK,GACT
|
|
1
|
+
{"version":3,"file":"getTablesForSchemaPostgresSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,24 +8,9 @@ export async function getTablesForSchemaPostgresSQL({ db, runSQL }: DboBuilder,
|
|
|
8
8
|
`
|
|
9
9
|
SELECT
|
|
10
10
|
jsonb_build_object(
|
|
11
|
-
'insert',
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
WHERE rg.table_name = t.table_name
|
|
15
|
-
AND rg.privilege_type = 'INSERT'
|
|
16
|
-
),
|
|
17
|
-
'select', EXISTS (
|
|
18
|
-
SELECT 1
|
|
19
|
-
FROM information_schema.role_table_grants rg
|
|
20
|
-
WHERE rg.table_name = t.table_name
|
|
21
|
-
AND rg.privilege_type = 'SELECT'
|
|
22
|
-
),
|
|
23
|
-
'update', EXISTS (
|
|
24
|
-
SELECT 1
|
|
25
|
-
FROM information_schema.role_table_grants rg
|
|
26
|
-
WHERE rg.table_name = t.table_name
|
|
27
|
-
AND rg.privilege_type = 'UPDATE'
|
|
28
|
-
),
|
|
11
|
+
'insert', TRUE,
|
|
12
|
+
'select', TRUE,
|
|
13
|
+
'update', TRUE,
|
|
29
14
|
'delete', EXISTS (
|
|
30
15
|
SELECT 1
|
|
31
16
|
FROM information_schema.role_table_grants rg
|
|
@@ -78,7 +63,7 @@ export async function getTablesForSchemaPostgresSQL({ db, runSQL }: DboBuilder,
|
|
|
78
63
|
ccc.references,
|
|
79
64
|
ccc.has_default,
|
|
80
65
|
ccc.column_default,
|
|
81
|
-
ccc.privileges
|
|
66
|
+
COALESCE(ccc.privileges, '[]'::JSON) as privileges
|
|
82
67
|
) as x) ORDER BY ccc.ordinal_position ) as columns
|
|
83
68
|
FROM (
|
|
84
69
|
SELECT c.table_schema, c.table_name, c.column_name, c.data_type, c.udt_name
|
|
@@ -152,11 +137,14 @@ export async function getTablesForSchemaPostgresSQL({ db, runSQL }: DboBuilder,
|
|
|
152
137
|
ORDER BY schema, name
|
|
153
138
|
|
|
154
139
|
`;
|
|
155
|
-
|
|
140
|
+
|
|
156
141
|
let result: TableSchema[] = await db.any(query, { schema });
|
|
157
142
|
|
|
158
143
|
result = await Promise.all(result
|
|
159
144
|
.map(async tbl => {
|
|
145
|
+
tbl.privileges.select = tbl.columns.some(c => c.privileges.some(p => p.privilege_type === "SELECT"));
|
|
146
|
+
tbl.privileges.insert = tbl.columns.some(c => c.privileges.some(p => p.privilege_type === "INSERT"));
|
|
147
|
+
tbl.privileges.update = tbl.columns.some(c => c.privileges.some(p => p.privilege_type === "UPDATE"));
|
|
160
148
|
|
|
161
149
|
/** Get view reference cols (based on parent table) */
|
|
162
150
|
let viewFCols: Pick<TableSchemaColumn, "name" | "references">[] = [];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prostgles-server",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.62",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"start": "tsc --watch",
|
|
13
13
|
"build": "tsc",
|
|
14
14
|
"lint": "eslint . --ext .ts --quiet --fix",
|
|
15
|
-
"test": "rm -rf ./node_modules/* && npm i && npm run lint && cd tests/ && ./test.sh"
|
|
15
|
+
"test": "rm -rf ./node_modules/* && npm i && npm run lint && cd tests/ && ./test.sh",
|
|
16
|
+
"publish": "npm version patch --git-tag-version false && git add -A && git commit -m \"add OnInitReason\" && git push && npm publish"
|
|
16
17
|
},
|
|
17
18
|
"repository": {
|
|
18
19
|
"type": "git",
|
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
150935
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"scripts": {
|
|
7
7
|
"start": "tsc-watch --onSuccess \"node dist/client/index.js\"",
|
|
8
8
|
"dev": "NOSTOP=true npm start",
|
|
9
|
-
"build": "rm -rf ./node_modules/* && npm i && tsc",
|
|
9
|
+
"build": "rm -rf ./node_modules/* && rm -rf ./dist/* && npm i && tsc",
|
|
10
10
|
"test": "node dist/client/index.js & echo $! > ./PID.txt"
|
|
11
11
|
},
|
|
12
12
|
"author": "",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"scripts": {
|
|
7
7
|
"start": "tsc-watch --onSuccess \"node dist/server/index.js\"",
|
|
8
8
|
"dev": "NOSTOP=true npm start",
|
|
9
|
-
"build": "rm -rf ./node_modules/* && rm -rf ./media/* && npm i && tsc",
|
|
9
|
+
"build": "rm -rf ./node_modules/* && rm -rf ./media/* && rm -rf ./dist/* && npm i && tsc",
|
|
10
10
|
"test-server": "TEST_TYPE=server node --inspect dist/server/index.js",
|
|
11
11
|
"test-client": "TEST_TYPE=client node dist/server/index.js "
|
|
12
12
|
},
|