prostgles-server 4.2.130 → 4.2.131
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3E,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3E,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAoKjF"}
|
|
@@ -38,11 +38,16 @@ async function notifListener(data) {
|
|
|
38
38
|
if (!table_name) {
|
|
39
39
|
throw "table_name undef";
|
|
40
40
|
}
|
|
41
|
-
const
|
|
41
|
+
const tableTriggerConditions = this._triggers?.[table_name]?.map((condition, idx) => ({
|
|
42
|
+
idx,
|
|
43
|
+
condition,
|
|
44
|
+
subs: this.getTriggerSubs(table_name, condition),
|
|
45
|
+
syncs: this.getSyncs(table_name, condition),
|
|
46
|
+
}));
|
|
42
47
|
let state = "ok";
|
|
43
48
|
// const triggers = await this.db.any("SELECT * FROM prostgles.triggers WHERE table_name = $1 AND id IN ($2:csv)", [table_name, condition_ids_str.split(",").map(v => +v)]);
|
|
44
49
|
// const conditions: string[] = triggers.map(t => t.condition);
|
|
45
|
-
if (!
|
|
50
|
+
if (!tableTriggerConditions?.length) {
|
|
46
51
|
state = "no-triggers";
|
|
47
52
|
/* Trigger error */
|
|
48
53
|
}
|
|
@@ -50,8 +55,8 @@ async function notifListener(data) {
|
|
|
50
55
|
state = "error";
|
|
51
56
|
const pref = "INTERNAL ERROR";
|
|
52
57
|
console.error(`${pref}: condition_ids_str: ${condition_ids_str}`);
|
|
53
|
-
|
|
54
|
-
const subs = this.getTriggerSubs(table_name,
|
|
58
|
+
tableTriggerConditions.map(({ condition }) => {
|
|
59
|
+
const subs = this.getTriggerSubs(table_name, condition);
|
|
55
60
|
subs.map(s => {
|
|
56
61
|
this.pushSubData(s, pref + ". Check server logs. Schema might have changed");
|
|
57
62
|
});
|
|
@@ -60,8 +65,11 @@ async function notifListener(data) {
|
|
|
60
65
|
}
|
|
61
66
|
else if (condition_ids?.every(id => Number.isInteger(id))) {
|
|
62
67
|
state = "ok";
|
|
63
|
-
const
|
|
64
|
-
const orphanedConditions = condition_ids.filter((condId) =>
|
|
68
|
+
const firedTableConditions = tableTriggerConditions.filter(({ idx }) => condition_ids.includes(idx));
|
|
69
|
+
const orphanedConditions = condition_ids.filter((condId) => {
|
|
70
|
+
const tc = tableTriggerConditions.at(condId);
|
|
71
|
+
return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
|
|
72
|
+
});
|
|
65
73
|
if (orphanedConditions.length) {
|
|
66
74
|
this.db
|
|
67
75
|
.any(`
|
|
@@ -81,9 +89,7 @@ async function notifListener(data) {
|
|
|
81
89
|
console.error("Error deleting orphaned triggers", e);
|
|
82
90
|
});
|
|
83
91
|
}
|
|
84
|
-
|
|
85
|
-
const subs = this.getTriggerSubs(table_name, condition);
|
|
86
|
-
const syncs = this.getSyncs(table_name, condition);
|
|
92
|
+
firedTableConditions.map(({ subs, syncs }) => {
|
|
87
93
|
(0, PubSubManager_1.log)("notifListener", subs.map(s => s.channel_name), syncs.map(s => s.channel_name));
|
|
88
94
|
syncs.map((s) => {
|
|
89
95
|
this.syncData(s, undefined, "trigger");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":";;;AAAA,mDAA2E;AAE3E,mDAAmD;AAC5C,KAAK,UAAU,aAAa,CAAsB,IAAyB;IAChF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACvC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,6BAAa,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAA,mBAAG,EAAC,GAAG,CAAC,CAAC;IAET,IAAI,SAAS,KAAK,0BAAU,CAAC,MAAM,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;YAC1D,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;YACjD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAErI,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;QAED,OAAO;IACT,CAAC;SAAM,IAAG,SAAS,KAAK,0BAAU,CAAC,mBAAmB,EAAE,CAAC;QAEvD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,SAAS,KAAK,0BAAU,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,mCAAmC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,OAAO,CAAC;IAC5D,MAAM,aAAa,GAAG,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAGjE,IAAG,CAAC,UAAU,EAAE,CAAC;QACf,MAAM,kBAAkB,CAAC;IAC3B,CAAC;IAED,MAAM,
|
|
1
|
+
{"version":3,"file":"notifListener.js","sourceRoot":"","sources":["../../lib/PubSubManager/notifListener.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,14 +49,19 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
49
49
|
throw "table_name undef";
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
const
|
|
52
|
+
const tableTriggerConditions = this._triggers?.[table_name]?.map((condition, idx) => ({
|
|
53
|
+
idx,
|
|
54
|
+
condition,
|
|
55
|
+
subs: this.getTriggerSubs(table_name, condition),
|
|
56
|
+
syncs: this.getSyncs(table_name, condition),
|
|
57
|
+
}));
|
|
53
58
|
let state: "error" | "no-triggers" | "ok" | "invalid_condition_ids" = "ok";
|
|
54
59
|
|
|
55
60
|
// const triggers = await this.db.any("SELECT * FROM prostgles.triggers WHERE table_name = $1 AND id IN ($2:csv)", [table_name, condition_ids_str.split(",").map(v => +v)]);
|
|
56
61
|
// const conditions: string[] = triggers.map(t => t.condition);
|
|
57
62
|
|
|
58
63
|
|
|
59
|
-
if(!
|
|
64
|
+
if(!tableTriggerConditions?.length){
|
|
60
65
|
state = "no-triggers";
|
|
61
66
|
|
|
62
67
|
/* Trigger error */
|
|
@@ -66,8 +71,8 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
66
71
|
state = "error";
|
|
67
72
|
const pref = "INTERNAL ERROR";
|
|
68
73
|
console.error(`${pref}: condition_ids_str: ${condition_ids_str}`)
|
|
69
|
-
|
|
70
|
-
const subs = this.getTriggerSubs(table_name,
|
|
74
|
+
tableTriggerConditions.map(({ condition }) => {
|
|
75
|
+
const subs = this.getTriggerSubs(table_name, condition);
|
|
71
76
|
subs.map(s => {
|
|
72
77
|
this.pushSubData(s, pref + ". Check server logs. Schema might have changed");
|
|
73
78
|
})
|
|
@@ -79,8 +84,11 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
79
84
|
) {
|
|
80
85
|
|
|
81
86
|
state = "ok";
|
|
82
|
-
const
|
|
83
|
-
const orphanedConditions = condition_ids.filter((condId) =>
|
|
87
|
+
const firedTableConditions = tableTriggerConditions.filter(({ idx }) => condition_ids.includes(idx));
|
|
88
|
+
const orphanedConditions = condition_ids.filter((condId) => {
|
|
89
|
+
const tc = tableTriggerConditions.at(condId);
|
|
90
|
+
return !tc || (tc.subs.length === 0 && tc.syncs.length === 0);
|
|
91
|
+
});
|
|
84
92
|
if(orphanedConditions.length){
|
|
85
93
|
this.db
|
|
86
94
|
.any(`
|
|
@@ -103,10 +111,7 @@ export async function notifListener(this: PubSubManager, data: { payload: string
|
|
|
103
111
|
});
|
|
104
112
|
}
|
|
105
113
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
const subs = this.getTriggerSubs(table_name, condition);
|
|
109
|
-
const syncs = this.getSyncs(table_name, condition);
|
|
114
|
+
firedTableConditions.map(({ subs, syncs }) => {
|
|
110
115
|
|
|
111
116
|
log("notifListener", subs.map(s => s.channel_name), syncs.map(s => s.channel_name))
|
|
112
117
|
|
package/package.json
CHANGED