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
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.notifListener = void 0;
|
|
4
|
+
const PubSubManager_1 = require("./PubSubManager");
|
|
5
|
+
/* Relay relevant data to relevant subscriptions */
|
|
6
|
+
async function notifListener(data) {
|
|
7
|
+
const str = data.payload;
|
|
8
|
+
if (!str) {
|
|
9
|
+
console.error("Unexpected Empty notif");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const dataArr = str.split(PubSubManager_1.PubSubManager.DELIMITER);
|
|
13
|
+
const notifType = dataArr[0];
|
|
14
|
+
(0, PubSubManager_1.log)(str);
|
|
15
|
+
if (notifType === this.NOTIF_TYPE.schema) {
|
|
16
|
+
if (this.onSchemaChange) {
|
|
17
|
+
const [_, command, _event_type, query] = dataArr;
|
|
18
|
+
if (query && command) {
|
|
19
|
+
this.onSchemaChange({ command, query });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (notifType !== this.NOTIF_TYPE.data) {
|
|
25
|
+
console.error("Unexpected notif type: ", notifType);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (dataArr.length < 3) {
|
|
29
|
+
throw "notifListener: dataArr length < 3";
|
|
30
|
+
}
|
|
31
|
+
const [_, table_name, op_name, condition_ids_str] = dataArr;
|
|
32
|
+
if (!table_name)
|
|
33
|
+
throw "table_name undef";
|
|
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)]);
|
|
35
|
+
// const conditions: string[] = triggers.map(t => t.condition);
|
|
36
|
+
(0, PubSubManager_1.log)("notifListener", dataArr.join("__"));
|
|
37
|
+
/* Trigger error */
|
|
38
|
+
if (condition_ids_str?.startsWith("error") &&
|
|
39
|
+
this._triggers?.[table_name]?.length) {
|
|
40
|
+
const pref = "INTERNAL ERROR";
|
|
41
|
+
console.error(`${pref}: condition_ids_str: ${condition_ids_str}`);
|
|
42
|
+
this._triggers[table_name].map(c => {
|
|
43
|
+
const subs = this.getSubs(table_name, c);
|
|
44
|
+
subs.map(s => {
|
|
45
|
+
this.pushSubData(s, pref + ". Check server logs. Schema might have changed");
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
/* Trigger ok */
|
|
49
|
+
}
|
|
50
|
+
else if (condition_ids_str?.split(",").length &&
|
|
51
|
+
condition_ids_str?.split(",").every((c) => Number.isInteger(+c)) &&
|
|
52
|
+
this._triggers?.[table_name]?.length) {
|
|
53
|
+
const idxs = condition_ids_str.split(",").map(v => +v);
|
|
54
|
+
const conditions = this._triggers[table_name].filter((c, i) => idxs.includes(i));
|
|
55
|
+
// log("notifListener", this._triggers[table_name]);
|
|
56
|
+
conditions.map(condition => {
|
|
57
|
+
const subs = this.getSubs(table_name, condition);
|
|
58
|
+
const syncs = this.getSyncs(table_name, condition);
|
|
59
|
+
(0, PubSubManager_1.log)("notifListener", subs.map(s => s.channel_name), syncs.map(s => s.channel_name));
|
|
60
|
+
syncs.map((s) => {
|
|
61
|
+
this.syncData(s, undefined, "trigger");
|
|
62
|
+
});
|
|
63
|
+
/* Throttle the subscriptions */
|
|
64
|
+
subs.forEach(sub => {
|
|
65
|
+
sub.triggers.forEach(trg => {
|
|
66
|
+
if (this.dbo[trg.table_name] &&
|
|
67
|
+
sub.is_ready &&
|
|
68
|
+
(sub.socket_id && this.sockets[sub.socket_id]) || sub.func) {
|
|
69
|
+
const throttle = sub.throttle || 0;
|
|
70
|
+
if (sub.last_throttled <= Date.now() - throttle) {
|
|
71
|
+
/* It is assumed the policy was checked before this point */
|
|
72
|
+
this.pushSubData(sub);
|
|
73
|
+
// sub.last_throttled = Date.now();
|
|
74
|
+
}
|
|
75
|
+
else if (!sub.is_throttling) {
|
|
76
|
+
(0, PubSubManager_1.log)("throttling sub");
|
|
77
|
+
sub.is_throttling = setTimeout(() => {
|
|
78
|
+
(0, PubSubManager_1.log)("throttling finished. pushSubData...");
|
|
79
|
+
sub.is_throttling = null;
|
|
80
|
+
this.pushSubData(sub);
|
|
81
|
+
}, throttle); // sub.throttle);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
/* Trigger unknown issue */
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// if(!this._triggers || !this._triggers[table_name] || !this._triggers[table_name].length){
|
|
91
|
+
// console.warn(190, "Trigger sub not found. DROPPING TRIGGER", table_name, condition_ids_str, this._triggers);
|
|
92
|
+
// this.dropTrigger(table_name);
|
|
93
|
+
// } else {
|
|
94
|
+
// }
|
|
95
|
+
console.warn(190, "Trigger sub issue: ", table_name, condition_ids_str, this._triggers);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.notifListener = notifListener;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { log, PubSubManager } from "./PubSubManager";
|
|
2
|
+
|
|
3
|
+
/* Relay relevant data to relevant subscriptions */
|
|
4
|
+
export async function notifListener(this: PubSubManager, data: { payload: string }) {
|
|
5
|
+
const str = data.payload;
|
|
6
|
+
|
|
7
|
+
if (!str) {
|
|
8
|
+
console.error("Unexpected Empty notif")
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const dataArr = str.split(PubSubManager.DELIMITER);
|
|
13
|
+
const notifType = dataArr[0];
|
|
14
|
+
|
|
15
|
+
log(str);
|
|
16
|
+
|
|
17
|
+
if (notifType === this.NOTIF_TYPE.schema) {
|
|
18
|
+
if (this.onSchemaChange) {
|
|
19
|
+
const [_, command, _event_type, query] = dataArr;
|
|
20
|
+
|
|
21
|
+
if (query && command) {
|
|
22
|
+
this.onSchemaChange({ command, query })
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (notifType !== this.NOTIF_TYPE.data) {
|
|
30
|
+
console.error("Unexpected notif type: ", notifType);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (dataArr.length < 3) {
|
|
35
|
+
throw "notifListener: dataArr length < 3"
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const [_, table_name, op_name, condition_ids_str] = dataArr;
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
if(!table_name) throw "table_name undef";
|
|
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)]);
|
|
43
|
+
// const conditions: string[] = triggers.map(t => t.condition);
|
|
44
|
+
log("notifListener", dataArr.join("__"))
|
|
45
|
+
|
|
46
|
+
/* Trigger error */
|
|
47
|
+
if (
|
|
48
|
+
condition_ids_str?.startsWith("error") &&
|
|
49
|
+
this._triggers?.[table_name]?.length
|
|
50
|
+
) {
|
|
51
|
+
const pref = "INTERNAL ERROR";
|
|
52
|
+
console.error(`${pref}: condition_ids_str: ${condition_ids_str}`)
|
|
53
|
+
this._triggers[table_name]!.map(c => {
|
|
54
|
+
const subs = this.getSubs(table_name, c);
|
|
55
|
+
subs.map(s => {
|
|
56
|
+
this.pushSubData(s, pref + ". Check server logs. Schema might have changed");
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
/* Trigger ok */
|
|
61
|
+
} else if (
|
|
62
|
+
condition_ids_str?.split(",").length &&
|
|
63
|
+
condition_ids_str?.split(",").every((c: string) => Number.isInteger(+c)) &&
|
|
64
|
+
this._triggers?.[table_name]?.length
|
|
65
|
+
) {
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
const idxs = condition_ids_str.split(",").map(v => +v);
|
|
69
|
+
const conditions = this._triggers[table_name]!.filter((c, i) => idxs.includes(i))
|
|
70
|
+
|
|
71
|
+
// log("notifListener", this._triggers[table_name]);
|
|
72
|
+
|
|
73
|
+
conditions.map(condition => {
|
|
74
|
+
|
|
75
|
+
const subs = this.getSubs(table_name, condition);
|
|
76
|
+
const syncs = this.getSyncs(table_name, condition);
|
|
77
|
+
|
|
78
|
+
log("notifListener", subs.map(s => s.channel_name), syncs.map(s => s.channel_name))
|
|
79
|
+
|
|
80
|
+
syncs.map((s) => {
|
|
81
|
+
this.syncData(s, undefined, "trigger");
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
/* Throttle the subscriptions */
|
|
85
|
+
subs.forEach(sub => {
|
|
86
|
+
sub.triggers.forEach(trg => {
|
|
87
|
+
if (
|
|
88
|
+
this.dbo[trg.table_name] &&
|
|
89
|
+
sub.is_ready &&
|
|
90
|
+
(sub.socket_id && this.sockets[sub.socket_id]) || sub.func
|
|
91
|
+
) {
|
|
92
|
+
const throttle = sub.throttle || 0;
|
|
93
|
+
if (sub.last_throttled <= Date.now() - throttle) {
|
|
94
|
+
|
|
95
|
+
/* It is assumed the policy was checked before this point */
|
|
96
|
+
this.pushSubData(sub);
|
|
97
|
+
// sub.last_throttled = Date.now();
|
|
98
|
+
} else if (!sub.is_throttling) {
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
log("throttling sub")
|
|
102
|
+
sub.is_throttling = setTimeout(() => {
|
|
103
|
+
log("throttling finished. pushSubData...")
|
|
104
|
+
sub.is_throttling = null;
|
|
105
|
+
this.pushSubData(sub);
|
|
106
|
+
}, throttle);// sub.throttle);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
/* Trigger unknown issue */
|
|
115
|
+
} else {
|
|
116
|
+
|
|
117
|
+
// if(!this._triggers || !this._triggers[table_name] || !this._triggers[table_name].length){
|
|
118
|
+
// console.warn(190, "Trigger sub not found. DROPPING TRIGGER", table_name, condition_ids_str, this._triggers);
|
|
119
|
+
// this.dropTrigger(table_name);
|
|
120
|
+
// } else {
|
|
121
|
+
// }
|
|
122
|
+
console.warn(190, "Trigger sub issue: ", table_name, condition_ids_str, this._triggers);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -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":"AAAA,OAAO,EAAyB,SAAS,EAAO,oBAAoB,EAAE,aAAa,EAAwB,UAAU,EAAY,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACjK,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAyB,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtI,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAiB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC;AAE3L,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1C,KAAK,OAAO,GAAG;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAA;AAED,KAAK,QAAQ,GAAG,OAAO,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAA;AACD,KAAK,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAA;AA6ED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAC;CACxB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,WAAW,CAAC;CACxB,CAAA;AACD,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,IAAI;IACtD,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAA;AACD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI;IAC3C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAClB,CAAA;AACD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,SAAS,IAAI;IACxD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;CACtB,CAAA;AACD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAErH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACvH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAAE,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAG1K,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI;IAErE;;;OAGG;IACH,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,aAAa,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnC;;SAEK;IACL,YAAY,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAEpF,CAAA;AACD,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI;IAErE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE5C;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhC;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/C,CAAA;AACD,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI;IAErE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE;QACd,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;KACnC,EAAE,CAAC;IAEJ;;;OAGG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAElD;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAE9C;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEzC;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE5C;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtC;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI;IAErE;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAElD;;OAEG;IACH,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAA;IAElD;;OAEG;IACH,QAAQ,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;CAC5C,CAAA;AACD,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,IAAI;IAEzD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAE1B;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AACD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,gBAAgB,GAAG;IACzE;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG;IAC3F,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI;IACzE,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;IACpG,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,IAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,GAAG,mBAAmB,CAAC;CACjD,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAA;AAKD,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,eAAe,CAAC;QACtB,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC9B,EAAE,CAAC;CACL,CAAA;AACD,MAAM,MAAM,aAAa,GAAG;IAAE,GAAG,CAAC,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;AAC5D,KAAK,aAAa,GAAG;IACnB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,gBAAgB,GAAG,eAAe,GAAG,mBAAmB,CAAC,CAAA;CACjF,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAAA;CACzC,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,MAAM,GAAG,IAAI,IAAI,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC7F,MAAM,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEvL,qBAAa,aAAa;IACxB,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACrF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAA;IACN,SAAS,EAAE,SAAS,CAAC;gBAET,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS;IAW/K,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAe3F,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IAqBhG;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAcrF,2BAA2B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAKrG,uBAAuB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAyC1H,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAqKrH,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,oBAAoB,CAAC;QAAC,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;CA4GnI"}
|
package/lib/PublishParser.js
CHANGED
|
@@ -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
|
-
|
|
364
|
+
tableSchema[method] = table_rules[method];
|
|
364
365
|
}
|
|
365
366
|
else if (table_rules[method]) {
|
|
366
|
-
|
|
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
|
-
|
|
377
|
+
tableSchema[method] = { err };
|
|
377
378
|
throw `publish.${tableName}.${method}: \n -> ${e}`;
|
|
378
379
|
}
|
|
379
380
|
}
|
package/lib/PublishParser.ts
CHANGED
|
@@ -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
|
-
|
|
709
|
+
tableSchema[method] = table_rules[method];
|
|
709
710
|
} else if ((table_rules as any)[method]) {
|
|
710
711
|
|
|
711
|
-
|
|
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
|
-
|
|
724
|
+
tableSchema[method] = { err };
|
|
724
725
|
|
|
725
726
|
throw `publish.${tableName}.${method}: \n -> ${e}`;
|
|
726
727
|
}
|
|
@@ -391,9 +391,9 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
391
391
|
this.config &&
|
|
392
392
|
sourceTable in this.config &&
|
|
393
393
|
this.config[sourceTable] &&
|
|
394
|
-
"columns" in this.config[sourceTable]
|
|
394
|
+
"columns" in this.config[sourceTable]!
|
|
395
395
|
) {
|
|
396
|
-
const td = this.config[sourceTable]
|
|
396
|
+
const td = this.config[sourceTable]!;
|
|
397
397
|
if ("columns" in td && td.columns?.[targetTable]) {
|
|
398
398
|
const cd = td.columns[targetTable];
|
|
399
399
|
if (isObject(cd) && "joinDef" in cd) {
|
|
@@ -469,7 +469,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
469
469
|
/* Create lookup tables */
|
|
470
470
|
getKeys(this.config).map(tableNameRaw => {
|
|
471
471
|
const tableName = asName(tableNameRaw);
|
|
472
|
-
const tableConf = this.config![tableNameRaw]
|
|
472
|
+
const tableConf = this.config![tableNameRaw]!;
|
|
473
473
|
|
|
474
474
|
if ("isLookupTable" in tableConf && Object.keys(tableConf.isLookupTable?.values).length) {
|
|
475
475
|
const { dropIfExists = false, dropIfExistsCascade = false } = tableConf;
|
|
@@ -483,7 +483,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
483
483
|
|
|
484
484
|
const rows = Object.keys(tableConf.isLookupTable?.values).map(id => ({ id, ...(tableConf.isLookupTable?.values[id]) }));
|
|
485
485
|
if (isDropped || !this.dbo?.[tableNameRaw]) {
|
|
486
|
-
const columnNames = Object.keys(rows[0]).filter(k => k !== "id");
|
|
486
|
+
const columnNames = Object.keys(rows[0]!).filter(k => k !== "id");
|
|
487
487
|
queries.push(
|
|
488
488
|
`CREATE TABLE IF NOT EXISTS ${tableName} (
|
|
489
489
|
id TEXT PRIMARY KEY
|
|
@@ -506,7 +506,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
506
506
|
|
|
507
507
|
/* Create/Alter columns */
|
|
508
508
|
for await (const tableName of getKeys(this.config)){
|
|
509
|
-
const tableConf = this.config![tableName]
|
|
509
|
+
const tableConf = this.config![tableName]!;
|
|
510
510
|
const tableHandler = this.dbo[tableName];
|
|
511
511
|
|
|
512
512
|
/** These have already been created */
|
|
@@ -578,7 +578,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
578
578
|
replace,
|
|
579
579
|
unique, concurrently,
|
|
580
580
|
using, columns, where = ""
|
|
581
|
-
} = tableConf.indexes![indexName]
|
|
581
|
+
} = tableConf.indexes![indexName]!;
|
|
582
582
|
if (replace || typeof replace !== "boolean" && tableConf.replaceUniqueIndexes) {
|
|
583
583
|
queries.push(`DROP INDEX IF EXISTS ${asName(indexName)};`);
|
|
584
584
|
}
|
|
@@ -617,7 +617,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
617
617
|
// `, {}, { returnType: "rows" }) as { proname: string }[];
|
|
618
618
|
|
|
619
619
|
getKeys(triggers).forEach(triggerFuncName => {
|
|
620
|
-
const trigger = triggers[triggerFuncName]
|
|
620
|
+
const trigger = triggers[triggerFuncName]!;
|
|
621
621
|
|
|
622
622
|
const funcNameParsed = asName(triggerFuncName);
|
|
623
623
|
|
|
@@ -32,7 +32,7 @@ export const getConstraintDefinitionQueries = ({ tableConf, tableName }: Args):
|
|
|
32
32
|
} else {
|
|
33
33
|
const constraintNames = getKeys(tableConf.constraints);
|
|
34
34
|
return constraintNames.map(constraintName => {
|
|
35
|
-
const _cnstr = constraints[constraintName]
|
|
35
|
+
const _cnstr = constraints[constraintName]!;
|
|
36
36
|
const constraintDef = typeof _cnstr === "string"? _cnstr : `${_cnstr.type} (${_cnstr.content})`;
|
|
37
37
|
|
|
38
38
|
/** Drop constraints with the same name */
|
|
@@ -44,7 +44,7 @@ export const getTableColumnQueries = async ({ db, tableConf, tableName, tableHan
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
const columns = getKeys(tableConf.columns).filter(c => {
|
|
47
|
-
const colDef = tableConf.columns![c]
|
|
47
|
+
const colDef = tableConf.columns![c]!;
|
|
48
48
|
/** Exclude NamedJoinColumn */
|
|
49
49
|
return typeof colDef === "string" || !("joinDef" in colDef)
|
|
50
50
|
}) as string[];
|
|
@@ -52,7 +52,7 @@ export const getTableColumnQueries = async ({ db, tableConf, tableName, tableHan
|
|
|
52
52
|
const colDefs: { name: string; def: string }[] = [];
|
|
53
53
|
|
|
54
54
|
for await(const colName of columns) {
|
|
55
|
-
const colConf = tableConf.columns![colName]
|
|
55
|
+
const colConf = tableConf.columns![colName]!;
|
|
56
56
|
|
|
57
57
|
/* Get column definition */
|
|
58
58
|
const colDef = await getColumnDefinitionQuery({ colConf, column: colName, db, table: tableName });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prostgles-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"check-disk-space": "^3.3.1",
|
|
41
41
|
"file-type": "^17.1.4",
|
|
42
42
|
"pg-promise": "^11.3.0",
|
|
43
|
-
"prostgles-types": "^
|
|
43
|
+
"prostgles-types": "^4.0.1",
|
|
44
44
|
"sharp": "^0.31.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
27418
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@types/node": "^14.14.16",
|
|
13
|
-
"prostgles-client": "^
|
|
13
|
+
"prostgles-client": "^4.0.1",
|
|
14
14
|
"socket.io-client": "^4.6.1"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
@@ -2806,19 +2806,19 @@
|
|
|
2806
2806
|
"license": "ISC"
|
|
2807
2807
|
},
|
|
2808
2808
|
"node_modules/prostgles-client": {
|
|
2809
|
-
"version": "
|
|
2810
|
-
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-
|
|
2811
|
-
"integrity": "sha512-
|
|
2809
|
+
"version": "4.0.1",
|
|
2810
|
+
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-4.0.1.tgz",
|
|
2811
|
+
"integrity": "sha512-yXd3Bps/09jUW05JJXfQ5LY2OxI9Y3Mw2DKPmY7CLftm9hidhhNFirbWQJBIdloJ1YlEBEKY2i4NiMnfq+XCcQ==",
|
|
2812
2812
|
"dependencies": {
|
|
2813
2813
|
"i": "^0.3.7",
|
|
2814
2814
|
"npm": "^9.6.2",
|
|
2815
|
-
"prostgles-types": "^
|
|
2815
|
+
"prostgles-types": "^4.0.1"
|
|
2816
2816
|
}
|
|
2817
2817
|
},
|
|
2818
2818
|
"node_modules/prostgles-types": {
|
|
2819
|
-
"version": "
|
|
2820
|
-
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-
|
|
2821
|
-
"integrity": "sha512-
|
|
2819
|
+
"version": "4.0.1",
|
|
2820
|
+
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-4.0.1.tgz",
|
|
2821
|
+
"integrity": "sha512-iEF3WykhWgJMtcU6yoZ1zo/scKckr1VjivLSRtzpQYBYFWaCoEZvvzhT96/FFmUD/9WRpDHvkqIwYi9P+c06ig==",
|
|
2822
2822
|
"dependencies": {
|
|
2823
2823
|
"json-schema": "^0.4.0"
|
|
2824
2824
|
}
|
|
@@ -4732,19 +4732,19 @@
|
|
|
4732
4732
|
}
|
|
4733
4733
|
},
|
|
4734
4734
|
"prostgles-client": {
|
|
4735
|
-
"version": "
|
|
4736
|
-
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-
|
|
4737
|
-
"integrity": "sha512-
|
|
4735
|
+
"version": "4.0.1",
|
|
4736
|
+
"resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-4.0.1.tgz",
|
|
4737
|
+
"integrity": "sha512-yXd3Bps/09jUW05JJXfQ5LY2OxI9Y3Mw2DKPmY7CLftm9hidhhNFirbWQJBIdloJ1YlEBEKY2i4NiMnfq+XCcQ==",
|
|
4738
4738
|
"requires": {
|
|
4739
4739
|
"i": "^0.3.7",
|
|
4740
4740
|
"npm": "^9.6.2",
|
|
4741
|
-
"prostgles-types": "^
|
|
4741
|
+
"prostgles-types": "^4.0.1"
|
|
4742
4742
|
}
|
|
4743
4743
|
},
|
|
4744
4744
|
"prostgles-types": {
|
|
4745
|
-
"version": "
|
|
4746
|
-
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-
|
|
4747
|
-
"integrity": "sha512-
|
|
4745
|
+
"version": "4.0.1",
|
|
4746
|
+
"resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-4.0.1.tgz",
|
|
4747
|
+
"integrity": "sha512-iEF3WykhWgJMtcU6yoZ1zo/scKckr1VjivLSRtzpQYBYFWaCoEZvvzhT96/FFmUD/9WRpDHvkqIwYi9P+c06ig==",
|
|
4748
4748
|
"requires": {
|
|
4749
4749
|
"json-schema": "^0.4.0"
|
|
4750
4750
|
}
|
|
@@ -123,7 +123,7 @@ async function client_only(db, auth, log, methods, tableSchema) {
|
|
|
123
123
|
/** 2 second delay to account for client-server clock drift */
|
|
124
124
|
setTimeout(async () => {
|
|
125
125
|
// db.planes.findOne({}, { select: { last_updated: "$max"}}).then(log);
|
|
126
|
-
sP.unsubscribe();
|
|
126
|
+
await sP.unsubscribe();
|
|
127
127
|
log(Date.now() + ": sub: db.planes.update({}, { x: 20, last_updated });");
|
|
128
128
|
const dLastUpdated = Math.max(...p10.map(v => +v.last_updated));
|
|
129
129
|
const last_updated = Date.now();
|
|
@@ -146,7 +146,7 @@ export default async function client_only(db: Required<DBHandlerClient>, auth: A
|
|
|
146
146
|
|
|
147
147
|
// db.planes.findOne({}, { select: { last_updated: "$max"}}).then(log);
|
|
148
148
|
|
|
149
|
-
sP.unsubscribe();
|
|
149
|
+
await sP.unsubscribe();
|
|
150
150
|
log(Date.now() + ": sub: db.planes.update({}, { x: 20, last_updated });");
|
|
151
151
|
const dLastUpdated = Math.max(...p10.map(v => +v.last_updated))
|
|
152
152
|
const last_updated = Date.now();
|
|
@@ -371,7 +371,7 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
|
|
|
371
371
|
await db.various.update!({ id: 99 }, { name: "zz3zz2" });
|
|
372
372
|
await db.various.update!({ id: 99 }, { name: "zz3zz3" });
|
|
373
373
|
}, { timeout: 4000 });
|
|
374
|
-
|
|
374
|
+
|
|
375
375
|
await tryRunP("subscribeOne with throttle", async (resolve, reject) => {
|
|
376
376
|
await db.various.insert!({ id: 99 });
|
|
377
377
|
const start = Date.now(); // name: "zz3zz"
|