prostgles-server 4.2.105 → 4.2.107

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 (64) hide show
  1. package/dist/DBSchemaBuilder.d.ts +3 -3
  2. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/initProstgles.d.ts +1 -1
  7. package/dist/initProstgles.d.ts.map +1 -1
  8. package/dist/initProstgles.js +5 -0
  9. package/dist/initProstgles.js.map +1 -1
  10. package/dist/typeTests/dboTypeCheck.d.ts +2 -0
  11. package/dist/typeTests/dboTypeCheck.d.ts.map +1 -0
  12. package/dist/typeTests/dboTypeCheck.js +54 -0
  13. package/dist/typeTests/dboTypeCheck.js.map +1 -0
  14. package/lib/DBSchemaBuilder.ts +4 -4
  15. package/lib/index.ts +3 -0
  16. package/lib/initProstgles.ts +6 -1
  17. package/lib/typeTests/DBoGenerated.d.ts +320 -0
  18. package/lib/typeTests/dboTypeCheck.ts +81 -0
  19. package/package.json +1 -1
  20. package/tests/server/index.ts +0 -11
  21. package/tests/server/package-lock.json +1 -1
  22. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts +0 -11
  23. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts.map +0 -1
  24. package/dist/DboBuilder/QueryBuilder/prepareHaving.js +0 -18
  25. package/dist/DboBuilder/QueryBuilder/prepareHaving.js.map +0 -1
  26. package/dist/DboBuilder/ViewHandler/ColSet.d.ts +0 -16
  27. package/dist/DboBuilder/ViewHandler/ColSet.d.ts.map +0 -1
  28. package/dist/DboBuilder/ViewHandler/ColSet.js +0 -105
  29. package/dist/DboBuilder/ViewHandler/ColSet.js.map +0 -1
  30. package/dist/DboBuilder/find.d.ts +0 -18
  31. package/dist/DboBuilder/find.d.ts.map +0 -1
  32. package/dist/DboBuilder/find.js +0 -121
  33. package/dist/DboBuilder/find.js.map +0 -1
  34. package/dist/DboBuilder/insertDataParse.d.ts +0 -27
  35. package/dist/DboBuilder/insertDataParse.d.ts.map +0 -1
  36. package/dist/DboBuilder/insertDataParse.js +0 -275
  37. package/dist/DboBuilder/insertDataParse.js.map +0 -1
  38. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts +0 -29
  39. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts.map +0 -1
  40. package/dist/DboBuilder/parseMediaOrNestedInsert.js +0 -271
  41. package/dist/DboBuilder/parseMediaOrNestedInsert.js.map +0 -1
  42. package/dist/DboBuilder/subscribe.d.ts +0 -20
  43. package/dist/DboBuilder/subscribe.d.ts.map +0 -1
  44. package/dist/DboBuilder/subscribe.js +0 -96
  45. package/dist/DboBuilder/subscribe.js.map +0 -1
  46. package/dist/DboBuilder.d.ts +0 -324
  47. package/dist/DboBuilder.d.ts.map +0 -1
  48. package/dist/DboBuilder.js +0 -345
  49. package/dist/DboBuilder.js.map +0 -1
  50. package/dist/PubSubManager/getInitQuery.d.ts +0 -13
  51. package/dist/PubSubManager/getInitQuery.d.ts.map +0 -1
  52. package/dist/PubSubManager/getInitQuery.js +0 -616
  53. package/dist/PubSubManager/getInitQuery.js.map +0 -1
  54. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts +0 -2
  55. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts.map +0 -1
  56. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js +0 -53
  57. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js.map +0 -1
  58. package/dist/SchemaWatch.d.ts +0 -30
  59. package/dist/SchemaWatch.d.ts.map +0 -1
  60. package/dist/SchemaWatch.js +0 -127
  61. package/dist/SchemaWatch.js.map +0 -1
  62. package/dist/my.d copy.ts +0 -1020
  63. package/dist/my.d.ts +0 -1655
  64. package/tests/server/dboTypeCheck.ts +0 -34
