prostgles-server 4.2.350 → 4.2.352

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.
@@ -0,0 +1,9 @@
1
+ import type { ProstglesInitOptions } from "./ProstglesTypes";
2
+ import type { DB, PGP } from "./initProstgles";
3
+ type GetDbConnectionArgs = Pick<ProstglesInitOptions, "DEBUG_MODE" | "onQuery" | "dbConnection" | "onNotice" | "onConnectionError">;
4
+ export declare const getDbConnection: ({ dbConnection, onQuery, onConnectionError, DEBUG_MODE, onNotice, }: GetDbConnectionArgs) => {
5
+ db: DB;
6
+ pgp: PGP;
7
+ };
8
+ export {};
9
+ //# sourceMappingURL=getDbConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDbConnection.d.ts","sourceRoot":"","sources":["../lib/getDbConnection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAG/C,KAAK,mBAAmB,GAAG,IAAI,CAC7B,oBAAoB,EACpB,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,mBAAmB,CAC7E,CAAC;AACF,eAAO,MAAM,eAAe,wEAMzB,mBAAmB;;SAAkB,GAAG;CA2E1C,CAAC"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDbConnection = void 0;
4
+ const pgPromise = require("pg-promise");
5
+ const getDbConnection = function ({ dbConnection, onQuery, onConnectionError, DEBUG_MODE, onNotice, }) {
6
+ const onQueryOrError = !onQuery && !DEBUG_MODE ?
7
+ undefined
8
+ : (error, ctx) => {
9
+ if (onQuery) {
10
+ onQuery(error, ctx);
11
+ }
12
+ else if (DEBUG_MODE) {
13
+ if (error) {
14
+ console.error(error, ctx);
15
+ }
16
+ else {
17
+ console.log(ctx);
18
+ }
19
+ }
20
+ };
21
+ const pgp = pgPromise({
22
+ ...(onQueryOrError && {
23
+ query: (ctx) => onQueryOrError(undefined, ctx),
24
+ }),
25
+ error: (err, ctx) => {
26
+ if (ctx.cn) {
27
+ onConnectionError?.(err, ctx);
28
+ }
29
+ onQueryOrError?.(err, ctx);
30
+ },
31
+ ...((onNotice || DEBUG_MODE) && {
32
+ connect: function ({ client, useCount }) {
33
+ const isFresh = !useCount;
34
+ if (isFresh && !client.listeners("notice").length) {
35
+ client.on("notice", function (msg) {
36
+ if (onNotice) {
37
+ onNotice(msg, msg?.message);
38
+ }
39
+ else {
40
+ console.log("notice: %j", msg?.message);
41
+ }
42
+ });
43
+ }
44
+ if (isFresh && !client.listeners("error").length) {
45
+ client.on("error", function (msg) {
46
+ if (onNotice) {
47
+ onNotice(msg, msg?.message);
48
+ }
49
+ else {
50
+ console.log("error: %j", msg?.message);
51
+ }
52
+ });
53
+ }
54
+ },
55
+ }),
56
+ });
57
+ // pgp.pg.defaults.max = 70;
58
+ // /* Casts count/sum/max to bigint. Needs rework to remove casting "+count" and other issues; */
59
+ // pgp.pg.types.setTypeParser(20, BigInt);
60
+ /**
61
+ * Prevent timestamp casting to ensure we don't lose the microseconds.
62
+ * This is needed to ensure the filters work as expected for a given row
63
+ *
64
+ register(1114, parseTimestamp) // timestamp without time zone
65
+ register(1184, parseTimestampTz) // timestamp with time zone
66
+ */
67
+ // pgp.pg.types.setTypeParser(1114, v => v); // timestamp without time zone
68
+ // pgp.pg.types.setTypeParser(1184, v => v); // timestamp with time zone
69
+ // pgp.pg.types.setTypeParser(1182, v => v); // date
70
+ pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMP, (v) => v); // timestamp without time zone
71
+ pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMPTZ, (v) => v); // timestamp with time zone
72
+ pgp.pg.types.setTypeParser(pgp.pg.types.builtins.DATE, (v) => v); // date
73
+ return {
74
+ db: pgp(dbConnection),
75
+ pgp,
76
+ };
77
+ };
78
+ exports.getDbConnection = getDbConnection;
79
+ //# sourceMappingURL=getDbConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDbConnection.js","sourceRoot":"","sources":["../lib/getDbConnection.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import * as pgPromise from "pg-promise";
2
1
  import type pg from "pg-promise/typescript/pg-subset";
