prostgles-server 4.2.279 → 4.2.280
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/Auth/AuthHandler.d.ts +11 -12
- package/dist/Auth/AuthHandler.d.ts.map +1 -1
- package/dist/Auth/AuthHandler.js +5 -46
- package/dist/Auth/AuthHandler.js.map +1 -1
- package/dist/Auth/AuthTypes.d.ts +3 -3
- package/dist/Auth/AuthTypes.d.ts.map +1 -1
- package/dist/Auth/getClientAuth.d.ts.map +1 -1
- package/dist/Auth/getClientAuth.js +1 -0
- package/dist/Auth/getClientAuth.js.map +1 -1
- package/dist/Auth/utils/getSidAndUserFromRequest.d.ts +0 -5
- package/dist/Auth/utils/getSidAndUserFromRequest.d.ts.map +1 -1
- package/dist/Auth/utils/getSidAndUserFromRequest.js +0 -58
- package/dist/Auth/utils/getSidAndUserFromRequest.js.map +1 -1
- package/dist/Auth/utils/handleGetUser.d.ts +5 -0
- package/dist/Auth/utils/handleGetUser.d.ts.map +1 -1
- package/dist/Auth/utils/handleGetUser.js +30 -2
- package/dist/Auth/utils/handleGetUser.js.map +1 -1
- package/dist/Auth/utils/setCookieAndGoToReturnURLIFSet.d.ts +18 -0
- package/dist/Auth/utils/setCookieAndGoToReturnURLIFSet.d.ts.map +1 -0
- package/dist/Auth/utils/setCookieAndGoToReturnURLIFSet.js +52 -0
- package/dist/Auth/utils/setCookieAndGoToReturnURLIFSet.js.map +1 -0
- package/dist/DboBuilder/DboBuilderTypes.d.ts +8 -6
- package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +2 -2
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts +1 -1
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
- package/dist/Filtering.d.ts +1 -1
- package/dist/Prostgles.d.ts +2 -4
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +34 -136
- package/dist/Prostgles.js.map +1 -1
- package/dist/ProstglesTypes.d.ts.map +1 -1
- package/dist/ProstglesTypes.js.map +1 -1
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +1 -1
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/dist/PublishParser/getFileTableRules.js +3 -3
- package/dist/PublishParser/getFileTableRules.js.map +1 -1
- package/dist/TableConfig/getSchemaDiffQueries.d.ts +2 -2
- package/dist/WebsocketAPI/getClientSchema.d.ts +5 -0
- package/dist/WebsocketAPI/getClientSchema.d.ts.map +1 -0
- package/dist/WebsocketAPI/getClientSchema.js +105 -0
- package/dist/WebsocketAPI/getClientSchema.js.map +1 -0
- package/dist/{onSocketConnected.d.ts → WebsocketAPI/onSocketConnected.d.ts} +2 -2
- package/dist/WebsocketAPI/onSocketConnected.d.ts.map +1 -0
- package/dist/{onSocketConnected.js → WebsocketAPI/onSocketConnected.js} +4 -4
- package/dist/WebsocketAPI/onSocketConnected.js.map +1 -0
- package/dist/WebsocketAPI/pushSocketSchema.d.ts +4 -0
- package/dist/WebsocketAPI/pushSocketSchema.d.ts.map +1 -0
- package/dist/WebsocketAPI/pushSocketSchema.js +40 -0
- package/dist/WebsocketAPI/pushSocketSchema.js.map +1 -0
- package/dist/initProstgles.d.ts.map +1 -1
- package/dist/initProstgles.js +5 -3
- package/dist/initProstgles.js.map +1 -1
- package/dist/runClientRequest.d.ts +1 -1
- package/dist/runClientRequest.d.ts.map +1 -1
- package/dist/runClientRequest.js +3 -1
- package/dist/runClientRequest.js.map +1 -1
- package/lib/Auth/AuthHandler.ts +9 -59
- package/lib/Auth/AuthTypes.ts +3 -3
- package/lib/Auth/getClientAuth.ts +1 -0
- package/lib/Auth/utils/getSidAndUserFromRequest.ts +2 -66
- package/lib/Auth/utils/handleGetUser.ts +31 -2
- package/lib/Auth/utils/setCookieAndGoToReturnURLIFSet.ts +62 -0
- package/lib/DboBuilder/DboBuilderTypes.ts +10 -7
- package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +5 -5
- package/lib/Prostgles.ts +43 -167
- package/lib/ProstglesTypes.ts +0 -1
- package/lib/PubSubManager/notifListener.ts +4 -3
- package/lib/PublishParser/getFileTableRules.ts +4 -4
- package/lib/WebsocketAPI/getClientSchema.ts +111 -0
- package/lib/{onSocketConnected.ts → WebsocketAPI/onSocketConnected.ts} +9 -8
- package/lib/WebsocketAPI/pushSocketSchema.ts +42 -0
- package/lib/initProstgles.ts +6 -3
- package/lib/runClientRequest.ts +4 -2
- package/package.json +1 -1
- package/dist/onSocketConnected.d.ts.map +0 -1
- package/dist/onSocketConnected.js.map +0 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getClientSchema = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const runClientRequest_1 = require("../runClientRequest");
|
|
6
|
+
const version = require("../../package.json").version;
|
|
7
|
+
async function getClientSchema(clientReq) {
|
|
8
|
+
const result = await (0, prostgles_types_1.tryCatchV2)(async () => {
|
|
9
|
+
const clientInfo = clientReq.socket ?
|
|
10
|
+
{ type: "socket", ...clientReq }
|
|
11
|
+
: { type: "http", ...clientReq };
|
|
12
|
+
const userData = await this.authHandler?.getSidAndUserFromRequest(clientInfo);
|
|
13
|
+
if (userData === "new-session-redirect") {
|
|
14
|
+
throw "new-session-redirect";
|
|
15
|
+
}
|
|
16
|
+
const { publishParser } = this;
|
|
17
|
+
let fullSchema;
|
|
18
|
+
let publishValidationError;
|
|
19
|
+
try {
|
|
20
|
+
if (!publishParser)
|
|
21
|
+
throw "publishParser undefined";
|
|
22
|
+
fullSchema = await publishParser.getSchemaFromPublish({
|
|
23
|
+
...clientInfo,
|
|
24
|
+
userData,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
publishValidationError = e;
|
|
29
|
+
console.error(`\nProstgles Publish validation failed (after socket connected):\n ->`, e);
|
|
30
|
+
}
|
|
31
|
+
let rawSQL = false;
|
|
32
|
+
if (this.opts.publishRawSQL && typeof this.opts.publishRawSQL === "function") {
|
|
33
|
+
const { allowed } = await runClientRequest_1.clientCanRunSqlRequest.bind(this)(clientInfo);
|
|
34
|
+
rawSQL = allowed;
|
|
35
|
+
}
|
|
36
|
+
const { schema, tables, tableSchemaErrors } = fullSchema ?? {
|
|
37
|
+
schema: {},
|
|
38
|
+
tables: [],
|
|
39
|
+
tableSchemaErrors: {},
|
|
40
|
+
};
|
|
41
|
+
const joinTables2 = [];
|
|
42
|
+
if (this.opts.joins) {
|
|
43
|
+
const _joinTables2 = this.dboBuilder
|
|
44
|
+
.getAllJoinPaths()
|
|
45
|
+
.filter((jp) => ![jp.t1, jp.t2].find((t) => !schema[t] || !schema[t]?.findOne))
|
|
46
|
+
.map((jp) => [jp.t1, jp.t2].sort());
|
|
47
|
+
_joinTables2.map((jt) => {
|
|
48
|
+
if (!joinTables2.find((_jt) => _jt.join() === jt.join())) {
|
|
49
|
+
joinTables2.push(jt);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const methods = await publishParser?.getAllowedMethods(clientInfo, userData);
|
|
54
|
+
const methodSchema = !methods ?
|
|
55
|
+
[]
|
|
56
|
+
: Object.entries(methods)
|
|
57
|
+
.map(([methodName, method]) => {
|
|
58
|
+
if ((0, prostgles_types_1.isObject)(method) && "run" in method) {
|
|
59
|
+
return {
|
|
60
|
+
name: methodName,
|
|
61
|
+
...(0, prostgles_types_1.omitKeys)(method, ["run"]),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return methodName;
|
|
65
|
+
})
|
|
66
|
+
.sort((a, b) => {
|
|
67
|
+
const aName = (0, prostgles_types_1.isObject)(a) ? a.name : a;
|
|
68
|
+
const bName = (0, prostgles_types_1.isObject)(b) ? b.name : b;
|
|
69
|
+
return aName.localeCompare(bName);
|
|
70
|
+
});
|
|
71
|
+
const authInfo = await this.authHandler?.getClientAuth(clientReq);
|
|
72
|
+
if (authInfo === "new-session-redirect") {
|
|
73
|
+
throw "new-session-redirect";
|
|
74
|
+
}
|
|
75
|
+
const clientSchema = {
|
|
76
|
+
schema,
|
|
77
|
+
methods: methodSchema,
|
|
78
|
+
tableSchema: tables,
|
|
79
|
+
rawSQL,
|
|
80
|
+
joinTables: joinTables2,
|
|
81
|
+
tableSchemaErrors,
|
|
82
|
+
auth: authInfo?.auth,
|
|
83
|
+
version,
|
|
84
|
+
err: publishValidationError ? "Server Error: User publish validation failed." : undefined,
|
|
85
|
+
};
|
|
86
|
+
return {
|
|
87
|
+
publishValidationError,
|
|
88
|
+
clientSchema,
|
|
89
|
+
userData,
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
const sid = this.authHandler?.getSIDNoError(clientReq);
|
|
93
|
+
await this.opts.onLog?.({
|
|
94
|
+
type: "connect.getClientSchema",
|
|
95
|
+
duration: result.duration,
|
|
96
|
+
sid,
|
|
97
|
+
socketId: clientReq.socket?.id,
|
|
98
|
+
error: result.error || result.data?.publishValidationError,
|
|
99
|
+
});
|
|
100
|
+
if (result.hasError)
|
|
101
|
+
throw result.error;
|
|
102
|
+
return result.data.clientSchema;
|
|
103
|
+
}
|
|
104
|
+
exports.getClientSchema = getClientSchema;
|
|
105
|
+
//# sourceMappingURL=getClientSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAoF;AAIpF,0DAA6D;AAC7D,MAAM,OAAO,GAAI,OAAO,CAAC,oBAAoB,CAAyB,CAAC,OAAO,CAAC;AAExE,KAAK,UAAU,eAAe,CAAkB,SAA4B;IACjF,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,IAAI,EAAE;QACzC,MAAM,UAAU,GACd,SAAS,CAAC,MAAM,CAAC,CAAC;YAChB,EAAE,IAAI,EAAE,QAAiB,EAAE,GAAG,SAAS,EAAE;YAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,GAAG,SAAS,EAAE,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC9E,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YACxC,MAAM,sBAAsB,CAAC;QAC/B,CAAC;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,UAAkF,CAAC;QACvF,IAAI,sBAAsB,CAAC;QAE3B,IAAI,CAAC;YACH,IAAI,CAAC,aAAa;gBAAE,MAAM,yBAAyB,CAAC;YACpD,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC;gBACpD,GAAG,UAAU;gBACb,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sBAAsB,GAAG,CAAC,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,yEAAyE,EAAE,CAAC,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;YAC7E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,yCAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;YACxE,MAAM,GAAG,OAAO,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,IAAI;YAC1D,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,iBAAiB,EAAE,EAAE;SACtB,CAAC;QACF,MAAM,WAAW,GAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU;iBACjC,eAAe,EAAE;iBACjB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC9E,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACzD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE7E,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,CAAC;YACR,EAAE;YACJ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBACpB,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC5B,IAAI,IAAA,0BAAQ,EAAC,MAAM,CAAC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;oBACxC,OAAO;wBACL,IAAI,EAAE,UAAU;wBAChB,GAAG,IAAA,0BAAQ,EAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;qBAC7B,CAAC;gBACJ,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACb,MAAM,KAAK,GAAG,IAAA,0BAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,IAAA,0BAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QAET,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YACxC,MAAM,sBAAsB,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAiB;YACjC,MAAM;YACN,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,MAAM;YACnB,MAAM;YACN,UAAU,EAAE,WAAW;YACvB,iBAAiB;YACjB,IAAI,EAAE,QAAQ,EAAE,IAAI;YACpB,OAAO;YACP,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,SAAS;SAC1F,CAAC;QAEF,OAAO;YACL,sBAAsB;YACtB,YAAY;YACZ,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG;QACH,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,sBAAsB;KAC3D,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ;QAAE,MAAM,MAAM,CAAC,KAAK,CAAC;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;AAClC,CAAC;AAvGD,0CAuGC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyObject } from "prostgles-types";
|
|
2
|
-
import type { Prostgles } from "
|
|
3
|
-
import { PRGLIOSocket } from "
|
|
2
|
+
import type { Prostgles } from "../Prostgles";
|
|
3
|
+
import { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
4
4
|
export declare function onSocketConnected(this: Prostgles, socket: PRGLIOSocket): Promise<void>;
|
|
5
5
|
export declare function makeSocketError(cb: (err: AnyObject) => void, err: any): void;
|
|
6
6
|
//# sourceMappingURL=onSocketConnected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onSocketConnected.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/onSocketConnected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAO7D,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,iBA0I5E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,QAErE"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeSocketError = exports.onSocketConnected = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const runClientRequest_1 = require("
|
|
6
|
-
const dboBuilderUtils_1 = require("
|
|
7
|
-
const AuthHandler_1 = require("
|
|
5
|
+
const runClientRequest_1 = require("../runClientRequest");
|
|
6
|
+
const dboBuilderUtils_1 = require("../DboBuilder/dboBuilderUtils");
|
|
7
|
+
const AuthHandler_1 = require("../Auth/AuthHandler");
|
|
8
8
|
async function onSocketConnected(socket) {
|
|
9
9
|
if (!this.db || !this.dbo)
|
|
10
10
|
throw new Error("db/dbo missing");
|
|
@@ -18,7 +18,7 @@ async function onSocketConnected(socket) {
|
|
|
18
18
|
try {
|
|
19
19
|
const getUser = async () => {
|
|
20
20
|
if (!this.authHandler)
|
|
21
|
-
|
|
21
|
+
return { sid: undefined, user: undefined };
|
|
22
22
|
const res = await this.authHandler.getSidAndUserFromRequest({ socket });
|
|
23
23
|
if (res === "new-session-redirect") {
|
|
24
24
|
socket.emit(prostgles_types_1.CHANNELS.AUTHGUARD, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onSocketConnected.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/onSocketConnected.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pushSocketSchema.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/pushSocketSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,iBAmC3E"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pushSocketSchema = void 0;
|
|
4
|
+
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const runClientRequest_1 = require("../runClientRequest");
|
|
6
|
+
const onSocketConnected_1 = require("./onSocketConnected");
|
|
7
|
+
const dboBuilderUtils_1 = require("../DboBuilder/dboBuilderUtils");
|
|
8
|
+
async function pushSocketSchema(socket) {
|
|
9
|
+
try {
|
|
10
|
+
const clientSchema = await this.getClientSchema({ socket });
|
|
11
|
+
socket.prostgles = clientSchema;
|
|
12
|
+
if (clientSchema.rawSQL) {
|
|
13
|
+
socket.removeAllListeners(prostgles_types_1.CHANNELS.SQL);
|
|
14
|
+
socket.on(prostgles_types_1.CHANNELS.SQL, (sqlRequestData, cb = (..._callback) => {
|
|
15
|
+
/* Empty */
|
|
16
|
+
}) => {
|
|
17
|
+
runClientRequest_1.runClientSqlRequest
|
|
18
|
+
.bind(this)(sqlRequestData, { socket })
|
|
19
|
+
.then((res) => {
|
|
20
|
+
cb(null, res);
|
|
21
|
+
})
|
|
22
|
+
.catch((err) => {
|
|
23
|
+
(0, onSocketConnected_1.makeSocketError)(cb, err);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
await this.dboBuilder.prostgles.opts.onLog?.({
|
|
28
|
+
type: "debug",
|
|
29
|
+
command: "pushSocketSchema",
|
|
30
|
+
duration: -1,
|
|
31
|
+
data: { socketId: socket.id, clientSchema },
|
|
32
|
+
});
|
|
33
|
+
socket.emit(prostgles_types_1.CHANNELS.SCHEMA, clientSchema);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
socket.emit(prostgles_types_1.CHANNELS.SCHEMA, { err: (0, dboBuilderUtils_1.getErrorAsObject)(err) });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.pushSocketSchema = pushSocketSchema;
|
|
40
|
+
//# sourceMappingURL=pushSocketSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pushSocketSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/pushSocketSchema.ts"],"names":[],"mappings":";;;AAAA,qDAA4D;AAG5D,0DAA0D;AAC1D,2DAAsD;AACtD,mEAAiE;AAC1D,KAAK,UAAU,gBAAgB,CAAkB,MAAoB;IAC1E,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC;QAChC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,kBAAkB,CAAC,0BAAQ,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CACP,0BAAQ,CAAC,GAAG,EACZ,CACE,cAA0B,EAC1B,KAAK,CAAC,GAAG,SAAc,EAAE,EAAE;gBACzB,WAAW;YACb,CAAC,EACD,EAAE;gBACF,sCAAmB;qBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;qBACtC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACZ,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAA,mCAAe,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAA,kCAAgB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAnCD,4CAmCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAiB,MAAM,+BAA+B,CAAC;AAM3E;;GAEG;AACH,MAAM,MAAM,YAAY;AACtB;;GAEG;AACH,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AAE5C,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,oBAAoB,EACpB,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,CAClE,CAAC;AACF,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CACzE,GACD;IACE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,aAAa,CAAC;CAC/C,CAAC;AAEN,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,mBAAmB,GAAG;IACnD,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,GAAG,CAAC;AAEvE,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,aAAa,CAAC;IAClB,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,QAAA,MAAM,oBAAoB,UAA0D,CAAC;AAErF,eAAO,MAAM,aAAa,SAClB,SAAS,WACN,oBAAoB,UACrB,YAAY,KACnB,QAAQ,UAAU,
|
|
1
|
+
{"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAiB,MAAM,+BAA+B,CAAC;AAM3E;;GAEG;AACH,MAAM,MAAM,YAAY;AACtB;;GAEG;AACH,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AAE5C,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,oBAAoB,EACpB,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,MAAM,CAClE,CAAC;AACF,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CACzE,GACD;IACE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,aAAa,CAAC;CAC/C,CAAC;AAEN,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,mBAAmB,GAAG;IACnD,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,GAAG,CAAC;AAEvE,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,aAAa,CAAC;IAClB,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,MAAM,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF,QAAA,MAAM,oBAAoB,UAA0D,CAAC;AAErF,eAAO,MAAM,aAAa,SAClB,SAAS,WACN,oBAAoB,UACrB,YAAY,KACnB,QAAQ,UAAU,CAwLpB,CAAC"}
|
package/dist/initProstgles.js
CHANGED
|
@@ -17,8 +17,9 @@ const initProstgles = async function (onReady, reason) {
|
|
|
17
17
|
this.opts.restApi?.expressApp ??
|
|
18
18
|
this.opts.auth?.loginSignupConfig?.app;
|
|
19
19
|
/** Crucial in ensuring the runtime version of express works as expected */
|
|
20
|
-
if (expressApp)
|
|
20
|
+
if (expressApp) {
|
|
21
21
|
await (0, removeExpressRoute_1.removeExpressRoutesTest)(expressApp);
|
|
22
|
+
}
|
|
22
23
|
if (!this.db) {
|
|
23
24
|
let existingAppName = "";
|
|
24
25
|
let connString = "";
|
|
@@ -37,7 +38,7 @@ const initProstgles = async function (onReady, reason) {
|
|
|
37
38
|
existingAppName =
|
|
38
39
|
url.searchParams.get("application_name") ?? url.searchParams.get("ApplicationName") ?? "";
|
|
39
40
|
}
|
|
40
|
-
catch
|
|
41
|
+
catch { }
|
|
41
42
|
}
|
|
42
43
|
const conObj = typeof this.opts.dbConnection === "string" ?
|
|
43
44
|
{ connectionString: this.opts.dbConnection }
|
|
@@ -45,7 +46,8 @@ const initProstgles = async function (onReady, reason) {
|
|
|
45
46
|
const application_name = `prostgles ${this.appId} ${existingAppName}`;
|
|
46
47
|
/* 1. Connect to db */
|
|
47
48
|
const { db, pgp } = getDbConnection({
|
|
48
|
-
|
|
49
|
+
onQuery: this.opts.onQuery,
|
|
50
|
+
DEBUG_MODE: this.opts.DEBUG_MODE,
|
|
49
51
|
dbConnection: { ...conObj, application_name },
|
|
50
52
|
onNotice: (notice) => {
|
|
51
53
|
if (this.opts.onNotice)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AAExC,qDAAmD;AACnD,uDAAoD;AAEpD,2CAAyE;AAEzE,iEAA2E;AAC3E,2DAAwD;AACxD,mCAAgC;AAChC,yDAAsD;AACtD,wEAA0E;AA+D1E,MAAM,oBAAoB,GAAG,CAAC,MAAM,CAAgD,CAAC;AAE9E,MAAM,aAAa,GAAG,KAAK,WAEhC,OAA6B,EAC7B,MAAoB;IAEpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpB,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC;IAEzC,2EAA2E;IAC3E,IAAI,UAAU;
|
|
1
|
+
{"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare const clientCanRunSqlRequest: (this: Prostgles, clientReq: AuthCl
|
|
|
18
18
|
reqInfo: AuthClientRequest;
|
|
19
19
|
clientReq?: undefined;
|
|
20
20
|
}>;
|
|
21
|
-
export declare const runClientSqlRequest: (this: Prostgles, reqData: SQLRequest, clientReq: AuthClientRequest) => Promise<import("prostgles-types").SQLResult<"values" | "
|
|
21
|
+
export declare const runClientSqlRequest: (this: Prostgles, reqData: SQLRequest, clientReq: AuthClientRequest) => Promise<import("prostgles-types").SQLResult<"values" | "row" | "rows" | "value" | "statement" | "noticeSubscription" | "stream" | "statement-no-rls" | "statement-where" | "default-with-rollback" | "arrayMode" | undefined>>;
|
|
22
22
|
type ArgsMethod = {
|
|
23
23
|
method: string;
|
|
24
24
|
params?: any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKV,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKV,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA2BxC,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;CACb,CAAC;AAUF,eAAO,MAAM,gBAAgB,SACrB,SAAS,QACT,IAAI,aACC,iBAAiB,mCA6E7B,CAAC;AAKF,eAAO,MAAM,sBAAsB,SAC3B,SAAS,aACJ,iBAAiB;;;;;;;;EAgB7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,SACxB,SAAS,WACN,UAAU,aACR,iBAAiB,mOAS7B,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB,CAAC;AACF,eAAO,MAAM,eAAe,SACpB,SAAS,WACN,UAAU,aACR,iBAAiB,iBAmB7B,CAAC"}
|
package/dist/runClientRequest.js
CHANGED
|
@@ -52,7 +52,9 @@ const runClientRequest = async function (args, clientReq) {
|
|
|
52
52
|
const sessionUser = !clientInfo?.user ?
|
|
53
53
|
undefined
|
|
54
54
|
: {
|
|
55
|
-
...(0, parseFieldFilter_1.parseFieldFilter)(
|
|
55
|
+
...(0, parseFieldFilter_1.parseFieldFilter)(
|
|
56
|
+
//@ts-ignore
|
|
57
|
+
clientInfo.sessionFields ?? [], false, (0, prostgles_types_1.getKeys)(clientInfo.user)),
|
|
56
58
|
...(0, prostgles_types_1.pickKeys)(clientInfo.user, ["id", "type"]),
|
|
57
59
|
};
|
|
58
60
|
const localParams = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"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"}
|
package/lib/Auth/AuthHandler.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { AnyObject, CHANNELS } from "prostgles-types";
|
|
2
2
|
import { PRGLIOSocket } from "../DboBuilder/DboBuilder";
|
|
3
|
-
import { removeExpressRoute } from "./utils/removeExpressRoute";
|
|
4
3
|
import { DB, DBHandlerServer, Prostgles } from "../Prostgles";
|
|
5
|
-
import { AuthClientRequest, AuthConfig, BasicSession
|
|
6
|
-
import { LoginResponseHandler } from "./endpoints/setLoginRequestHandler";
|
|
4
|
+
import { AuthClientRequest, AuthConfig, BasicSession } from "./AuthTypes";
|
|
7
5
|
import { getClientAuth } from "./getClientAuth";
|
|
8
|
-
import {
|
|
6
|
+
import { login } from "./login";
|
|
9
7
|
import { setupAuthRoutes } from "./setupAuthRoutes";
|
|
10
8
|
import { getClientRequestIPsInfo } from "./utils/getClientRequestIPsInfo";
|
|
11
|
-
import { getReturnUrl } from "./utils/getReturnUrl";
|
|
12
9
|
import { getSidAndUserFromRequest } from "./utils/getSidAndUserFromRequest";
|
|
13
10
|
import { getUserOrError } from "./utils/getUserOrError";
|
|
14
11
|
import { handleGetUserThrottled } from "./utils/handleGetUser";
|
|
12
|
+
import { removeExpressRoute } from "./utils/removeExpressRoute";
|
|
13
|
+
import {
|
|
14
|
+
setCookieAndGoToReturnURLIFSet,
|
|
15
|
+
validateSessionAndSetCookie,
|
|
16
|
+
} from "./utils/setCookieAndGoToReturnURLIFSet";
|
|
15
17
|
|
|
16
18
|
export { getClientRequestIPsInfo, removeExpressRoute };
|
|
17
19
|
export const HTTP_FAIL_CODES = {
|
|
@@ -85,60 +87,8 @@ export class AuthHandler {
|
|
|
85
87
|
});
|
|
86
88
|
};
|
|
87
89
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
requestHandler: { req: ExpressReq; res: LoginResponseHandler }
|
|
91
|
-
) => {
|
|
92
|
-
const sessionErrorCode = getBasicSessionErrorCode(cookie);
|
|
93
|
-
if (sessionErrorCode) {
|
|
94
|
-
const { res } = requestHandler;
|
|
95
|
-
res.status(HTTP_FAIL_CODES.UNAUTHORIZED).json({
|
|
96
|
-
success: false,
|
|
97
|
-
code: sessionErrorCode,
|
|
98
|
-
});
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
return this.setCookieAndGoToReturnURLIFSet(cookie, requestHandler);
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
setCookieAndGoToReturnURLIFSet = (
|
|
105
|
-
cookie: { sid: string; expires: number },
|
|
106
|
-
requestHandler: { req: ExpressReq; res: LoginResponseHandler }
|
|
107
|
-
) => {
|
|
108
|
-
const { sid, expires } = cookie;
|
|
109
|
-
const { res, req } = requestHandler;
|
|
110
|
-
if (!sid) {
|
|
111
|
-
throw "no sid";
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
const maxAgeOneDay = 60 * 60 * 24; // 24 hours;
|
|
115
|
-
type CookieExpirationOptions = { maxAge: number } | { expires: Date };
|
|
116
|
-
let cookieDuration: CookieExpirationOptions = {
|
|
117
|
-
maxAge: maxAgeOneDay,
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
if (expires && Number.isFinite(expires) && !isNaN(+new Date(expires))) {
|
|
121
|
-
cookieDuration = { expires: new Date(expires) };
|
|
122
|
-
const days = (+cookieDuration.expires - Date.now()) / (24 * 60 * 60e3);
|
|
123
|
-
if (days >= 400) {
|
|
124
|
-
console.warn(`Cookie expiration is higher than the Chrome 400 day limit: ${days}days`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
const cookieOpts = {
|
|
129
|
-
...cookieDuration,
|
|
130
|
-
// The cookie only accessible by the web server
|
|
131
|
-
httpOnly: true,
|
|
132
|
-
//signed: true
|
|
133
|
-
secure: true,
|
|
134
|
-
sameSite: "strict" as const,
|
|
135
|
-
...(this.opts.loginSignupConfig?.cookieOptions ?? {}),
|
|
136
|
-
};
|
|
137
|
-
const cookieData = sid;
|
|
138
|
-
res.cookie(this.sidKeyName, cookieData, cookieOpts);
|
|
139
|
-
const successURL = getReturnUrl(req) || "/";
|
|
140
|
-
res.redirect(successURL);
|
|
141
|
-
};
|
|
90
|
+
setCookieAndGoToReturnURLIFSet = setCookieAndGoToReturnURLIFSet.bind(this);
|
|
91
|
+
validateSessionAndSetCookie = validateSessionAndSetCookie.bind(this);
|
|
142
92
|
handleGetUser = handleGetUserThrottled.bind(this);
|
|
143
93
|
getUserOrError = getUserOrError.bind(this);
|
|
144
94
|
|
package/lib/Auth/AuthTypes.ts
CHANGED
|
@@ -22,14 +22,14 @@ import {
|
|
|
22
22
|
ClientSchema,
|
|
23
23
|
} from "prostgles-types";
|
|
24
24
|
import { DBOFullyTyped } from "../DBSchemaBuilder";
|
|
25
|
-
import { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
25
|
+
import { PRGLIOSocket, type CachedSession } from "../DboBuilder/DboBuilderTypes";
|
|
26
26
|
import { DB } from "../Prostgles";
|
|
27
27
|
import OAuth2Strategy from "passport-oauth2";
|
|
28
28
|
import { AUTH_ROUTES_AND_PARAMS } from "./AuthHandler";
|
|
29
29
|
|
|
30
30
|
type Awaitable<T> = T | Promise<T>;
|
|
31
31
|
|
|
32
|
-
export type ExpressReq = Request;
|
|
32
|
+
export type ExpressReq = Request & CachedSession;
|
|
33
33
|
export type ExpressRes = Response;
|
|
34
34
|
|
|
35
35
|
export type LoginClientInfo = {
|
|
@@ -314,7 +314,7 @@ export type AuthConfig<S = void, SUser extends SessionUser = SessionUser> = {
|
|
|
314
314
|
* - publish - userData and/or sid (in testing) are passed to the publish function
|
|
315
315
|
* - auth.expressConfig.use - express middleware to get user data and
|
|
316
316
|
* undefined sid is allowed to enable public users
|
|
317
|
-
* - websocket authguard -
|
|
317
|
+
* - websocket authguard - when session expires tells the client to reload to be redirected to login
|
|
318
318
|
*/
|
|
319
319
|
getUser: (
|
|
320
320
|
sid: string | undefined,
|
|
@@ -86,6 +86,7 @@ export async function getClientAuth(
|
|
|
86
86
|
return userData;
|
|
87
87
|
}
|
|
88
88
|
const auth: AuthSocketSchema = {
|
|
89
|
+
//@ts-ignore
|
|
89
90
|
providers: getOAuthProviders(loginWithOAuth),
|
|
90
91
|
signupWithEmailAndPassword: signupWithEmailAndPassword && {
|
|
91
92
|
minPasswordLength: signupWithEmailAndPassword.minPasswordLength ?? 8,
|
|
@@ -1,77 +1,13 @@
|
|
|
1
1
|
import { isObject } from "prostgles-types";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { AuthClientRequest, AuthResultWithSID } from "../AuthTypes";
|
|
5
|
-
import { throttledAuthCall } from "./throttledReject";
|
|
2
|
+
import { AuthHandler } from "../AuthHandler";
|
|
3
|
+
import { AuthClientRequest } from "../AuthTypes";
|
|
6
4
|
import type { GetUserOrRedirected } from "./handleGetUser";
|
|
7
5
|
|
|
8
|
-
/**
|
|
9
|
-
* For a given sid return the user data if available using the auth handler's getUser method.
|
|
10
|
-
* Use socket session cache if configured in Auth
|
|
11
|
-
* Used in Publish Parser and AuthHandler
|
|
12
|
-
*/
|
|
13
6
|
export async function getSidAndUserFromRequest(
|
|
14
7
|
this: AuthHandler,
|
|
15
8
|
clientReq: AuthClientRequest
|
|
16
9
|
): Promise<GetUserOrRedirected> {
|
|
17
|
-
/**
|
|
18
|
-
* Get cached session if available
|
|
19
|
-
*/
|
|
20
|
-
const getSessionForCaching = this.opts.cacheSession?.getSession;
|
|
21
|
-
if (clientReq.socket && getSessionForCaching && clientReq.socket.__prglCache) {
|
|
22
|
-
const { session, userData } = clientReq.socket.__prglCache;
|
|
23
|
-
const isValid = this.isNonExpiredSocketSession(clientReq.socket, session);
|
|
24
|
-
if (isValid) {
|
|
25
|
-
return {
|
|
26
|
-
...userData,
|
|
27
|
-
sid: session.sid,
|
|
28
|
-
};
|
|
29
|
-
} else
|
|
30
|
-
return {
|
|
31
|
-
sid: session.sid,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Get sid from request and fetch user data
|
|
37
|
-
*/
|
|
38
10
|
const authStart = Date.now();
|
|
39
|
-
// const result = await throttledAuthCall(async () => {
|
|
40
|
-
// const clientInfoOrErr = await this.opts.getUser(
|
|
41
|
-
// this.getValidatedSid(clientReq),
|
|
42
|
-
// this.dbo as DBOFullyTyped,
|
|
43
|
-
// this.db,
|
|
44
|
-
// getClientRequestIPsInfo(clientReq),
|
|
45
|
-
// clientReq
|
|
46
|
-
// );
|
|
47
|
-
// if (clientInfoOrErr && (typeof clientInfoOrErr === "string" || "success" in clientInfoOrErr))
|
|
48
|
-
// throw clientInfoOrErr;
|
|
49
|
-
// const clientInfo = clientInfoOrErr;
|
|
50
|
-
|
|
51
|
-
// if (clientInfo && "type" in clientInfo) {
|
|
52
|
-
// if (!("httpReq" in clientReq) || !clientReq.httpReq) throw "httpReq missing";
|
|
53
|
-
// const { httpReq, res } = clientReq;
|
|
54
|
-
// this.setCookieAndGoToReturnURLIFSet(clientInfo.session, { req: httpReq, res });
|
|
55
|
-
// return;
|
|
56
|
-
// }
|
|
57
|
-
|
|
58
|
-
// const sid = this.getValidatedSid(clientReq);
|
|
59
|
-
// if (getSessionForCaching && clientReq.socket && sid) {
|
|
60
|
-
// const session = await getSessionForCaching(sid, this.dbo as DBOFullyTyped, this.db);
|
|
61
|
-
// if (session && session.expires && clientInfo?.user) {
|
|
62
|
-
// clientReq.socket.__prglCache = {
|
|
63
|
-
// userData: clientInfo,
|
|
64
|
-
// session,
|
|
65
|
-
// };
|
|
66
|
-
// }
|
|
67
|
-
// }
|
|
68
|
-
|
|
69
|
-
// if (clientInfo?.user && sid) {
|
|
70
|
-
// return { sid, ...clientInfo };
|
|
71
|
-
// }
|
|
72
|
-
|
|
73
|
-
// return { sid, preferredLogin: !clientInfo?.user ? clientInfo?.preferredLogin : undefined };
|
|
74
|
-
// }, 100);
|
|
75
11
|
const result = await this.handleGetUser(clientReq);
|
|
76
12
|
if (isObject(result) && result.error) {
|
|
77
13
|
throw result.error;
|
|
@@ -6,11 +6,34 @@ import { throttledAuthCall } from "./throttledReject";
|
|
|
6
6
|
|
|
7
7
|
export type GetUserOrRedirected = AuthResultWithSID | "new-session-redirect";
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* For a given request return the user data if available using the auth handler's getUser method.
|
|
11
|
+
* Use cache data if configured in Auth
|
|
12
|
+
* Used in Publish Parser and AuthHandler
|
|
13
|
+
*/
|
|
9
14
|
export async function handleGetUserThrottled(
|
|
10
15
|
this: AuthHandler,
|
|
11
16
|
clientReq: AuthClientRequest
|
|
12
17
|
): Promise<GetUserOrRedirected> {
|
|
13
18
|
const getSessionForCaching = this.opts.cacheSession?.getSession;
|
|
19
|
+
|
|
20
|
+
/** Get cached session if available */
|
|
21
|
+
const __prglCache =
|
|
22
|
+
!this.opts.cacheSession ? undefined : (clientReq.httpReq ?? clientReq.socket).__prglCache;
|
|
23
|
+
if (clientReq.socket && __prglCache) {
|
|
24
|
+
const { userData, session } = __prglCache;
|
|
25
|
+
const isValid = this.isNonExpiredSocketSession(clientReq.socket, session);
|
|
26
|
+
if (isValid) {
|
|
27
|
+
return {
|
|
28
|
+
...userData,
|
|
29
|
+
sid: session.sid,
|
|
30
|
+
};
|
|
31
|
+
} else
|
|
32
|
+
return {
|
|
33
|
+
sid: session.sid,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
14
37
|
const result = await throttledAuthCall(async () => {
|
|
15
38
|
const clientInfoOrErr = await this.opts.getUser(
|
|
16
39
|
this.getValidatedSid(clientReq),
|
|
@@ -36,14 +59,20 @@ export async function handleGetUserThrottled(
|
|
|
36
59
|
return "new-session-redirect" as const;
|
|
37
60
|
}
|
|
38
61
|
|
|
62
|
+
/** Set cached session data */
|
|
39
63
|
const sid = this.getValidatedSid(clientReq);
|
|
40
|
-
if (getSessionForCaching &&
|
|
64
|
+
if (getSessionForCaching && sid) {
|
|
41
65
|
const session = await getSessionForCaching(sid, this.dbo as DBOFullyTyped, this.db);
|
|
42
66
|
if (session && session.expires && clientInfo?.user) {
|
|
43
|
-
|
|
67
|
+
const __prglCache = {
|
|
44
68
|
userData: clientInfo,
|
|
45
69
|
session,
|
|
46
70
|
};
|
|
71
|
+
if (clientReq.socket) {
|
|
72
|
+
clientReq.socket.__prglCache = __prglCache;
|
|
73
|
+
} else {
|
|
74
|
+
clientReq.httpReq.__prglCache = __prglCache;
|
|
75
|
+
}
|
|
47
76
|
}
|
|
48
77
|
}
|
|
49
78
|
|