prostgles-server 2.0.250 → 2.0.253
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/insert.d.ts +1 -1
- package/dist/DboBuilder/insert.d.ts.map +1 -1
- package/dist/DboBuilder/insert.js +6 -12
- package/dist/DboBuilder/insert.js.map +1 -1
- package/dist/DboBuilder/update.d.ts.map +1 -1
- package/dist/DboBuilder/update.js +38 -6
- package/dist/DboBuilder/update.js.map +1 -1
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +73 -66
- package/dist/DboBuilder.js.map +1 -1
- package/dist/PublishParser.d.ts +7 -1
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser.js.map +1 -1
- package/lib/DboBuilder/insert.d.ts +1 -1
- package/lib/DboBuilder/insert.d.ts.map +1 -1
- package/lib/DboBuilder/insert.js +6 -12
- package/lib/DboBuilder/insert.ts +9 -13
- package/lib/DboBuilder/update.d.ts.map +1 -1
- package/lib/DboBuilder/update.js +38 -6
- package/lib/DboBuilder/update.ts +43 -7
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +73 -66
- package/lib/DboBuilder.ts +73 -66
- package/lib/PublishParser.d.ts +7 -1
- package/lib/PublishParser.d.ts.map +1 -1
- package/lib/PublishParser.ts +7 -1
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/index.js +1 -1
- package/tests/server/index.ts +1 -1
- package/tests/server/package-lock.json +1 -1
package/lib/DboBuilder.ts
CHANGED
|
@@ -3007,7 +3007,8 @@ async function getConstraints(db: DB, schema: string = "public"): Promise<PGCons
|
|
|
3007
3007
|
async function getTablesForSchemaPostgresSQL(db: DB, schema: string = "public"): Promise<TableSchema[]>{
|
|
3008
3008
|
const query =
|
|
3009
3009
|
`
|
|
3010
|
-
SELECT
|
|
3010
|
+
SELECT
|
|
3011
|
+
jsonb_build_object(
|
|
3011
3012
|
'insert', EXISTS (
|
|
3012
3013
|
SELECT 1
|
|
3013
3014
|
FROM information_schema.role_table_grants rg
|
|
@@ -3034,74 +3035,78 @@ async function getTablesForSchemaPostgresSQL(db: DB, schema: string = "public"):
|
|
|
3034
3035
|
)
|
|
3035
3036
|
) as privileges
|
|
3036
3037
|
, t.table_schema as schema, t.table_name as name
|
|
3038
|
+
, cc.columns
|
|
3037
3039
|
, cc.table_oid as oid
|
|
3038
|
-
, json_agg((SELECT x FROM (
|
|
3039
|
-
SELECT cc.column_name as name,
|
|
3040
|
-
cc.data_type,
|
|
3041
|
-
cc.udt_name,
|
|
3042
|
-
cc.element_type,
|
|
3043
|
-
cc.element_udt_name,
|
|
3044
|
-
cc.is_pkey,
|
|
3045
|
-
cc.comment,
|
|
3046
|
-
cc.ordinal_position,
|
|
3047
|
-
cc.is_nullable = 'YES' as is_nullable,
|
|
3048
|
-
cc.references,
|
|
3049
|
-
cc.has_default,
|
|
3050
|
-
cc.column_default,
|
|
3051
|
-
cc.privileges
|
|
3052
|
-
) as x) ORDER BY cc.ordinal_position ) as columns
|
|
3053
|
-
|
|
3054
3040
|
, t.table_type = 'VIEW' as is_view
|
|
3055
3041
|
, array_to_json(vr.table_names) as parent_tables
|
|
3056
3042
|
, obj_description(cc.table_oid::regclass) as comment
|
|
3057
3043
|
FROM information_schema.tables t
|
|
3058
|
-
INNER
|
|
3059
|
-
|
|
3060
|
-
,
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3044
|
+
INNER join (
|
|
3045
|
+
SELECT ccc.table_oid, table_schema, table_name
|
|
3046
|
+
, jsonb_agg((SELECT x FROM (
|
|
3047
|
+
SELECT ccc.column_name as name,
|
|
3048
|
+
ccc.data_type,
|
|
3049
|
+
ccc.udt_name,
|
|
3050
|
+
ccc.element_type,
|
|
3051
|
+
ccc.element_udt_name,
|
|
3052
|
+
ccc.is_pkey,
|
|
3053
|
+
ccc.comment,
|
|
3054
|
+
ccc.ordinal_position,
|
|
3055
|
+
ccc.is_nullable = 'YES' as is_nullable,
|
|
3056
|
+
ccc.references,
|
|
3057
|
+
ccc.has_default,
|
|
3058
|
+
ccc.column_default,
|
|
3059
|
+
ccc.privileges
|
|
3060
|
+
) as x) ORDER BY ccc.ordinal_position ) as columns
|
|
3061
|
+
FROM (
|
|
3062
|
+
SELECT c.table_schema, c.table_name, c.column_name, c.data_type, c.udt_name
|
|
3063
|
+
, e.data_type as element_type
|
|
3064
|
+
, e.udt_name as element_udt_name
|
|
3065
|
+
, col_description(format('%I.%I', c.table_schema, c.table_name)::regclass::oid, c.ordinal_position) as comment
|
|
3066
|
+
, CASE WHEN fc.ftable IS NOT NULL THEN row_to_json((SELECT t FROM (SELECT fc.ftable, fc.fcols, fc.cols) t)) END as references
|
|
3067
|
+
, EXISTS (
|
|
3068
|
+
SELECT 1
|
|
3069
|
+
FROM information_schema.table_constraints as tc
|
|
3070
|
+
JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema
|
|
3071
|
+
WHERE kcu.table_schema = c.table_schema AND kcu.table_name = c.table_name AND kcu.column_name = c.column_name AND tc.constraint_type IN ('PRIMARY KEY')
|
|
3072
|
+
) as is_pkey
|
|
3073
|
+
, c.ordinal_position
|
|
3074
|
+
, c.column_default IS NOT NULL as has_default
|
|
3075
|
+
, c.column_default
|
|
3076
|
+
, format('%I.%I', c.table_schema, c.table_name)::regclass::oid AS table_oid
|
|
3077
|
+
, c.is_nullable
|
|
3078
|
+
, cp.privileges
|
|
3079
|
+
FROM information_schema.columns c
|
|
3080
|
+
LEFT JOIN (SELECT * FROM information_schema.element_types ) e
|
|
3081
|
+
ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
|
|
3082
|
+
= (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier)
|
|
3083
|
+
)
|
|
3084
|
+
LEFT JOIN (
|
|
3085
|
+
SELECT table_schema, table_name, column_name, json_agg(row_to_json((SELECT t FROM (SELECT cpp.privilege_type, cpp.is_grantable ) t))) as privileges
|
|
3086
|
+
FROM information_schema.column_privileges cpp
|
|
3087
|
+
GROUP BY table_schema, table_name, column_name
|
|
3088
|
+
) cp
|
|
3089
|
+
ON c.table_name = cp.table_name AND c.column_name = cp.column_name
|
|
3090
|
+
LEFT JOIN (
|
|
3091
|
+
SELECT *
|
|
3092
|
+
FROM (
|
|
3093
|
+
select
|
|
3094
|
+
(select r.relname from pg_class r where r.oid = c.conrelid) as table,
|
|
3095
|
+
(select array_agg(attname::text) from pg_attribute
|
|
3096
|
+
where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols,
|
|
3097
|
+
(select array_agg(attname::text) from pg_attribute
|
|
3098
|
+
where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
|
|
3099
|
+
(select r.relname from pg_class r where r.oid = c.confrelid) as ftable
|
|
3100
|
+
from pg_constraint c
|
|
3101
|
+
) ft
|
|
3102
|
+
where ft.table IS NOT NULL
|
|
3103
|
+
AND ft.ftable IS NOT NULL
|
|
3104
|
+
-- where c.confrelid = 'users'::regclass::oid
|
|
3105
|
+
) fc
|
|
3106
|
+
ON fc.table = c.table_name
|
|
3107
|
+
AND c.column_name::text = ANY(fc.cols)
|
|
3108
|
+
) ccc
|
|
3109
|
+
GROUP BY table_oid, table_schema, table_name
|
|
3105
3110
|
) cc
|
|
3106
3111
|
ON t.table_name = cc.table_name
|
|
3107
3112
|
AND t.table_schema = cc.table_schema
|
|
@@ -3117,13 +3122,15 @@ async function getTablesForSchemaPostgresSQL(db: DB, schema: string = "public"):
|
|
|
3117
3122
|
) vr
|
|
3118
3123
|
ON t.table_name = vr.view_name
|
|
3119
3124
|
WHERE t.table_schema = ${asValue(schema)}
|
|
3120
|
-
GROUP BY t.table_schema, t.table_name, t.table_type, vr.table_names , cc.table_oid
|
|
3125
|
+
GROUP BY t.table_schema, t.table_name, t.table_type, vr.table_names , cc.table_oid, cc.columns
|
|
3121
3126
|
ORDER BY schema, name
|
|
3127
|
+
|
|
3122
3128
|
`;
|
|
3123
3129
|
// console.log(pgp.as.format(query, { schema }), schema);
|
|
3124
3130
|
let res: TableSchema[] = await db.any(query, { schema });
|
|
3125
3131
|
|
|
3126
|
-
res = res
|
|
3132
|
+
res = res
|
|
3133
|
+
.map(tbl => {
|
|
3127
3134
|
tbl.columns = tbl.columns.map(col => {
|
|
3128
3135
|
if(col.has_default){
|
|
3129
3136
|
col.column_default = (col.udt_name !== "uuid" && !col.is_pkey && !col.column_default.startsWith("nextval("))? col.column_default : null;
|
package/lib/PublishParser.d.ts
CHANGED
|
@@ -97,7 +97,8 @@ export declare type InsertRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
|
97
97
|
*/
|
|
98
98
|
validate?: ValidateRow<Cols, S>;
|
|
99
99
|
/**
|
|
100
|
-
* Validation logic to check/update data after the insert.
|
|
100
|
+
* Validation logic to check/update data after the insert.
|
|
101
|
+
* Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
|
|
101
102
|
*/
|
|
102
103
|
postValidate?: ValidateRow<Required<Cols>, S>;
|
|
103
104
|
};
|
|
@@ -138,6 +139,11 @@ export declare type UpdateRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
|
138
139
|
* Validation logic to check/update data for each request
|
|
139
140
|
*/
|
|
140
141
|
validate?: ValidateUpdateRow<Cols, S>;
|
|
142
|
+
/**
|
|
143
|
+
* Validation logic to check/update data after the insert.
|
|
144
|
+
* Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
|
|
145
|
+
*/
|
|
146
|
+
postValidate?: ValidateRow<Required<Cols>, S>;
|
|
141
147
|
};
|
|
142
148
|
export declare type DeleteRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
143
149
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["PublishParser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["PublishParser.ts"],"names":[],"mappings":"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"}
|
package/lib/PublishParser.ts
CHANGED
|
@@ -187,7 +187,8 @@ export type InsertRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
|
187
187
|
validate?: ValidateRow<Cols, S>;
|
|
188
188
|
|
|
189
189
|
/**
|
|
190
|
-
* Validation logic to check/update data after the insert.
|
|
190
|
+
* Validation logic to check/update data after the insert.
|
|
191
|
+
* Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
|
|
191
192
|
*/
|
|
192
193
|
postValidate?: ValidateRow<Required<Cols>, S>;
|
|
193
194
|
}
|
|
@@ -236,6 +237,11 @@ export type UpdateRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
|
236
237
|
*/
|
|
237
238
|
validate?: ValidateUpdateRow<Cols, S>;
|
|
238
239
|
|
|
240
|
+
/**
|
|
241
|
+
* Validation logic to check/update data after the insert.
|
|
242
|
+
* Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
|
|
243
|
+
*/
|
|
244
|
+
postValidate?: ValidateRow<Required<Cols>, S>;
|
|
239
245
|
};
|
|
240
246
|
|
|
241
247
|
export type DeleteRule<Cols extends AnyObject = AnyObject, S = void> = {
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
55084
|
package/tests/server/index.js
CHANGED
|
@@ -320,7 +320,7 @@ function dd() {
|
|
|
320
320
|
const existsd = await dboTx.insert_rules.findOne({ id: row.id });
|
|
321
321
|
if (row.id !== exists.id || row.id !== existsd.id) {
|
|
322
322
|
console.error("postValidate failed");
|
|
323
|
-
// process.exit(1)
|
|
323
|
+
// process.exit(1)
|
|
324
324
|
}
|
|
325
325
|
if (row.name === "fail")
|
|
326
326
|
throw "Failed";
|
package/tests/server/index.ts
CHANGED
|
@@ -348,7 +348,7 @@ function dd(){
|
|
|
348
348
|
const existsd = await dboTx.insert_rules.findOne({ id: row.id });
|
|
349
349
|
if(row.id !== exists.id || row.id !== existsd.id){
|
|
350
350
|
console.error("postValidate failed");
|
|
351
|
-
// process.exit(1)
|
|
351
|
+
// process.exit(1)
|
|
352
352
|
}
|
|
353
353
|
if(row.name === "fail") throw "Failed";
|
|
354
354
|
return undefined
|