prostgles-server 3.0.155 → 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.
Files changed (119) hide show
  1. package/dist/AuthHandler.d.ts.map +1 -1
  2. package/dist/AuthHandler.js +6 -3
  3. package/dist/AuthHandler.js.map +1 -1
  4. package/dist/DBEventsManager.d.ts.map +1 -1
  5. package/dist/DBEventsManager.js +5 -4
  6. package/dist/DBEventsManager.js.map +1 -1
  7. package/dist/DBSchemaBuilder.js +14 -14
  8. package/dist/DBSchemaBuilder.js.map +1 -1
  9. package/dist/DboBuilder/QueryBuilder/Functions.js +1 -1
  10. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  11. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -1
  12. package/dist/DboBuilder/TableHandler.js +1 -2
  13. package/dist/DboBuilder/TableHandler.js.map +1 -1
  14. package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
  15. package/dist/DboBuilder/ViewHandler.js +10 -8
  16. package/dist/DboBuilder/ViewHandler.js.map +1 -1
  17. package/dist/DboBuilder/getCondition.js +1 -1
  18. package/dist/DboBuilder/getCondition.js.map +1 -1
  19. package/dist/DboBuilder/insert.js +1 -1
  20. package/dist/DboBuilder/insert.js.map +1 -1
  21. package/dist/DboBuilder/insertDataParse.js +4 -3
  22. package/dist/DboBuilder/insertDataParse.js.map +1 -1
  23. package/dist/DboBuilder/subscribe.d.ts +2 -2
  24. package/dist/DboBuilder/subscribe.d.ts.map +1 -1
  25. package/dist/DboBuilder/subscribe.js +3 -4
  26. package/dist/DboBuilder/subscribe.js.map +1 -1
  27. package/dist/DboBuilder.d.ts.map +1 -1
  28. package/dist/DboBuilder.js +5 -4
  29. package/dist/DboBuilder.js.map +1 -1
  30. package/dist/FileManager.js +1 -1
  31. package/dist/FileManager.js.map +1 -1
  32. package/dist/Filtering.js.map +1 -1
  33. package/dist/JSONBValidation/validation.js.map +1 -1
  34. package/dist/Prostgles.js +1 -1
  35. package/dist/Prostgles.js.map +1 -1
  36. package/dist/PubSubManager/PubSubManager.d.ts +9 -2
  37. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  38. package/dist/PubSubManager/PubSubManager.js +16 -46
  39. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  40. package/dist/PubSubManager/addSub.d.ts +2 -1
  41. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  42. package/dist/PubSubManager/addSub.js +26 -16
  43. package/dist/PubSubManager/addSub.js.map +1 -1
  44. package/dist/PubSubManager/notifListener.d.ts.map +1 -1
  45. package/dist/PubSubManager/notifListener.js +5 -3
  46. package/dist/PubSubManager/notifListener.js.map +1 -1
  47. package/dist/PubSubManager/pushSubData.d.ts +3 -0
  48. package/dist/PubSubManager/pushSubData.d.ts.map +1 -0
  49. package/dist/PubSubManager/pushSubData.js +48 -0
  50. package/dist/PubSubManager/pushSubData.js.map +1 -0
  51. package/dist/PublishParser.d.ts.map +1 -1
  52. package/dist/PublishParser.js +4 -3
  53. package/dist/PublishParser.js.map +1 -1
  54. package/dist/TableConfig/TableConfig.js.map +1 -1
  55. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  56. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  57. package/lib/AuthHandler.d.ts.map +1 -1
  58. package/lib/AuthHandler.js +6 -3
  59. package/lib/AuthHandler.ts +12 -7
  60. package/lib/DBEventsManager.d.ts.map +1 -1
  61. package/lib/DBEventsManager.js +5 -4
  62. package/lib/DBEventsManager.ts +10 -9
  63. package/lib/DBSchemaBuilder.js +14 -14
  64. package/lib/DBSchemaBuilder.ts +14 -14
  65. package/lib/DboBuilder/QueryBuilder/Functions.js +1 -1
  66. package/lib/DboBuilder/QueryBuilder/Functions.ts +2 -2
  67. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +1 -1
  68. package/lib/DboBuilder/TableHandler.js +1 -2
  69. package/lib/DboBuilder/TableHandler.ts +3 -3
  70. package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
  71. package/lib/DboBuilder/ViewHandler.js +10 -8
  72. package/lib/DboBuilder/ViewHandler.ts +22 -20
  73. package/lib/DboBuilder/getCondition.js +1 -1
  74. package/lib/DboBuilder/getCondition.ts +2 -2
  75. package/lib/DboBuilder/insert.js +1 -1
  76. package/lib/DboBuilder/insert.ts +1 -1
  77. package/lib/DboBuilder/insertDataParse.js +4 -3
  78. package/lib/DboBuilder/insertDataParse.ts +15 -13
  79. package/lib/DboBuilder/subscribe.d.ts +2 -2
  80. package/lib/DboBuilder/subscribe.d.ts.map +1 -1
  81. package/lib/DboBuilder/subscribe.js +3 -4
  82. package/lib/DboBuilder/subscribe.ts +8 -9
  83. package/lib/DboBuilder.d.ts.map +1 -1
  84. package/lib/DboBuilder.js +5 -4
  85. package/lib/DboBuilder.ts +15 -21
  86. package/lib/FileManager.js +1 -1
  87. package/lib/FileManager.ts +5 -5
  88. package/lib/Filtering.ts +1 -1
  89. package/lib/JSONBValidation/validation.ts +3 -3
  90. package/lib/Prostgles.js +1 -1
  91. package/lib/Prostgles.ts +3 -3
  92. package/lib/PubSubManager/PubSubManager.d.ts +8 -1
  93. package/lib/PubSubManager/PubSubManager.d.ts.map +1 -1
  94. package/lib/PubSubManager/PubSubManager.js +14 -44
  95. package/lib/PubSubManager/PubSubManager.ts +17 -44
  96. package/lib/PubSubManager/addSub.d.ts +2 -1
  97. package/lib/PubSubManager/addSub.d.ts.map +1 -1
  98. package/lib/PubSubManager/addSub.js +26 -16
  99. package/lib/PubSubManager/addSub.ts +28 -20
  100. package/lib/PubSubManager/notifListener.d.ts.map +1 -1
  101. package/lib/PubSubManager/notifListener.js +5 -3
  102. package/lib/PubSubManager/notifListener.ts +5 -3
  103. package/lib/PubSubManager/pushSubData.d.ts +3 -0
  104. package/lib/PubSubManager/pushSubData.d.ts.map +1 -0
  105. package/lib/PubSubManager/pushSubData.js +47 -0
  106. package/lib/PubSubManager/pushSubData.ts +47 -0
  107. package/lib/PublishParser.d.ts.map +1 -1
  108. package/lib/PublishParser.js +4 -3
  109. package/lib/PublishParser.ts +4 -3
  110. package/lib/TableConfig/TableConfig.ts +7 -7
  111. package/lib/TableConfig/getConstraintDefinitionQueries.ts +1 -1
  112. package/lib/TableConfig/getTableColumnQueries.ts +2 -2
  113. package/package.json +2 -2
  114. package/tests/client/PID.txt +1 -1
  115. package/tests/client/package-lock.json +15 -15
  116. package/tests/client/package.json +1 -1
  117. package/tests/server/DBoGenerated.d.ts +2 -2
  118. package/tests/server/package-lock.json +3 -3
  119. package/tsconfig.json +1 -1
