prostgles-server 4.2.100 → 4.2.102
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/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
- package/dist/PubSubManager/getPubSubManagerInitQuery.js +16 -0
- package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
- package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
- package/dist/PubSubManager/pushSubData.js +5 -1
- package/dist/PubSubManager/pushSubData.js.map +1 -1
- package/lib/PubSubManager/getPubSubManagerInitQuery.ts +16 -0
- package/lib/PubSubManager/pushSubData.ts +5 -1
- package/package.json +1 -1
- package/tests/isomorphicQueries.spec.ts +12 -3
- package/tests/server/DBoGenerated.d.ts +10 -0
- package/tests/server/package-lock.json +1 -1
- package/tests/server/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpF,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;
|
|
1
|
+
{"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpF,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAimBX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,SAAwB,aAAa,KAAG,QAAQ,MAAM,GAAG,SAAS,CAoBvG,CAAA"}
|
|
@@ -147,6 +147,22 @@ BEGIN
|
|
|
147
147
|
END;
|
|
148
148
|
$$ LANGUAGE plpgsql;
|
|
149
149
|
COMMENT ON FUNCTION prostgles."user" IS 'Used for row level security';
|
|
150
|
+
|
|
151
|
+
CREATE OR REPLACE FUNCTION prostgles.user_id()
|
|
152
|
+
RETURNS UUID AS $$
|
|
153
|
+
BEGIN
|
|
154
|
+
RETURN prostgles.user('id')::UUID;
|
|
155
|
+
END;
|
|
156
|
+
$$ LANGUAGE plpgsql;
|
|
157
|
+
COMMENT ON FUNCTION prostgles.user_id IS 'Session user id';
|
|
158
|
+
|
|
159
|
+
CREATE OR REPLACE FUNCTION prostgles.user_type()
|
|
160
|
+
RETURNS TEXT AS $$
|
|
161
|
+
BEGIN
|
|
162
|
+
RETURN prostgles.user('type')::TEXT;
|
|
163
|
+
END;
|
|
164
|
+
$$ LANGUAGE plpgsql;
|
|
165
|
+
COMMENT ON FUNCTION prostgles.user_type IS 'Session user type';
|
|
150
166
|
|
|
151
167
|
CREATE TABLE IF NOT EXISTS prostgles.apps (
|
|
152
168
|
id TEXT PRIMARY KEY DEFAULT prostgles.random_string(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":";;;AACA,qDAA2C;AAC3C,mEAAoD;AACpD,mDAAoF;AACpF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAClD,6DAAwD;AAE3C,QAAA,YAAY,GAAG;IAC1B,uBAAuB,EAAE,mCAAmC;IAC5D,eAAe,EAAE,sCAAsC;IACvD,iBAAiB,EAAE,6BAA6B;IAChD,oBAAoB,EAAE,oCAAoC;IAC1D,yBAAyB,EAAE,yCAAyC;CAC5D,CAAC;AAEX,MAAM,6BAA6B,GAAG;;;;;;CAMrC,CAAC;AACF,MAAM,iCAAiC,GAAG;;;;;;CAMzC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,SAA8B,EAAE,EAAE,CAAC;;;;;;IAMrD,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;YAcxC,6BAA6B;;;;;;;YAO7B,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4B5B,IAAA,uBAAO,EAAC,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushSubData.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/pushSubData.ts"],"names":[],"mappings":"AACA,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,
|
|
1
|
+
{"version":3,"file":"pushSubData.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/pushSubData.ts"],"names":[],"mappings":"AACA,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,oBAmDlF"}
|
|
@@ -6,7 +6,11 @@ const PubSubManager_1 = require("./PubSubManager");
|
|
|
6
6
|
async function pushSubData(sub, err) {
|
|
7
7
|
if (!sub)
|
|
8
8
|
throw "pushSubData: invalid sub";
|
|
9
|
-
const { socket_id, channel_name } = sub;
|
|
9
|
+
const { socket_id, channel_name } = sub;
|
|
10
|
+
if (!this.subs.some(s => s.channel_name === channel_name)) {
|
|
11
|
+
// Might be throttling a sub that was removed
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
10
14
|
const localFuncs = (0, subscribe_1.parseLocalFuncs)(sub.localFuncs);
|
|
11
15
|
if (err) {
|
|
12
16
|
if (socket_id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushSubData.js","sourceRoot":"","sources":["../../lib/PubSubManager/pushSubData.ts"],"names":[],"mappings":";;;AAAA,mEAAsE;AACtE,mDAAmE;AAE5D,KAAK,UAAU,WAAW,CAAsB,GAAiB,EAAE,GAAS;IACjF,IAAI,CAAC,GAAG;QAAE,MAAM,0BAA0B,CAAC;IAE3C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"pushSubData.js","sourceRoot":"","sources":["../../lib/PubSubManager/pushSubData.ts"],"names":[],"mappings":";;;AAAA,mEAAsE;AACtE,mDAAmE;AAE5D,KAAK,UAAU,WAAW,CAAsB,GAAiB,EAAE,GAAS;IACjF,IAAI,CAAC,GAAG;QAAE,MAAM,0BAA0B,CAAC;IAE3C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IACxC,IAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,EAAC,CAAC;QACxD,6CAA6C;QAC7C,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,2BAAe,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,2CAA2C;QAE3C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEjD,IAAG,IAAI,EAAC,CAAC;YAEP,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,IAAA,mBAAG,EAAC,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAA;gBAChD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE;oBACxD,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;gBACH;;kBAEE;YACJ,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,mCAAmC;QAErC,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC;YACjD,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,UAAU,EAAE,CAAC;gBACtB,IAAG,CAAC,UAAU,CAAC,OAAO,EAAC,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;gBACpD,CAAC;gBACD,UAAU,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAnDD,kCAmDC"}
|
|
@@ -148,6 +148,22 @@ BEGIN
|
|
|
148
148
|
END;
|
|
149
149
|
$$ LANGUAGE plpgsql;
|
|
150
150
|
COMMENT ON FUNCTION prostgles."user" IS 'Used for row level security';
|
|
151
|
+
|
|
152
|
+
CREATE OR REPLACE FUNCTION prostgles.user_id()
|
|
153
|
+
RETURNS UUID AS $$
|
|
154
|
+
BEGIN
|
|
155
|
+
RETURN prostgles.user('id')::UUID;
|
|
156
|
+
END;
|
|
157
|
+
$$ LANGUAGE plpgsql;
|
|
158
|
+
COMMENT ON FUNCTION prostgles.user_id IS 'Session user id';
|
|
159
|
+
|
|
160
|
+
CREATE OR REPLACE FUNCTION prostgles.user_type()
|
|
161
|
+
RETURNS TEXT AS $$
|
|
162
|
+
BEGIN
|
|
163
|
+
RETURN prostgles.user('type')::TEXT;
|
|
164
|
+
END;
|
|
165
|
+
$$ LANGUAGE plpgsql;
|
|
166
|
+
COMMENT ON FUNCTION prostgles.user_type IS 'Session user type';
|
|
151
167
|
|
|
152
168
|
CREATE TABLE IF NOT EXISTS prostgles.apps (
|
|
153
169
|
id TEXT PRIMARY KEY DEFAULT prostgles.random_string(),
|
|
@@ -4,7 +4,11 @@ import { log, PubSubManager, Subscription } from "./PubSubManager";
|
|
|
4
4
|
export async function pushSubData(this: PubSubManager, sub: Subscription, err?: any) {
|
|
5
5
|
if (!sub) throw "pushSubData: invalid sub";
|
|
6
6
|
|
|
7
|
-
const { socket_id, channel_name } = sub;
|
|
7
|
+
const { socket_id, channel_name } = sub;
|
|
8
|
+
if(!this.subs.some(s => s.channel_name === channel_name)){
|
|
9
|
+
// Might be throttling a sub that was removed
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
8
12
|
const localFuncs = parseLocalFuncs(sub.localFuncs);
|
|
9
13
|
|
|
10
14
|
if (err) {
|
package/package.json
CHANGED
|
@@ -487,10 +487,19 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
|
|
|
487
487
|
) as { tgname: string; enabled: boolean; }[];
|
|
488
488
|
}
|
|
489
489
|
let validTriggers = await getTableTriggers(table_name);
|
|
490
|
-
console.log("unsubscribe start")
|
|
490
|
+
console.log("unsubscribe start - " + table_name)
|
|
491
491
|
await sub.unsubscribe();
|
|
492
|
-
console.log("unsubscribe end")
|
|
493
|
-
assert.equal(
|
|
492
|
+
console.log("unsubscribe end - " + table_name);
|
|
493
|
+
assert.equal(
|
|
494
|
+
validTriggers.filter(t => t.enabled).length,
|
|
495
|
+
3,
|
|
496
|
+
`3 Triggers should be enabled: \n${
|
|
497
|
+
JSON.stringify({
|
|
498
|
+
table_name,
|
|
499
|
+
filter: sub.filter,
|
|
500
|
+
validTriggers
|
|
501
|
+
}, null, 2)
|
|
502
|
+
}`);
|
|
494
503
|
await db.sql?.(`DELETE FROM prostgles.app_triggers`, []);
|
|
495
504
|
validTriggers = await getTableTriggers(table_name);
|
|
496
505
|
assert.equal(validTriggers.length, 3, '3 Triggers should exist but be disabled');
|
|
@@ -257,6 +257,16 @@ export type DBSchemaGenerated = {
|
|
|
257
257
|
id: string;
|
|
258
258
|
};
|
|
259
259
|
};
|
|
260
|
+
newly_created_table: {
|
|
261
|
+
is_view: false;
|
|
262
|
+
select: true;
|
|
263
|
+
insert: true;
|
|
264
|
+
update: true;
|
|
265
|
+
delete: true;
|
|
266
|
+
columns: {
|
|
267
|
+
id?: null | number;
|
|
268
|
+
};
|
|
269
|
+
};
|
|
260
270
|
obj_table: {
|
|
261
271
|
is_view: false;
|
|
262
272
|
select: true;
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
"start": "tsc-watch --onSuccess \"node dist/server/index.js\"",
|
|
8
8
|
"dev": "NOSTOP=true npm start",
|
|
9
9
|
"build": "rm -rf ./node_modules/* && rm -rf ./media/* && rm -rf ./dist/* && npm i && tsc",
|
|
10
|
-
"test-server": "TEST_TYPE=server node --trace-uncaught --test
|
|
11
|
-
"test-client": "TEST_TYPE=client node --trace-uncaught --test
|
|
10
|
+
"test-server": "TEST_TYPE=server node --trace-uncaught --test dist/server/index.js ",
|
|
11
|
+
"test-client": "TEST_TYPE=client node --trace-uncaught --test dist/server/index.js "
|
|
12
12
|
},
|
|
13
13
|
"author": "",
|
|
14
14
|
"license": "ISC",
|