@@ -1,345 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Stefan L. All rights reserved.
4
- * Licensed under the MIT License. See LICENSE in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.withUserRLS = exports.canEXECUTE = exports.prepareOrderByQuery = exports.postgresToTsType = exports.isPlainObject = exports.DboBuilder = exports.parseError = exports.makeErrorFromPGError = exports.escapeTSNames = exports.pgp = void 0;
8
- const Bluebird = require("bluebird");
9
- const QueryStreamer_1 = require("./DboBuilder/QueryStreamer");
10
- const pgPromise = require("pg-promise");
11
- const prostgles_types_1 = require("prostgles-types");
12
- const getTablesForSchemaPostgresSQL_1 = require("./DboBuilder/getTablesForSchemaPostgresSQL");
13
- const runSQL_1 = require("./DboBuilder/runSQL");
14
- const sqlErrCodeToMsg_1 = require("./DboBuilder/sqlErrCodeToMsg");
15
- const ViewHandler_1 = require("./DboBuilder/ViewHandler/ViewHandler");
16
- const PubSubManager_1 = require("./PubSubManager/PubSubManager");
17
- const utils_1 = require("./utils");
18
- exports.pgp = pgPromise({
19
- promiseLib: Bluebird
20
- // ,query: function (e) { console.log({psql: e.query, params: e.params}); }
21
- });
22
- function escapeTSNames(str, capitalize = false) {
23
- let res = str;
24
- res = (capitalize ? str[0]?.toUpperCase() : str[0]) + str.slice(1);
25
- if (canBeUsedAsIsInTypescript(res))
26
- return res;
27
- return JSON.stringify(res);
28
- }
29
- exports.escapeTSNames = escapeTSNames;
30
- /* DEBUG CLIENT ERRORS HERE */
31
- function makeErrorFromPGError(err, localParams, view, allowedKeys) {
32
- if (process.env.PRGL_DEBUG) {
33
- console.trace(err);
34
- }
35
- const errObject = {
36
- ...((!localParams || !localParams.socket) ? err : {}),
37
- ...(0, PubSubManager_1.pickKeys)(err, ["column", "code", "table", "constraint", "hint"]),
38
- ...(err && err.toString ? { txt: err.toString() } : {}),
39
- code_info: (0, sqlErrCodeToMsg_1.sqlErrCodeToMsg)(err.code)
40
- };
41
- if (view?.dboBuilder?.constraints && errObject.constraint && !errObject.column) {
42
- const constraint = view.dboBuilder.constraints
43
- .find(c => c.conname === errObject.constraint && c.relname === view.name);
44
- if (constraint) {
45
- const cols = view.columns.filter(c => (!allowedKeys || allowedKeys.includes(c.name)) &&
46
- constraint.conkey.includes(c.ordinal_position));
47
- const [firstCol] = cols;
48
- if (firstCol) {
49
- errObject.column = firstCol.name;
50
- errObject.columns = cols.map(c => c.name);
51
- }
52
- }
53
- }
54
- return Promise.reject(errObject);
55
- }
56
- exports.makeErrorFromPGError = makeErrorFromPGError;
57
- /**
58
- * Ensure the error is a serializable Object
59
- */
60
- function parseError(e, caller) {
61
- const errorObject = (0, prostgles_types_1.isObject)(e) ? e : undefined;
62
- const message = typeof e === "string" ? e : e instanceof Error ? e.message :
63
- (0, prostgles_types_1.isObject)(errorObject) ? (errorObject.message ?? errorObject.txt ?? JSON.stringify(errorObject) ?? "") : "";
64
- const stack = [
65
- ...(errorObject && Array.isArray(errorObject.stack) ? errorObject.stack : []),
66
- caller
67
- ];
68
- const result = {
69
- ...errorObject,
70
- message,
71
- stack,
72
- };
73
- return result;
74
- }
75
- exports.parseError = parseError;
76
- const DBSchemaBuilder_1 = require("./DBSchemaBuilder");
77
- const QueryBuilder_1 = require("./DboBuilder/QueryBuilder/QueryBuilder");
78
- const TableHandler_1 = require("./DboBuilder/TableHandler/TableHandler");
79
- const parseJoinPath_1 = require("./DboBuilder/ViewHandler/parseJoinPath");
80
- const prepareShortestJoinPaths_1 = require("./DboBuilder/prepareShortestJoinPaths");
81
- class DboBuilder {
82
- tablesOrViews;
83
- /**
84
- * Used in obtaining column names for error messages
85
- */
86
- constraints;
87
- db;
88
- dbo;
89
- _pubSubManager;
90
- /**
91
- * Used for db.sql field type details
92
- */
93
- DATA_TYPES;
94
- USER_TABLES;
95
- USER_TABLE_COLUMNS;
96
- queryStreamer;
97
- getPubSubManager = async () => {
98
- if (!this._pubSubManager) {
99
- let onSchemaChange;
100
- const { isSuperUs } = await PubSubManager_1.PubSubManager.canCreate(this.db);
101
- if (!exports.canEXECUTE)
102
- throw "PubSubManager based subscriptions not possible: Cannot run EXECUTE statements on this connection";
103
- if (this.prostgles.opts.watchSchema && this.prostgles.opts.watchSchemaType === "DDL_trigger") {
104
- if (!isSuperUs) {
105
- console.warn(`watchSchemaType "${this.prostgles.opts.watchSchemaType}" cannot be used because db user is not a superuser. Will fallback to watchSchemaType "prostgles_queries" `);
106
- }
107
- else {
108
- onSchemaChange = (event) => {
109
- this.prostgles.onSchemaChange(event);
110
- };
111
- }
112
- }
113
- this._pubSubManager = await PubSubManager_1.PubSubManager.create({
114
- dboBuilder: this,
115
- onSchemaChange
116
- });
117
- }
118
- if (!this._pubSubManager) {
119
- console.trace("Could not create this._pubSubManager");
120
- throw "Could not create this._pubSubManager";
121
- }
122
- return this._pubSubManager;
123
- };
124
- tsTypesDefinition;
125
- joinGraph;
126
- shortestJoinPaths = [];
127
- prostgles;
128
- publishParser;
129
- onSchemaChange;
130
- constructor(prostgles) {
131
- this.prostgles = prostgles;
132
- if (!this.prostgles.db)
133
- throw "db missing";
134
- this.db = this.prostgles.db;
135
- this.dbo = {};
136
- this.queryStreamer = new QueryStreamer_1.QueryStreamer(this.db);
137
- this.queryStreamer.startQuery({ id: "1", socketId: "1", query: "", onData: console.log });
138
- }
139
- init = async () => {
140
- /* If watchSchema then PubSubManager must be created (if possible) */
141
- await this.build();
142
- if (this.prostgles.opts.watchSchema &&
143
- (this.prostgles.opts.watchSchemaType === "DDL_trigger" || !this.prostgles.opts.watchSchemaType) &&
144
- this.prostgles.isSuperUser) {
145
- await this.getPubSubManager();
146
- }
147
- return this;
148
- };
149
- static create = async (prostgles) => {
150
- const res = new DboBuilder(prostgles);
151
- return await res.init();
152
- };
153
- destroy() {
154
- this._pubSubManager?.destroy();
155
- }
156
- _joins;
157
- get joins() {
158
- return (0, utils_1.clone)(this._joins ?? []).filter(j => j.tables[0] !== j.tables[1]);
159
- }
160
- set joins(j) {
161
- this._joins = (0, utils_1.clone)(j);
162
- }
163
- getAllJoinPaths() {
164
- return this.shortestJoinPaths;
165
- }
166
- prepareShortestJoinPaths = async () => {
167
- const { joins, shortestJoinPaths, joinGraph } = await (0, prepareShortestJoinPaths_1.prepareShortestJoinPaths)(this);
168
- this.joinGraph = joinGraph;
169
- this.joins = joins;
170
- this.shortestJoinPaths = shortestJoinPaths;
171
- };
172
- runSQL = async (query, params, options, localParams) => {
173
- return runSQL_1.runSQL.bind(this)(query, params, options, localParams);
174
- };
175
- async build() {
176
- const start = Date.now();
177
- const tablesOrViewsReq = await (0, getTablesForSchemaPostgresSQL_1.getTablesForSchemaPostgresSQL)(this, this.prostgles.opts.schema);
178
- await this.prostgles.opts.onLog?.({
179
- type: "debug",
180
- command: "DboBuilder.getTablesForSchemaPostgresSQL",
181
- data: tablesOrViewsReq.durations,
182
- duration: Date.now() - start,
183
- });
184
- this.tablesOrViews = tablesOrViewsReq.result;
185
- this.constraints = await getConstraints(this.db, this.prostgles.opts.schema);
186
- await this.prepareShortestJoinPaths();
187
- this.dbo = {};
188
- this.tablesOrViews.map(tov => {
189
- const columnsForTypes = tov.columns.slice(0).sort((a, b) => a.name.localeCompare(b.name));
190
- const filterKeywords = Object.values(this.prostgles.keywords);
191
- const $filterCol = columnsForTypes.find(c => filterKeywords.includes(c.name));
192
- if ($filterCol) {
193
- throw `DboBuilder init error: \n\nTable ${JSON.stringify(tov.name)} column ${JSON.stringify($filterCol.name)} is colliding with Prostgles filtering functionality ($filter keyword)
194
- Please provide a replacement keyword name using the $filter_keyName init option.
195
- Alternatively you can rename the table column\n`;
196
- }
197
- this.dbo[tov.escaped_identifier] = new (tov.is_view ? ViewHandler_1.ViewHandler : TableHandler_1.TableHandler)(this.db, tov, this, undefined, this.shortestJoinPaths);
198
- if (this.shortestJoinPaths && this.shortestJoinPaths.find(jp => [jp.t1, jp.t2].includes(tov.name))) {
199
- const table = tov.name;
200
- this.dbo.innerJoin ??= {};
201
- this.dbo.leftJoin ??= {};
202
- this.dbo.innerJoinOne ??= {};
203
- this.dbo.leftJoinOne ??= {};
204
- const joinHandlers = (0, prostgles_types_1.getJoinHandlers)(table);
205
- this.dbo.leftJoin[table] = joinHandlers.leftJoin;
206
- this.dbo.innerJoin[table] = joinHandlers.innerJoin;
207
- this.dbo.leftJoinOne[table] = joinHandlers.leftJoinOne;
208
- this.dbo.innerJoinOne[table] = joinHandlers.innerJoinOne;
209
- }
210
- });
211
- if (this.prostgles.opts.transactions) {
212
- let txKey = "tx";
213
- if (typeof this.prostgles.opts.transactions === "string")
214
- txKey = this.prostgles.opts.transactions;
215
- this.dbo[txKey] = (cb) => this.getTX(cb);
216
- }
217
- if (!this.dbo.sql) {
218
- this.dbo.sql = this.runSQL;
219
- }
220
- else {
221
- console.warn(`Could not create dbo.sql handler because there is already a table named "sql"`);
222
- }
223
- this.tsTypesDefinition = [
224
- `/* SCHEMA DEFINITON. Table names have been altered to work with Typescript */`,
225
- `/* DBO Definition */`,
226
- (0, DBSchemaBuilder_1.getDBSchema)(this)
227
- ].join("\n");
228
- return this.dbo;
229
- }
230
- getShortestJoinPath = (viewHandler, target) => {
231
- const source = viewHandler.name;
232
- if (source === target) {
233
- const joinPath = (0, parseJoinPath_1.parseJoinPath)({
234
- rawPath: target,
235
- rootTable: source,
236
- viewHandler
237
- });
238
- if (!joinPath)
239
- return undefined;
240
- return {
241
- t1: source,
242
- t2: target,
243
- path: [source]
244
- };
245
- }
246
- const jp = this.shortestJoinPaths.find(jp => jp.t1 === source && jp.t2 === target);
247
- return jp;
248
- };
249
- getTX = (cb) => {
250
- return this.db.tx(t => {
251
- const dbTX = {};
252
- this.tablesOrViews?.map(tov => {
253
- dbTX[tov.name] = new (tov.is_view ? ViewHandler_1.ViewHandler : TableHandler_1.TableHandler)(this.db, tov, this, { t, dbTX }, this.shortestJoinPaths);
254
- });
255
- // ???? getKeys(dbTX).map(k => {
256
- // dbTX[k]!.dbTX = dbTX;
257
- // });
258
- dbTX.sql = (q, args, opts, localP) => this.runSQL(q, args, opts, { tx: { dbTX, t }, ...(localP ?? {}) });
259
- return cb(dbTX, t);
260
- });
261
- };
262
- }
263
- exports.DboBuilder = DboBuilder;
264
- async function getConstraints(db, schema) {
265
- const { sql, schemaNames } = (0, getTablesForSchemaPostgresSQL_1.getSchemaFilter)(schema);
266
- return db.any(`
267
- SELECT rel.relname, con.conkey, con.conname, con.contype
268
- FROM pg_catalog.pg_constraint con
269
- INNER JOIN pg_catalog.pg_class rel
270
- ON rel.oid = con.conrelid
271
- INNER JOIN pg_catalog.pg_namespace nsp
272
- ON nsp.oid = connamespace
273
- WHERE nsp.nspname ${sql}
274
- `, { schemaNames });
275
- }
276
- function isPlainObject(o) {
277
- return Object(o) === o && Object.getPrototypeOf(o) === Object.prototype;
278
- }
279
- exports.isPlainObject = isPlainObject;
280
- function postgresToTsType(udt_data_type) {
281
- return (0, prostgles_types_1.getKeys)(prostgles_types_1.TS_PG_Types).find(k => {
282
- // @ts-ignore
283
- return prostgles_types_1.TS_PG_Types[k].includes(udt_data_type);
284
- }) ?? "any";
285
- }
286
- exports.postgresToTsType = postgresToTsType;
287
- const prepareOrderByQuery = (items, tableAlias) => {
288
- if (!items.length)
289
- return [];
290
- return ["ORDER BY " + items.map(d => {
291
- const orderType = d.asc ? " ASC " : " DESC ";
292
- const nullOrder = d.nulls ? ` NULLS ${d.nulls === "first" ? " FIRST " : " LAST "}` : "";
293
- if (d.type === "query" && d.nested) {
294
- return d.fieldQuery;
295
- }
296
- return `${(0, QueryBuilder_1.asNameAlias)(d.key, tableAlias)} ${orderType} ${nullOrder}`;
297
- }).join(", ")];
298
- };
299
- exports.prepareOrderByQuery = prepareOrderByQuery;
300
- const canEXECUTE = async (db) => {
301
- try {
302
- await db.any(`DO $$ BEGIN EXECUTE 'select 1'; END $$;`);
303
- return true;
304
- }
305
- catch (error) {
306
- console.warn(error);
307
- }
308
- return false;
309
- };
310
- exports.canEXECUTE = canEXECUTE;
311
- const withUserRLS = (localParams, query) => {
312
- const user = localParams?.isRemoteRequest?.user;
313
- const queryPrefix = `SET SESSION "prostgles.user" \nTO`;
314
- let firstQuery = `${queryPrefix} '';`;
315
- if (user) {
316
- firstQuery = exports.pgp.as.format(`${queryPrefix} \${user};`, { user });
317
- }
318
- return [firstQuery, query].join("\n");
319
- };
320
- exports.withUserRLS = withUserRLS;
321
- function canBeUsedAsIsInTypescript(str) {
322
- if (!str)
323
- return false;
324
- const isAlphaNumericOrUnderline = str.match(/^[a-z0-9_]+$/i);
325
- const startsWithCharOrUnderscore = str[0]?.match(/^[a-z_]+$/i);
326
- return Boolean(isAlphaNumericOrUnderline && startsWithCharOrUnderscore);
327
- }
328
- function snakify(str, capitalize = false) {
329
- return str.split("").map((c, i) => {
330
- if (!i) {
331
- if (capitalize)
332
- c = c.toUpperCase();
333
- if (c.match(/[^a-z_A-Z]/)) {
334
- return ((capitalize) ? "D_" : "_") + c.charCodeAt(0);
335
- }
336
- }
337
- else {
338
- if (c.match(/[^a-zA-Z_0-9]/)) {
339
- return "_" + c.charCodeAt(0);
340
- }
341
- }
342
- return c;
343
- }).join("");
344
- }
345
- //# sourceMappingURL=DboBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DboBuilder.js","sourceRoot":"","sources":["../lib/DboBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { PubSubManager } from "./PubSubManager";
2
- export declare const DB_OBJ_NAMES: {
3
- readonly trigger_add_remove_func: "prostgles.trigger_add_remove_func";
4
- readonly data_watch_func: "prostgles.prostgles_trigger_function";
5
- readonly schema_watch_func: "prostgles.schema_watch_func";
6
- readonly schema_watch_trigger: "prostgles_schema_watch_trigger_new";
7
- };
8
- /**
9
- * Initialize the prostgles schema and functions needed for realtime data and schema changes
10
- * undefined returned if the database contains the apropriate prostgles schema
11
- */
12
- export declare const getPubSubManagerInitQuery: (this: PubSubManager) => Promise<string | undefined>;
13
- //# sourceMappingURL=getInitQuery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpF,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAqkBX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,SAAwB,aAAa,KAAG,QAAQ,MAAM,GAAG,SAAS,CAoBvG,CAAA"}