@@ -40,6 +40,7 @@ const util_1 = require("prostgles-types/dist/util");
40
40
  const getInitQuery_1 = require("./getInitQuery");
41
41
  const addSub_1 = require("./addSub");
42
42
  const notifListener_1 = require("./notifListener");
43
+ const pushSubData_1 = require("./pushSubData");
43
44
  const pgp = pgPromise({
44
45
  promiseLib: Bluebird
45
46
  });
@@ -289,52 +290,21 @@ class PubSubManager {
289
290
  .filter((s) => s.table_name === table_name && s.condition === condition);
290
291
  }
291
292
  notifListener = notifListener_1.notifListener.bind(this);
292
- pushSubData(sub, err) {
293
- if (!sub)
294
- throw "pushSubData: invalid sub";
295
- const { table_info, filter, params, table_rules, socket_id, channel_name, func } = sub; //, subOne = false
293
+ getSubData = async (sub) => {
294
+ const { table_info, filter, params, table_rules } = sub; //, subOne = false
296
295
  const { name: table_name } = table_info;
297
- sub.last_throttled = Date.now();
298
- if (err) {
299
- if (socket_id) {
300
- this.sockets[socket_id].emit(channel_name, { err });
301
- }
302
- return true;
296
+ if (!this.dbo?.[table_name]?.find) {
297
+ throw new Error(`1107 this.dbo.${table_name}.find`);
303
298
  }
304
- return new Promise(async (resolve, reject) => {
305
- /* TODO: Retire subOne -> it's redundant */
306
- // this.dbo[table_name][subOne? "findOne" : "find"](filter, params, null, table_rules)
307
- if (!this.dbo?.[table_name]?.find) {
308
- throw new Error(`1107 this.dbo.${table_name}.find`);
309
- }
310
- this.dbo?.[table_name]?.find?.(filter, params, undefined, table_rules)
311
- .then(data => {
312
- if (socket_id && this.sockets[socket_id]) {
313
- (0, exports.log)("Pushed " + data.length + " records to sub");
314
- this.sockets[socket_id].emit(channel_name, { data }, () => {
315
- resolve(data);
316
- });
317
- /* TO DO: confirm receiving data or server will unsubscribe
318
- { data }, (cb)=> { console.log(cb) });
319
- */
320
- }
321
- else if (func) {
322
- func(data);
323
- resolve(data);
324
- }
325
- sub.last_throttled = Date.now();
326
- }).catch(err => {
327
- const errObj = { _err_msg: err.toString(), err };
328
- if (socket_id && this.sockets[socket_id]) {
329
- this.sockets[socket_id].emit(channel_name, { err: errObj });
330
- }
331
- else if (func) {
332
- func({ err: errObj });
333
- }
334
- reject(errObj);
335
- });
336
- });
337
- }
299
+ try {
300
+ const data = await this.dbo?.[table_name].find(filter, params, undefined, table_rules);
301
+ return { data };
302
+ }
303
+ catch (err) {
304
+ return { err };
305
+ }
306
+ };
307
+ pushSubData = pushSubData_1.pushSubData.bind(this);
338
308
  upsertSocket(socket) {
339
309
  if (socket && !this.sockets[socket.id]) {
340
310
  this.sockets[socket.id] = socket;
@@ -21,6 +21,7 @@ import { find } from "prostgles-types/dist/util";
21
21
  import { DB_OBJ_NAMES } from "./getInitQuery";
22
22
  import { addSub } from "./addSub";
23
23
  import { notifListener } from "./notifListener";
24
+ import { pushSubData } from "./pushSubData";
24
25
 
25
26
  type PGP = pgPromise.IMain<{}, pg.IClient>;
26
27
  const pgp: PGP = pgPromise({
@@ -409,54 +410,26 @@ export class PubSubManager {
409
410
 
410
411
  notifListener = notifListener.bind(this);
411
412
 
412
-
413
- pushSubData(sub: Subscription, err?: any) {
414
- if (!sub) throw "pushSubData: invalid sub";
415
- const { table_info, filter, params, table_rules, socket_id, channel_name, func } = sub; //, subOne = false
413
+ getSubData = async (sub: Subscription): Promise<
414
+ { data: any[]; err?: undefined; } |
415
+ { data?: undefined; err: any; }
416
+ > => {
417
+ const { table_info, filter, params, table_rules } = sub; //, subOne = false
416
418
  const { name: table_name } = table_info;
417
- sub.last_throttled = Date.now();
418
-
419
- if (err) {
420
- if (socket_id) {
421
- this.sockets[socket_id].emit(channel_name, { err });
422
- }
423
- return true;
419
+
420
+ if (!this.dbo?.[table_name]?.find) {
421
+ throw new Error(`1107 this.dbo.${table_name}.find`);
424
422
  }
425
423
 
426
- return new Promise(async (resolve, reject) => {
427
- /* TODO: Retire subOne -> it's redundant */
428
- // this.dbo[table_name][subOne? "findOne" : "find"](filter, params, null, table_rules)
429
- if (!this.dbo?.[table_name]?.find) {
430
- throw new Error(`1107 this.dbo.${table_name}.find`);
431
- }
424
+ try {
425
+ const data = await this.dbo?.[table_name]!.find!(filter, params, undefined, table_rules)
426
+ return { data };
427
+ } catch(err){
428
+ return { err };
429
+ }
430
+ }
432
431
 
433
- this.dbo?.[table_name]?.find?.(filter, params, undefined, table_rules)
434
- .then(data => {
435
-
436
- if (socket_id && this.sockets[socket_id]) {
437
- log("Pushed " + data.length + " records to sub")
438
- this.sockets[socket_id].emit(channel_name, { data }, () => {
439
- resolve(data);
440
- });
441
- /* TO DO: confirm receiving data or server will unsubscribe
442
- { data }, (cb)=> { console.log(cb) });
443
- */
444
- } else if (func) {
445
- func(data);
446
- resolve(data);
447
- }
448
- sub.last_throttled = Date.now();
449
- }).catch(err => {
450
- const errObj = { _err_msg: err.toString(), err };
451
- if (socket_id && this.sockets[socket_id]) {
452
- this.sockets[socket_id].emit(channel_name, { err: errObj });
453
- } else if (func) {
454
- func({ err: errObj });
455
- }
456
- reject(errObj)
457
- });
458
- });
459
- }
432
+ pushSubData = pushSubData.bind(this);
460
433
 
461
434
  upsertSocket(socket: any) {
462
435
  if (socket && !this.sockets[socket.id]) {
@@ -1,7 +1,8 @@
1
+ import { SubscriptionChannels } from "prostgles-types";
1
2
  import { PubSubManager, SubscriptionParams } from "./PubSubManager";
2
3
  type AddSubscriptionParams = SubscriptionParams & {
3
4
  condition: string;
4
5
  };
5
- export declare function addSub(this: PubSubManager, subscriptionParams: Omit<AddSubscriptionParams, "channel_name" | "parentSubParams">): Promise<string>;
6
+ export declare function addSub(this: PubSubManager, subscriptionParams: Omit<AddSubscriptionParams, "channel_name" | "parentSubParams">): Promise<SubscriptionChannels>;
6
7
  export {};
7
8
  //# sourceMappingURL=addSub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["addSub.ts"],"names":[],"mappings":"AAAA,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,mBA0GpI"}
1
+ {"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["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"}
@@ -23,6 +23,11 @@ async function addSub(subscriptionParams) {
23
23
  validated_throttle = throttle;
24
24
  }
25
25
  const channel_name = `${this.socketChannelPreffix}.${table_name}.${JSON.stringify(filter)}.${JSON.stringify(params)}.${"m"}.sub`;
26
+ const result = {
27
+ channelName: channel_name,
28
+ channelNameReady: channel_name + ".ready",
29
+ channelNameUnsubscribe: channel_name + ".unsubscribe"
30
+ };
26
31
  this.upsertSocket(socket);
27
32
  // const upsertSub = _upsertSub.bind(this);
28
33
  const newSub = {
@@ -57,20 +62,26 @@ async function addSub(subscriptionParams) {
57
62
  await this.addTrigger(relatedSub, viewOptions);
58
63
  }
59
64
  }
60
- setTimeout(() => {
65
+ if (func) {
61
66
  this.pushSubData(newSub);
62
- }, 1);
63
- if (socket) {
64
- const chnUnsub = channel_name + "unsubscribe";
65
- socket.removeAllListeners(chnUnsub);
66
- socket.once(chnUnsub, (_data, cb) => {
67
+ }
68
+ else if (socket) {
69
+ const removeListeners = () => {
70
+ socket.removeAllListeners(channel_name);
71
+ socket.removeAllListeners(result.channelNameReady);
72
+ socket.removeAllListeners(result.channelNameUnsubscribe);
73
+ };
74
+ removeListeners();
75
+ socket.once(result.channelNameReady, () => {
76
+ this.pushSubData(newSub);
77
+ });
78
+ socket.once(result.channelNameUnsubscribe, (_data, cb) => {
67
79
  const res = "ok"; // this.onSocketDisconnected({ socket, subChannel: channel_name });
68
80
  this.subs = this.subs.filter(s => {
69
81
  const isMatch = s.socket && s.socket.id === socket.id && s.channel_name === channel_name;
70
82
  return !isMatch;
71
83
  });
72
- socket.removeAllListeners(channel_name);
73
- socket.removeAllListeners(chnUnsub);
84
+ removeListeners();
74
85
  cb(null, { res });
75
86
  });
76
87
  }
@@ -80,15 +91,14 @@ async function addSub(subscriptionParams) {
80
91
  if (!viewOptions?.relatedTables.length) {
81
92
  throw "PubSubManager: view parent_tables missing";
82
93
  }
83
- return channel_name;
84
94
  }
85
- /* Just a table, add table + condition trigger */
86
- // console.log(table_info, 202);
87
- await this.addTrigger({
88
- table_name: table_info.name,
89
- condition: (0, PubSubManager_1.parseCondition)(condition),
90
- });
91
- return channel_name;
95
+ else {
96
+ await this.addTrigger({
97
+ table_name: table_info.name,
98
+ condition: (0, PubSubManager_1.parseCondition)(condition),
99
+ });
100
+ }
101
+ return result;
92
102
  }
93
103
  exports.addSub = addSub;
94
104
  // const _upsertSub = async function(
@@ -1,3 +1,4 @@
1
+ import { SubscriptionChannels } from "prostgles-types";
1
2
  import { BasicCallback, parseCondition, PubSubManager, Subscription, SubscriptionParams } from "./PubSubManager";
2
3
 
3
4
  type AddSubscriptionParams = SubscriptionParams & {
@@ -6,13 +7,12 @@ type AddSubscriptionParams = SubscriptionParams & {
6
7
 
7
8
  /* Must return a channel for socket */
8
9
  /* The distinct list of {table_name, condition} must have a corresponding trigger in the database */
9
- export async function addSub(this: PubSubManager, subscriptionParams: Omit<AddSubscriptionParams, "channel_name" | "parentSubParams">) {
10
+ export async function addSub(this: PubSubManager, subscriptionParams: Omit<AddSubscriptionParams, "channel_name" | "parentSubParams">): Promise<SubscriptionChannels> {
10
11
  const {
11
12
  socket, func, table_rules, filter = {},
12
13
  params = {}, condition = "", throttle = 0, //subOne = false,
13
14
  viewOptions, table_info,
14
15
  } = subscriptionParams || {};
15
-
16
16
  const table_name = table_info.name;
17
17
 
18
18
  if (!socket && !func) {
@@ -32,6 +32,11 @@ export async function addSub(this: PubSubManager, subscriptionParams: Omit<AddSu
32
32
  }
33
33
 
34
34
  const channel_name = `${this.socketChannelPreffix}.${table_name}.${JSON.stringify(filter)}.${JSON.stringify(params)}.${"m"}.sub`;
35
+ const result: SubscriptionChannels = {
36
+ channelName: channel_name,
37
+ channelNameReady: channel_name + ".ready",
38
+ channelNameUnsubscribe: channel_name + ".unsubscribe"
39
+ }
35
40
 
36
41
  this.upsertSocket(socket);
37
42
 
@@ -74,21 +79,27 @@ export async function addSub(this: PubSubManager, subscriptionParams: Omit<AddSu
74
79
 
75
80
  }
76
81
 
77
- setTimeout(() => {
82
+ if(func){
78
83
  this.pushSubData(newSub);
79
- }, 1);
80
84
 
81
- if (socket) {
82
- const chnUnsub = channel_name + "unsubscribe";
83
- socket.removeAllListeners(chnUnsub);
84
- socket.once(chnUnsub, (_data: any, cb: BasicCallback) => {
85
+ } else if (socket) {
86
+ const removeListeners = () => {
87
+ socket.removeAllListeners(channel_name);
88
+ socket.removeAllListeners(result.channelNameReady);
89
+ socket.removeAllListeners(result.channelNameUnsubscribe);
90
+ }
91
+ removeListeners();
92
+
93
+ socket.once(result.channelNameReady, () => {
94
+ this.pushSubData(newSub);
95
+ });
96
+ socket.once(result.channelNameUnsubscribe, (_data: any, cb: BasicCallback) => {
85
97
  const res = "ok";// this.onSocketDisconnected({ socket, subChannel: channel_name });
86
98
  this.subs = this.subs.filter(s => {
87
99
  const isMatch = s.socket && s.socket.id === socket.id && s.channel_name === channel_name;
88
100
  return !isMatch;
89
101
  });
90
- socket.removeAllListeners(channel_name);
91
- socket.removeAllListeners(chnUnsub);
102
+ removeListeners();
92
103
  cb(null, { res });
93
104
  });
94
105
  }
@@ -100,18 +111,15 @@ export async function addSub(this: PubSubManager, subscriptionParams: Omit<AddSu
100
111
  if (!viewOptions?.relatedTables.length) {
101
112
  throw "PubSubManager: view parent_tables missing";
102
113
  }
103
- return channel_name;
104
- }
105
-
106
- /* Just a table, add table + condition trigger */
107
- // console.log(table_info, 202);
108
114
 
109
- await this.addTrigger({
110
- table_name: table_info.name,
111
- condition: parseCondition(condition),
112
- });
115
+ } else {
116
+ await this.addTrigger({
117
+ table_name: table_info.name,
118
+ condition: parseCondition(condition),
119
+ });
120
+ }
113
121
 
114
- return channel_name;
122
+ return result;
115
123
  }
116
124
 
117
125
  // const _upsertSub = async function(
@@ -1 +1 @@
1
- {"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAsHjF"}
1
+ {"version":3,"file":"notifListener.d.ts","sourceRoot":"","sources":["notifListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,iBAwHjF"}
@@ -15,7 +15,7 @@ async function notifListener(data) {
15
15
  if (notifType === this.NOTIF_TYPE.schema) {
16
16
  if (this.onSchemaChange) {
17
17
  const [_, command, _event_type, query] = dataArr;
18
- if (query) {
18
+ if (query && command) {
19
19
  this.onSchemaChange({ command, query });
20
20
  }
21
21
  }
@@ -29,6 +29,8 @@ async function notifListener(data) {
29
29
  throw "notifListener: dataArr length < 3";
30
30
  }
31
31
  const [_, table_name, op_name, condition_ids_str] = dataArr;
32
+ if (!table_name)
33
+ throw "table_name undef";
32
34
  // 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)]);
33
35
  // const conditions: string[] = triggers.map(t => t.condition);
34
36
  (0, PubSubManager_1.log)("notifListener", dataArr.join("__"));
@@ -50,11 +52,11 @@ async function notifListener(data) {
50
52
  this._triggers?.[table_name]?.length) {
51
53
  const idxs = condition_ids_str.split(",").map(v => +v);
52
54
  const conditions = this._triggers[table_name].filter((c, i) => idxs.includes(i));
53
- (0, PubSubManager_1.log)("notifListener", { table_name, op_name, condition_ids_str, conditions }, this._triggers[table_name]);
55
+ // log("notifListener", this._triggers[table_name]);
54
56
  conditions.map(condition => {
55
57
  const subs = this.getSubs(table_name, condition);
56
58
  const syncs = this.getSyncs(table_name, condition);
57
- (0, PubSubManager_1.log)("notifListener", { table_name, condition, subs, syncs });
59
+ (0, PubSubManager_1.log)("notifListener", subs.map(s => s.channel_name), syncs.map(s => s.channel_name));
58
60
  syncs.map((s) => {
59
61
  this.syncData(s, undefined, "trigger");
60
62
  });
@@ -18,7 +18,7 @@ export async function notifListener(this: PubSubManager, data: { payload: string
18
18
  if (this.onSchemaChange) {
19
19
  const [_, command, _event_type, query] = dataArr;
20
20
 
21
- if (query) {
21
+ if (query && command) {
22
22
  this.onSchemaChange({ command, query })
23
23
  }
24
24
  }
@@ -37,6 +37,8 @@ export async function notifListener(this: PubSubManager, data: { payload: string
37
37
 
38
38
  const [_, table_name, op_name, condition_ids_str] = dataArr;
39
39
 
40
+
41
+ if(!table_name) throw "table_name undef";
40
42
  // 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)]);
41
43
  // const conditions: string[] = triggers.map(t => t.condition);
42
44
  log("notifListener", dataArr.join("__"))
@@ -66,14 +68,14 @@ export async function notifListener(this: PubSubManager, data: { payload: string
66
68
  const idxs = condition_ids_str.split(",").map(v => +v);
67
69
  const conditions = this._triggers[table_name]!.filter((c, i) => idxs.includes(i))
68
70
 
69
- log("notifListener", { table_name, op_name, condition_ids_str, conditions }, this._triggers[table_name]);
71
+ // log("notifListener", this._triggers[table_name]);
70
72
 
71
73
  conditions.map(condition => {
72
74
 
73
75
  const subs = this.getSubs(table_name, condition);
74
76
  const syncs = this.getSyncs(table_name, condition);
75
77
 
76
- log("notifListener", { table_name, condition, subs, syncs })
78
+ log("notifListener", subs.map(s => s.channel_name), syncs.map(s => s.channel_name))
77
79
 
78
80
  syncs.map((s) => {
79
81
  this.syncData(s, undefined, "trigger");
@@ -0,0 +1,3 @@
1
+ import { PubSubManager, Subscription } from "./PubSubManager";
2
+ export declare function pushSubData(this: PubSubManager, sub: Subscription, err?: any): Promise<unknown>;
3
+ //# sourceMappingURL=pushSubData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pushSubData.d.ts","sourceRoot":"","sources":["pushSubData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEnE,wBAAsB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,GAAG,oBA4ClF"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pushSubData = void 0;
4
+ const PubSubManager_1 = require("./PubSubManager");
5
+ async function pushSubData(sub, err) {
6
+ if (!sub)
7
+ throw "pushSubData: invalid sub";
8
+ const { socket_id, channel_name, func } = sub; //, subOne = false
9
+ sub.last_throttled = Date.now();
10
+ if (err) {
11
+ if (socket_id) {
12
+ this.sockets[socket_id].emit(channel_name, { err });
13
+ }
14
+ return true;
15
+ }
16
+ return new Promise(async (resolve, reject) => {
17
+ /* TODO: Retire subOne -> it's redundant */
18
+ const { data, err } = await this.getSubData(sub);
19
+ if (data) {
20
+ if (socket_id && this.sockets[socket_id]) {
21
+ (0, PubSubManager_1.log)("Pushed " + data.length + " records to sub");
22
+ this.sockets[socket_id].emit(channel_name, { data }, () => {
23
+ resolve(data);
24
+ });
25
+ /* TO DO: confirm receiving data or server will unsubscribe
26
+ { data }, (cb)=> { console.log(cb) });
27
+ */
28
+ }
29
+ else if (func) {
30
+ func(data);
31
+ resolve(data);
32
+ }
33
+ sub.last_throttled = Date.now();
34
+ }
35
+ else {
36
+ const errObj = { _err_msg: err.toString(), err };
37
+ if (socket_id && this.sockets[socket_id]) {
38
+ this.sockets[socket_id].emit(channel_name, { err: errObj });
39
+ }
40
+ else if (func) {
41
+ func({ err: errObj });
42
+ }
43
+ reject(errObj);
44
+ }
45
+ });
46
+ }
47
+ exports.pushSubData = pushSubData;
@@ -0,0 +1,47 @@
1
+ import { log, PubSubManager, Subscription } from "./PubSubManager";
2
+
3
+ export async function pushSubData(this: PubSubManager, sub: Subscription, err?: any) {
4
+ if (!sub) throw "pushSubData: invalid sub";
5
+
6
+ const { socket_id, channel_name, func } = sub; //, subOne = false
7
+ sub.last_throttled = Date.now();
8
+
9
+ if (err) {
10
+ if (socket_id) {
11
+ this.sockets[socket_id].emit(channel_name, { err });
12
+ }
13
+ return true;
14
+ }
15
+
16
+ return new Promise(async (resolve, reject) => {
17
+ /* TODO: Retire subOne -> it's redundant */
18
+
19
+ const { data, err } = await this.getSubData(sub);
20
+
21
+ if(data){
22
+
23
+ if (socket_id && this.sockets[socket_id]) {
24
+ log("Pushed " + data.length + " records to sub")
25
+ this.sockets[socket_id].emit(channel_name, { data }, () => {
26
+ resolve(data);
27
+ });
28
+ /* TO DO: confirm receiving data or server will unsubscribe
29
+ { data }, (cb)=> { console.log(cb) });
30
+ */
31
+ } else if (func) {
32
+ func(data);
33
+ resolve(data);
34
+ }
35
+ sub.last_throttled = Date.now();
36
+
37
+ } else {
38
+ const errObj = { _err_msg: err.toString(), err };
39
+ if (socket_id && this.sockets[socket_id]) {
40
+ this.sockets[socket_id].emit(channel_name, { err: errObj });
41
+ } else if (func) {
42
+ func({ err: errObj });
43
+ }
44
+ reject(errObj);
45
+ }
46
+ });
47
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["PublishParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["PublishParser.ts"],"names":[],"mappings":"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"}
@@ -351,6 +351,7 @@ class PublishParser {
351
351
  const table_rules = await this.getTableRules({ localParams: { socket }, tableName }, clientInfo);
352
352
  if (table_rules && Object.keys(table_rules).length) {
353
353
  schema[tableName] = {};
354
+ const tableSchema = schema[tableName];
354
355
  let methods = [];
355
356
  let tableInfo;
356
357
  let tableColumns;
@@ -360,10 +361,10 @@ class PublishParser {
360
361
  await Promise.all(methods.filter(m => m !== "select").map(async (method) => {
361
362
  if (method === "sync" && table_rules[method]) {
362
363
  /* Pass sync info */
363
- schema[tableName][method] = table_rules[method];
364
+ tableSchema[method] = table_rules[method];
364
365
  }
365
366
  else if (table_rules[method]) {
366
- schema[tableName][method] = {};
367
+ tableSchema[method] = {};
367
368
  /* Test for issues with the common table CRUD methods () */
368
369
  if (Prostgles_1.TABLE_METHODS.includes(method)) {
369
370
  let err = null;
@@ -373,7 +374,7 @@ class PublishParser {
373
374
  }
374
375
  catch (e) {
375
376
  err = "INTERNAL PUBLISH ERROR";
376
- schema[tableName][method] = { err };
377
+ tableSchema[method] = { err };
377
378
  throw `publish.${tableName}.${method}: \n -> ${e}`;
378
379
  }
379
380
  }
@@ -693,6 +693,7 @@ export class PublishParser {
693
693
 
694
694
  if (table_rules && Object.keys(table_rules).length) {
695
695
  schema[tableName] = {};
696
+ const tableSchema = schema[tableName]!;
696
697
  let methods: MethodKey[] = [];
697
698
  let tableInfo: TableInfo | undefined;
698
699
  let tableColumns: DBSchemaTable["columns"] | undefined;
@@ -705,10 +706,10 @@ export class PublishParser {
705
706
  if (method === "sync" && table_rules[method]) {
706
707
 
707
708
  /* Pass sync info */
708
- schema[tableName][method] = table_rules[method];
709
+ tableSchema[method] = table_rules[method];
709
710
  } else if ((table_rules as any)[method]) {
710
711
 
711
- schema[tableName][method] = {};
712
+ tableSchema[method] = {};
712
713
 
713
714
  /* Test for issues with the common table CRUD methods () */
714
715
  if (TABLE_METHODS.includes(method as any)) {
@@ -720,7 +721,7 @@ export class PublishParser {
720
721
 
721
722
  } catch (e) {
722
723
  err = "INTERNAL PUBLISH ERROR";
723
- schema[tableName][method] = { err };
724
+ tableSchema[method] = { err };
724
725
 
725
726
  throw `publish.${tableName}.${method}: \n -> ${e}`;
726
727
  }