3
2
  import type { AuthClientRequest, SessionUser } from "./Auth/AuthTypes";
4
3
  import type { DBOFullyTyped } from "./DBSchemaBuilder/DBSchemaBuilder";
@@ -7,6 +6,7 @@ import type { ProstglesInitOptions } from "./ProstglesTypes";
7
6
  import type { DbTableInfo } from "./PublishParser/PublishParser";
8
7
  import { type PermissionScope } from "./PublishParser/PublishParser";
9
8
  import { getClientHandlers } from "./WebsocketAPI/getClientHandlers";
9
+ import type pgPromise from "pg-promise";
10
10
  /**
11
11
  * Database connection details
12
12
  */
@@ -18,7 +18,7 @@ string | pg.IConnectionParameters<pg.IClient>;
18
18
  export type DbConnectionOpts = pg.IDefaults;
19
19
  export type PGP = pgPromise.IMain<{}, pg.IClient>;
20
20
  export type DB = pgPromise.IDatabase<{}, pg.IClient>;
21
- export type UpdateableOptions<S = void, SUser extends SessionUser = SessionUser> = Pick<ProstglesInitOptions<S, SUser>, "fileTable" | "restApi" | "tableConfig" | "schemaFilter" | "auth">;
21
+ export type UpdateableOptions<S = void, SUser extends SessionUser = SessionUser> = Pick<ProstglesInitOptions<S, SUser>, "fileTable" | "restApi" | "tableConfig" | "schemaFilter" | "auth" | "publish" | "publishMethods" | "publishRawSQL">;
22
22
  export type OnInitReason = {
23
23
  type: "schema change";
24
24
  query: string;
@@ -1 +1 @@
1
- {"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,YAAY;AACtB;;GAEG;AACH,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AAE5C,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI,IAAI,CACrF,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,EAC9B,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,CAClE,CAAC;AACF,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CACzE,GACD;IACE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,aAAa,CAAC;CAC/C,CAAC;AAEN,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,mBAAmB,GAAG;IACnD,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,GAAG,CAAC;AAEvE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI;IAC1E,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACrB,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxC,mBAAmB,EAAE,CACnB,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,eAAe,GAAG,SAAS,KAC/B,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,oBAAoB,UAA0D,CAAC;AAErF,eAAO,MAAM,aAAa,SAClB,SAAS,WACN,oBAAoB,UACrB,YAAY,KACnB,QAAQ,UAAU,CAsMpB,CAAC"}
1
+ {"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initProstgles = void 0;
4
- const pgPromise = require("pg-promise");
5
4
  const prostgles_types_1 = require("prostgles-types");
6
5
  const removeExpressRoute_1 = require("./Auth/utils/removeExpressRoute");
7
6
  const DBEventsManager_1 = require("./DBEventsManager");
@@ -11,6 +10,7 @@ const SchemaWatch_1 = require("./SchemaWatch/SchemaWatch");
11
10
  const runSQLFile_1 = require("./TableConfig/runSQLFile");
12
11
  const utils_1 = require("./utils/utils");
13
12
  const getClientHandlers_1 = require("./WebsocketAPI/getClientHandlers");
13
+ const getDbConnection_1 = require("./getDbConnection");
14
14
  const clientOnlyUpdateKeys = ["auth"];
15
15
  const initProstgles = async function (onReady, reason) {
16
16
  this.loaded = false;
@@ -46,7 +46,7 @@ const initProstgles = async function (onReady, reason) {
46
46
  : this.opts.dbConnection;
47
47
  const application_name = `prostgles ${this.appId} ${existingAppName}`;
48
48
  /* 1. Connect to db */
49
- const { db, pgp } = getDbConnection({
49
+ const { db, pgp } = (0, getDbConnection_1.getDbConnection)({
50
50
  onQuery: this.opts.onQuery,
51
51
  onConnectionError: this.opts.onConnectionError,
52
52
  DEBUG_MODE: this.opts.DEBUG_MODE,
@@ -115,15 +115,18 @@ const initProstgles = async function (onReady, reason) {
115
115
  getTSSchema: this.getTSFileContent,
116
116
  options: this.opts,
117
117
  update: async (newOpts) => {
118
- let optsHaveChanged = false;
119
- (0, prostgles_types_1.getKeys)(newOpts).forEach((k) => {
118
+ const optionsThatChanged = (0, prostgles_types_1.getObjectEntries)(newOpts)
119
+ .map((entry) => {
120
+ const [k, v] = entry;
120
121
  if (!(0, prostgles_types_1.isEqual)(this.opts[k], newOpts[k])) {
121
- optsHaveChanged = true;
122
122
  //@ts-ignore
123
- this.opts[k] = newOpts[k];
123
+ this.opts[k] = v;
124
+ return entry;
124
125
  }
125
- });
126
- if (!optsHaveChanged) {
126
+ return;
127
+ })
128
+ .filter(prostgles_types_1.isDefined);
129
+ if (!optionsThatChanged.length) {
127
130
  console.warn("No options changed");
128
131
  return;
129
132
  }
@@ -193,77 +196,4 @@ const initProstgles = async function (onReady, reason) {
193
196
  }
194
197
  };
195
198
  exports.initProstgles = initProstgles;
196
- const getDbConnection = function ({ dbConnection, onQuery, onConnectionError, DEBUG_MODE, onNotice, }) {
197
- const onQueryOrError = !onQuery && !DEBUG_MODE ?
198
- undefined
199
- : (error, ctx) => {
200
- if (onQuery) {
201
- onQuery(error, ctx);
202
- }
203
- else if (DEBUG_MODE) {
204
- if (error) {
205
- console.error(error, ctx);
206
- }
207
- else {
208
- console.log(ctx);
209
- }
210
- }
211
- };
212
- const pgp = pgPromise({
213
- ...(onQueryOrError && {
214
- query: (ctx) => onQueryOrError(undefined, ctx),
215
- }),
216
- error: (err, ctx) => {
217
- if (ctx.cn) {
218
- onConnectionError?.(err, ctx);
219
- }
220
- onQueryOrError?.(err, ctx);
221
- },
222
- ...((onNotice || DEBUG_MODE) && {
223
- connect: function ({ client, useCount }) {
224
- const isFresh = !useCount;
225
- if (isFresh && !client.listeners("notice").length) {
226
- client.on("notice", function (msg) {
227
- if (onNotice) {
228
- onNotice(msg, msg?.message);
229
- }
230
- else {
231
- console.log("notice: %j", msg?.message);
232
- }
233
- });
234
- }
235
- if (isFresh && !client.listeners("error").length) {
236
- client.on("error", function (msg) {
237
- if (onNotice) {
238
- onNotice(msg, msg?.message);
239
- }
240
- else {
241
- console.log("error: %j", msg?.message);
242
- }
243
- });
244
- }
245
- },
246
- }),
247
- });
248
- // pgp.pg.defaults.max = 70;
249
- // /* Casts count/sum/max to bigint. Needs rework to remove casting "+count" and other issues; */
250
- // pgp.pg.types.setTypeParser(20, BigInt);
251
- /**
252
- * Prevent timestamp casting to ensure we don't lose the microseconds.
253
- * This is needed to ensure the filters work as expected for a given row
254
- *
255
- register(1114, parseTimestamp) // timestamp without time zone
256
- register(1184, parseTimestampTz) // timestamp with time zone
257
- */
258
- // pgp.pg.types.setTypeParser(1114, v => v); // timestamp without time zone
259
- // pgp.pg.types.setTypeParser(1184, v => v); // timestamp with time zone
260
- // pgp.pg.types.setTypeParser(1182, v => v); // date
261
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMP, (v) => v); // timestamp without time zone
262
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMPTZ, (v) => v); // timestamp with time zone
263
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.DATE, (v) => v); // date
264
- return {
265
- db: pgp(dbConnection),
266
- pgp,
267
- };
268
- };
269
199
  //# sourceMappingURL=initProstgles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import * as pgPromise from "pg-promise";
2
+ import type { ProstglesInitOptions } from "./ProstglesTypes";
3
+ import type { DB, PGP } from "./initProstgles";
4
+ import type pg from "pg-promise/typescript/pg-subset";
5
+
6
+ type GetDbConnectionArgs = Pick<
7
+ ProstglesInitOptions,
8
+ "DEBUG_MODE" | "onQuery" | "dbConnection" | "onNotice" | "onConnectionError"
9
+ >;
10
+ export const getDbConnection = function ({
11
+ dbConnection,
12
+ onQuery,
13
+ onConnectionError,
14
+ DEBUG_MODE,
15
+ onNotice,
16
+ }: GetDbConnectionArgs): { db: DB; pgp: PGP } {
17
+ const onQueryOrError:
18
+ | undefined
19
+ | ((error: any, ctx: pgPromise.IEventContext<pg.IClient>) => void) =
20
+ !onQuery && !DEBUG_MODE ?
21
+ undefined
22
+ : (error, ctx) => {
23
+ if (onQuery) {
24
+ onQuery(error, ctx);
25
+ } else if (DEBUG_MODE) {
26
+ if (error) {
27
+ console.error(error, ctx);
28
+ } else {
29
+ console.log(ctx);
30
+ }
31
+ }
32
+ };
33
+
34
+ const pgp: PGP = pgPromise({
35
+ ...(onQueryOrError && {
36
+ query: (ctx) => onQueryOrError(undefined, ctx),
37
+ }),
38
+ error: (err: Error, ctx) => {
39
+ if (ctx.cn) {
40
+ onConnectionError?.(err, ctx);
41
+ }
42
+ onQueryOrError?.(err, ctx);
43
+ },
44
+ ...((onNotice || DEBUG_MODE) && {
45
+ connect: function ({ client, useCount }) {
46
+ const isFresh = !useCount;
47
+ if (isFresh && !client.listeners("notice").length) {
48
+ client.on("notice", function (msg) {
49
+ if (onNotice) {
50
+ onNotice(msg, msg?.message);
51
+ } else {
52
+ console.log("notice: %j", msg?.message);
53
+ }
54
+ });
55
+ }
56
+ if (isFresh && !client.listeners("error").length) {
57
+ client.on("error", function (msg) {
58
+ if (onNotice) {
59
+ onNotice(msg, msg?.message);
60
+ } else {
61
+ console.log("error: %j", msg?.message);
62
+ }
63
+ });
64
+ }
65
+ },
66
+ }),
67
+ });
68
+ // pgp.pg.defaults.max = 70;
69
+
70
+ // /* Casts count/sum/max to bigint. Needs rework to remove casting "+count" and other issues; */
71
+ // pgp.pg.types.setTypeParser(20, BigInt);
72
+
73
+ /**
74
+ * Prevent timestamp casting to ensure we don't lose the microseconds.
75
+ * This is needed to ensure the filters work as expected for a given row
76
+ *
77
+ register(1114, parseTimestamp) // timestamp without time zone
78
+ register(1184, parseTimestampTz) // timestamp with time zone
79
+ */
80
+ // pgp.pg.types.setTypeParser(1114, v => v); // timestamp without time zone
81
+ // pgp.pg.types.setTypeParser(1184, v => v); // timestamp with time zone
82
+ // pgp.pg.types.setTypeParser(1182, v => v); // date
83
+ pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMP, (v) => v); // timestamp without time zone
84
+ pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMPTZ, (v) => v); // timestamp with time zone
85
+ pgp.pg.types.setTypeParser(pgp.pg.types.builtins.DATE, (v) => v); // date
86
+
87
+ return {
88
+ db: pgp(dbConnection),
89
+ pgp,
90
+ };
91
+ };
@@ -1,6 +1,5 @@
1
- import * as pgPromise from "pg-promise";
2
1
  import type pg from "pg-promise/typescript/pg-subset";
3
- import { getKeys, isEmpty, isEqual } from "prostgles-types";
2
+ import { getKeys, getObjectEntries, isDefined, isEmpty, isEqual } from "prostgles-types";
4
3
  import type { AuthClientRequest, SessionUser } from "./Auth/AuthTypes";
5
4
  import { removeExpressRoutesTest } from "./Auth/utils/removeExpressRoute";
6
5
  import { DBEventsManager } from "./DBEventsManager";
@@ -14,6 +13,8 @@ import { SchemaWatch } from "./SchemaWatch/SchemaWatch";
14
13
  import { runSQLFile } from "./TableConfig/runSQLFile";
15
14
  import { sleep } from "./utils/utils";
16
15
  import { getClientHandlers } from "./WebsocketAPI/getClientHandlers";
16
+ import { getDbConnection } from "./getDbConnection";
17
+ import type pgPromise from "pg-promise";
17
18
 
18
19
  /**
19
20
  * Database connection details
@@ -30,7 +31,14 @@ export type DB = pgPromise.IDatabase<{}, pg.IClient>;
30
31
 
31
32
  export type UpdateableOptions<S = void, SUser extends SessionUser = SessionUser> = Pick<
32
33
  ProstglesInitOptions<S, SUser>,
33
- "fileTable" | "restApi" | "tableConfig" | "schemaFilter" | "auth"
34
+ | "fileTable"
35
+ | "restApi"
36
+ | "tableConfig"
37
+ | "schemaFilter"
38
+ | "auth"
39
+ | "publish"
40
+ | "publishMethods"
41
+ | "publishRawSQL"
34
42
  >;
35
43
  export type OnInitReason =
36
44
  | {
@@ -201,15 +209,18 @@ export const initProstgles = async function (
201
209
  getTSSchema: this.getTSFileContent,
202
210
  options: this.opts,
203
211
  update: async (newOpts) => {
204
- let optsHaveChanged = false as boolean;
205
- getKeys(newOpts).forEach((k) => {
206
- if (!isEqual(this.opts[k], newOpts[k])) {
207
- optsHaveChanged = true;
208
- //@ts-ignore
209
- this.opts[k] = newOpts[k];
210
- }
211
- });
212
- if (!optsHaveChanged) {
212
+ const optionsThatChanged = getObjectEntries(newOpts)
213
+ .map((entry) => {
214
+ const [k, v] = entry;
215
+ if (!isEqual(this.opts[k], newOpts[k])) {
216
+ //@ts-ignore
217
+ this.opts[k] = v;
218
+ return entry;
219
+ }
220
+ return;
221
+ })
222
+ .filter(isDefined);
223
+ if (!optionsThatChanged.length) {
213
224
  console.warn("No options changed");
214
225
  return;
215
226
  }
@@ -285,90 +296,3 @@ export const initProstgles = async function (
285
296
  throw "init issues: " + (e as Error).toString();
286
297
  }
287
298
  };
288
-
289
- type GetDbConnectionArgs = Pick<
290
- ProstglesInitOptions,
291
- "DEBUG_MODE" | "onQuery" | "dbConnection" | "onNotice" | "onConnectionError"
292
- >;
293
- const getDbConnection = function ({
294
- dbConnection,
295
- onQuery,
296
- onConnectionError,
297
- DEBUG_MODE,
298
- onNotice,
299
- }: GetDbConnectionArgs): { db: DB; pgp: PGP } {
300
- const onQueryOrError:
301
- | undefined
302
- | ((error: any, ctx: pgPromise.IEventContext<pg.IClient>) => void) =
303
- !onQuery && !DEBUG_MODE ?
304
- undefined
305
- : (error, ctx) => {
306
- if (onQuery) {
307
- onQuery(error, ctx);
308
- } else if (DEBUG_MODE) {
309
- if (error) {
310
- console.error(error, ctx);
311
- } else {
312
- console.log(ctx);
313
- }
314
- }
315
- };
316
-
317
- const pgp: PGP = pgPromise({
318
- ...(onQueryOrError && {
319
- query: (ctx) => onQueryOrError(undefined, ctx),
320
- }),
321
- error: (err: Error, ctx) => {
322
- if (ctx.cn) {
323
- onConnectionError?.(err, ctx);
324
- }
325
- onQueryOrError?.(err, ctx);
326
- },
327
- ...((onNotice || DEBUG_MODE) && {
328
- connect: function ({ client, useCount }) {
329
- const isFresh = !useCount;
330
- if (isFresh && !client.listeners("notice").length) {
331
- client.on("notice", function (msg) {
332
- if (onNotice) {
333
- onNotice(msg, msg?.message);
334
- } else {
335
- console.log("notice: %j", msg?.message);
336
- }
337
- });
338
- }
339
- if (isFresh && !client.listeners("error").length) {
340
- client.on("error", function (msg) {
341
- if (onNotice) {
342
- onNotice(msg, msg?.message);
343
- } else {
344
- console.log("error: %j", msg?.message);
345
- }
346
- });
347
- }
348
- },
349
- }),
350
- });
351
- // pgp.pg.defaults.max = 70;
352
-
353
- // /* Casts count/sum/max to bigint. Needs rework to remove casting "+count" and other issues; */
354
- // pgp.pg.types.setTypeParser(20, BigInt);
355
-
356
- /**
357
- * Prevent timestamp casting to ensure we don't lose the microseconds.
358
- * This is needed to ensure the filters work as expected for a given row
359
- *
360
- register(1114, parseTimestamp) // timestamp without time zone
361
- register(1184, parseTimestampTz) // timestamp with time zone
362
- */
363
- // pgp.pg.types.setTypeParser(1114, v => v); // timestamp without time zone
364
- // pgp.pg.types.setTypeParser(1184, v => v); // timestamp with time zone
365
- // pgp.pg.types.setTypeParser(1182, v => v); // date
366
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMP, (v) => v); // timestamp without time zone
367
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.TIMESTAMPTZ, (v) => v); // timestamp with time zone
368
- pgp.pg.types.setTypeParser(pgp.pg.types.builtins.DATE, (v) => v); // date
369
-
370
- return {
371
- db: pgp(dbConnection),
372
- pgp,
373
- };
374
- };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.350",
3
+ "version": "4.2.352",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",