prostgles-server 3.0.154 → 4.0.1
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/AuthHandler.d.ts.map +1 -1
- package/dist/AuthHandler.js +6 -3
- package/dist/AuthHandler.js.map +1 -1
- package/dist/DBEventsManager.d.ts.map +1 -1
- package/dist/DBEventsManager.js +5 -4
- package/dist/DBEventsManager.js.map +1 -1
- package/dist/DBSchemaBuilder.js +14 -14
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/Functions.js +1 -1
- package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -1
- package/dist/DboBuilder/TableHandler.js +1 -2
- package/dist/DboBuilder/TableHandler.js.map +1 -1
- package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler.js +10 -8
- package/dist/DboBuilder/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/getCondition.js +1 -1
- package/dist/DboBuilder/getCondition.js.map +1 -1
- package/dist/DboBuilder/insert.js +1 -1
- package/dist/DboBuilder/insert.js.map +1 -1
- package/dist/DboBuilder/insertDataParse.js +4 -3
- package/dist/DboBuilder/insertDataParse.js.map +1 -1
- package/dist/DboBuilder/subscribe.d.ts +2 -2
- package/dist/DboBuilder/subscribe.d.ts.map +1 -1
- package/dist/DboBuilder/subscribe.js +3 -4
- package/dist/DboBuilder/subscribe.js.map +1 -1
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +5 -4
- package/dist/DboBuilder.js.map +1 -1
- package/dist/FileManager.js +1 -1
- package/dist/FileManager.js.map +1 -1
- package/dist/Filtering.js.map +1 -1
- package/dist/JSONBValidation/validation.js.map +1 -1
- package/dist/Prostgles.js +1 -1
- package/dist/Prostgles.js.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +28 -26
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +53 -433
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/addSub.d.ts +8 -0
- package/dist/PubSubManager/addSub.d.ts.map +1 -0
- package/dist/PubSubManager/addSub.js +163 -0
- package/dist/PubSubManager/addSub.js.map +1 -0
- package/dist/PubSubManager/addSync.d.ts +8 -0
- package/dist/PubSubManager/addSync.d.ts.map +1 -0
- package/dist/PubSubManager/addSync.js +110 -0
- package/dist/PubSubManager/addSync.js.map +1 -0
- package/dist/PubSubManager/notifListener.d.ts +5 -0
- package/dist/PubSubManager/notifListener.d.ts.map +1 -0
- package/dist/PubSubManager/notifListener.js +99 -0
- package/dist/PubSubManager/notifListener.js.map +1 -0
- package/dist/PubSubManager/pushSubData.d.ts +3 -0
- package/dist/PubSubManager/pushSubData.d.ts.map +1 -0
- package/dist/PubSubManager/pushSubData.js +48 -0
- package/dist/PubSubManager/pushSubData.js.map +1 -0
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser.js +4 -3
- package/dist/PublishParser.js.map +1 -1
- package/dist/TableConfig/TableConfig.js.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
- package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
- package/lib/AuthHandler.d.ts.map +1 -1
- package/lib/AuthHandler.js +6 -3
- package/lib/AuthHandler.ts +12 -7
- package/lib/DBEventsManager.d.ts.map +1 -1
- package/lib/DBEventsManager.js +5 -4
- package/lib/DBEventsManager.ts +10 -9
- package/lib/DBSchemaBuilder.js +14 -14
- package/lib/DBSchemaBuilder.ts +14 -14
- package/lib/DboBuilder/QueryBuilder/Functions.js +1 -1
- package/lib/DboBuilder/QueryBuilder/Functions.ts +2 -2
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +1 -1
- package/lib/DboBuilder/TableHandler.d.ts +1 -5
- package/lib/DboBuilder/TableHandler.d.ts.map +1 -1
- package/lib/DboBuilder/TableHandler.js +1 -2
- package/lib/DboBuilder/TableHandler.ts +3 -3
- package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/lib/DboBuilder/ViewHandler.js +10 -8
- package/lib/DboBuilder/ViewHandler.ts +22 -20
- package/lib/DboBuilder/getCondition.js +1 -1
- package/lib/DboBuilder/getCondition.ts +2 -2
- package/lib/DboBuilder/insert.js +1 -1
- package/lib/DboBuilder/insert.ts +1 -1
- package/lib/DboBuilder/insertDataParse.js +4 -3
- package/lib/DboBuilder/insertDataParse.ts +15 -13
- package/lib/DboBuilder/subscribe.d.ts +2 -2
- package/lib/DboBuilder/subscribe.d.ts.map +1 -1
- package/lib/DboBuilder/subscribe.js +3 -4
- package/lib/DboBuilder/subscribe.ts +8 -9
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +5 -4
- package/lib/DboBuilder.ts +15 -21
- package/lib/FileManager.js +1 -1
- package/lib/FileManager.ts +5 -5
- package/lib/Filtering.ts +1 -1
- package/lib/JSONBValidation/validation.ts +3 -3
- package/lib/Prostgles.js +1 -1
- package/lib/Prostgles.ts +3 -3
- package/lib/PubSubManager/PubSubManager.d.ts +27 -29
- package/lib/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/lib/PubSubManager/PubSubManager.js +54 -437
- package/lib/PubSubManager/PubSubManager.ts +93 -546
- package/lib/PubSubManager/addSub.d.ts +8 -0
- package/lib/PubSubManager/addSub.d.ts.map +1 -0
- package/lib/PubSubManager/addSub.js +162 -0
- package/lib/PubSubManager/addSub.ts +186 -0
- package/lib/PubSubManager/addSync.d.ts +8 -0
- package/lib/PubSubManager/addSync.d.ts.map +1 -0
- package/lib/PubSubManager/addSync.js +109 -0
- package/lib/PubSubManager/addSync.ts +127 -0
- package/lib/PubSubManager/notifListener.d.ts +5 -0
- package/lib/PubSubManager/notifListener.d.ts.map +1 -0
- package/lib/PubSubManager/notifListener.js +98 -0
- package/lib/PubSubManager/notifListener.ts +124 -0
- package/lib/PubSubManager/pushSubData.d.ts +3 -0
- package/lib/PubSubManager/pushSubData.d.ts.map +1 -0
- package/lib/PubSubManager/pushSubData.js +47 -0
- package/lib/PubSubManager/pushSubData.ts +47 -0
- package/lib/PublishParser.d.ts.map +1 -1
- package/lib/PublishParser.js +4 -3
- package/lib/PublishParser.ts +4 -3
- package/lib/TableConfig/TableConfig.ts +7 -7
- package/lib/TableConfig/getConstraintDefinitionQueries.ts +1 -1
- package/lib/TableConfig/getTableColumnQueries.ts +2 -2
- package/package.json +2 -2
- package/tests/client/PID.txt +1 -1
- package/tests/client/package-lock.json +15 -15
- package/tests/client/package.json +1 -1
- package/tests/client/tsconfig.json +2 -1
- package/tests/client_only_queries.js +1 -1
- package/tests/client_only_queries.ts +1 -1
- package/tests/isomorphic_queries.ts +1 -1
- package/tests/server/DBoGenerated.d.ts +2 -2
- package/tests/server/package-lock.json +3 -3
- package/tests/server/tsconfig.json +2 -1
- package/tsconfig.json +1 -1
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
var _a;
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.omitKeys = exports.pickKeys = exports.PubSubManager = exports.log = exports.DEFAULT_SYNC_BATCH_SIZE = exports.asValue = void 0;
|
|
9
|
-
const
|
|
8
|
+
exports.omitKeys = exports.pickKeys = exports.parseCondition = exports.PubSubManager = exports.log = exports.DEFAULT_SYNC_BATCH_SIZE = exports.asValue = void 0;
|
|
9
|
+
const addSync_1 = require("./addSync");
|
|
10
10
|
const DboBuilder_1 = require("../DboBuilder");
|
|
11
11
|
const Prostgles_1 = require("../Prostgles");
|
|
12
12
|
const initPubSubManager_1 = require("./initPubSubManager");
|
|
@@ -16,6 +16,9 @@ const prostgles_types_1 = require("prostgles-types");
|
|
|
16
16
|
const SyncReplication_1 = require("../SyncReplication");
|
|
17
17
|
const util_1 = require("prostgles-types/dist/util");
|
|
18
18
|
const getInitQuery_1 = require("./getInitQuery");
|
|
19
|
+
const addSub_1 = require("./addSub");
|
|
20
|
+
const notifListener_1 = require("./notifListener");
|
|
21
|
+
const pushSubData_1 = require("./pushSubData");
|
|
19
22
|
const pgp = pgPromise({
|
|
20
23
|
promiseLib: Bluebird
|
|
21
24
|
});
|
|
@@ -36,6 +39,10 @@ class PubSubManager {
|
|
|
36
39
|
return this.dboBuilder.dbo;
|
|
37
40
|
}
|
|
38
41
|
constructor(options) {
|
|
42
|
+
this.sockets = {};
|
|
43
|
+
// subs: { [ke: string]: { [ke: string]: { subs: SubscriptionParams[] } } };
|
|
44
|
+
this.subs = [];
|
|
45
|
+
this.syncs = [];
|
|
39
46
|
this.onSchemaChange = undefined;
|
|
40
47
|
this.NOTIF_TYPE = {
|
|
41
48
|
data: "data_has_changed",
|
|
@@ -57,7 +64,8 @@ class PubSubManager {
|
|
|
57
64
|
if (this.appCheck) {
|
|
58
65
|
clearInterval(this.appCheck);
|
|
59
66
|
}
|
|
60
|
-
this.
|
|
67
|
+
this.subs = [];
|
|
68
|
+
this.syncs = [];
|
|
61
69
|
if (!this.postgresNotifListenManager) {
|
|
62
70
|
throw "this.postgresNotifListenManager missing";
|
|
63
71
|
}
|
|
@@ -191,103 +199,24 @@ class PubSubManager {
|
|
|
191
199
|
throw e;
|
|
192
200
|
}
|
|
193
201
|
};
|
|
194
|
-
|
|
195
|
-
this.
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
const dataArr = str.split(PubSubManager.DELIMITER), notifType = dataArr[0];
|
|
202
|
-
(0, exports.log)(str);
|
|
203
|
-
if (notifType === this.NOTIF_TYPE.schema) {
|
|
204
|
-
if (this.onSchemaChange) {
|
|
205
|
-
const command = dataArr[1], event_type = dataArr[2], query = dataArr[3];
|
|
206
|
-
if (query) {
|
|
207
|
-
this.onSchemaChange({ command, query });
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
return;
|
|
211
|
-
}
|
|
212
|
-
if (notifType !== this.NOTIF_TYPE.data) {
|
|
213
|
-
console.error("Unexpected notif type: ", notifType);
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
if (dataArr.length < 3) {
|
|
217
|
-
throw "dataArr length < 3";
|
|
218
|
-
}
|
|
219
|
-
const table_name = dataArr[1], op_name = dataArr[2], condition_ids_str = dataArr[3];
|
|
220
|
-
// 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)]);
|
|
221
|
-
// const conditions: string[] = triggers.map(t => t.condition);
|
|
222
|
-
/**
|
|
223
|
-
* Trigger error
|
|
224
|
-
*/
|
|
225
|
-
(0, exports.log)("PG Trigger ->", dataArr.join("__"));
|
|
226
|
-
if (condition_ids_str && condition_ids_str.startsWith("error") &&
|
|
227
|
-
this._triggers &&
|
|
228
|
-
this._triggers[table_name]?.length) {
|
|
229
|
-
const pref = "INTERNAL ERROR";
|
|
230
|
-
console.error(`${pref}: condition_ids_str: ${condition_ids_str}`);
|
|
231
|
-
this._triggers[table_name].map(c => {
|
|
232
|
-
const subs = this.getSubs(table_name, c);
|
|
233
|
-
subs.map(s => {
|
|
234
|
-
this.pushSubData(s, pref + ". Check server logs. Schema might have changed");
|
|
235
|
-
});
|
|
236
|
-
});
|
|
237
|
-
/**
|
|
238
|
-
* Trigger ok
|
|
239
|
-
*/
|
|
202
|
+
this.notifListener = notifListener_1.notifListener.bind(this);
|
|
203
|
+
this.getSubData = async (sub) => {
|
|
204
|
+
const { table_info, filter, params, table_rules } = sub; //, subOne = false
|
|
205
|
+
const { name: table_name } = table_info;
|
|
206
|
+
if (!this.dbo?.[table_name]?.find) {
|
|
207
|
+
throw new Error(`1107 this.dbo.${table_name}.find`);
|
|
240
208
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
const idxs = condition_ids_str.split(",").map(v => +v);
|
|
245
|
-
const conditions = this._triggers[table_name].filter((c, i) => idxs.includes(i));
|
|
246
|
-
(0, exports.log)("PG Trigger -> ", { table_name, op_name, condition_ids_str, conditions }, this._triggers[table_name]);
|
|
247
|
-
conditions.map(condition => {
|
|
248
|
-
const subs = this.getSubs(table_name, condition);
|
|
249
|
-
const syncs = this.getSyncs(table_name, condition);
|
|
250
|
-
syncs.map((s) => {
|
|
251
|
-
this.syncData(s, undefined, "trigger");
|
|
252
|
-
});
|
|
253
|
-
if (!subs) {
|
|
254
|
-
// console.error(`sub missing for ${table_name} ${condition}`, this.triggers);
|
|
255
|
-
// console.log(this.subs)
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
/* Throttle the subscriptions */
|
|
259
|
-
for (let i = 0; i < subs.length; i++) {
|
|
260
|
-
const sub = subs[i];
|
|
261
|
-
if (this.dbo[sub.table_name] &&
|
|
262
|
-
sub.is_ready &&
|
|
263
|
-
(sub.socket_id && this.sockets[sub.socket_id]) || sub.func) {
|
|
264
|
-
const throttle = sub.throttle || 0;
|
|
265
|
-
if (sub.last_throttled <= Date.now() - throttle) {
|
|
266
|
-
/* It is assumed the policy was checked before this point */
|
|
267
|
-
this.pushSubData(sub);
|
|
268
|
-
// sub.last_throttled = Date.now();
|
|
269
|
-
}
|
|
270
|
-
else if (!sub.is_throttling) {
|
|
271
|
-
(0, exports.log)("throttling sub");
|
|
272
|
-
sub.is_throttling = setTimeout(() => {
|
|
273
|
-
(0, exports.log)("throttling finished. pushSubData...");
|
|
274
|
-
sub.is_throttling = null;
|
|
275
|
-
this.pushSubData(sub);
|
|
276
|
-
}, throttle); // sub.throttle);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
});
|
|
209
|
+
try {
|
|
210
|
+
const data = await this.dbo?.[table_name].find(filter, params, undefined, table_rules);
|
|
211
|
+
return { data };
|
|
281
212
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
// console.warn(190, "Trigger sub not found. DROPPING TRIGGER", table_name, condition_ids_str, this._triggers);
|
|
285
|
-
// this.dropTrigger(table_name);
|
|
286
|
-
// } else {
|
|
287
|
-
// }
|
|
288
|
-
console.warn(190, "Trigger sub issue: ", table_name, condition_ids_str, this._triggers);
|
|
213
|
+
catch (err) {
|
|
214
|
+
return { err };
|
|
289
215
|
}
|
|
290
216
|
};
|
|
217
|
+
this.pushSubData = pushSubData_1.pushSubData.bind(this);
|
|
218
|
+
this.addSync = addSync_1.addSync.bind(this);
|
|
219
|
+
this.addSub = addSub_1.addSub.bind(this);
|
|
291
220
|
this.getActiveListeners = () => {
|
|
292
221
|
const result = [];
|
|
293
222
|
const upsert = (t, c) => {
|
|
@@ -298,11 +227,9 @@ class PubSubManager {
|
|
|
298
227
|
(this.syncs || []).map(s => {
|
|
299
228
|
upsert(s.table_name, s.condition);
|
|
300
229
|
});
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
upsert(table_name, condition);
|
|
305
|
-
}
|
|
230
|
+
this.subs.forEach(s => {
|
|
231
|
+
s.triggers.forEach(trg => {
|
|
232
|
+
upsert(trg.table_name, trg.condition);
|
|
306
233
|
});
|
|
307
234
|
});
|
|
308
235
|
return result;
|
|
@@ -343,9 +270,6 @@ class PubSubManager {
|
|
|
343
270
|
}
|
|
344
271
|
this.onSchemaChange = onSchemaChange;
|
|
345
272
|
this.dboBuilder = dboBuilder;
|
|
346
|
-
this.sockets = {};
|
|
347
|
-
this.subs = {};
|
|
348
|
-
this.syncs = [];
|
|
349
273
|
this.socketChannelPreffix = wsChannelNamePrefix || "_psqlWS_";
|
|
350
274
|
(0, exports.log)("Created PubSubManager");
|
|
351
275
|
}
|
|
@@ -354,348 +278,43 @@ class PubSubManager {
|
|
|
354
278
|
throw "this.postgresNotifListenManager missing";
|
|
355
279
|
return this.postgresNotifListenManager.isListening();
|
|
356
280
|
}
|
|
357
|
-
getSubs(table_name, condition) {
|
|
358
|
-
const subs = this.subs
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
return subs
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
}
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
return parentSubs ?? s;
|
|
377
|
-
}
|
|
378
|
-
return s;
|
|
379
|
-
});
|
|
281
|
+
getSubs(table_name, condition, client) {
|
|
282
|
+
const subs = this.subs.filter(s => (0, util_1.find)(s.triggers, { table_name, condition }));
|
|
283
|
+
if (client) {
|
|
284
|
+
return subs.filter(s => client.func && s.func === client.func || client.socket_id && s.socket_id === client.socket_id);
|
|
285
|
+
}
|
|
286
|
+
return subs;
|
|
287
|
+
}
|
|
288
|
+
removeLocalSub(tableName, conditionRaw, func) {
|
|
289
|
+
const condition = (0, exports.parseCondition)(conditionRaw);
|
|
290
|
+
if (this.getSubs(tableName, condition, { func }).length) {
|
|
291
|
+
this.subs = this.subs.filter(s => s.func !== func && !(0, util_1.find)(s.triggers, { tableName, condition }));
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
console.error("Could not unsubscribe. Subscription might not have initialised yet", { tableName, condition });
|
|
295
|
+
}
|
|
380
296
|
}
|
|
381
297
|
getSyncs(table_name, condition) {
|
|
382
298
|
return (this.syncs || [])
|
|
383
299
|
.filter((s) => s.table_name === table_name && s.condition === condition);
|
|
384
300
|
}
|
|
385
|
-
pushSubData(sub, err) {
|
|
386
|
-
if (!sub)
|
|
387
|
-
throw "pushSubData: invalid sub";
|
|
388
|
-
const { table_name, filter, params, table_rules, socket_id, channel_name, func } = sub; //, subOne = false
|
|
389
|
-
sub.last_throttled = Date.now();
|
|
390
|
-
if (err) {
|
|
391
|
-
if (socket_id) {
|
|
392
|
-
this.sockets[socket_id].emit(channel_name, { err });
|
|
393
|
-
}
|
|
394
|
-
return true;
|
|
395
|
-
}
|
|
396
|
-
return new Promise(async (resolve, reject) => {
|
|
397
|
-
/* TODO: Retire subOne -> it's redundant */
|
|
398
|
-
// this.dbo[table_name][subOne? "findOne" : "find"](filter, params, null, table_rules)
|
|
399
|
-
if (!this.dbo?.[table_name]?.find) {
|
|
400
|
-
throw new Error(`1107 this.dbo.${table_name}.find`);
|
|
401
|
-
}
|
|
402
|
-
this.dbo?.[table_name]?.find?.(filter, params, undefined, table_rules)
|
|
403
|
-
.then(data => {
|
|
404
|
-
if (socket_id && this.sockets[socket_id]) {
|
|
405
|
-
(0, exports.log)("Pushed " + data.length + " records to sub");
|
|
406
|
-
this.sockets[socket_id].emit(channel_name, { data }, () => {
|
|
407
|
-
resolve(data);
|
|
408
|
-
});
|
|
409
|
-
/* TO DO: confirm receiving data or server will unsubscribe
|
|
410
|
-
{ data }, (cb)=> { console.log(cb) });
|
|
411
|
-
*/
|
|
412
|
-
}
|
|
413
|
-
else if (func) {
|
|
414
|
-
func(data);
|
|
415
|
-
resolve(data);
|
|
416
|
-
}
|
|
417
|
-
sub.last_throttled = Date.now();
|
|
418
|
-
}).catch(err => {
|
|
419
|
-
const errObj = { _err_msg: err.toString(), err };
|
|
420
|
-
if (socket_id && this.sockets[socket_id]) {
|
|
421
|
-
this.sockets[socket_id].emit(channel_name, { err: errObj });
|
|
422
|
-
}
|
|
423
|
-
else if (func) {
|
|
424
|
-
func({ err: errObj });
|
|
425
|
-
}
|
|
426
|
-
reject(errObj);
|
|
427
|
-
});
|
|
428
|
-
});
|
|
429
|
-
}
|
|
430
301
|
upsertSocket(socket) {
|
|
431
302
|
if (socket && !this.sockets[socket.id]) {
|
|
432
303
|
this.sockets[socket.id] = socket;
|
|
433
|
-
socket.on("disconnect", () =>
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
async syncData(sync, clientData, source) {
|
|
437
|
-
return await (0, SyncReplication_1.syncData)(this, sync, clientData, source);
|
|
438
|
-
}
|
|
439
|
-
/**
|
|
440
|
-
* Returns a sync channel
|
|
441
|
-
* A sync channel is unique per socket for each filter
|
|
442
|
-
*/
|
|
443
|
-
async addSync(syncParams) {
|
|
444
|
-
const { socket = null, table_info = null, table_rules, synced_field = null, allow_delete = false, id_fields = [], filter = {}, params, condition = "", throttle = 0 } = syncParams || {};
|
|
445
|
-
const conditionParsed = parseCondition(condition);
|
|
446
|
-
if (!socket || !table_info)
|
|
447
|
-
throw "socket or table_info missing";
|
|
448
|
-
const { name: table_name } = table_info, channel_name = `${this.socketChannelPreffix}.${table_name}.${JSON.stringify(filter)}.sync`;
|
|
449
|
-
if (!synced_field)
|
|
450
|
-
throw "synced_field missing from table_rules";
|
|
451
|
-
this.upsertSocket(socket);
|
|
452
|
-
const upsertSync = () => {
|
|
453
|
-
const newSync = {
|
|
454
|
-
channel_name,
|
|
455
|
-
table_name,
|
|
456
|
-
filter,
|
|
457
|
-
condition: conditionParsed,
|
|
458
|
-
synced_field,
|
|
459
|
-
id_fields,
|
|
460
|
-
allow_delete,
|
|
461
|
-
table_rules,
|
|
462
|
-
throttle: Math.max(throttle || 0, table_rules?.sync?.throttle || 0),
|
|
463
|
-
batch_size: (0, utils_1.get)(table_rules, "sync.batch_size") || exports.DEFAULT_SYNC_BATCH_SIZE,
|
|
464
|
-
last_throttled: 0,
|
|
465
|
-
socket_id: socket.id,
|
|
466
|
-
is_sync: true,
|
|
467
|
-
last_synced: 0,
|
|
468
|
-
lr: undefined,
|
|
469
|
-
table_info,
|
|
470
|
-
is_syncing: false,
|
|
471
|
-
wal: undefined,
|
|
472
|
-
socket,
|
|
473
|
-
params
|
|
474
|
-
};
|
|
475
|
-
/* Only a sync per socket per table per condition allowed */
|
|
476
|
-
this.syncs = this.syncs || [];
|
|
477
|
-
const existing = (0, util_1.find)(this.syncs, { socket_id: socket.id, channel_name });
|
|
478
|
-
if (!existing) {
|
|
479
|
-
this.syncs.push(newSync);
|
|
480
|
-
// console.log("Added SYNC");
|
|
481
|
-
socket.removeAllListeners(channel_name + "unsync");
|
|
482
|
-
socket.once(channel_name + "unsync", (_data, cb) => {
|
|
483
|
-
this.onSocketDisconnected(socket, channel_name);
|
|
484
|
-
cb(null, { res: "ok" });
|
|
304
|
+
socket.on("disconnect", () => {
|
|
305
|
+
this.subs = this.subs.filter(s => {
|
|
306
|
+
return !(s.socket && s.socket.id === socket.id);
|
|
485
307
|
});
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
if (!data) {
|
|
489
|
-
cb({ err: "Unexpected request. Need data or onSyncRequest" });
|
|
490
|
-
return;
|
|
491
|
-
}
|
|
492
|
-
/*
|
|
493
|
-
*/
|
|
494
|
-
/* Server will:
|
|
495
|
-
1. Ask for last_synced emit(onSyncRequest)
|
|
496
|
-
2. Ask for data >= server_synced emit(onPullRequest)
|
|
497
|
-
-> Upsert that data
|
|
498
|
-
2. Push data >= last_synced emit(data.data)
|
|
499
|
-
|
|
500
|
-
Client will:
|
|
501
|
-
1. Send last_synced on(onSyncRequest)
|
|
502
|
-
2. Send data >= server_synced on(onPullRequest)
|
|
503
|
-
3. Send data on CRUD emit(data.data | data.deleted)
|
|
504
|
-
4. Upsert data.data | deleted on(data.data | data.deleted)
|
|
505
|
-
*/
|
|
506
|
-
// if(data.data){
|
|
507
|
-
// console.error("THIS SHOUKD NEVER FIRE !! NEW DATA FROM SYNC");
|
|
508
|
-
// this.upsertClientData(newSync, data.data);
|
|
509
|
-
// } else
|
|
510
|
-
if (data.onSyncRequest) {
|
|
511
|
-
// console.log("syncData from socket")
|
|
512
|
-
this.syncData(newSync, data.onSyncRequest, "client");
|
|
513
|
-
// console.log("onSyncRequest ", socket._user)
|
|
514
|
-
}
|
|
515
|
-
else {
|
|
516
|
-
console.error("Unexpected sync request data from client: ", data);
|
|
517
|
-
}
|
|
308
|
+
this.syncs = this.syncs.filter(s => {
|
|
309
|
+
return !(s.socket_id && s.socket_id === socket.id);
|
|
518
310
|
});
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
// });
|
|
522
|
-
}
|
|
523
|
-
else {
|
|
524
|
-
console.warn("UNCLOSED DUPLICATE SYNC FOUND", existing.channel_name);
|
|
525
|
-
}
|
|
526
|
-
return newSync;
|
|
527
|
-
};
|
|
528
|
-
// const { min_id, max_id, count, max_synced } = params;
|
|
529
|
-
const _sync = upsertSync();
|
|
530
|
-
await this.addTrigger({ table_name, condition: conditionParsed });
|
|
531
|
-
return channel_name;
|
|
532
|
-
}
|
|
533
|
-
/* Must return a channel for socket */
|
|
534
|
-
/* The distinct list of channel names must have a corresponding trigger in the database */
|
|
535
|
-
async addSub(subscriptionParams) {
|
|
536
|
-
const { socket, func = null, table_info = null, table_rules, filter = {}, params = {}, condition = "", throttle = 0, //subOne = false,
|
|
537
|
-
viewOptions } = subscriptionParams || {};
|
|
538
|
-
let validated_throttle = subscriptionParams.throttle || 10;
|
|
539
|
-
if ((!socket && !func) || !table_info)
|
|
540
|
-
throw "socket/func or table_info missing";
|
|
541
|
-
const pubThrottle = (0, utils_1.get)(table_rules, ["subscribe", "throttle"]) || 0;
|
|
542
|
-
if (pubThrottle && Number.isInteger(pubThrottle) && pubThrottle > 0) {
|
|
543
|
-
validated_throttle = pubThrottle;
|
|
544
|
-
}
|
|
545
|
-
if (throttle && Number.isInteger(throttle) && throttle >= pubThrottle) {
|
|
546
|
-
validated_throttle = throttle;
|
|
547
|
-
}
|
|
548
|
-
const channel_name = `${this.socketChannelPreffix}.${table_info.name}.${JSON.stringify(filter)}.${JSON.stringify(params)}.${"m"}.sub`;
|
|
549
|
-
this.upsertSocket(socket);
|
|
550
|
-
const upsertSub = (newSubData, isReadyOverride) => {
|
|
551
|
-
const { table_name, condition: _cond, is_ready = false, parentSubParams } = newSubData, condition = parseCondition(_cond), newSub = {
|
|
552
|
-
socket,
|
|
553
|
-
table_name: table_info.name,
|
|
554
|
-
table_info,
|
|
555
|
-
filter,
|
|
556
|
-
params,
|
|
557
|
-
table_rules,
|
|
558
|
-
channel_name,
|
|
559
|
-
parentSubParams,
|
|
560
|
-
func: func ?? undefined,
|
|
561
|
-
socket_id: socket?.id,
|
|
562
|
-
throttle: validated_throttle,
|
|
563
|
-
is_throttling: null,
|
|
564
|
-
last_throttled: 0,
|
|
565
|
-
is_ready,
|
|
566
|
-
};
|
|
567
|
-
this.subs[table_name] = this.subs[table_name] ?? {};
|
|
568
|
-
this.subs[table_name][condition] = this.subs[table_name][condition] ?? { subs: [] };
|
|
569
|
-
this.subs[table_name][condition].subs = this.subs[table_name][condition].subs ?? [];
|
|
570
|
-
// console.log("1034 upsertSub", this.subs)
|
|
571
|
-
const sub_idx = this.subs[table_name][condition].subs.findIndex(s => s.channel_name === channel_name &&
|
|
572
|
-
(socket && s.socket_id === socket.id ||
|
|
573
|
-
func && s.func === func));
|
|
574
|
-
if (sub_idx < 0) {
|
|
575
|
-
this.subs[table_name][condition].subs.push(newSub);
|
|
576
|
-
if (socket) {
|
|
577
|
-
const chnUnsub = channel_name + "unsubscribe";
|
|
578
|
-
socket.removeAllListeners(chnUnsub);
|
|
579
|
-
socket.once(chnUnsub, (_data, cb) => {
|
|
580
|
-
const res = this.onSocketDisconnected(socket, channel_name);
|
|
581
|
-
cb(null, { res });
|
|
582
|
-
});
|
|
583
|
-
}
|
|
584
|
-
}
|
|
585
|
-
else {
|
|
586
|
-
this.subs[table_name][condition].subs[sub_idx] = newSub;
|
|
587
|
-
}
|
|
588
|
-
if (isReadyOverride ?? is_ready) {
|
|
589
|
-
this.pushSubData(newSub);
|
|
590
|
-
}
|
|
591
|
-
};
|
|
592
|
-
viewOptions?.relatedTables.map(async (relatedTable, relatedTableIdx) => {
|
|
593
|
-
const params = {
|
|
594
|
-
table_name: relatedTable.tableName,
|
|
595
|
-
condition: relatedTable.condition,
|
|
596
|
-
parentSubParams: {
|
|
597
|
-
...subscriptionParams,
|
|
598
|
-
channel_name
|
|
599
|
-
},
|
|
600
|
-
};
|
|
601
|
-
upsertSub({
|
|
602
|
-
...params,
|
|
603
|
-
is_ready: false,
|
|
604
|
-
}, false);
|
|
605
|
-
await this.addTrigger(params, viewOptions);
|
|
606
|
-
/** Trigger pushSubData only on last related table (if it's a view) to prevent duplicate firings */
|
|
607
|
-
const isLast = relatedTableIdx === viewOptions.relatedTables.length - 1;
|
|
608
|
-
upsertSub({
|
|
609
|
-
...params,
|
|
610
|
-
is_ready: true
|
|
611
|
-
}, isLast && !table_info.is_view);
|
|
612
|
-
});
|
|
613
|
-
if (table_info.is_view) {
|
|
614
|
-
if (!viewOptions?.relatedTables.length) {
|
|
615
|
-
throw "PubSubManager: view parent_tables missing";
|
|
616
|
-
}
|
|
617
|
-
return channel_name;
|
|
618
|
-
}
|
|
619
|
-
/* Just a table, add table + condition trigger */
|
|
620
|
-
// console.log(table_info, 202);
|
|
621
|
-
upsertSub({
|
|
622
|
-
table_name: table_info.name,
|
|
623
|
-
condition: parseCondition(condition),
|
|
624
|
-
parentSubParams: undefined,
|
|
625
|
-
is_ready: false
|
|
626
|
-
}, undefined);
|
|
627
|
-
await this.addTrigger({
|
|
628
|
-
table_name: table_info.name,
|
|
629
|
-
condition: parseCondition(condition),
|
|
630
|
-
});
|
|
631
|
-
upsertSub({
|
|
632
|
-
table_name: table_info.name,
|
|
633
|
-
condition: parseCondition(condition),
|
|
634
|
-
parentSubParams: undefined,
|
|
635
|
-
is_ready: true
|
|
636
|
-
}, undefined);
|
|
637
|
-
return channel_name;
|
|
638
|
-
}
|
|
639
|
-
removeLocalSub(table_name, condition, func) {
|
|
640
|
-
const cond = parseCondition(condition);
|
|
641
|
-
if ((0, utils_1.get)(this.subs, [table_name, cond, "subs"])) {
|
|
642
|
-
this.subs[table_name][cond].subs.map((sub, i) => {
|
|
643
|
-
if (sub.func && sub.func === func) {
|
|
644
|
-
this.subs[table_name][cond].subs.splice(i, 1);
|
|
645
|
-
}
|
|
311
|
+
delete this.sockets[socket.id];
|
|
312
|
+
return "ok";
|
|
646
313
|
});
|
|
647
314
|
}
|
|
648
|
-
else {
|
|
649
|
-
console.error("Could not unsubscribe. Subscription might not have initialised yet");
|
|
650
|
-
}
|
|
651
315
|
}
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
// console.warn(e.stack)
|
|
655
|
-
// });
|
|
656
|
-
// console.log("onSocketDisconnected", channel_name, this.syncs)
|
|
657
|
-
if (this.subs) {
|
|
658
|
-
Object.keys(this.subs).map(table_name => {
|
|
659
|
-
Object.keys(this.subs[table_name]).map(condition => {
|
|
660
|
-
this.subs[table_name][condition].subs.map((sub, i) => {
|
|
661
|
-
/**
|
|
662
|
-
* If a channel name is specified then delete triggers
|
|
663
|
-
*/
|
|
664
|
-
if ((socket && sub.socket_id === socket.id) &&
|
|
665
|
-
(!channel_name || sub.channel_name === channel_name)) {
|
|
666
|
-
this.subs[table_name][condition].subs.splice(i, 1);
|
|
667
|
-
if (!this.subs[table_name][condition].subs.length) {
|
|
668
|
-
delete this.subs[table_name][condition];
|
|
669
|
-
if ((0, prostgles_types_1.isEmpty)(this.subs[table_name])) {
|
|
670
|
-
delete this.subs[table_name];
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
}
|
|
674
|
-
});
|
|
675
|
-
});
|
|
676
|
-
});
|
|
677
|
-
}
|
|
678
|
-
if (this.syncs) {
|
|
679
|
-
this.syncs = this.syncs.filter(s => {
|
|
680
|
-
const matchesSocket = Boolean(socket && s.socket_id !== socket.id);
|
|
681
|
-
if (channel_name) {
|
|
682
|
-
return matchesSocket || s.channel_name !== channel_name;
|
|
683
|
-
}
|
|
684
|
-
return matchesSocket;
|
|
685
|
-
});
|
|
686
|
-
}
|
|
687
|
-
if (!socket) {
|
|
688
|
-
// Do nothing
|
|
689
|
-
}
|
|
690
|
-
else if (!channel_name) {
|
|
691
|
-
delete this.sockets[socket.id];
|
|
692
|
-
}
|
|
693
|
-
else {
|
|
694
|
-
socket.removeAllListeners(channel_name);
|
|
695
|
-
socket.removeAllListeners(channel_name + "unsync");
|
|
696
|
-
socket.removeAllListeners(channel_name + "unsubscribe");
|
|
697
|
-
}
|
|
698
|
-
return "ok";
|
|
316
|
+
async syncData(sync, clientData, source) {
|
|
317
|
+
return await (0, SyncReplication_1.syncData)(this, sync, clientData, source);
|
|
699
318
|
}
|
|
700
319
|
async addTrigger(params, viewOptions) {
|
|
701
320
|
try {
|
|
@@ -774,6 +393,7 @@ PubSubManager.create = async (options) => {
|
|
|
774
393
|
PubSubManager.SCHEMA_ALTERING_QUERIES = ['CREATE TABLE', 'ALTER TABLE', 'DROP TABLE', 'CREATE VIEW', 'DROP VIEW', 'ALTER VIEW', 'CREATE TABLE AS', 'SELECT INTO'];
|
|
775
394
|
PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch ";
|
|
776
395
|
const parseCondition = (condition) => condition && condition.trim().length ? condition : "TRUE";
|
|
396
|
+
exports.parseCondition = parseCondition;
|
|
777
397
|
var prostgles_types_2 = require("prostgles-types");
|
|
778
398
|
Object.defineProperty(exports, "pickKeys", { enumerable: true, get: function () { return prostgles_types_2.pickKeys; } });
|
|
779
399
|
Object.defineProperty(exports, "omitKeys", { enumerable: true, get: function () { return prostgles_types_2.omitKeys; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SubscriptionChannels } from "prostgles-types";
|
|
2
|
+
import { PubSubManager, SubscriptionParams } from "./PubSubManager";
|
|
3
|
+
type AddSubscriptionParams = SubscriptionParams & {
|
|
4
|
+
condition: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function addSub(this: PubSubManager, subscriptionParams: Omit<AddSubscriptionParams, "channel_name" | "parentSubParams">): Promise<SubscriptionChannels>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=addSub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAiC,aAAa,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEjH,KAAK,qBAAqB,GAAG,kBAAkB,GAAG;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAA;AAID,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiHpK"}
|