prostgles-server 2.0.345 → 3.0.0

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.
@@ -1,4 +1,5 @@
1
- import { Request, Response } from "express";
1
+ /// <reference types="express-serve-static-core" />
2
+ import { Express, NextFunction, Request, Response } from "express";
2
3
  import { AnyObject } from "prostgles-types";
3
4
  import { LocalParams, PRGLIOSocket } from "./DboBuilder";
4
5
  import { DBOFullyTyped } from "./DBSchemaBuilder";
@@ -36,6 +37,18 @@ export declare type SessionUser<ServerUser extends AnyObject = AnyObject, Client
36
37
  */
37
38
  clientUser: ClientUser;
38
39
  };
40
+ export declare type AuthResult<SU = SessionUser> = SU & {
41
+ sid: string;
42
+ } | {
43
+ user?: undefined;
44
+ clientUser?: undefined;
45
+ sid?: string;
46
+ } | undefined;
47
+ export declare type AuthRequestParams<S, SUser extends SessionUser> = {
48
+ db: DB;
49
+ dbo: DBOFullyTyped<S>;
50
+ getUser: () => Promise<AuthResult<SUser>>;
51
+ };
39
52
  export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
40
53
  /**
41
54
  * Name of the cookie or socket hadnshake query param that represents the session id.
@@ -50,7 +63,7 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
50
63
  /**
51
64
  * Express app instance. If provided Prostgles will attempt to set sidKeyName to user cookie
52
65
  */
53
- app: any;
66
+ app: Express;
54
67
  /**
55
68
  * Used in allowing logging in through express. Defaults to /login
56
69
  */
@@ -72,15 +85,20 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
72
85
  * If logged in the user is allowed to access these routes
73
86
  */
74
87
  publicRoutes?: string[];
88
+ /**
89
+ * Will attach a app.use listener and will expose getUser
90
+ * Used for blocking access
91
+ */
92
+ use?: (args: {
93
+ req: Express.Request;
94
+ res: Express.Response;
95
+ next: NextFunction;
96
+ } & AuthRequestParams<S, SUser>) => void | Promise<void>;
75
97
  /**
76
98
  * Will be called after a GET request is authorised
77
99
  * This means that
78
100
  */
79
- onGetRequestOK?: (req: ExpressReq, res: ExpressRes, params: {
80
- db: DB;
81
- dbo: DBOFullyTyped<S>;
82
- getUser: () => Promise<SessionUser["user"] | undefined>;
83
- }) => any;
101
+ onGetRequestOK?: (req: ExpressReq, res: ExpressRes, params: AuthRequestParams<S, SUser>) => any;
84
102
  /**
85
103
  * Name of get url parameter used in redirecting user after successful login. Defaults to returnURL
86
104
  */
@@ -96,16 +114,7 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
96
114
  check: (magicId: string, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession | undefined>;
97
115
  };
98
116
  };
99
- getUser: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB, client: AuthClientRequest) => Awaitable<{
100
- /**
101
- * User data used on server. Mainly used in http request auth
102
- */
103
- user: SUser["user"];
104
- /**
105
- * User data sent to client. Mainly used in socket request auth
106
- */
107
- clientUser: SUser["clientUser"];
108
- } | undefined>;
117
+ getUser: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB, client: AuthClientRequest) => Awaitable<AuthResult<SUser>>;
109
118
  register?: (params: AnyObject, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession> | BasicSession;
110
119
  login?: (params: AnyObject, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession> | BasicSession;
111
120
  logout?: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<any>;
@@ -116,11 +125,6 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
116
125
  getSession: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession>;
117
126
  };
118
127
  };
119
- export declare type ClientInfo = {
120
- user?: AnyObject;
121
- clientUser?: AnyObject;
122
- sid?: string;
123
- };
124
128
  export default class AuthHandler {
125
129
  protected opts?: Auth;
126
130
  dbo: DBHandlerServer;
@@ -143,7 +147,7 @@ export default class AuthHandler {
143
147
  private setCookieAndGoToReturnURLIFSet;
144
148
  getUser: (clientReq: {
145
149
  httpReq: ExpressReq;
146
- }) => Promise<AnyObject | undefined>;
150
+ }) => Promise<AuthResult>;
147
151
  init(): Promise<void>;
148
152
  destroy: () => void;
149
153
  throttledFunc: <T>(func: () => Promise<T>, throttle?: number) => Promise<T>;
@@ -155,11 +159,11 @@ export default class AuthHandler {
155
159
  * @returns string
156
160
  */
157
161
  getSID(localParams: LocalParams): string | undefined;
158
- getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<ClientInfo | undefined>;
162
+ getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<AuthResult>;
159
163
  isValidSocketSession: (socket: PRGLIOSocket, session: BasicSession) => boolean;
160
164
  makeSocketAuth: (socket: PRGLIOSocket) => Promise<Record<string, never> | {
161
165
  auth: AuthSocketSchema;
162
- userData: ClientInfo | undefined;
166
+ userData: AuthResult;
163
167
  }>;
164
168
  }
