prostgles-server 4.1.94 → 4.1.95
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/TableHandler/updateBatch.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateBatch.js +4 -0
- package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
- package/dist/PostgresNotifListenManager.d.ts +2 -2
- package/dist/PostgresNotifListenManager.d.ts.map +1 -1
- package/dist/PostgresNotifListenManager.js +16 -33
- package/dist/PostgresNotifListenManager.js.map +1 -1
- package/dist/PublishParser.js +1 -1
- package/dist/PublishParser.js.map +1 -1
- package/lib/DboBuilder/TableHandler/updateBatch.ts +4 -0
- package/lib/PostgresNotifListenManager.ts +120 -136
- package/lib/PublishParser.ts +1 -1
- package/package.json +1 -1
- package/tests/server/package-lock.json +1 -1
- package/tests/client/PID.txt +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateBatch.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAiD,MAAM,kBAAkB,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"updateBatch.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAiD,MAAM,kBAAkB,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,wBAAsB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAoC5K"}
|
|
@@ -5,6 +5,10 @@ const DboBuilder_1 = require("../../DboBuilder");
|
|
|
5
5
|
async function updateBatch(updates, params, tableRules, localParams) {
|
|
6
6
|
try {
|
|
7
7
|
await this._log({ command: "updateBatch", localParams, data: { data: updates, params } });
|
|
8
|
+
const { checkFilter, postValidate } = tableRules?.update ?? {};
|
|
9
|
+
if (checkFilter || postValidate) {
|
|
10
|
+
throw `updateBatch not allowed for tables with checkFilter or postValidate rules`;
|
|
11
|
+
}
|
|
8
12
|
const updateQueries = await Promise.all(updates.map(async ([filter, data]) => {
|
|
9
13
|
const query = (await this.update(filter, data, { ...(params || {}), returning: undefined }, tableRules, { ...(localParams || {}), returnQuery: "noRLS" }));
|
|
10
14
|
return query;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateBatch.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateBatch.ts"],"names":[],"mappings":";;;AACA,iDAAsG;AAK/F,KAAK,UAAU,WAAW,CAAqB,OAA8B,EAAE,MAAqB,EAAE,UAAsB,EAAE,WAAyB;IAC5J,IAAI;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,aAAa,GAAa,MAAM,OAAO,CAAC,GAAG,CAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAC9B,MAAM,EACN,IAAI,EACJ,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAC3C,UAAU,EACV,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CACjD,CAAsB,CAAC;YAExB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;QACF,MAAM,OAAO,GAAG;YACd,IAAA,wBAAW,EAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,GAAG,aAAa;SACjB,CAAC;QAEF,MAAM,CAAC,GAAG,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAG,CAAC,EAAC;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;SACnC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACpB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,iCAAoB,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;KACnE;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ;YAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAA,uBAAU,EAAC,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;KAClD;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"updateBatch.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateBatch.ts"],"names":[],"mappings":";;;AACA,iDAAsG;AAK/F,KAAK,UAAU,WAAW,CAAqB,OAA8B,EAAE,MAAqB,EAAE,UAAsB,EAAE,WAAyB;IAC5J,IAAI;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;QAC/D,IAAG,WAAW,IAAI,YAAY,EAAC;YAC7B,MAAM,2EAA2E,CAAA;SAClF;QACD,MAAM,aAAa,GAAa,MAAM,OAAO,CAAC,GAAG,CAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAC9B,MAAM,EACN,IAAI,EACJ,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAC3C,UAAU,EACV,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CACjD,CAAsB,CAAC;YAExB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CACH,CAAC;QACF,MAAM,OAAO,GAAG;YACd,IAAA,wBAAW,EAAC,WAAW,EAAE,EAAE,CAAC;YAC5B,GAAG,aAAa;SACjB,CAAC;QAEF,MAAM,CAAC,GAAG,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAG,CAAC,EAAC;YACH,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;SACnC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACpB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,iCAAoB,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;KACnE;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ;YAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAA,uBAAU,EAAC,CAAC,EAAE,OAAO,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;KAClD;AACH,CAAC;AApCD,kCAoCC"}
|
|
@@ -21,8 +21,8 @@ export declare class PostgresNotifListenManager {
|
|
|
21
21
|
isReady(): any;
|
|
22
22
|
startListening(): Promise<unknown>;
|
|
23
23
|
destroyed: boolean;
|
|
24
|
-
destroy: () => void
|
|
25
|
-
stopListening: () => void
|
|
24
|
+
destroy: () => Promise<void>;
|
|
25
|
+
stopListening: () => Promise<void>;
|
|
26
26
|
reconnect(delay?: number | undefined, maxAttempts?: number | undefined): Promise<unknown>;
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=PostgresNotifListenManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresNotifListenManager.d.ts","sourceRoot":"","sources":["../lib/PostgresNotifListenManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,iCAAiC,CAAC;AACjD,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"PostgresNotifListenManager.d.ts","sourceRoot":"","sources":["../lib/PostgresNotifListenManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,iCAAiC,CAAC;AACjD,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,IAAI,CAAC;AAEX,qBAAa,0BAA0B;IACrC,UAAU,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAClD,KAAK,EAAE,EAAE,CAAC;IACV,aAAa,EAAE,iBAAiB,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;IAEpB,MAAM,CAAC,MAAM,6BAA8B,iBAAiB,mBAAmB,MAAM,KAAG,QAAQ,0BAA0B,CAAC,CAG1H;gBAEW,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,UAAQ;IAS1F,IAAI,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAQjD,OAAO;IAIP,cAAc;IASd,SAAS,UAAS;IAClB,OAAO,sBAKN;IAED,aAAa,sBASZ;IAED,SAAS,CAAC,KAAK,GAAE,MAAM,GAAG,SAAa,EAAE,WAAW,GAAE,MAAM,GAAG,SAAa;CA6D7E"}
|
|
@@ -36,49 +36,34 @@ class PostgresNotifListenManager {
|
|
|
36
36
|
startListening() {
|
|
37
37
|
if (!this.db_pg || !this.notifListener)
|
|
38
38
|
throw "PostgresNotifListenManager: db_pg OR notifListener missing";
|
|
39
|
-
return this.reconnect()
|
|
40
|
-
.then(obj => {
|
|
41
|
-
return obj;
|
|
42
|
-
/* TODO: expose this within onReady */
|
|
43
|
-
// console.log('psqlWS - Successful Initial Connection');
|
|
44
|
-
// obj.done(); - releases the connection
|
|
45
|
-
/* HOW TO SEND NOTIF
|
|
46
|
-
Used for testing in conjunction with
|
|
47
|
-
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='db-name';
|
|
48
|
-
|
|
49
|
-
function sendNotifications() {
|
|
50
|
-
if (this.connection) {
|
|
51
|
-
this.connection.none('NOTIFY $1~, $2', [this.db_channel_name, 'my payload string'])
|
|
52
|
-
.catch(error => {
|
|
53
|
-
console.log('psqlWS - Failed to Notify:', error); // unlikely to ever happen
|
|
54
|
-
})
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
*/
|
|
58
|
-
})
|
|
39
|
+
return this.reconnect()
|
|
59
40
|
.catch(error => {
|
|
60
41
|
console.log('PostgresNotifListenManager: Failed Initial Connection:', error);
|
|
61
42
|
});
|
|
62
43
|
}
|
|
63
44
|
destroyed = false;
|
|
64
|
-
destroy = () => {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
45
|
+
destroy = async () => {
|
|
46
|
+
this.destroyed = true;
|
|
47
|
+
await this.stopListening();
|
|
48
|
+
this.connection?.done();
|
|
49
|
+
this.connection = undefined;
|
|
70
50
|
};
|
|
71
|
-
stopListening = () => {
|
|
51
|
+
stopListening = async () => {
|
|
72
52
|
if (this.db_channel_name) {
|
|
73
|
-
|
|
74
|
-
this.connection
|
|
75
|
-
|
|
76
|
-
|
|
53
|
+
try {
|
|
54
|
+
await this.connection?.none('UNLISTEN $1~', [this.db_channel_name]);
|
|
55
|
+
await this.client?.query('UNLISTEN $1~', [this.db_channel_name]);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
}
|
|
77
59
|
}
|
|
78
60
|
};
|
|
79
61
|
reconnect(delay = 0, maxAttempts = 0) {
|
|
80
62
|
if (!this.db_pg || !this.notifListener)
|
|
81
63
|
throw "db_pg OR notifListener missing";
|
|
64
|
+
if (this.destroyed) {
|
|
65
|
+
return Promise.reject("Destroyed");
|
|
66
|
+
}
|
|
82
67
|
delay = delay > 0 ? parseInt(delay + "") : 0;
|
|
83
68
|
maxAttempts = maxAttempts > 0 ? parseInt(maxAttempts + "") : 1;
|
|
84
69
|
const setListeners = (client, notifListener, db_channel_name) => {
|
|
@@ -96,8 +81,6 @@ class PostgresNotifListenManager {
|
|
|
96
81
|
console.log('PostgresNotifListenManager: Connectivity Problem:', err);
|
|
97
82
|
this.connection = undefined; // prevent use of the broken connection
|
|
98
83
|
removeListeners(e.client);
|
|
99
|
-
if (this.destroyed)
|
|
100
|
-
return;
|
|
101
84
|
this.reconnect(5000, 10) // retry 10 times, with 5-second intervals
|
|
102
85
|
.then(() => {
|
|
103
86
|
console.log('PostgresNotifListenManager: Successfully Reconnected');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresNotifListenManager.js","sourceRoot":"","sources":["../lib/PostgresNotifListenManager.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAchG,MAAa,0BAA0B;
|
|
1
|
+
{"version":3,"file":"PostgresNotifListenManager.js","sourceRoot":"","sources":["../lib/PostgresNotifListenManager.ts"],"names":[],"mappings":"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"}
|
package/dist/PublishParser.js
CHANGED
|
@@ -322,7 +322,7 @@ class PublishParser {
|
|
|
322
322
|
r.methods.forEach(method => {
|
|
323
323
|
const isAllowed = tableRules[r.rule] && tableRules[method] === undefined;
|
|
324
324
|
if (isAllowed) {
|
|
325
|
-
if (method === "updateBatch" && !tableRules.update) {
|
|
325
|
+
if (method === "updateBatch" && (!tableRules.update || tableRules.update.checkFilter || tableRules.update.postValidate)) {
|
|
326
326
|
// not allowed
|
|
327
327
|
}
|
|
328
328
|
else if (method === "upsert" && (!tableRules.update || !tableRules.insert)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../lib/PublishParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,10 @@ import { TableHandler } from "./TableHandler";
|
|
|
7
7
|
export async function updateBatch(this: TableHandler, updates: [Filter, AnyObject][], params?: UpdateParams, tableRules?: TableRule, localParams?: LocalParams): Promise<any> {
|
|
8
8
|
try {
|
|
9
9
|
await this._log({ command: "updateBatch", localParams, data: { data: updates, params } });
|
|
10
|
+
const { checkFilter, postValidate } = tableRules?.update ?? {};
|
|
11
|
+
if(checkFilter || postValidate){
|
|
12
|
+
throw `updateBatch not allowed for tables with checkFilter or postValidate rules`
|
|
13
|
+
}
|
|
10
14
|
const updateQueries: string[] = await Promise.all(
|
|
11
15
|
updates.map(async ([filter, data]) => {
|
|
12
16
|
const query = (await this.update(
|
|
@@ -7,151 +7,135 @@ import { DB } from "./Prostgles";
|
|
|
7
7
|
import pg from "pg-promise/typescript/pg-subset";
|
|
8
8
|
import pgPromise from "pg-promise";
|
|
9
9
|
|
|
10
|
-
export type PrglNotifListener = (args: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
export type PrglNotifListener = (args: {
|
|
11
|
+
length: number;
|
|
12
|
+
processId: number;
|
|
13
|
+
channel: string;
|
|
14
|
+
payload: string;
|
|
15
|
+
name: string;
|
|
16
16
|
}) => void;
|
|
17
17
|
|
|
18
18
|
export class PostgresNotifListenManager {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
connection?: pgPromise.IConnected<{}, pg.IClient>;
|
|
20
|
+
db_pg: DB;
|
|
21
|
+
notifListener: PrglNotifListener;
|
|
22
|
+
db_channel_name: string;
|
|
23
|
+
isListening: any;
|
|
24
|
+
client?: pg.IClient;
|
|
25
|
+
|
|
26
|
+
static create = (db_pg: DB, notifListener: PrglNotifListener, db_channel_name: string): Promise<PostgresNotifListenManager> => {
|
|
27
|
+
const res = new PostgresNotifListenManager(db_pg, notifListener, db_channel_name, true);
|
|
28
|
+
return res.init();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
constructor(db_pg: DB, notifListener: PrglNotifListener, db_channel_name: string, noInit = false) {
|
|
32
|
+
if (!db_pg || !notifListener || !db_channel_name) throw "PostgresNotifListenManager: db_pg OR notifListener OR db_channel_name MISSING";
|
|
33
|
+
this.db_pg = db_pg;
|
|
34
|
+
this.notifListener = notifListener;
|
|
35
|
+
this.db_channel_name = db_channel_name;
|
|
36
|
+
|
|
37
|
+
if (!noInit) this.init()
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async init(): Promise<PostgresNotifListenManager> {
|
|
41
|
+
|
|
42
|
+
this.connection = undefined;
|
|
43
|
+
|
|
44
|
+
this.isListening = await this.startListening();
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
isReady() {
|
|
49
|
+
return this.isListening;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
startListening() {
|
|
53
|
+
if (!this.db_pg || !this.notifListener) throw "PostgresNotifListenManager: db_pg OR notifListener missing";
|
|
54
|
+
|
|
55
|
+
return this.reconnect()
|
|
56
|
+
.catch(error => {
|
|
57
|
+
console.log('PostgresNotifListenManager: Failed Initial Connection:', error);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
destroyed = false;
|
|
62
|
+
destroy = async () => {
|
|
63
|
+
this.destroyed = true;
|
|
64
|
+
await this.stopListening();
|
|
65
|
+
this.connection?.done();
|
|
66
|
+
this.connection = undefined;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
stopListening = async () => {
|
|
70
|
+
if (this.db_channel_name) {
|
|
71
|
+
try {
|
|
72
|
+
await this.connection?.none('UNLISTEN $1~', [this.db_channel_name])
|
|
73
|
+
await this.client?.query('UNLISTEN $1~', [this.db_channel_name])
|
|
74
|
+
} catch(error){
|
|
75
|
+
|
|
76
|
+
}
|
|
29
77
|
}
|
|
78
|
+
}
|
|
30
79
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.db_pg = db_pg;
|
|
34
|
-
this.notifListener = notifListener;
|
|
35
|
-
this.db_channel_name = db_channel_name;
|
|
80
|
+
reconnect(delay: number | undefined = 0, maxAttempts: number | undefined = 0) {
|
|
81
|
+
if (!this.db_pg || !this.notifListener) throw "db_pg OR notifListener missing";
|
|
36
82
|
|
|
37
|
-
|
|
83
|
+
if (this.destroyed) {
|
|
84
|
+
return Promise.reject("Destroyed")
|
|
38
85
|
}
|
|
39
86
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
console.log('psqlWS - Failed to Notify:', error); // unlikely to ever happen
|
|
72
|
-
})
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
*/
|
|
76
|
-
|
|
77
|
-
})
|
|
78
|
-
.catch(error => {
|
|
79
|
-
console.log('PostgresNotifListenManager: Failed Initial Connection:', error);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
destroyed = false;
|
|
84
|
-
destroy = () => {
|
|
85
|
-
if(this.connection) {
|
|
86
|
-
this.destroyed = true;
|
|
87
|
-
this.connection.done();
|
|
88
|
-
this.connection = undefined;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
stopListening = () => {
|
|
93
|
-
if(this.db_channel_name) {
|
|
94
|
-
if(this.connection) this.connection.none('UNLISTEN $1~', this.db_channel_name)
|
|
95
|
-
if(this.client) this.client.query('UNLISTEN $1~', this.db_channel_name as any)
|
|
96
|
-
}
|
|
87
|
+
delay = delay > 0 ? parseInt(delay + "") : 0;
|
|
88
|
+
maxAttempts = maxAttempts > 0 ? parseInt(maxAttempts + "") : 1;
|
|
89
|
+
|
|
90
|
+
const setListeners = (client: pg.IClient, notifListener: PrglNotifListener, db_channel_name: string) => {
|
|
91
|
+
client.on('notification', notifListener);
|
|
92
|
+
this.client = client;
|
|
93
|
+
if (!this.connection) throw "Connection missing";
|
|
94
|
+
return this.connection.none(
|
|
95
|
+
`/* prostgles-server internal query used for subscriptions and schema hot reload */ \nLISTEN $1~`, db_channel_name)
|
|
96
|
+
.catch(error => {
|
|
97
|
+
console.log("PostgresNotifListenManager: unexpected error: ", error); // unlikely to ever happen
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
removeListeners = (client: pg.IClient) => {
|
|
101
|
+
client.removeListener('notification', this.notifListener);
|
|
102
|
+
},
|
|
103
|
+
onConnectionLost = (err: any, e: pgPromise.ILostContext<pg.IClient>) => {
|
|
104
|
+
|
|
105
|
+
console.log('PostgresNotifListenManager: Connectivity Problem:', err);
|
|
106
|
+
this.connection = undefined; // prevent use of the broken connection
|
|
107
|
+
removeListeners(e.client);
|
|
108
|
+
|
|
109
|
+
this.reconnect(5000, 10) // retry 10 times, with 5-second intervals
|
|
110
|
+
.then(() => {
|
|
111
|
+
console.log('PostgresNotifListenManager: Successfully Reconnected');
|
|
112
|
+
})
|
|
113
|
+
.catch(() => {
|
|
114
|
+
// failed after 10 attempts
|
|
115
|
+
console.log('PostgresNotifListenManager: Connection Lost Permanently. No more retryies');
|
|
116
|
+
// process.exit(); // exiting the process
|
|
117
|
+
});
|
|
97
118
|
}
|
|
98
119
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
removeListeners = (client: pg.IClient) => {
|
|
116
|
-
client.removeListener('notification', this.notifListener);
|
|
117
|
-
},
|
|
118
|
-
onConnectionLost = (err: any, e: pgPromise.ILostContext<pg.IClient>) => {
|
|
119
|
-
|
|
120
|
-
console.log('PostgresNotifListenManager: Connectivity Problem:', err);
|
|
121
|
-
this.connection = undefined; // prevent use of the broken connection
|
|
122
|
-
removeListeners(e.client);
|
|
123
|
-
|
|
124
|
-
if(this.destroyed) return;
|
|
125
|
-
this.reconnect(5000, 10) // retry 10 times, with 5-second intervals
|
|
126
|
-
.then(() => {
|
|
127
|
-
console.log('PostgresNotifListenManager: Successfully Reconnected');
|
|
128
|
-
})
|
|
129
|
-
.catch(() => {
|
|
130
|
-
// failed after 10 attempts
|
|
131
|
-
console.log('PostgresNotifListenManager: Connection Lost Permanently. No more retryies');
|
|
132
|
-
// process.exit(); // exiting the process
|
|
133
|
-
});
|
|
120
|
+
return new Promise((resolve, reject) => {
|
|
121
|
+
setTimeout(() => {
|
|
122
|
+
this.db_pg.connect({ direct: true, onLost: onConnectionLost })
|
|
123
|
+
.then(obj => {
|
|
124
|
+
this.connection = obj; // global connection is now available
|
|
125
|
+
resolve(obj);
|
|
126
|
+
return setListeners(obj.client, this.notifListener, this.db_channel_name);
|
|
127
|
+
})
|
|
128
|
+
.catch(error => {
|
|
129
|
+
console.log('PostgresNotifListenManager: Error Connecting:', error);
|
|
130
|
+
if (--maxAttempts) {
|
|
131
|
+
this.reconnect(delay, maxAttempts)
|
|
132
|
+
.then(resolve)
|
|
133
|
+
.catch(reject);
|
|
134
|
+
} else {
|
|
135
|
+
reject(error);
|
|
134
136
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
.then(obj => {
|
|
140
|
-
this.connection = obj; // global connection is now available
|
|
141
|
-
resolve(obj);
|
|
142
|
-
return setListeners(obj.client, this.notifListener, this.db_channel_name);
|
|
143
|
-
})
|
|
144
|
-
.catch(error => {
|
|
145
|
-
console.log('PostgresNotifListenManager: Error Connecting:', error);
|
|
146
|
-
if (--maxAttempts) {
|
|
147
|
-
this.reconnect(delay, maxAttempts)
|
|
148
|
-
.then(resolve)
|
|
149
|
-
.catch(reject);
|
|
150
|
-
} else {
|
|
151
|
-
reject(error);
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
}, delay);
|
|
155
|
-
});
|
|
156
|
-
}
|
|
137
|
+
});
|
|
138
|
+
}, delay);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
157
141
|
}
|
package/lib/PublishParser.ts
CHANGED
|
@@ -664,7 +664,7 @@ export class PublishParser {
|
|
|
664
664
|
const isAllowed = tableRules[r.rule] && (tableRules as any)[method] === undefined;
|
|
665
665
|
if (isAllowed) {
|
|
666
666
|
|
|
667
|
-
if (method === "updateBatch" && !tableRules.update) {
|
|
667
|
+
if (method === "updateBatch" && (!tableRules.update || tableRules.update.checkFilter || tableRules.update.postValidate)) {
|
|
668
668
|
// not allowed
|
|
669
669
|
|
|
670
670
|
} else if (method === "upsert" && (!tableRules.update || !tableRules.insert)) {
|
package/package.json
CHANGED
package/tests/client/PID.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3217
|