prostgles-server 2.0.178 → 2.0.179

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.
Files changed (98) hide show
  1. package/dist/AuthHandler.d.ts +4 -4
  2. package/dist/AuthHandler.d.ts.map +1 -1
  3. package/dist/DBSchemaBuilder.d.ts +6 -6
  4. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  5. package/dist/DBSchemaBuilder.js +25 -8
  6. package/dist/DBSchemaBuilder.js.map +1 -1
  7. package/dist/DboBuilder.d.ts +20 -21
  8. package/dist/DboBuilder.d.ts.map +1 -1
  9. package/dist/DboBuilder.js +1 -1
  10. package/dist/DboBuilder.js.map +1 -1
  11. package/dist/Prostgles.d.ts +8 -10
  12. package/dist/Prostgles.d.ts.map +1 -1
  13. package/dist/Prostgles.js.map +1 -1
  14. package/dist/PublishParser.d.ts +37 -37
  15. package/dist/PublishParser.d.ts.map +1 -1
  16. package/dist/PublishParser.js.map +1 -1
  17. package/dist/index.d.ts +2 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/lib/AuthHandler.d.ts +148 -0
  21. package/lib/AuthHandler.d.ts.map +1 -0
  22. package/lib/AuthHandler.js +411 -0
  23. package/lib/AuthHandler.ts +3 -3
  24. package/lib/DBEventsManager.d.ts +38 -0
  25. package/lib/DBEventsManager.d.ts.map +1 -0
  26. package/lib/DBEventsManager.js +136 -0
  27. package/lib/DBSchemaBuilder.d.ts +11 -0
  28. package/lib/DBSchemaBuilder.d.ts.map +1 -0
  29. package/lib/DBSchemaBuilder.js +102 -0
  30. package/lib/DBSchemaBuilder.ts +62 -27
  31. package/lib/DboBuilder.d.ts +428 -0
  32. package/lib/DboBuilder.d.ts.map +1 -0
  33. package/lib/DboBuilder.js +3078 -0
  34. package/lib/DboBuilder.ts +25 -25
  35. package/lib/FileManager.d.ts +168 -0
  36. package/lib/FileManager.d.ts.map +1 -0
  37. package/lib/FileManager.js +474 -0
  38. package/lib/Filtering.d.ts +15 -0
  39. package/lib/Filtering.d.ts.map +1 -0
  40. package/lib/Filtering.js +299 -0
  41. package/lib/PostgresNotifListenManager.d.ts +27 -0
  42. package/lib/PostgresNotifListenManager.d.ts.map +1 -0
  43. package/lib/PostgresNotifListenManager.js +122 -0
  44. package/lib/Prostgles.d.ts +193 -0
  45. package/lib/Prostgles.d.ts.map +1 -0
  46. package/lib/Prostgles.js +579 -0
  47. package/lib/Prostgles.ts +6 -6
  48. package/lib/PubSubManager.d.ts +157 -0
  49. package/lib/PubSubManager.d.ts.map +1 -0
  50. package/lib/PubSubManager.js +1400 -0
  51. package/lib/PublishParser.d.ts +262 -0
  52. package/lib/PublishParser.d.ts.map +1 -0
  53. package/lib/PublishParser.js +390 -0
  54. package/lib/PublishParser.ts +39 -38
  55. package/lib/QueryBuilder.d.ts +124 -0
  56. package/lib/QueryBuilder.d.ts.map +1 -0
  57. package/lib/QueryBuilder.js +1349 -0
  58. package/lib/SyncReplication.d.ts +34 -0
  59. package/lib/SyncReplication.d.ts.map +1 -0
  60. package/lib/SyncReplication.js +411 -0
  61. package/lib/TableConfig.d.ts +175 -0
  62. package/lib/TableConfig.d.ts.map +1 -0
  63. package/lib/TableConfig.js +231 -0
  64. package/lib/index.d.ts +10 -0
  65. package/lib/index.d.ts.map +1 -0
  66. package/lib/index.js +45 -0
  67. package/lib/index.ts +3 -4
  68. package/lib/shortestPath.d.ts +10 -0
  69. package/lib/shortestPath.d.ts.map +1 -0
  70. package/lib/shortestPath.js +111 -0
  71. package/lib/utils.d.ts +2 -0
  72. package/lib/utils.d.ts.map +1 -0
  73. package/lib/utils.js +5 -0
  74. package/package.json +3 -3
  75. package/tests/client/PID.txt +1 -1
  76. package/tests/client/index.d.ts +1 -1
  77. package/tests/client/index.d.ts.map +1 -1
  78. package/tests/client_only_queries.d.ts +4 -0
  79. package/tests/client_only_queries.d.ts.map +1 -0
  80. package/tests/isomorphic_queries.d.ts +6 -0
  81. package/tests/isomorphic_queries.d.ts.map +1 -0
  82. package/tests/server/DBoGenerated.d.ts +97 -193
  83. package/tests/server/dboTypeCheck.d.ts +2 -0
  84. package/tests/server/dboTypeCheck.d.ts.map +1 -0
  85. package/tests/server/dboTypeCheck.js +14 -0
  86. package/tests/server/dboTypeCheck.ts +17 -0
  87. package/tests/server/index.d.ts +2 -0
  88. package/tests/server/index.d.ts.map +1 -0
  89. package/tests/server/index.js +11 -11
  90. package/tests/server/index.ts +23 -16
  91. package/tests/server/package-lock.json +5 -5
  92. package/tests/server/publishTypeCheck.d.ts +2 -0
  93. package/tests/server/publishTypeCheck.d.ts.map +1 -0
  94. package/tests/server/publishTypeCheck.js +120 -0
  95. package/tests/server/publishTypeCheck.ts +129 -0
  96. package/tests/server/tsconfig.json +4 -5
  97. package/tests/server_only_queries.d.ts +2 -0
  98. package/tests/server_only_queries.d.ts.map +1 -0