165
169
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAoE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7D,aAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,aAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,aAAK,UAAU,GAAG,OAAO,CAAC;AAC1B,aAAK,UAAU,GAAG,QAAQ,CAAC;AAE3B,oBAAY,YAAY,GAAG;IAEzB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IAEZ,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB;IACjB,YAAY,EAAE,UAAU,GAAG,YAAY,CAAC;CACzC,CAAC;AACF,oBAAY,iBAAiB,GAAG;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AAC1E,oBAAY,WAAW,CAAC,UAAU,SAAS,SAAS,GAAG,SAAS,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS,IAAI;IAC5G;;SAEK;IACL,IAAI,EAAE,UAAU,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB,CAAA;AACD,oBAAY,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI;IACpE;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE;QACd;;WAEG;QACH,GAAG,EAAE,GAAG,CAAC;QAET;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QAEvB;;WAEG;QACH,aAAa,CAAC,EAAE,SAAS,CAAC;QAE1B;;WAEG;QACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;QAEjC;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAExB;;;WAGG;QACH,cAAc,CAAC,EAAE,CACf,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,EACf,MAAM,EAAE;YAAE,EAAE,EAAE,EAAE,CAAC;YAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;SAAE,KAC/F,GAAG,CAAC;QAET;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,UAAU,CAAC,EAAE;YAEX;;eAEG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YAEf;;eAEG;YACH,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;SAChG,CAAA;KAEF,CAAA;IAED,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,KAAK,SAAS,CAAC;QAExG;;WAEG;QACH,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpB;;WAEG;QACH,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;KAEjC,GAAG,SAAS,CAAC,CAAC;IAEf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IACxG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IACrG,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC;IAEpF;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,CAAA;KAChG,CAAA;CACF,CAAA;AAED,oBAAY,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACtB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,YAAY,EAAE,MAAM,CAAC;SACtB,CAAA;QACD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;KACxB,CAEA;gBAEW,SAAS,EAAE,SAAS;IAsBhC,WAAW,QAAS,MAAM,GAAG,SAAS,wBAIrC;IAED,YAAY,UAAW,MAAM,GAAG,SAAS,mBAAmB,MAAM,8BAKjE;IAED,WAAW,aAAc,MAAM,aAW9B;IAED,OAAO,CAAC,8BAA8B,CAuBrC;IAED,OAAO,cAAqB;QAAE,OAAO,EAAE,UAAU,CAAC;KAAE,KAAG,QAAQ,SAAS,GAAG,SAAS,CAAC,CAcpF;IAEK,IAAI;IA0IV,OAAO,aAIN;IAED,aAAa,+DA8BZ;IAED,cAAc,WAAkB,SAAS,KAAG,QAAQ,YAAY,CAAC,CAqBhE;IAGD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAiC9C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAsD1G,oBAAoB,WAAY,YAAY,WAAW,YAAY,KAAG,OAAO,CAc5E;IAED,cAAc,WAAkB,YAAY;cAAmB,gBAAgB;kBAAY,UAAU,GAAG,SAAS;OA2EhH;CACF"}
1
+ {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
@@ -235,11 +235,23 @@ class AuthHandler {
235
235
  if (!getUser)
236
236
  throw "getUser missing from auth config";
237
237
  if (expressConfig) {
238
- const { app, publicRoutes = [], onGetRequestOK, magicLinks } = expressConfig;
238
+ const { app, publicRoutes = [], onGetRequestOK, magicLinks, use } = expressConfig;
239
239
  if (publicRoutes.find(r => typeof r !== "string" || !r)) {
240
240
  throw "Invalid or empty string provided within publicRoutes ";
241
241
  }
242
- if (app && magicLinks && this.routes.magicLinks) {
242
+ if (use) {
243
+ app.use((req, res, next) => {
244
+ use({
245
+ req,
246
+ res,
247
+ next,
248
+ getUser: () => this.getUser({ httpReq: req }),
249
+ dbo: this.dbo,
250
+ db: this.db,
251
+ });
252
+ });
253
+ }
254
+ if (magicLinks && this.routes.magicLinks) {
243
255
  const { check } = magicLinks;
244
256
  if (!check)
245
257
  throw "Check must be defined for magicLinks";
@@ -267,7 +279,7 @@ class AuthHandler {
267
279
  });
268
280
  }
269
281
  const loginRoute = this.routes?.login;
270
- if (app && loginRoute) {
282
+ if (loginRoute) {
271
283
  app.post(loginRoute, async (req, res) => {
272
284
  try {
273
285
  const { sid, expires } = await this.loginThrottled(req.body || {}) || {};
@@ -393,7 +405,9 @@ class AuthHandler {
393
405
  };
394
406
  }
395
407
  else
396
- return {};
408
+ return {
409
+ sid: session.sid
410
+ };
397
411
  }
398
412
  }
399
413
  const res = await this.throttledFunc(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"AuthHandler.js","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthHandler.js","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":";;AACA,qDAA8G;AAG9G,+CAAmD;AA4InD,MAAqB,WAAW;IAmB9B,YAAY,SAAoB;QAbhC,WAAM,GASF;YACF,QAAQ,EAAE,GAAG;SACd,CAAA;QAwBD,gBAAW,GAAG,CAAC,GAAuB,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,MAAM,6BAA6B,CAAC;YACjE,OAAO,GAAG,CAAC;QACb,CAAC,CAAA;QAED,iBAAY,GAAG,CAAC,KAAyB,EAAE,eAAuB,EAAE,EAAE;YACpE,OAAO,KAAK,IAAI,eAAe,IAAI,CACjC,KAAK,KAAK,eAAe;gBACzB,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAC7F,CAAA;QACH,CAAC,CAAA;QAED,gBAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;YACjC,MAAM,SAAS,GAAG;gBAChB,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,IAAI,EAAE;aAChD,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAEjF,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACnC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,gHAAgH;YACnK,CAAC,CAAC,CAAC;QACL,CAAC,CAAA;QAEO,mCAA8B,GAAG,CAAC,MAAyC,EAAE,CAAuC,EAAE,EAAE;YAC9H,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YAChC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACvB,IAAI,GAAG,EAAE;gBACP,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW;gBAC7C,IAAG,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,EAAC;oBACpE,MAAM,GAAG,CAAC,CAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;iBAC5C;gBACD,IAAI,OAAO,GAAG;oBACZ,MAAM;oBACN,QAAQ,EAAE,IAAI,EAAE,+CAA+C;oBAC/D,0DAA0D;iBAC3D,CAAA;gBACD,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAoB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,IAAI,EAAE,CAAC,EAAE,CAAC;gBACpI,MAAM,UAAU,GAAG,GAAG,CAAC;gBACvB,IAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS;oBAAE,MAAM,iCAAiC,CAAA;gBACvF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;gBACpD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;gBACnE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAE1B;iBAAM;gBACL,MAAM,CAAC,oBAAoB,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,YAAO,GAAG,KAAK,EAAE,SAAmC,EAAuB,EAAE;YAC3E,IAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO;gBAAE,MAAM,yCAAyC,CAAA;YAC3F,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAE3B,IAAI;gBACF,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;oBAEnC,OAAO,IAAI,CAAC,IAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACxF,CAAC,EAAE,EAAE,CAAC,CAAA;aACP;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACpB;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAA;QAyJD,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC;YAC1C,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YACzD,IAAA,gCAAkB,EAAC,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAA;QAED,kBAAa,GAAG,CAAI,IAAsB,EAAE,QAAQ,GAAG,GAAG,EAAc,EAAE;YAExE,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAE3C,IAAI,QAAwB,EAAE,MAAW,EAAE,KAAU,EAAE,QAAQ,GAAG,KAAK,CAAC;gBAExE;;mBAEG;gBACH,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;oBAC1B,IAAI,QAAQ,EAAE;wBACZ,aAAa,CAAC,QAAQ,CAAC,CAAC;wBACxB,IAAI,KAAK,EAAE;4BACT,MAAM,CAAC,KAAK,CAAC,CAAC;yBACf;6BAAM;4BACL,OAAO,CAAC,MAAM,CAAC,CAAA;yBAChB;qBACF;gBACH,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAGb,IAAI;oBACF,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;iBACvB;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,KAAK,GAAG,GAAG,CAAC;iBACb;gBAED,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,mBAAc,GAAG,KAAK,EAAE,MAAiB,EAAyB,EAAE;YAClE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK;gBAAE,MAAM,2BAA2B,CAAC;YACzD,MAAM,EAAE,gBAAgB,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YAE7C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;gBACnC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,MAAM,GAAG,GAAG;oBACV,GAAG,EAAE,mGAAmG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;iBAClI,CAAA;gBAED,IAAG,CAAC,MAAM;oBAAE,MAAM,GAAG,CAAC;gBACtB,IAAG,MAAM,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACrI,MAAM,GAAG,CAAA;iBACV;gBACD,IAAG,MAAM,IAAI,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAC;oBACvC,MAAM,EAAE,GAAG,EAAE,6GAA6G,EAAC,CAAA;iBAC5H;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAEvB,CAAC,CAAA;QAkGD,yBAAoB,GAAG,CAAC,MAAoB,EAAE,OAAqB,EAAW,EAAE;YAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YACpE,IAAG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,EAAC;gBAC5F,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBACpC,IAAG,UAAU,EAAC;oBACZ,IAAG,OAAO,CAAC,YAAY,KAAK,UAAU;wBACtC,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,SAAS,EAAE;4BAC9B,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,UAAU;4BACjD,KAAK;yBACN,CAAC,CAAC;oBACH,MAAM,KAAK,CAAC;iBACb;aACF;YACD,OAAO,OAAO,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAA;QAED,mBAAc,GAAG,KAAK,EAAE,MAAoB,EAAsF,EAAE;YAClI,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YAE1B,IAAI,IAAI,GAAkH,EAAE,CAAC;YAE7H,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,sBAAsB,EAAE;gBAE7F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEtB,MAAM,CAAC,kBAAkB,CAAC,0BAAQ,CAAC,SAAS,CAAC,CAAA;gBAC7C,MAAM,CAAC,EAAE,CAAC,0BAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAyB,EAAE,KAAK,CAAC,GAAQ,EAAE,GAA+B,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;oBAEzH,IAAI;wBACF,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;wBACtF,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;4BAAE,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,QAAQ,CAAC,CAAC;wBAE1H,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE;4BAC3H,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;yBAClC;6BAAM;4BACL,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;yBACnC;qBAEF;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;wBACtC,EAAE,CAAC,GAAG,CAAC,CAAA;qBACR;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,EACJ,QAAQ,EACR,MAAM,EACP,GAAG,IAAI,CAAC,IAAI,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAA;YAEjC,IAAI,QAAQ,GAIN;gBACJ,EAAE,IAAI,EAAE,CAAC,MAAW,EAAE,GAAQ,EAAE,EAAM,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,0BAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAkD,EAAE;gBACzJ,EAAE,IAAI,EAAE,CAAC,MAAW,EAAE,GAAQ,EAAE,EAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,0BAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,OAA+C,EAAE;gBACrI,EAAE,IAAI,EAAE,CAAC,MAAW,EAAE,GAAQ,EAAE,EAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,0BAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAiD,EAAC;aACrK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACtD,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAChC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;aACtD;YAED,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBAElB,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAA;gBAC7B,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAW,EAAE,KAAK,CAAC,GAAG,QAAa,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE;oBAElE,IAAI;wBACF,IAAI,CAAC,MAAM;4BAAE,MAAM,oBAAoB,CAAC;wBAExC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;wBACzD,IAAI,IAAI,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE;4BACtC,oCAAoC;yBACrC;wBAED,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBAEhB;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;wBAClC,EAAE,CAAC,GAAG,CAAC,CAAA;qBACR;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAA;QAveC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAW,CAAC;QACvC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE;YACtC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/F,MAAM,eAAe,GAAG,UAAU,EAAE,KAAK,IAAI,aAAa,CAAA;YAC1D,IAAI,CAAC,MAAM,GAAG;gBACZ,UAAU,EAAE,UAAU,CAAA,CAAC,CAAC;oBACtB,YAAY,EAAE,GAAG,eAAe,MAAM;oBACtC,KAAK,EAAE,eAAe;iBACvB,CAAC,CAAC,CAAC,SAAS;gBACb,SAAS,EAAE,SAAS,IAAI,WAAW;gBACnC,KAAK,EAAE,UAAU,IAAI,QAAQ;gBAC7B,aAAa,EAAE,aAAa,IAAI,SAAS;gBACzC,QAAQ,EAAE,GAAG;aACd,CAAA;SAEF;QACD,IAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,MAAM,mBAAmB,CAAC;QAC9D,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACzB,CAAC;IAqED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QAEvB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC;QAC5D,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QAEvC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;YAC5C,MAAM,+CAA+C,CAAC;SACvD;QACD;;WAEG;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK;YAAE,MAAM,yDAAyD,CAAC;QAE/F,IAAI,CAAC,OAAO;YAAE,MAAM,kCAAkC,CAAC;QAEvD,IAAI,aAAa,EAAE;YACjB,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;YAClF,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE;gBACvD,MAAM,uDAAuD,CAAA;aAC9D;YAED,IAAG,GAAG,EAAC;gBACL,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACzB,GAAG,CAAC;wBACF,GAAG;wBACH,GAAG;wBACH,IAAI;wBACJ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAQ;wBACpD,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,EAAE,EAAE,IAAI,CAAC,EAAE;qBACZ,CAAC,CAAA;gBACJ,CAAC,CAAC,CAAA;aACH;YAED,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;gBAC7B,IAAI,CAAC,KAAK;oBAAE,MAAM,sCAAsC,CAAC;gBAEzD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,GAAe,EAAE,GAAe,EAAE,EAAE;oBACvF,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;oBAEhC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,EAAE;wBACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,2CAA2C,EAAE,CAAC,CAAC;qBAC5E;yBAAM;wBACL,IAAI;4BACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;gCAClD,OAAO,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC7C,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,OAAO,EAAE;gCACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;6BACrD;iCAAM;gCACL,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;6BAC5D;yBAEF;wBAAC,OAAO,CAAC,EAAE;4BACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;yBAClC;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YACtC,IAAI,UAAU,EAAE;gBAGd,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAe,EAAE,GAAe,EAAE,EAAE;oBAC9D,IAAI;wBACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;wBAEzE,IAAI,GAAG,EAAE;4BAEP,IAAI,CAAC,8BAA8B,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;yBAErE;6BAAM;4BACL,MAAM,CAAC,oCAAoC,CAAC,CAAA;yBAC7C;qBACF;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;qBAC/B;gBAGH,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACjD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,GAAe,EAAE,GAAe,EAAE,EAAE;wBAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;wBACzD,IAAI,GAAG,EAAE;4BACP,IAAI;gCACF,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE;oCAE5B,OAAO,IAAI,CAAC,IAAK,CAAC,MAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gCAClF,CAAC,CAAC,CAAA;6BACH;4BAAC,OAAO,GAAG,EAAE;gCACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;6BACpB;yBACF;wBACD,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;oBACnB,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBAE/B,iEAAiE;oBACjE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAe,EAAE,GAAe,EAAE,EAAE;wBACvE,MAAM,SAAS,GAAsB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;wBACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;wBAC7B,IAAI;4BACF,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;4BAG1D;;+BAEG;4BACH,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCAE9B,mDAAmD;gCACnD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;gCACnC,IAAI,CAAC,CAAC,EAAE;oCACN,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,cAAc,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oCAC/E,OAAO;iCACR;gCAED,8EAA8E;6BAC/E;iCAAM,IAAI,SAAS,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;gCAElD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gCACxB,OAAO;gCAEP,mEAAmE;6BACpE;iCAAM,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE;gCAEhF,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gCAClB,OAAO;6BACR;4BAED,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;yBAE9F;wBAAC,OAAO,KAAK,EAAE;4BACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,mDAAmD,EAAE,CAAC,CAAC;yBACpF;oBAEH,CAAC,CAAC,CAAC;iBACJ;aACF;SACF;IACH,CAAC;IAgED;;;;;OAKG;IACH,MAAM,CAAC,WAAwB;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAEjC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAElD,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;YACzC,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;YACjF,IAAI,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;gBAClE,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAEjC;aAAM,IAAI,WAAW,CAAC,OAAO,EAAE;YAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;SAErE;;YAAM,MAAM,4CAA4C,CAAC;QAE1D,SAAS,cAAc,CAAC,UAA8B;YACpD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAA;YAC5D,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBAClF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACnB,OAAO,IAAI,CAAA;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAoD;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;QACtD,MAAM,QAAQ,GAAG,QAAQ,IAAI,WAAW,CAAC;QACzC,IAAG,QAAQ,EAAC;YACV,IAAG,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,EAAC;gBAC/C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;gBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBACtE,IAAG,OAAO,EAAC;oBAET,OAAO;wBACL,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,IAAI;wBACJ,UAAU;qBACX,CAAA;iBACF;;oBAAM,OAAO;wBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;qBACjB,CAAC;aACH;SACF;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YAE9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAEpC,IAAI,OAAO,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;gBACzE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAA,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;gBACzG,IAAI,IAAI,EAAE,UAAU,CAAC;gBACrB,IAAG,GAAG,EAAC;oBACL,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,CAAQ,CAAC;oBAC3E,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;oBACjB,UAAU,GAAG,GAAG,EAAE,UAAU,CAAC;iBAC9B;gBACD,IAAG,UAAU,IAAI,QAAQ,EAAC;oBACxB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC/D,IAAG,OAAO,EAAE,OAAO,IAAI,IAAI,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAC;wBAC9D,WAAW,CAAC,MAAM,CAAC,WAAW,GAAG;4BAC/B,OAAO;4BACP,IAAI;4BACJ,UAAU;yBACX,CAAA;qBACF;iBACF;gBACD,IAAG,GAAG,EAAE;oBACN,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;iBACjC;aACF;YAED,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO,GAAG,CAAC;IACb,CAAC;CA8FF;AA5fD,8BA4fC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAe,EAAE,IAAa;IAClD,IAAI,GAAG,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,EAAE;QACjC,OAAO,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,CAAW,CAAC,CAAC;KACzD;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import * as pgPromise from 'pg-promise';
3
3
  import pg = require('pg-promise/typescript/pg-subset');
4
4
  import FileManager, { ImageOptions, LocalConfig, S3Config } from "./FileManager";
5
- import AuthHandler, { Auth, SessionUser } from "./AuthHandler";
5
+ import AuthHandler, { Auth, SessionUser, AuthRequestParams } from "./AuthHandler";
6
6
  import TableConfigurator, { TableConfig } from "./TableConfig";
7
7
  import { DboBuilder, DBHandlerServer, PRGLIOSocket } from "./DboBuilder";
8
8
  export { DBHandlerServer };
@@ -133,8 +133,12 @@ export declare type ProstglesInitOptions<S = void, SUser extends SessionUser = S
133
133
  /**
134
134
  * Use for connection verification. Will disconnect socket on any errors
135
135
  */
136
- onSocketConnect?: (socket: PRGLIOSocket, dbo: DBOFullyTyped<S>, db?: DB) => void | Promise<void>;
137
- onSocketDisconnect?: (socket: PRGLIOSocket, dbo: DBOFullyTyped<S>, db?: DB) => void | Promise<void>;
136
+ onSocketConnect?: (args: AuthRequestParams<S, SUser> & {
137
+ socket: PRGLIOSocket;
138
+ }) => void | Promise<void>;
139
+ onSocketDisconnect?: (args: AuthRequestParams<S, SUser> & {
140
+ socket: PRGLIOSocket;
141
+ }) => void | Promise<void>;
138
142
  auth?: Auth<S, SUser>;
139
143
  DEBUG_MODE?: boolean;
140
144
  watchSchemaType?:
@@ -1 +1 @@
1
- {"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
package/dist/Prostgles.js CHANGED
@@ -488,7 +488,8 @@ class Prostgles {
488
488
  try {
489
489
  if (this.opts.onSocketConnect) {
490
490
  try {
491
- await this.opts.onSocketConnect(socket, dbo, db);
491
+ const getUser = async () => { return await this.authHandler?.getClientInfo({ socket }); };
492
+ await this.opts.onSocketConnect({ socket, dbo: dbo, db, getUser });
492
493
  }
493
494
  catch (error) {
494
495
  const connectionError = error instanceof Error ? error.message : typeof error === "string" ? error : JSON.stringify(error);
@@ -530,7 +531,8 @@ class Prostgles {
530
531
  this.connectedSockets = this.connectedSockets.filter(s => s.id !== socket.id);
531
532
  // subscriptions = subscriptions.filter(sub => sub.socket.id !== socket.id);
532
533
  if (this.opts.onSocketDisconnect) {
533
- this.opts.onSocketDisconnect(socket, dbo);
534
+ const getUser = async () => { return await this.authHandler?.getClientInfo({ socket }); };
535
+ this.opts.onSocketDisconnect({ socket, dbo: dbo, db, getUser });
534
536
  }
535
537
  ;
536
538
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Prostgles.js","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Prostgles.js","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AnyObject, TableSchemaForClient, DBSchemaTable, FullFilter } from "prostgles-types";
2
- import { ClientInfo, SessionUser } from "./AuthHandler";
2
+ import { AuthResult, SessionUser } from "./AuthHandler";
3
3
  import { CommonTableRules, LocalParams, PRGLIOSocket, TableOrViewInfo, TableSchemaColumn } from "./DboBuilder";
4
4
  import { Prostgles, DBHandlerServer, DB } from "./Prostgles";
5
5
  import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
@@ -263,18 +263,18 @@ export declare class PublishParser {
263
263
  db: DB;
264
264
  prostgles: Prostgles;
265
265
  constructor(publish: any, publishMethods: any, publishRawSQL: any, dbo: DBHandlerServer, db: DB, prostgles: Prostgles);
266
- getPublishParams(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishParams>;
267
- getMethods(socket: any, userData?: ClientInfo): Promise<{}>;
266
+ getPublishParams(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishParams>;
267
+ getMethods(socket: any, userData?: AuthResult): Promise<{}>;
268
268
  /**
269
269
  * Parses the first level of publish. (If false then nothing if * then all tables and views)
270
270
  * @param socket
271
271
  * @param user
272
272
  */
273
- getPublish(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishObject>;
273
+ getPublish(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishObject>;
274
274
  getValidatedRequestRuleWusr({ tableName, command, localParams }: DboTableCommand): Promise<TableRule>;
275
- getValidatedRequestRule({ tableName, command, localParams }: DboTableCommand, clientInfo?: ClientInfo): Promise<TableRule>;
276
- getTableRules({ tableName, localParams }: DboTable, clientInfo?: ClientInfo): Promise<ParsedPublishTable | undefined>;
277
- getSchemaFromPublish(socket: any, userData?: ClientInfo): Promise<{
275
+ getValidatedRequestRule({ tableName, command, localParams }: DboTableCommand, clientInfo?: AuthResult): Promise<TableRule>;
276
+ getTableRules({ tableName, localParams }: DboTable, clientInfo?: AuthResult): Promise<ParsedPublishTable | undefined>;
277
+ getSchemaFromPublish(socket: any, userData?: AuthResult): Promise<{
278
278
  schema: TableSchemaForClient;
279
279
  tables: DBSchemaTable[];
280
280
  }>;
@@ -1,4 +1,5 @@
1
- import { Request, Response } from "express";
1
+ /// <reference types="express-serve-static-core" />
2
+ import { Express, NextFunction, Request, Response } from "express";
2
3
  import { AnyObject } from "prostgles-types";
3
4
  import { LocalParams, PRGLIOSocket } from "./DboBuilder";
4
5
  import { DBOFullyTyped } from "./DBSchemaBuilder";
@@ -36,6 +37,18 @@ export declare type SessionUser<ServerUser extends AnyObject = AnyObject, Client
36
37
  */
37
38
  clientUser: ClientUser;
38
39
  };
40
+ export declare type AuthResult<SU = SessionUser> = SU & {
41
+ sid: string;
42
+ } | {
43
+ user?: undefined;
44
+ clientUser?: undefined;
45
+ sid?: string;
46
+ } | undefined;
47
+ export declare type AuthRequestParams<S, SUser extends SessionUser> = {
48
+ db: DB;
49
+ dbo: DBOFullyTyped<S>;
50
+ getUser: () => Promise<AuthResult<SUser>>;
51
+ };
39
52
  export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
40
53
  /**
41
54
  * Name of the cookie or socket hadnshake query param that represents the session id.
@@ -50,7 +63,7 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
50
63
  /**
51
64
  * Express app instance. If provided Prostgles will attempt to set sidKeyName to user cookie
52
65
  */
53
- app: any;
66
+ app: Express;
54
67
  /**
55
68
  * Used in allowing logging in through express. Defaults to /login
56
69
  */
@@ -72,15 +85,20 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
72
85
  * If logged in the user is allowed to access these routes
73
86
  */
74
87
  publicRoutes?: string[];
88
+ /**
89
+ * Will attach a app.use listener and will expose getUser
90
+ * Used for blocking access
91
+ */
92
+ use?: (args: {
93
+ req: Express.Request;
94
+ res: Express.Response;
95
+ next: NextFunction;
96
+ } & AuthRequestParams<S, SUser>) => void | Promise<void>;
75
97
  /**
76
98
  * Will be called after a GET request is authorised
77
99
  * This means that
78
100
  */
79
- onGetRequestOK?: (req: ExpressReq, res: ExpressRes, params: {
80
- db: DB;
81
- dbo: DBOFullyTyped<S>;
82
- getUser: () => Promise<SessionUser["user"] | undefined>;
83
- }) => any;
101
+ onGetRequestOK?: (req: ExpressReq, res: ExpressRes, params: AuthRequestParams<S, SUser>) => any;
84
102
  /**
85
103
  * Name of get url parameter used in redirecting user after successful login. Defaults to returnURL
86
104
  */
@@ -96,16 +114,7 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
96
114
  check: (magicId: string, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession | undefined>;
97
115
  };
98
116
  };
99
- getUser: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB, client: AuthClientRequest) => Awaitable<{
100
- /**
101
- * User data used on server. Mainly used in http request auth
102
- */
103
- user: SUser["user"];
104
- /**
105
- * User data sent to client. Mainly used in socket request auth
106
- */
107
- clientUser: SUser["clientUser"];
108
- } | undefined>;
117
+ getUser: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB, client: AuthClientRequest) => Awaitable<AuthResult<SUser>>;
109
118
  register?: (params: AnyObject, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession> | BasicSession;
110
119
  login?: (params: AnyObject, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession> | BasicSession;
111
120
  logout?: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<any>;
@@ -116,11 +125,6 @@ export declare type Auth<S = void, SUser extends SessionUser = SessionUser> = {
116
125
  getSession: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession>;
117
126
  };
118
127
  };
119
- export declare type ClientInfo = {
120
- user?: AnyObject;
121
- clientUser?: AnyObject;
122
- sid?: string;
123
- };
124
128
  export default class AuthHandler {
125
129
  protected opts?: Auth;
126
130
  dbo: DBHandlerServer;
@@ -143,7 +147,7 @@ export default class AuthHandler {
143
147
  private setCookieAndGoToReturnURLIFSet;
144
148
  getUser: (clientReq: {
145
149
  httpReq: ExpressReq;
146
- }) => Promise<AnyObject | undefined>;
150
+ }) => Promise<AuthResult>;
147
151
  init(): Promise<void>;
148
152
  destroy: () => void;
149
153
  throttledFunc: <T>(func: () => Promise<T>, throttle?: number) => Promise<T>;
@@ -155,11 +159,11 @@ export default class AuthHandler {
155
159
  * @returns string
156
160
  */
157
161
  getSID(localParams: LocalParams): string | undefined;
158
- getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<ClientInfo | undefined>;
162
+ getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<AuthResult>;
159
163
  isValidSocketSession: (socket: PRGLIOSocket, session: BasicSession) => boolean;
160
164
  makeSocketAuth: (socket: PRGLIOSocket) => Promise<Record<string, never> | {
161
165
  auth: AuthSocketSchema;
162
- userData: ClientInfo | undefined;
166
+ userData: AuthResult;
163
167
  }>;
164
168
  }
165
169
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["AuthHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["AuthHandler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAoE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,eAAe,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AACzE,aAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,aAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,aAAK,UAAU,GAAG,OAAO,CAAC;AAC1B,aAAK,UAAU,GAAG,QAAQ,CAAC;AAE3B,oBAAY,YAAY,GAAG;IAEzB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IAEZ,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB;IACjB,YAAY,EAAE,UAAU,GAAG,YAAY,CAAC;CACzC,CAAC;AACF,oBAAY,iBAAiB,GAAG;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AAC1E,oBAAY,WAAW,CAAC,UAAU,SAAS,SAAS,GAAG,SAAS,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS,IAAI;IAC5G;;SAEK;IACL,IAAI,EAAE,UAAU,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;CACxB,CAAA;AAED,oBAAY,UAAU,CAAC,EAAE,GAAG,WAAW,IAAI,EAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;CAAE,GAAG;IACjE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,SAAS,CAAA;AAGb,oBAAY,iBAAiB,CAAC,CAAC,EAAE,KAAK,SAAS,WAAW,IAAI;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;CAAE,CAAA;AAE1I,oBAAY,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI;IACpE;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,aAAa,CAAC,EAAE;QACd;;WAEG;QACH,GAAG,EAAE,OAAO,CAAC;QAEb;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QAEvB;;WAEG;QACH,aAAa,CAAC,EAAE,SAAS,CAAC;QAE1B;;WAEG;QACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;QAEjC;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAExB;;;WAGG;QACH,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC;YAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;YAAC,IAAI,EAAE,YAAY,CAAA;SAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAExI;;;WAGG;QACH,cAAc,CAAC,EAAE,CACf,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,KAChC,GAAG,CAAC;QAET;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB,UAAU,CAAC,EAAE;YAEX;;eAEG;YACH,KAAK,CAAC,EAAE,MAAM,CAAC;YAEf;;eAEG;YACH,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;SAChG,CAAA;KAEF,CAAA;IAED,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,KAAK,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7H,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IACxG,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;IACrG,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC;IAEpF;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,CAAA;KAChG,CAAA;CACF,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACtB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;YACd,YAAY,EAAE,MAAM,CAAC;SACtB,CAAA;QACD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;KACxB,CAEA;gBAEW,SAAS,EAAE,SAAS;IAsBhC,WAAW,QAAS,MAAM,GAAG,SAAS,YAIrC;IAED,YAAY,UAAW,MAAM,GAAG,SAAS,mBAAmB,MAAM,aAKjE;IAED,WAAW,aAAc,MAAM,aAW9B;IAED,OAAO,CAAC,8BAA8B,CAuBrC;IAED,OAAO,cAAqB;QAAE,OAAO,EAAE,UAAU,CAAC;KAAE,KAAG,QAAQ,UAAU,CAAC,CAczE;IAEK,IAAI;IAuJV,OAAO,aAIN;IAED,aAAa,+DA8BZ;IAED,cAAc,WAAkB,SAAS,KAAG,QAAQ,YAAY,CAAC,CAqBhE;IAGD;;;;;OAKG;IACH,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IAiC9C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAwD9F,oBAAoB,WAAY,YAAY,WAAW,YAAY,KAAG,OAAO,CAc5E;IAED,cAAc,WAAkB,YAAY;cAAmB,gBAAgB;kBAAY,UAAU;OA2EpG;CACF"}
@@ -235,11 +235,23 @@ class AuthHandler {
235
235
  if (!getUser)
236
236
  throw "getUser missing from auth config";
237
237
  if (expressConfig) {
238
- const { app, publicRoutes = [], onGetRequestOK, magicLinks } = expressConfig;
238
+ const { app, publicRoutes = [], onGetRequestOK, magicLinks, use } = expressConfig;
239
239
  if (publicRoutes.find(r => typeof r !== "string" || !r)) {
240
240
  throw "Invalid or empty string provided within publicRoutes ";
241
241
  }
242
- if (app && magicLinks && this.routes.magicLinks) {
242
+ if (use) {
243
+ app.use((req, res, next) => {
244
+ use({
245
+ req,
246
+ res,
247
+ next,
248
+ getUser: () => this.getUser({ httpReq: req }),
249
+ dbo: this.dbo,
250
+ db: this.db,
251
+ });
252
+ });
253
+ }
254
+ if (magicLinks && this.routes.magicLinks) {
243
255
  const { check } = magicLinks;
244
256
  if (!check)
245
257
  throw "Check must be defined for magicLinks";
@@ -267,7 +279,7 @@ class AuthHandler {
267
279
  });
268
280
  }
269
281
  const loginRoute = this.routes?.login;
270
- if (app && loginRoute) {
282
+ if (loginRoute) {
271
283
  app.post(loginRoute, async (req, res) => {
272
284
  try {
273
285
  const { sid, expires } = await this.loginThrottled(req.body || {}) || {};
@@ -393,7 +405,9 @@ class AuthHandler {
393
405
  };
394
406
  }
395
407
  else
396
- return {};
408
+ return {
409
+ sid: session.sid
410
+ };
397
411
  }
398
412
  }
399
413
  const res = await this.throttledFunc(async () => {
@@ -1,9 +1,9 @@
1
- import { Request, Response } from "express";
1
+ import { Express, NextFunction, Request, Response } from "express";
2
2
  import { AnyObject, AuthGuardLocation, AuthGuardLocationResponse, CHANNELS, DBSchema } from "prostgles-types";
3
3
  import { LocalParams, PRGLIOSocket } from "./DboBuilder";
4
4
  import { DBOFullyTyped } from "./DBSchemaBuilder";
5
5
  import { removeExpressRoute } from "./FileManager";
6
- import { DB, DBHandlerServer, Prostgles } from "./Prostgles";
6
+ import { DB, DBHandlerServer, ExpressApp, Prostgles } from "./Prostgles";
7
7
  type Awaitable<T> = T | Promise<T>;
8
8
  type AuthSocketSchema = {
9
9
  user?: AnyObject;
@@ -38,6 +38,16 @@ export type SessionUser<ServerUser extends AnyObject = AnyObject, ClientUser ext
38
38
  */
39
39
  clientUser: ClientUser;
40
40
  }
41
+
42
+ export type AuthResult<SU = SessionUser> = SU & { sid: string; } | {
43
+ user?: undefined;
44
+ clientUser?: undefined;
45
+ sid?: string;
46
+ } | undefined
47
+
48
+
49
+ export type AuthRequestParams<S, SUser extends SessionUser> = { db: DB, dbo: DBOFullyTyped<S>; getUser: () => Promise<AuthResult<SUser>> }
50
+
41
51
  export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
42
52
  /**
43
53
  * Name of the cookie or socket hadnshake query param that represents the session id.
@@ -54,7 +64,7 @@ export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
54
64
  /**
55
65
  * Express app instance. If provided Prostgles will attempt to set sidKeyName to user cookie
56
66
  */
57
- app: any;
67
+ app: Express;
58
68
 
59
69
  /**
60
70
  * Used in allowing logging in through express. Defaults to /login
@@ -82,6 +92,12 @@ export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
82
92
  */
83
93
  publicRoutes?: string[];
84
94
 
95
+ /**
96
+ * Will attach a app.use listener and will expose getUser
97
+ * Used for blocking access
98
+ */
99
+ use?: (args: { req: Express.Request, res: Express.Response, next: NextFunction } & AuthRequestParams<S, SUser>) => void | Promise<void>;
100
+
85
101
  /**
86
102
  * Will be called after a GET request is authorised
87
103
  * This means that
@@ -89,7 +105,7 @@ export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
89
105
  onGetRequestOK?: (
90
106
  req: ExpressReq,
91
107
  res: ExpressRes,
92
- params: { db: DB, dbo: DBOFullyTyped<S>; getUser: () => Promise<SessionUser["user"] | undefined> }
108
+ params: AuthRequestParams<S, SUser>
93
109
  ) => any;
94
110
 
95
111
  /**
@@ -112,19 +128,7 @@ export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
112
128
 
113
129
  }
114
130
 
115
- getUser: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB, client: AuthClientRequest) => Awaitable<{
116
-
117
- /**
118
- * User data used on server. Mainly used in http request auth
119
- */
120
- user: SUser["user"];
121
-
122
- /**
123
- * User data sent to client. Mainly used in socket request auth
124
- */
125
- clientUser: SUser["clientUser"];
126
-
127
- } | undefined>;
131
+ getUser: (sid: string | undefined, dbo: DBOFullyTyped<S>, db: DB, client: AuthClientRequest) => Awaitable<AuthResult<SUser>>;
128
132
 
129
133
  register?: (params: AnyObject, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession> | BasicSession;
130
134
  login?: (params: AnyObject, dbo: DBOFullyTyped<S>, db: DB) => Awaitable<BasicSession> | BasicSession;
@@ -138,12 +142,6 @@ export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
138
142
  }
139
143
  }
140
144
 
141
- export type ClientInfo = {
142
- user?: AnyObject;
143
- clientUser?: AnyObject;
144
- sid?: string;
145
- }
146
-
147
145
  export default class AuthHandler {
148
146
  protected opts?: Auth;
149
147
  dbo: DBHandlerServer;
@@ -236,7 +234,7 @@ export default class AuthHandler {
236
234
  }
237
235
  }
238
236
 
239
- getUser = async (clientReq: { httpReq: ExpressReq; }): Promise<AnyObject | undefined> => {
237
+ getUser = async (clientReq: { httpReq: ExpressReq; }): Promise<AuthResult> => {
240
238
  if(!this.sidKeyName || !this.opts?.getUser) throw "sidKeyName or this.opts.getUser missing"
241
239
  const sid = clientReq.httpReq?.cookies?.[this.sidKeyName];
242
240
  if (!sid) return undefined;
@@ -270,12 +268,25 @@ export default class AuthHandler {
270
268
  if (!getUser) throw "getUser missing from auth config";
271
269
 
272
270
  if (expressConfig) {
273
- const { app, publicRoutes = [], onGetRequestOK, magicLinks } = expressConfig;
271
+ const { app, publicRoutes = [], onGetRequestOK, magicLinks, use } = expressConfig;
274
272
  if (publicRoutes.find(r => typeof r !== "string" || !r)) {
275
273
  throw "Invalid or empty string provided within publicRoutes "
276
274
  }
277
275
 
278
- if (app && magicLinks && this.routes.magicLinks) {
276
+ if(use){
277
+ app.use((req, res, next) => {
278
+ use({
279
+ req,
280
+ res,
281
+ next,
282
+ getUser: () => this.getUser({ httpReq: req }) as any,
283
+ dbo: this.dbo,
284
+ db: this.db,
285
+ })
286
+ })
287
+ }
288
+
289
+ if (magicLinks && this.routes.magicLinks) {
279
290
  const { check } = magicLinks;
280
291
  if (!check) throw "Check must be defined for magicLinks";
281
292
 
@@ -303,7 +314,7 @@ export default class AuthHandler {
303
314
  }
304
315
 
305
316
  const loginRoute = this.routes?.login;
306
- if (app && loginRoute) {
317
+ if (loginRoute) {
307
318
 
308
319
 
309
320
  app.post(loginRoute, async (req: ExpressReq, res: ExpressRes) => {
@@ -491,7 +502,7 @@ export default class AuthHandler {
491
502
  }
492
503
  }
493
504
 
494
- async getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<ClientInfo | undefined> {
505
+ async getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<AuthResult> {
495
506
  if (!this.opts) return {};
496
507
 
497
508
  const getSession = this.opts.cacheSession?.getSession;
@@ -507,7 +518,9 @@ export default class AuthHandler {
507
518
  user,
508
519
  clientUser,
509
520
  }
510
- } else return {};
521
+ } else return {
522
+ sid: session.sid
523
+ };
511
524
  }
512
525
  }
513
526
 
@@ -520,7 +533,7 @@ export default class AuthHandler {
520
533
  const clientReq = localParams.httpReq? { httpReq: localParams.httpReq } : { socket: localParams.socket };
521
534
  let user, clientUser;
522
535
  if(sid){
523
- const res = await getUser(sid, this.dbo as any, this.db, clientReq);
536
+ const res = await getUser(sid, this.dbo as any, this.db, clientReq) as any;
524
537
  user = res?.user;
525
538
  clientUser = res?.clientUser;
526
539
  }
@@ -561,7 +574,7 @@ export default class AuthHandler {
561
574
  return Boolean(session && !hasExpired);
562
575
  }
563
576
 
564
- makeSocketAuth = async (socket: PRGLIOSocket): Promise<{ auth: AuthSocketSchema; userData: ClientInfo | undefined; } | Record<string, never>> => {
577
+ makeSocketAuth = async (socket: PRGLIOSocket): Promise<{ auth: AuthSocketSchema; userData: AuthResult; } | Record<string, never>> => {
565
578
  if (!this.opts) return {};
566
579
 
567
580
  let auth: Partial<Record<keyof Omit<AuthSocketSchema, "user">, boolean | undefined>> & { user?: AnyObject | undefined } = {};
@@ -2,7 +2,7 @@
2
2
  import * as pgPromise from 'pg-promise';
3
3
  import pg = require('pg-promise/typescript/pg-subset');
4
4
  import FileManager, { ImageOptions, LocalConfig, S3Config } from "./FileManager";
5
- import AuthHandler, { Auth, SessionUser } from "./AuthHandler";
5
+ import AuthHandler, { Auth, SessionUser, AuthRequestParams } from "./AuthHandler";
6
6
  import TableConfigurator, { TableConfig } from "./TableConfig";
7
7
  import { DboBuilder, DBHandlerServer, PRGLIOSocket } from "./DboBuilder";
8
8
  export { DBHandlerServer };
@@ -133,8 +133,12 @@ export declare type ProstglesInitOptions<S = void, SUser extends SessionUser = S
133
133
  /**
134
134
  * Use for connection verification. Will disconnect socket on any errors
135
135
  */
136
- onSocketConnect?: (socket: PRGLIOSocket, dbo: DBOFullyTyped<S>, db?: DB) => void | Promise<void>;
137
- onSocketDisconnect?: (socket: PRGLIOSocket, dbo: DBOFullyTyped<S>, db?: DB) => void | Promise<void>;
136
+ onSocketConnect?: (args: AuthRequestParams<S, SUser> & {
137
+ socket: PRGLIOSocket;
138
+ }) => void | Promise<void>;
139
+ onSocketDisconnect?: (args: AuthRequestParams<S, SUser> & {
140
+ socket: PRGLIOSocket;
141
+ }) => void | Promise<void>;
138
142
  auth?: Auth<S, SUser>;
139
143
  DEBUG_MODE?: boolean;
140
144
  watchSchemaType?:
@@ -1 +1 @@
1
- {"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
package/lib/Prostgles.js CHANGED
@@ -514,7 +514,8 @@ class Prostgles {
514
514
  try {
515
515
  if (this.opts.onSocketConnect) {
516
516
  try {
517
- await this.opts.onSocketConnect(socket, dbo, db);
517
+ const getUser = async () => { return await this.authHandler?.getClientInfo({ socket }); };
518
+ await this.opts.onSocketConnect({ socket, dbo: dbo, db, getUser });
518
519
  }
519
520
  catch (error) {
520
521
  const connectionError = error instanceof Error ? error.message : typeof error === "string" ? error : JSON.stringify(error);
@@ -556,7 +557,8 @@ class Prostgles {
556
557
  this.connectedSockets = this.connectedSockets.filter(s => s.id !== socket.id);
557
558
  // subscriptions = subscriptions.filter(sub => sub.socket.id !== socket.id);
558
559
  if (this.opts.onSocketDisconnect) {
559
- this.opts.onSocketDisconnect(socket, dbo);
560
+ const getUser = async () => { return await this.authHandler?.getClientInfo({ socket }); };
561
+ this.opts.onSocketDisconnect({ socket, dbo: dbo, db, getUser });
560
562
  }
561
563
  ;
562
564
  });
package/lib/Prostgles.ts CHANGED
@@ -10,7 +10,7 @@ import FileManager, { ImageOptions, LocalConfig, S3Config } from "./FileManager"
10
10
 
11
11
  const pkgj = require('../package.json');
12
12
  const version = pkgj.version;
13
- import AuthHandler, { ClientInfo, Auth, SessionUser } from "./AuthHandler";
13
+ import AuthHandler, { Auth, SessionUser, AuthRequestParams } from "./AuthHandler";
14
14
  console.log("Add a basic auth mode where user and sessions table are created");
15
15
 
16
16
  import TableConfigurator, { TableConfig } from "./TableConfig";
@@ -228,8 +228,8 @@ export type ProstglesInitOptions<S = void, SUser extends SessionUser = SessionUs
228
228
  /**
229
229
  * Use for connection verification. Will disconnect socket on any errors
230
230
  */
231
- onSocketConnect?: (socket: PRGLIOSocket, dbo: DBOFullyTyped<S>, db?: DB) => void | Promise<void>;
232
- onSocketDisconnect?: (socket: PRGLIOSocket, dbo: DBOFullyTyped<S>, db?: DB) => void | Promise<void>;
231
+ onSocketConnect?: (args: AuthRequestParams<S, SUser> & { socket: PRGLIOSocket }) => void | Promise<void>;
232
+ onSocketDisconnect?: (args: AuthRequestParams<S, SUser> & { socket: PRGLIOSocket }) => void | Promise<void>;
233
233
  auth?: Auth<S, SUser>;
234
234
  DEBUG_MODE?: boolean;
235
235
  watchSchemaType?:
@@ -701,7 +701,8 @@ export class Prostgles {
701
701
  try {
702
702
  if (this.opts.onSocketConnect) {
703
703
  try {
704
- await this.opts.onSocketConnect(socket, dbo as any, db);
704
+ const getUser = async () => { return await this.authHandler?.getClientInfo({ socket }); }
705
+ await this.opts.onSocketConnect({ socket, dbo: dbo as any, db, getUser });
705
706
  } catch(error) {
706
707
  const connectionError = error instanceof Error? error.message : typeof error === "string"? error : JSON.stringify(error);
707
708
  socket.emit(CHANNELS.CONNECTION, { connectionError });
@@ -745,7 +746,8 @@ export class Prostgles {
745
746
  this.connectedSockets = this.connectedSockets.filter(s => s.id !== socket.id);
746
747
  // subscriptions = subscriptions.filter(sub => sub.socket.id !== socket.id);
747
748
  if (this.opts.onSocketDisconnect) {
748
- this.opts.onSocketDisconnect(socket, dbo as any);
749
+ const getUser = async () => { return await this.authHandler?.getClientInfo({ socket }); }
750
+ this.opts.onSocketDisconnect({ socket, dbo: dbo as any, db, getUser });
749
751
  };
750
752
  });
751
753
 
@@ -1,5 +1,5 @@
1
1
  import { AnyObject, TableSchemaForClient, DBSchemaTable, FullFilter } from "prostgles-types";
2
- import { ClientInfo, SessionUser } from "./AuthHandler";
2
+ import { AuthResult, SessionUser } from "./AuthHandler";
3
3
  import { CommonTableRules, LocalParams, PRGLIOSocket, TableOrViewInfo, TableSchemaColumn } from "./DboBuilder";
4
4
  import { Prostgles, DBHandlerServer, DB } from "./Prostgles";
5
5
  import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
@@ -263,18 +263,18 @@ export declare class PublishParser {
263
263
  db: DB;
264
264
  prostgles: Prostgles;
265
265
  constructor(publish: any, publishMethods: any, publishRawSQL: any, dbo: DBHandlerServer, db: DB, prostgles: Prostgles);
266
- getPublishParams(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishParams>;
267
- getMethods(socket: any, userData?: ClientInfo): Promise<{}>;
266
+ getPublishParams(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishParams>;
267
+ getMethods(socket: any, userData?: AuthResult): Promise<{}>;
268
268
  /**
269
269
  * Parses the first level of publish. (If false then nothing if * then all tables and views)
270
270
  * @param socket
271
271
  * @param user
272
272
  */
273
- getPublish(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishObject>;
273
+ getPublish(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishObject>;
274
274
  getValidatedRequestRuleWusr({ tableName, command, localParams }: DboTableCommand): Promise<TableRule>;
275
- getValidatedRequestRule({ tableName, command, localParams }: DboTableCommand, clientInfo?: ClientInfo): Promise<TableRule>;
276
- getTableRules({ tableName, localParams }: DboTable, clientInfo?: ClientInfo): Promise<ParsedPublishTable | undefined>;
277
- getSchemaFromPublish(socket: any, userData?: ClientInfo): Promise<{
275
+ getValidatedRequestRule({ tableName, command, localParams }: DboTableCommand, clientInfo?: AuthResult): Promise<TableRule>;
276
+ getTableRules({ tableName, localParams }: DboTable, clientInfo?: AuthResult): Promise<ParsedPublishTable | undefined>;
277
+ getSchemaFromPublish(socket: any, userData?: AuthResult): Promise<{
278
278
  schema: TableSchemaForClient;
279
279
  tables: DBSchemaTable[];
280
280
  }>;
@@ -1,5 +1,5 @@
1
1
  import { getKeys, RULE_METHODS, AnyObject, get, TableSchemaForClient, DBSchemaTable, MethodKey, TableInfo, FullFilter, isObject } from "prostgles-types";
2
- import { ClientInfo, SessionUser } from "./AuthHandler";
2
+ import { AuthResult, SessionUser } from "./AuthHandler";
3
3
  import { CommonTableRules, Filter, isPlainObject, LocalParams, PRGLIOSocket, TableHandler, TableOrViewInfo, TableSchemaColumn, ViewHandler } from "./DboBuilder";
4
4
  import { Prostgles, DBHandlerServer, DB, TABLE_METHODS } from "./Prostgles";
5
5
  import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
@@ -388,7 +388,7 @@ export class PublishParser {
388
388
  if (!this.dbo || !this.publish) throw "INTERNAL ERROR: dbo and/or publish missing";
389
389
  }
390
390
 
391
- async getPublishParams(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishParams> {
391
+ async getPublishParams(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishParams> {
392
392
  if (!this.dbo) throw "dbo missing"
393
393
  return {
394
394
  ...(clientInfo || await this.prostgles.authHandler?.getClientInfo(localParams)),
@@ -403,7 +403,7 @@ export class PublishParser {
403
403
  }
404
404
  }
405
405
 
406
- async getMethods(socket: any, userData?: ClientInfo) {
406
+ async getMethods(socket: any, userData?: AuthResult) {
407
407
  let methods = {};
408
408
 
409
409
  const publishParams = await this.getPublishParams({ socket }, userData);
@@ -428,7 +428,7 @@ export class PublishParser {
428
428
  * @param socket
429
429
  * @param user
430
430
  */
431
- async getPublish(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishObject> {
431
+ async getPublish(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishObject> {
432
432
  const publishParams = await this.getPublishParams(localParams, clientInfo)
433
433
  let _publish = await applyParamsIfFunc(this.publish, publishParams);
434
434
 
@@ -447,7 +447,7 @@ export class PublishParser {
447
447
  return await this.getValidatedRequestRule({ tableName, command, localParams }, clientInfo);
448
448
  }
449
449
 
450
- async getValidatedRequestRule({ tableName, command, localParams }: DboTableCommand, clientInfo?: ClientInfo): Promise<TableRule> {
450
+ async getValidatedRequestRule({ tableName, command, localParams }: DboTableCommand, clientInfo?: AuthResult): Promise<TableRule> {
451
451
  if (!this.dbo) throw "INTERNAL ERROR: dbo is missing";
452
452
 
453
453
  if (!command || !tableName) throw "command OR tableName are missing";
@@ -488,7 +488,7 @@ export class PublishParser {
488
488
  } else throw { stack: ["getValidatedRequestRule()"], message: `Invalid or disallowed command: ${tableName}.${command}` };
489
489
  }
490
490
 
491
- async getTableRules({ tableName, localParams }: DboTable, clientInfo?: ClientInfo): Promise<ParsedPublishTable | undefined> {
491
+ async getTableRules({ tableName, localParams }: DboTable, clientInfo?: AuthResult): Promise<ParsedPublishTable | undefined> {
492
492
 
493
493
  try {
494
494
  if (!localParams || !tableName) throw { stack: ["getTableRules()"], message: "publish OR socket OR dbo OR tableName are missing" };
@@ -649,7 +649,7 @@ export class PublishParser {
649
649
 
650
650
 
651
651
  /* Prepares schema for client. Only allowed views and commands will be present */
652
- async getSchemaFromPublish(socket: any, userData?: ClientInfo): Promise<{ schema: TableSchemaForClient; tables: DBSchemaTable[] }> {
652
+ async getSchemaFromPublish(socket: any, userData?: AuthResult): Promise<{ schema: TableSchemaForClient; tables: DBSchemaTable[] }> {
653
653
  let schema: TableSchemaForClient = {};
654
654
  let tables: DBSchemaTable[] = []
655
655
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "2.0.345",
3
+ "version": "3.0.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 22614
1
+ 4301
@@ -213,13 +213,13 @@ function dd() {
213
213
  },
214
214
  expressApp: app,
215
215
  },
216
- onSocketDisconnect: (socket, db) => {
216
+ onSocketDisconnect: ({ socket, db }) => {
217
217
  log("onSocketDisconnect");
218
218
  console.trace("onSocketDisconnect");
219
219
  // const c: DBOFullyTyped<DBSchemaGenerated> = 1 as any;
220
220
  // c["*"].
221
221
  },
222
- onSocketConnect: (socket, db) => {
222
+ onSocketConnect: ({ socket, db }) => {
223
223
  log("onSocketConnect");
224
224
  if (clientTest) {
225
225
  log("Client connected -> CLIENT ERRORS ARE NOT LOGGED HERE!");
@@ -263,7 +263,7 @@ function dd() {
263
263
  if (s) {
264
264
  const user = users.find(u => s && s.user_id === u.id);
265
265
  if (user) {
266
- return { user, clientUser: { sid: s.id, uid: user.id } };
266
+ return { sid: s.id, user, clientUser: { sid: s.id, uid: user.id } };
267
267
  }
268
268
  }
269
269
  }
@@ -235,14 +235,14 @@ function dd(){
235
235
  expressApp: app,
236
236
  },
237
237
 
238
- onSocketDisconnect: (socket, db) => {
238
+ onSocketDisconnect: ({ socket, db }) => {
239
239
  log("onSocketDisconnect")
240
240
  console.trace("onSocketDisconnect");
241
241
  // const c: DBOFullyTyped<DBSchemaGenerated> = 1 as any;
242
242
  // c["*"].
243
243
  },
244
244
 
245
- onSocketConnect: (socket, db) => {
245
+ onSocketConnect: ({ socket, db }) => {
246
246
  log("onSocketConnect")
247
247
  if(clientTest){
248
248
  log("Client connected -> CLIENT ERRORS ARE NOT LOGGED HERE!");
@@ -291,7 +291,7 @@ function dd(){
291
291
  if(s) {
292
292
  const user = users.find(u => s && s.user_id === u.id);
293
293
  if(user) {
294
- return { user, clientUser: { sid: s.id, uid: user.id } }
294
+ return { sid: s.id, user, clientUser: { sid: s.id, uid: user.id } }
295
295
  }
296
296
  }
297
297
  }
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "2.0.344",
24
+ "version": "2.0.345",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.121.0",
@@ -1 +1 @@
1
- {"version":3,"file":"publishTypeCheck.d.ts","sourceRoot":"","sources":["publishTypeCheck.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,YAqI5B,CAAA"}
1
+ {"version":3,"file":"publishTypeCheck.d.ts","sourceRoot":"","sources":["publishTypeCheck.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,YAqI5B,CAAA"}
@@ -2,7 +2,6 @@
2
2
  import { DBSchemaGenerated } from "./DBoGenerated";
3
3
 
4
4
  import { PublishFullyTyped } from "../../dist/DBSchemaBuilder";
5
- import { FullFilter } from "prostgles-types";
6
5
  export const testPublishTypes = () => {
7
6
  (() => {
8
7
  const p1: PublishFullyTyped<DBSchemaGenerated> = {