prostgles-server 4.0.39 → 4.0.41

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.
@@ -54,11 +54,11 @@ async function getColumns(lang, params, _param3, tableRules, localParams) {
54
54
  ...c,
55
55
  label,
56
56
  tsDataType: (0, DboBuilder_1.postgresToTsType)(c.udt_name),
57
- insert: insert && Boolean(p.insert?.fields?.includes(c.name)) && tableRules?.insert?.forcedData?.[c.name] === undefined,
57
+ insert: insert && Boolean(p.insert?.fields?.includes(c.name)) && tableRules?.insert?.forcedData?.[c.name] === undefined && c.is_updatable,
58
58
  select: select && Boolean(p.select?.fields?.includes(c.name)),
59
59
  orderBy: select && Boolean(p.select?.fields && p.select.orderByFields.includes(c.name)) && !nonOrderableUD_Types.includes(c.udt_name),
60
60
  filter: Boolean(p.select?.filterFields?.includes(c.name)),
61
- update: update && Boolean(p.update?.fields?.includes(c.name)) && tableRules?.update?.forcedData?.[c.name] === undefined,
61
+ update: update && Boolean(p.update?.fields?.includes(c.name)) && tableRules?.update?.forcedData?.[c.name] === undefined && c.is_updatable,
62
62
  delete: _delete && Boolean(p.delete && p.delete.filterFields && p.delete.filterFields.includes(c.name)),
63
63
  ...(prostgles?.tableConfigurator?.getColInfo({ table: this.name, col: c.name, lang }) || {}),
64
64
  ...(fileConfig && { file: fileConfig })
@@ -1 +1 @@
1
- {"version":3,"file":"getColumns.js","sourceRoot":"","sources":["../../lib/DboBuilder/getColumns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getColumns.js","sourceRoot":"","sources":["../../lib/DboBuilder/getColumns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DboBuilder, TableSchema } from "../DboBuilder";
2
+ export declare function getTablesForSchemaPostgresSQL({ db, runSQL }: DboBuilder, schema?: string): Promise<TableSchema[]>;
3
+ //# sourceMappingURL=getTablesForSchemaPostgresSQL.d.ts.map
@@ -0,0 +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;AAE3E,wBAAsB,6BAA6B,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,SAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAgNzH"}
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTablesForSchemaPostgresSQL = void 0;
4
+ const PubSubManager_1 = require("../PubSubManager/PubSubManager");
5
+ async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema = "public") {
6
+ const query = `
7
+ SELECT
8
+ jsonb_build_object(
9
+ 'insert', EXISTS (
10
+ SELECT 1
11
+ FROM information_schema.role_table_grants rg
12
+ WHERE rg.table_name = t.table_name
13
+ AND rg.privilege_type = 'INSERT'
14
+ ),
15
+ 'select', EXISTS (
16
+ SELECT 1
17
+ FROM information_schema.role_table_grants rg
18
+ WHERE rg.table_name = t.table_name
19
+ AND rg.privilege_type = 'SELECT'
20
+ ),
21
+ 'update', EXISTS (
22
+ SELECT 1
23
+ FROM information_schema.role_table_grants rg
24
+ WHERE rg.table_name = t.table_name
25
+ AND rg.privilege_type = 'UPDATE'
26
+ ),
27
+ 'delete', EXISTS (
28
+ SELECT 1
29
+ FROM information_schema.role_table_grants rg
30
+ WHERE rg.table_name = t.table_name
31
+ AND rg.privilege_type = 'DELETE'
32
+ )
33
+ ) as privileges
34
+ , t.table_schema as schema, t.table_name as name
35
+ , cc.columns
36
+ , cc.table_oid as oid
37
+ , t.is_view
38
+ , t.view_definition
39
+ , array_to_json(vr.table_names) as parent_tables
40
+ , obj_description(cc.table_oid::regclass) as comment
41
+ FROM (
42
+ SELECT table_name,
43
+ table_schema,
44
+ is_view,
45
+ CASE WHEN is_view THEN pg_get_viewdef(format('%I.%I', table_schema, table_name)::REGCLASS, true) END as view_definition
46
+ FROM (
47
+ SELECT table_name, table_schema, table_type = 'VIEW' as is_view
48
+ FROM information_schema.tables
49
+ /* TODO - add support for materialized views
50
+ UNION ALL
51
+ SELECT table_name, table_schema
52
+ FROM (
53
+ SELECT relname as table_name, nspname as table_schema, true as is_view
54
+ FROM pg_catalog.pg_class AS _c
55
+ JOIN pg_catalog.pg_namespace AS _ns
56
+ ON _c.relnamespace = _ns.oid
57
+ WHERE relkind IN ( 'm' )
58
+ ) materialized_views
59
+ */
60
+ ) tables_matviews
61
+ WHERE table_schema = ${(0, PubSubManager_1.asValue)(schema)}
62
+ ) t
63
+ INNER join (
64
+ SELECT ccc.table_oid, table_schema, table_name
65
+ , jsonb_agg((SELECT x FROM (
66
+ SELECT ccc.column_name as name,
67
+ ccc.data_type,
68
+ ccc.udt_name,
69
+ ccc.element_type,
70
+ ccc.element_udt_name,
71
+ ccc.is_pkey,
72
+ ccc.comment,
73
+ ccc.ordinal_position,
74
+ ccc.is_nullable = 'YES' as is_nullable,
75
+ ccc.is_updatable,
76
+ ccc.references,
77
+ ccc.has_default,
78
+ ccc.column_default,
79
+ ccc.privileges
80
+ ) as x) ORDER BY ccc.ordinal_position ) as columns
81
+ FROM (
82
+ SELECT c.table_schema, c.table_name, c.column_name, c.data_type, c.udt_name
83
+ , e.data_type as element_type
84
+ , e.udt_name as element_udt_name
85
+ , col_description(format('%I.%I', c.table_schema, c.table_name)::regclass::oid, c.ordinal_position) as comment
86
+ --, 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
87
+ , fc.references
88
+ , c.is_identity = 'YES' OR EXISTS (
89
+ SELECT 1
90
+ FROM information_schema.table_constraints as tc
91
+ JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema
92
+ 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')
93
+ ) as is_pkey
94
+ , c.ordinal_position
95
+ , COALESCE(c.column_default IS NOT NULL OR c.identity_generation = 'ALWAYS', false) as has_default
96
+ , c.column_default
97
+ , format('%I.%I', c.table_schema, c.table_name)::regclass::oid AS table_oid
98
+ , c.is_nullable
99
+ /* generated always and view columns cannot be updated */
100
+ , COALESCE(c.is_updatable, 'YES') = 'YES' AND COALESCE(c.is_generated, '') != 'ALWAYS' AND COALESCE(c.identity_generation, '') != 'ALWAYS' as is_updatable
101
+ , cp.privileges
102
+ FROM information_schema.columns c
103
+ LEFT JOIN (SELECT * FROM information_schema.element_types ) e
104
+ ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
105
+ = (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier)
106
+ )
107
+ LEFT JOIN (
108
+ 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
109
+ FROM information_schema.column_privileges cpp
110
+ GROUP BY table_schema, table_name, column_name
111
+ ) cp
112
+ ON c.table_name = cp.table_name AND c.column_name = cp.column_name
113
+ LEFT JOIN (
114
+ --SELECT *
115
+ SELECT "table", unnest(ft.cols) as col, jsonb_agg(row_to_json((SELECT t FROM (SELECT ftable, fcols, cols) t))) as references
116
+ FROM (
117
+ SELECT
118
+ (SELECT r.relname from pg_class r where r.oid = c.conrelid) as table,
119
+ (SELECT array_agg(attname::text) from pg_attribute
120
+ where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols,
121
+ (SELECT array_agg(attname::text) from pg_attribute
122
+ where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
123
+ (SELECT r.relname from pg_class r where r.oid = c.confrelid) as ftable
124
+ FROM pg_constraint c
125
+ ) ft
126
+ WHERE ft.table IS NOT NULL
127
+ AND ft.ftable IS NOT NULL
128
+ -- c.confrelid = 'users'::regclass::oid
129
+ GROUP BY "table", unnest(cols)
130
+ ) fc
131
+ ON fc.table = c.table_name
132
+ AND c.column_name::text = fc.col
133
+ ) ccc
134
+ GROUP BY table_oid, table_schema, table_name
135
+ ) cc
136
+ ON t.table_name = cc.table_name
137
+ AND t.table_schema = cc.table_schema
138
+ LEFT JOIN (
139
+ SELECT cl_r.relname as view_name, array_agg(DISTINCT cl_d.relname) AS table_names
140
+ FROM pg_rewrite AS r
141
+ JOIN pg_class AS cl_r ON r.ev_class=cl_r.oid
142
+ JOIN pg_depend AS d ON r.oid=d.objid
143
+ JOIN pg_class AS cl_d ON d.refobjid=cl_d.oid
144
+ WHERE cl_d.relkind IN ('r','v')
145
+ AND cl_d.relname <> cl_r.relname
146
+ GROUP BY cl_r.relname
147
+ ) vr
148
+ ON t.table_name = vr.view_name
149
+ GROUP BY t.table_schema, t.table_name, t.is_view, t.view_definition, vr.table_names , cc.table_oid, cc.columns
150
+ ORDER BY schema, name
151
+
152
+ `;
153
+ // console.log(pgp.as.format(query, { schema }), schema);
154
+ let result = await db.any(query, { schema });
155
+ result = await Promise.all(result
156
+ .map(async (tbl) => {
157
+ /** Get view reference cols (based on parent table) */
158
+ let viewFCols = [];
159
+ if (tbl.is_view) {
160
+ try {
161
+ const view_definition = tbl.view_definition?.endsWith(";") ? tbl.view_definition.slice(0, -1) : tbl.view_definition;
162
+ const { fields } = await runSQL(`SELECT * FROM \n ( ${view_definition} \n) t LIMIT 0`, {}, {}, undefined);
163
+ const ftables = result.filter(r => fields.some(f => f.tableID === r.oid));
164
+ ftables.forEach(ft => {
165
+ const fFields = fields.filter(f => f.tableID === ft.oid);
166
+ const pkeys = ft.columns.filter(c => c.is_pkey);
167
+ const fFieldPK = fFields.filter(ff => pkeys.some(p => p.name === ff.columnName));
168
+ const refCols = pkeys.length && fFieldPK.length === pkeys.length ? fFieldPK : fFields.filter(ff => !["json", "jsonb", "xml"].includes(ff.udt_name));
169
+ const _fcols = refCols.map(ff => {
170
+ const d = {
171
+ name: ff.columnName,
172
+ references: [{
173
+ ftable: ft.name,
174
+ fcols: [ff.columnName],
175
+ cols: [ff.name]
176
+ }]
177
+ };
178
+ return d;
179
+ });
180
+ viewFCols = [
181
+ ...viewFCols,
182
+ ..._fcols
183
+ ];
184
+ });
185
+ }
186
+ catch (err) {
187
+ console.error(err);
188
+ }
189
+ }
190
+ tbl.columns = tbl.columns.map(col => {
191
+ if (col.has_default) {
192
+ /** Hide pkey default value */
193
+ col.column_default = (col.udt_name !== "uuid" && !col.is_pkey && !col.column_default.startsWith("nextval(")) ? col.column_default : null;
194
+ }
195
+ const viewFCol = viewFCols?.find(fc => fc.name === col.name);
196
+ if (viewFCol) {
197
+ col.references = viewFCol.references;
198
+ }
199
+ return col;
200
+ }); //.slice(0).sort((a, b) => a.name.localeCompare(b.name))
201
+ // .sort((a, b) => a.ordinal_position - b.ordinal_position)
202
+ return tbl;
203
+ }));
204
+ return result;
205
+ }
206
+ exports.getTablesForSchemaPostgresSQL = getTablesForSchemaPostgresSQL;
207
+ //# sourceMappingURL=getTablesForSchemaPostgresSQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTablesForSchemaPostgresSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/getTablesForSchemaPostgresSQL.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["../lib/DboBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["../lib/DboBuilder.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ exports.canEXECUTE = exports.prepareSort = exports.postgresToTsType = exports.is
8
8
  const Bluebird = require("bluebird");
9
9
  const pgPromise = require("pg-promise");
10
10
  const runSQL_1 = require("./DboBuilder/runSQL");
11
+ const getTablesForSchemaPostgresSQL_1 = require("./DboBuilder/getTablesForSchemaPostgresSQL");
11
12
  const prostgles_types_1 = require("prostgles-types");
12
13
  const utils_1 = require("./utils");
13
14
  const PubSubManager_1 = require("./PubSubManager/PubSubManager");
@@ -289,7 +290,7 @@ class DboBuilder {
289
290
  return runSQL_1.runSQL.bind(this)(query, params, options, localParams);
290
291
  };
291
292
  async build() {
292
- this.tablesOrViews = await getTablesForSchemaPostgresSQL(this);
293
+ this.tablesOrViews = await (0, getTablesForSchemaPostgresSQL_1.getTablesForSchemaPostgresSQL)(this);
293
294
  this.constraints = await getConstraints(this.db);
294
295
  await this.parseJoins();
295
296
  this.dbo = {};
@@ -380,204 +381,6 @@ async function getConstraints(db, schema = "public", filter) {
380
381
  ${!filter ? "" : "AND rel.relname = ${} AND "}
381
382
  `);
382
383
  }
383
- async function getTablesForSchemaPostgresSQL({ db, runSQL }, schema = "public") {
384
- const query = `
385
- SELECT
386
- jsonb_build_object(
387
- 'insert', EXISTS (
388
- SELECT 1
389
- FROM information_schema.role_table_grants rg
390
- WHERE rg.table_name = t.table_name
391
- AND rg.privilege_type = 'INSERT'
392
- ),
393
- 'select', EXISTS (
394
- SELECT 1
395
- FROM information_schema.role_table_grants rg
396
- WHERE rg.table_name = t.table_name
397
- AND rg.privilege_type = 'SELECT'
398
- ),
399
- 'update', EXISTS (
400
- SELECT 1
401
- FROM information_schema.role_table_grants rg
402
- WHERE rg.table_name = t.table_name
403
- AND rg.privilege_type = 'UPDATE'
404
- ),
405
- 'delete', EXISTS (
406
- SELECT 1
407
- FROM information_schema.role_table_grants rg
408
- WHERE rg.table_name = t.table_name
409
- AND rg.privilege_type = 'DELETE'
410
- )
411
- ) as privileges
412
- , t.table_schema as schema, t.table_name as name
413
- , cc.columns
414
- , cc.table_oid as oid
415
- , t.is_view
416
- , t.view_definition
417
- , array_to_json(vr.table_names) as parent_tables
418
- , obj_description(cc.table_oid::regclass) as comment
419
- FROM (
420
- SELECT table_name,
421
- table_schema,
422
- is_view,
423
- CASE WHEN is_view THEN pg_get_viewdef(format('%I.%I', table_schema, table_name)::REGCLASS, true) END as view_definition
424
- FROM (
425
- SELECT table_name, table_schema, table_type = 'VIEW' as is_view
426
- FROM information_schema.tables
427
- /* TODO - add support for materialized views
428
- UNION ALL
429
- SELECT table_name, table_schema
430
- FROM (
431
- SELECT relname as table_name, nspname as table_schema, true as is_view
432
- FROM pg_catalog.pg_class AS _c
433
- JOIN pg_catalog.pg_namespace AS _ns
434
- ON _c.relnamespace = _ns.oid
435
- WHERE relkind IN ( 'm' )
436
- ) materialized_views
437
- */
438
- ) tables_matviews
439
- WHERE table_schema = ${(0, PubSubManager_1.asValue)(schema)}
440
- ) t
441
- INNER join (
442
- SELECT ccc.table_oid, table_schema, table_name
443
- , jsonb_agg((SELECT x FROM (
444
- SELECT ccc.column_name as name,
445
- ccc.data_type,
446
- ccc.udt_name,
447
- ccc.element_type,
448
- ccc.element_udt_name,
449
- ccc.is_pkey,
450
- ccc.comment,
451
- ccc.ordinal_position,
452
- ccc.is_nullable = 'YES' as is_nullable,
453
- ccc.references,
454
- ccc.has_default,
455
- ccc.column_default,
456
- ccc.privileges
457
- ) as x) ORDER BY ccc.ordinal_position ) as columns
458
- FROM (
459
- SELECT c.table_schema, c.table_name, c.column_name, c.data_type, c.udt_name
460
- , e.data_type as element_type
461
- , e.udt_name as element_udt_name
462
- , col_description(format('%I.%I', c.table_schema, c.table_name)::regclass::oid, c.ordinal_position) as comment
463
- --, 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
464
- , fc.references
465
- , c.is_identity = 'YES' OR EXISTS (
466
- SELECT 1
467
- FROM information_schema.table_constraints as tc
468
- JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema
469
- 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')
470
- ) as is_pkey
471
- , c.ordinal_position
472
- , COALESCE(c.column_default IS NOT NULL OR c.identity_generation = 'ALWAYS', false) as has_default
473
- , c.column_default
474
- , format('%I.%I', c.table_schema, c.table_name)::regclass::oid AS table_oid
475
- , c.is_nullable
476
- , cp.privileges
477
- FROM information_schema.columns c
478
- LEFT JOIN (SELECT * FROM information_schema.element_types ) e
479
- ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
480
- = (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier)
481
- )
482
- LEFT JOIN (
483
- 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
484
- FROM information_schema.column_privileges cpp
485
- GROUP BY table_schema, table_name, column_name
486
- ) cp
487
- ON c.table_name = cp.table_name AND c.column_name = cp.column_name
488
- LEFT JOIN (
489
- --SELECT *
490
- SELECT "table", ft.cols, jsonb_agg(row_to_json((SELECT t FROM (SELECT ftable, fcols, cols) t))) as references
491
- FROM (
492
- SELECT
493
- (SELECT r.relname from pg_class r where r.oid = c.conrelid) as table,
494
- (SELECT array_agg(attname::text) from pg_attribute
495
- where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols,
496
- (SELECT array_agg(attname::text) from pg_attribute
497
- where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
498
- (SELECT r.relname from pg_class r where r.oid = c.confrelid) as ftable
499
- FROM pg_constraint c
500
- ) ft
501
- WHERE ft.table IS NOT NULL
502
- AND ft.ftable IS NOT NULL
503
- -- c.confrelid = 'users'::regclass::oid
504
- GROUP BY "table", cols
505
- ) fc
506
- ON fc.table = c.table_name
507
- AND c.column_name::text = ANY(fc.cols)
508
- ) ccc
509
- GROUP BY table_oid, table_schema, table_name
510
- ) cc
511
- ON t.table_name = cc.table_name
512
- AND t.table_schema = cc.table_schema
513
- LEFT JOIN (
514
- SELECT cl_r.relname as view_name, array_agg(DISTINCT cl_d.relname) AS table_names
515
- FROM pg_rewrite AS r
516
- JOIN pg_class AS cl_r ON r.ev_class=cl_r.oid
517
- JOIN pg_depend AS d ON r.oid=d.objid
518
- JOIN pg_class AS cl_d ON d.refobjid=cl_d.oid
519
- WHERE cl_d.relkind IN ('r','v')
520
- AND cl_d.relname <> cl_r.relname
521
- GROUP BY cl_r.relname
522
- ) vr
523
- ON t.table_name = vr.view_name
524
- GROUP BY t.table_schema, t.table_name, t.is_view, t.view_definition, vr.table_names , cc.table_oid, cc.columns
525
- ORDER BY schema, name
526
-
527
- `;
528
- // console.log(pgp.as.format(query, { schema }), schema);
529
- let result = await db.any(query, { schema });
530
- result = await Promise.all(result
531
- .map(async (tbl) => {
532
- /** Get view reference cols (based on parent table) */
533
- let viewFCols = [];
534
- if (tbl.is_view) {
535
- try {
536
- const view_definition = tbl.view_definition?.endsWith(";") ? tbl.view_definition.slice(0, -1) : tbl.view_definition;
537
- const { fields } = await runSQL(`SELECT * FROM \n ( ${view_definition} \n) t LIMIT 0`, {}, {}, undefined);
538
- const ftables = result.filter(r => fields.some(f => f.tableID === r.oid));
539
- ftables.forEach(ft => {
540
- const fFields = fields.filter(f => f.tableID === ft.oid);
541
- const pkeys = ft.columns.filter(c => c.is_pkey);
542
- const fFieldPK = fFields.filter(ff => pkeys.some(p => p.name === ff.columnName));
543
- const refCols = pkeys.length && fFieldPK.length === pkeys.length ? fFieldPK : fFields.filter(ff => !["json", "jsonb", "xml"].includes(ff.udt_name));
544
- const _fcols = refCols.map(ff => {
545
- const d = {
546
- name: ff.columnName,
547
- references: [{
548
- ftable: ft.name,
549
- fcols: [ff.columnName],
550
- cols: [ff.name]
551
- }]
552
- };
553
- return d;
554
- });
555
- viewFCols = [
556
- ...viewFCols,
557
- ..._fcols
558
- ];
559
- });
560
- }
561
- catch (err) {
562
- console.error(err);
563
- }
564
- }
565
- tbl.columns = tbl.columns.map(col => {
566
- if (col.has_default) {
567
- /** Hide pkey default value */
568
- col.column_default = (col.udt_name !== "uuid" && !col.is_pkey && !col.column_default.startsWith("nextval(")) ? col.column_default : null;
569
- }
570
- const viewFCol = viewFCols?.find(fc => fc.name === col.name);
571
- if (viewFCol) {
572
- col.references = viewFCol.references;
573
- }
574
- return col;
575
- }); //.slice(0).sort((a, b) => a.name.localeCompare(b.name))
576
- // .sort((a, b) => a.ordinal_position - b.ordinal_position)
577
- return tbl;
578
- }));
579
- return result;
580
- }
581
384
  function isPlainObject(o) {
582
385
  return Object(o) === o && Object.getPrototypeOf(o) === Object.prototype;
583
386
  }