@@ -0,0 +1,428 @@
1
+ import * as pgPromise from 'pg-promise';
2
+ import pg = require('pg-promise/typescript/pg-subset');
3
+ import { ColumnInfo, ValidatedColumnInfo, FieldFilter, SelectParams, SubscribeParams, OrderBy, InsertParams, UpdateParams, DeleteParams, DbJoinMaker, PG_COLUMN_UDT_DATA_TYPE, TS_PG_Types, TableInfo as TInfo, SQLHandler, AnyObject, Select } from "prostgles-types";
4
+ export declare type Media = {
5
+ "id"?: string;
6
+ "title"?: string;
7
+ "extension"?: string;
8
+ "content_type"?: string;
9
+ "local_url"?: string;
10
+ "url"?: string;
11
+ "signed_url"?: string;
12
+ "signed_url_expires"?: number;
13
+ "name"?: string;
14
+ "original_name"?: string;
15
+ "etag"?: string;
16
+ };
17
+ export declare type TxCB = {
18
+ (t: TableHandlers, _t: pgPromise.ITask<{}>): (any | void);
19
+ };
20
+ export declare type TX = {
21
+ (t: TxCB): Promise<(any | void)>;
22
+ };
23
+ declare type TableHandlers = {
24
+ [key: string]: Partial<TableHandler>;
25
+ };
26
+ export declare type DBHandlerServer = TableHandlers & DbJoinMaker & {
27
+ sql?: SQLHandler;
28
+ } & {
29
+ tx?: TX;
30
+ };
31
+ export declare const getUpdateFilter: (args: {
32
+ filter?: AnyObject;
33
+ forcedFilter?: AnyObject;
34
+ $and_key: string;
35
+ }) => AnyObject;
36
+ import { SelectItem, FieldSpec } from "./QueryBuilder";
37
+ import { Join, Prostgles, DB } from "./Prostgles";
38
+ import { TableRule, UpdateRule, PublishParser, ValidateRow, PublishAllOrNothing } from "./PublishParser";
39
+ import { PubSubManager, BasicCallback } from "./PubSubManager";
40
+ declare type PGP = pgPromise.IMain<{}, pg.IClient>;
41
+ export declare const pgp: PGP;
42
+ export declare type TableInfo = TInfo & {
43
+ schema: string;
44
+ name: string;
45
+ oid: number;
46
+ comment: string;
47
+ columns: ColumnInfo[];
48
+ };
49
+ export declare type ViewInfo = TableInfo & {
50
+ parent_tables: string[];
51
+ };
52
+ export declare type TableOrViewInfo = TableInfo & ViewInfo & {
53
+ is_view: boolean;
54
+ };
55
+ export declare type PRGLIOSocket = {
56
+ readonly id: string;
57
+ readonly handshake?: {
58
+ query?: Record<string, string>;
59
+ headers?: {
60
+ cookie?: string;
61
+ };
62
+ };
63
+ readonly on: (channel: string, params: any, cb?: (err: any, res?: any) => void) => Promise<void>;
64
+ readonly emit: (channel: string, message: any, cb?: BasicCallback) => any;
65
+ readonly once: (channel: string, cb: (_data: any, cb: BasicCallback) => void) => void;
66
+ readonly removeAllListeners: (channel: string) => void;
67
+ readonly disconnect: () => void;
68
+ /** Used for session caching */
69
+ __prglCache?: {
70
+ session: BasicSession;
71
+ user: AnyObject;
72
+ clientUser: AnyObject;
73
+ };
74
+ _user?: AnyObject;
75
+ /** Used for publish error caching */
76
+ prostgles?: AnyObject;
77
+ };
78
+ export declare type LocalParams = {
79
+ httpReq?: any;
80
+ socket?: PRGLIOSocket;
81
+ func?: () => any;
82
+ has_rules?: boolean;
83
+ testRule?: boolean;
84
+ tableAlias?: string;
85
+ dbTX?: TableHandlers;
86
+ localDBTX?: DBHandlerServer;
87
+ returnQuery?: boolean;
88
+ nestedJoin?: {
89
+ depth: number;
90
+ data: AnyObject;
91
+ };
92
+ };
93
+ export declare function escapeTSNames(str: string, capitalize?: boolean): string;
94
+ export declare type Aggregation = {
95
+ field: string;
96
+ query: string;
97
+ alias: string;
98
+ getQuery: (alias: string) => string;
99
+ };
100
+ export declare type Filter = object | {
101
+ $and: Filter[];
102
+ } | {
103
+ $or: Filter[];
104
+ } | {};
105
+ export declare type JoinInfo = {
106
+ expectOne?: boolean;
107
+ paths: {
108
+ /**
109
+ * The table that JOIN ON columns refer to.
110
+ * columns in index = 1 refer to this table. index = 0 columns refer to previous JoinInfo.table
111
+ */
112
+ table: string;
113
+ /**
114
+ * Source and target JOIN ON columns
115
+ * e.g.: [source_table_column: string, table_column: string][]
116
+ */
117
+ on: [string, string][];
118
+ /**
119
+ * Source table name
120
+ */
121
+ source: string;
122
+ /**
123
+ * Target table name
124
+ */
125
+ target: string;
126
+ }[];
127
+ };
128
+ declare type JoinPaths = {
129
+ t1: string;
130
+ t2: string;
131
+ path: string[];
132
+ }[];
133
+ import { Graph } from "./shortestPath";
134
+ export declare type CommonTableRules = {
135
+ /**
136
+ * True by default. Allows clients to get column information on any columns that are allowed in (select, insert, update) field rules.
137
+ */
138
+ getColumns?: PublishAllOrNothing;
139
+ /**
140
+ * True by default. Allows clients to get table information (oid, comment, label, has_media).
141
+ */
142
+ getInfo?: PublishAllOrNothing;
143
+ };
144
+ export declare type ValidatedTableRules = CommonTableRules & {
145
+ allColumns: FieldSpec[];
146
+ select: {
147
+ fields: string[];
148
+ filterFields: string[];
149
+ forcedFilter: any;
150
+ maxLimit: number | null;
151
+ };
152
+ update: {
153
+ fields: string[];
154
+ returningFields: string[];
155
+ filterFields: string[];
156
+ forcedFilter: any;
157
+ forcedData: any;
158
+ };
159
+ insert: {
160
+ fields: string[];
161
+ returningFields: string[];
162
+ forcedData: any;
163
+ };
164
+ delete: {
165
+ filterFields: string[];
166
+ forcedFilter: any;
167
+ returningFields: string[];
168
+ };
169
+ };
170
+ export declare const EXISTS_KEYS: readonly ["$exists", "$notExists", "$existsJoined", "$notExistsJoined"];
171
+ export declare type EXISTS_KEY = typeof EXISTS_KEYS[number];
172
+ declare class ColSet {
173
+ opts: {
174
+ columns: ColumnInfo[];
175
+ tableName: string;
176
+ colNames: string[];
177
+ };
178
+ constructor(columns: ColumnInfo[], tableName: string);
179
+ private getRow;
180
+ getInsertQuery(data: any[], allowedCols: string[], validate: ValidateRow | undefined): Promise<string>;
181
+ getUpdateQuery(data: any[], allowedCols: string[], validate: ValidateRow | undefined): Promise<string>;
182
+ }
183
+ export declare type ExistsFilterConfig = {
184
+ key: string;
185
+ f2: Filter;
186
+ existType: EXISTS_KEY;
187
+ tables: string[];
188
+ isJoined: boolean;
189
+ shortestJoin: boolean;
190
+ };
191
+ export declare class ViewHandler {
192
+ db: DB;
193
+ name: string;
194
+ escapedName: string;
195
+ columns: TableSchema["columns"];
196
+ columnsForTypes: ColumnInfo[];
197
+ column_names: string[];
198
+ tableOrViewInfo: TableSchema;
199
+ colSet: ColSet;
200
+ tsColumnDefs: string[];
201
+ joins: Join[];
202
+ joinGraph?: Graph;
203
+ joinPaths?: JoinPaths;
204
+ dboBuilder: DboBuilder;
205
+ t?: pgPromise.ITask<{}>;
206
+ dbTX?: TableHandlers;
207
+ is_view: boolean;
208
+ filterDef: string;
209
+ is_media: boolean;
210
+ constructor(db: DB, tableOrViewInfo: TableSchema, dboBuilder: DboBuilder, t?: pgPromise.ITask<{}>, dbTX?: TableHandlers, joinPaths?: JoinPaths);
211
+ getRowHashSelect(allowedFields: FieldFilter, alias?: string, tableAlias?: string): string;
212
+ validateViewRules(args: {
213
+ fields?: FieldFilter;
214
+ filterFields?: FieldFilter;
215
+ returningFields?: FieldFilter;
216
+ forcedFilter?: AnyObject;
217
+ dynamicFields?: UpdateRule["dynamicFields"];
218
+ rule: "update" | "select" | "insert" | "delete";
219
+ }): Promise<boolean>;
220
+ getShortestJoin(table1: string, table2: string, startAlias: number, isInner?: boolean): {
221
+ query: string;
222
+ toOne: boolean;
223
+ };
224
+ getJoins(source: string, target: string, path?: string[], checkTableConfig?: boolean): JoinInfo;
225
+ checkFilter(filter: any): void;
226
+ getInfo(param1?: any, param2?: any, param3?: any, tableRules?: TableRule, localParams?: LocalParams): Promise<TInfo>;
227
+ getColumns(lang?: string, params?: {
228
+ rule: "update";
229
+ filter: AnyObject;
230
+ data: AnyObject;
231
+ }, _param3?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<ValidatedColumnInfo[]>;
232
+ getValidatedRules(tableRules?: TableRule, localParams?: LocalParams): ValidatedTableRules;
233
+ find(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any[]>;
234
+ findOne(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
235
+ count(filter?: Filter, param2_unused?: undefined, param3_unused?: undefined, table_rules?: TableRule, localParams?: any): Promise<number>;
236
+ size(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: any): Promise<string>;
237
+ getAllowedSelectFields(selectParams: FieldFilter, allowed_cols: FieldFilter, allow_empty?: boolean): string[];
238
+ prepareColumnSet(selectParams: FieldFilter, allowed_cols: FieldFilter, allow_empty?: boolean, onlyNames?: boolean): string | pgPromise.ColumnSet;
239
+ prepareSelect(selectParams: FieldFilter, allowed_cols: FieldFilter, allow_empty?: boolean, tableAlias?: string): string;
240
+ prepareHaving(params: {
241
+ having: Filter;
242
+ select: SelectItem[];
243
+ forcedFilter: object;
244
+ filterFields: FieldFilter;
245
+ addKeywords?: boolean;
246
+ tableAlias?: string;
247
+ localParams: LocalParams;
248
+ tableRule: TableRule;
249
+ }): Promise<string>;
250
+ /**
251
+ * Parses group or simple filter
252
+ */
253
+ prepareWhere(params: {
254
+ filter?: Filter;
255
+ select?: SelectItem[];
256
+ forcedFilter?: AnyObject;
257
+ filterFields?: FieldFilter;
258
+ addKeywords?: boolean;
259
+ tableAlias?: string;
260
+ localParams: LocalParams | undefined;
261
+ tableRule: TableRule | undefined;
262
+ }): Promise<string>;
263
+ prepareExistCondition(eConfig: ExistsFilterConfig, localParams: LocalParams | undefined): Promise<string>;
264
+ /**
265
+ * parses a single filter
266
+ * @example
267
+ * { fff: 2 } => "fff" = 2
268
+ * { fff: { $ilike: 'abc' } } => "fff" ilike 'abc'
269
+ */
270
+ getCondition(params: {
271
+ filter: any;
272
+ select?: SelectItem[];
273
+ allowed_colnames: string[];
274
+ tableAlias?: string;
275
+ localParams?: LocalParams;
276
+ tableRules?: TableRule;
277
+ }): Promise<string>;
278
+ prepareSort(orderBy: OrderBy | undefined, allowed_cols: FieldFilter, tableAlias: string | undefined, excludeOrder: boolean, select: SelectItem[]): string;
279
+ prepareLimitQuery(limit: number, p: ValidatedTableRules): number;
280
+ prepareOffsetQuery(offset?: number): number;
281
+ intersectColumns(allowedFields: FieldFilter, dissallowedFields: FieldFilter, fixIssues?: boolean): string[];
282
+ /**
283
+ * Prepare and validate field object:
284
+ * @example ({ item_id: 1 }, { user_id: 32 }) => { item_id: 1, user_id: 32 }
285
+ * OR
286
+ * ({ a: 1 }, { b: 32 }, ["c", "d"]) => throw "a field is not allowed"
287
+ * @param {Object} obj - initial data
288
+ * @param {Object} forcedData - set/override property
289
+ * @param {string[]} allowed_cols - allowed columns (excluding forcedData) from table rules
290
+ */
291
+ prepareFieldValues(obj: Record<string, any>, forcedData: object, allowed_cols: FieldFilter | undefined, fixIssues?: boolean): AnyObject;
292
+ parseFieldFilter(fieldParams?: FieldFilter, allow_empty?: boolean, allowed_cols?: string[]): string[];
293
+ /**
294
+ * Filter string array
295
+ * @param {FieldFilter} fieldParams - { col1: 0, col2: 0 } | { col1: true, col2: true } | "*" | ["key1", "key2"] | []
296
+ * @param {boolean} allow_empty - allow empty select. defaults to true
297
+ */
298
+ static _parseFieldFilter(fieldParams: FieldFilter, allow_empty: boolean, all_cols: string[]): string[];
299
+ }
300
+ declare type ValidatedParams = {
301
+ row: AnyObject;
302
+ forcedData?: AnyObject;
303
+ allowedFields?: FieldFilter;
304
+ tableRules?: TableRule;
305
+ fixIssues: boolean;
306
+ };
307
+ export declare class TableHandler extends ViewHandler {
308
+ io_stats: {
309
+ throttle_queries_per_sec: number;
310
+ since: number;
311
+ queries: number;
312
+ batching: string[] | null;
313
+ };
314
+ constructor(db: DB, tableOrViewInfo: TableSchema, dboBuilder: DboBuilder, t?: pgPromise.ITask<{}>, dbTX?: TableHandlers, joinPaths?: JoinPaths);
315
+ willBatch(query: string): boolean;
316
+ subscribe(filter: Filter, params: SubscribeParams, localFunc: (items: AnyObject[]) => any): Promise<{
317
+ unsubscribe: () => any;
318
+ }>;
319
+ subscribe(filter: Filter, params: SubscribeParams, localFunc?: (items: AnyObject[]) => any, table_rules?: TableRule, localParams?: LocalParams): Promise<string>;
320
+ subscribeOne(filter: Filter, params: SubscribeParams, localFunc: (item: AnyObject) => any): Promise<{
321
+ unsubscribe: () => any;
322
+ }>;
323
+ subscribeOne(filter: Filter, params: SubscribeParams, localFunc: (item: AnyObject) => any, table_rules?: TableRule, localParams?: LocalParams): Promise<string>;
324
+ updateBatch(data: [Filter, AnyObject][], params?: UpdateParams, tableRules?: TableRule, localParams?: LocalParams): Promise<any>;
325
+ parseUpdateRules(filter: Filter, newData: AnyObject, params?: UpdateParams, tableRules?: TableRule, localParams?: LocalParams): Promise<{
326
+ fields: string[];
327
+ validateRow?: ValidateRow;
328
+ finalUpdateFilter: AnyObject;
329
+ forcedData?: AnyObject;
330
+ forcedFilter?: AnyObject;
331
+ returningFields: FieldFilter;
332
+ filterFields?: FieldFilter;
333
+ }>;
334
+ update(filter: Filter, newData: AnyObject, params?: UpdateParams, tableRules?: TableRule, localParams?: LocalParams): Promise<AnyObject | void>;
335
+ validateNewData({ row, forcedData, allowedFields, tableRules, fixIssues }: ValidatedParams): {
336
+ data: any;
337
+ allowedCols: string[];
338
+ };
339
+ private insertDataParse;
340
+ insert(rowOrRows: (AnyObject | AnyObject[]), param2?: InsertParams, param3_unused?: undefined, tableRules?: TableRule, _localParams?: LocalParams): Promise<any | any[] | boolean>;
341
+ prepareReturning: (returning: Select | undefined, allowedFields: string[]) => Promise<SelectItem[]>;
342
+ makeReturnQuery(items?: SelectItem[]): string;
343
+ delete(filter?: Filter, params?: DeleteParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
344
+ remove(filter: Filter, params?: UpdateParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any>;
345
+ upsert(filter: Filter, newData: AnyObject, params?: UpdateParams, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
346
+ sync(filter: Filter, params: SelectParams, param3_unused: undefined, table_rules: TableRule, localParams: LocalParams): Promise<{
347
+ channelName: string;
348
+ id_fields: string[];
349
+ synced_field: string;
350
+ }>;
351
+ }
352
+ import { BasicSession } from "./AuthHandler";
353
+ export declare class DboBuilder {
354
+ tablesOrViews?: TableSchema[];
355
+ /**
356
+ * Used in obtaining column names for error messages
357
+ */
358
+ constraints?: PGConstraint[];
359
+ db: DB;
360
+ schema: string;
361
+ dbo: DBHandlerServer;
362
+ _pubSubManager?: PubSubManager;
363
+ getPubSubManager: () => Promise<PubSubManager>;
364
+ pojoDefinitions?: string[];
365
+ dboDefinition?: string;
366
+ tsTypesDefinition?: string;
367
+ joins?: Join[];
368
+ joinGraph?: Graph;
369
+ joinPaths: JoinPaths;
370
+ prostgles: Prostgles;
371
+ publishParser?: PublishParser;
372
+ onSchemaChange?: (event: {
373
+ command: string;
374
+ query: string;
375
+ }) => void;
376
+ private constructor();
377
+ private init;
378
+ static create: (prostgles: Prostgles) => Promise<DboBuilder>;
379
+ destroy(): void;
380
+ getJoins(): Join[];
381
+ getJoinPaths(): JoinPaths;
382
+ parseJoins(): Promise<JoinPaths>;
383
+ buildJoinPaths(): void;
384
+ build(): Promise<DBHandlerServer>;
385
+ getTX: (cb: TxCB) => Promise<any>;
386
+ }
387
+ export declare type TableSchema = {
388
+ schema: string;
389
+ name: string;
390
+ oid: number;
391
+ comment: string;
392
+ columns: (ColumnInfo & {
393
+ privileges: {
394
+ privilege_type: "INSERT" | "REFERENCES" | "SELECT" | "UPDATE";
395
+ is_grantable: "YES" | "NO";
396
+ }[];
397
+ })[];
398
+ is_view: boolean;
399
+ parent_tables: string[];
400
+ privileges: {
401
+ insert: boolean;
402
+ select: boolean;
403
+ update: boolean;
404
+ delete: boolean;
405
+ };
406
+ };
407
+ declare type PGConstraint = {
408
+ /**
409
+ * Constraint type
410
+ */
411
+ contype: "u" | "p" | "c";
412
+ /**
413
+ * Column ordinal positions
414
+ */
415
+ conkey: number[];
416
+ /**
417
+ * Constraint name
418
+ */
419
+ conname: string;
420
+ /**
421
+ * Table name
422
+ */
423
+ relname: string;
424
+ };
425
+ export declare function isPlainObject(o: any): o is Record<string, any>;
426
+ export declare function postgresToTsType(udt_data_type: PG_COLUMN_UDT_DATA_TYPE): keyof typeof TS_PG_Types;
427
+ export {};
428
+ //# sourceMappingURL=DboBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["DboBuilder.ts"],"names":[],"mappings":"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"}