prostgles-server 4.2.436 → 4.2.438

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.
@@ -22,6 +22,7 @@ function setupAuthRoutes() {
22
22
  if (publicRoutes.find((r) => typeof r !== "string" || !r)) {
23
23
  throw "Invalid or empty string provided within publicRoutes ";
24
24
  }
25
+ userContextMiddleware_1.setupUserContextMiddleware.bind(this)(app);
25
26
  if (signupWithEmail) {
26
27
  setRegisterRequestHandler_1.setRegisterRequestHandler.bind(this)(signupWithEmail, app);
27
28
  }
@@ -51,7 +52,6 @@ function setupAuthRoutes() {
51
52
  setLoginRequestHandler_1.setLoginRequestHandler.bind(this)(app);
52
53
  /* Redirect if not logged in and requesting non public content */
53
54
  setCatchAllRequestHandler_1.setCatchAllRequestHandler.bind(this)(app);
54
- userContextMiddleware_1.setupUserContextMiddleware.bind(this)(app);
55
55
  setLogoutRequestHandler_1.setLogoutRequestHandler.bind(this)(app);
56
56
  }
57
57
  //# sourceMappingURL=setupAuthRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupAuthRoutes.js","sourceRoot":"","sources":["../../lib/Auth/setupAuthRoutes.ts"],"names":[],"mappings":";;AAYA,0CAiEC;AA3ED,+CAAwD;AACxD,qFAAkF;AAClF,+EAA4E;AAC5E,iFAA8E;AAC9E,iGAA8F;AAC9F,iFAA8E;AAC9E,qFAAkF;AAClF,uFAAoF;AACpF,8EAAgF;AAEhF,SAAgB,eAAe;IAC7B,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IAEhE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,4DAA4D,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,MAAM,EACJ,GAAG,EACH,YAAY,GAAG,EAAE,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,GAAG,iBAAiB,CAAC;IACtB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,uDAAuD,CAAC;IAChE,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,qDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,iDAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,sBAAsB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CACrD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAC3B,IAAA,qCAAuB,EAAC,OAAO,CAAC,EAChC,OAAO,CACR,CAAC;YAEF,IAAI,kBAAkB,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBACxD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;gBAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,IAAI,kBAAkB,IAAI,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC;gBACvC,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QACF,IAAA,2DAA4B,EAAC,GAAG,EAAE,sBAAsB,EAAE,iCAAiC,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,iEAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,+CAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEvC,iEAAiE;IACjE,qDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1C,kDAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3C,iDAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"setupAuthRoutes.js","sourceRoot":"","sources":["../../lib/Auth/setupAuthRoutes.ts"],"names":[],"mappings":";;AAYA,0CAiEC;AA3ED,+CAAwD;AACxD,qFAAkF;AAClF,+EAA4E;AAC5E,iFAA8E;AAC9E,iGAA8F;AAC9F,iFAA8E;AAC9E,qFAAkF;AAClF,uFAAoF;AACpF,8EAAgF;AAEhF,SAAgB,eAAe;IAC7B,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IAEhE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,4DAA4D,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IACD,MAAM,EACJ,GAAG,EACH,YAAY,GAAG,EAAE,EACjB,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,GAAG,iBAAiB,CAAC;IACtB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,uDAAuD,CAAC;IAChE,CAAC;IAED,kDAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,eAAe,EAAE,CAAC;QACpB,qDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,iDAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,sBAAsB,GAAmB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACtE,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CACrD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAC3B,IAAA,qCAAuB,EAAC,OAAO,CAAC,EAChC,OAAO,CACR,CAAC;YAEF,IAAI,kBAAkB,IAAI,OAAO,IAAI,kBAAkB,EAAE,CAAC;gBACxD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC;gBAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,IAAI,kBAAkB,IAAI,SAAS,IAAI,kBAAkB,EAAE,CAAC;gBAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC;gBACvC,OAAO,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;QACF,IAAA,2DAA4B,EAAC,GAAG,EAAE,sBAAsB,EAAE,iCAAiC,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,gBAAgB,EAAE,CAAC;QACrB,iEAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,+CAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAEvC,iEAAiE;IACjE,qDAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAE1C,iDAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,5 +1,39 @@
1
1
  import type { ExpressApp } from "../../RestApi";
2
2
  import type { Express } from "express";
3
+ export declare const getRouter: (app: ExpressApp | Express) => {
4
+ getStack: () => {
5
+ name: string;
6
+ handle: import("../../SchemaWatch/SchemaWatch").VoidFunction;
7
+ path: undefined;
8
+ keys?: any[];
9
+ route?: {
10
+ path?: string;
11
+ methods?: {
12
+ get?: boolean;
13
+ post?: boolean;
14
+ put?: boolean;
15
+ delete?: boolean;
16
+ };
17
+ };
18
+ }[];
19
+ router: {
20
+ stack?: {
21
+ name: string;
22
+ handle: import("../../SchemaWatch/SchemaWatch").VoidFunction;
23
+ path: undefined;
24
+ keys?: any[];
25
+ route?: {
26
+ path?: string;
27
+ methods?: {
28
+ get?: boolean;
29
+ post?: boolean;
30
+ put?: boolean;
31
+ delete?: boolean;
32
+ };
33
+ };
34
+ }[];
35
+ };
36
+ };
3
37
  export declare const removeExpressRoute: (app: ExpressApp | Express | undefined, _routePaths: (string | undefined)[], method?: "get" | "post" | "put" | "delete") => void;
4
38
  export declare const removeExpressRoutesTest: (app: ExpressApp | Express) => Promise<void>;
5
39
  //# sourceMappingURL=removeExpressRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"removeExpressRoute.d.ts","sourceRoot":"","sources":["../../../lib/Auth/utils/removeExpressRoute.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyBvC,eAAO,MAAM,kBAAkB,GAC7B,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,EACrC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EACnC,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,SAe3C,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAU,KAAK,UAAU,GAAG,OAAO,kBA2BtE,CAAC"}
1
+ {"version":3,"file":"removeExpressRoute.d.ts","sourceRoot":"","sources":["../../../lib/Auth/utils/removeExpressRoute.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,eAAO,MAAM,SAAS,GAAI,KAAK,UAAU,GAAG,OAAO;;;;;;;gBAcJ,CAAC;mBAAuB,CAAC;mBAElE,CAAH;oBAEC,CAAJ;mBAIC,CAAC;sBAAyB,CAAC;;;;;;;;;gBARd,CAAA;iBAAkB,CAAC;oBAAc,CAAC;uBAAuB,CAAC;uBAElE,CAAH;wBAEC,CAAJ;uBAIC,CAAC;0BAAyB,CAAC;;;;;CAF3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,EACrC,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EACnC,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,SAe3C,CAAC;AAGF,eAAO,MAAM,uBAAuB,GAAU,KAAK,UAAU,GAAG,OAAO,kBA2BtE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeExpressRoutesTest = exports.removeExpressRoute = void 0;
3
+ exports.removeExpressRoutesTest = exports.removeExpressRoute = exports.getRouter = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const matchesRoute_1 = require("./matchesRoute");
6
6
  const getRouter = (app) => {
@@ -23,11 +23,12 @@ const getRouter = (app) => {
23
23
  router,
24
24
  };
25
25
  };
26
+ exports.getRouter = getRouter;
26
27
  const removeExpressRoute = (app, _routePaths, method) => {
27
28
  if (!app)
28
29
  return;
29
30
  const routePaths = _routePaths.filter(prostgles_types_1.isDefined);
30
- const { router, getStack } = getRouter(app);
31
+ const { router, getStack } = (0, exports.getRouter)(app);
31
32
  const newRoutes = getStack().filter((route) => {
32
33
  const path = route.route?.path;
33
34
  const matchesForRemoval = path &&
@@ -45,7 +46,7 @@ const removeExpressRoutesTest = async (app) => {
45
46
  app.get("/removeExpressRoute", (req, res) => {
46
47
  res.json({ v: 1 });
47
48
  });
48
- const { getStack } = getRouter(app);
49
+ const { getStack } = (0, exports.getRouter)(app);
49
50
  const currentRoutes = getStack().slice(0);
50
51
  (0, exports.removeExpressRoute)(app, ["/removeExpressRoute"]);
51
52
  if (getStack().length !== currentRoutes.length - 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"removeExpressRoute.js","sourceRoot":"","sources":["../../../lib/Auth/utils/removeExpressRoute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"removeExpressRoute.js","sourceRoot":"","sources":["../../../lib/Auth/utils/removeExpressRoute.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import type e from "express";
2
2
  import type { RequestHandler } from "express";
3
3
  import type { ExpressApp } from "../../RestApi";
4
4
  export declare const upsertNamedExpressMiddleware: (app: e.Express, handler: RequestHandler, name: string) => void;
5
- export declare const removeExpressRouteByName: (app: ExpressApp | undefined, name: string) => void;
5
+ export declare const removeExpressRouteByName: (app: ExpressApp, name: string) => void;
6
6
  //# sourceMappingURL=upsertNamedExpressMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"upsertNamedExpressMiddleware.d.ts","sourceRoot":"","sources":["../../../lib/Auth/utils/upsertNamedExpressMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,eAAO,MAAM,4BAA4B,GACvC,KAAK,CAAC,CAAC,OAAO,EACd,SAAS,cAAc,EACvB,MAAM,MAAM,SAMb,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,KAAK,UAAU,GAAG,SAAS,EAAE,MAAM,MAAM,SAUjF,CAAC"}
1
+ {"version":3,"file":"upsertNamedExpressMiddleware.d.ts","sourceRoot":"","sources":["../../../lib/Auth/utils/upsertNamedExpressMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,eAAO,MAAM,4BAA4B,GACvC,KAAK,CAAC,CAAC,OAAO,EACd,SAAS,cAAc,EACvB,MAAM,MAAM,SAMb,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,KAAK,UAAU,EAAE,MAAM,MAAM,SASrE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.removeExpressRouteByName = exports.upsertNamedExpressMiddleware = void 0;
4
+ const removeExpressRoute_1 = require("./removeExpressRoute");
4
5
  const upsertNamedExpressMiddleware = (app, handler, name) => {
5
6
  const funcName = name;
6
7
  Object.defineProperty(handler, "name", { value: funcName });
@@ -9,15 +10,14 @@ const upsertNamedExpressMiddleware = (app, handler, name) => {
9
10
  };
10
11
  exports.upsertNamedExpressMiddleware = upsertNamedExpressMiddleware;
11
12
  const removeExpressRouteByName = (app, name) => {
12
- const routes = app?._router?.stack;
13
- if (routes) {
14
- app._router.stack = routes.filter((route) => {
15
- if (route.name === name) {
16
- return false;
17
- }
18
- return true;
19
- });
20
- }
13
+ const { router, getStack } = (0, removeExpressRoute_1.getRouter)(app);
14
+ const newRoutes = getStack().filter((route) => {
15
+ if (route.name === name) {
16
+ return false;
17
+ }
18
+ return true;
19
+ });
20
+ router.stack = newRoutes;
21
21
  };
22
22
  exports.removeExpressRouteByName = removeExpressRouteByName;
23
23
  //# sourceMappingURL=upsertNamedExpressMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upsertNamedExpressMiddleware.js","sourceRoot":"","sources":["../../../lib/Auth/utils/upsertNamedExpressMiddleware.ts"],"names":[],"mappings":";;;AAIO,MAAM,4BAA4B,GAAG,CAC1C,GAAc,EACd,OAAuB,EACvB,IAAY,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,IAAA,gCAAwB,EAAC,GAAiB,EAAE,IAAI,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAC;AATW,QAAA,4BAA4B,gCASvC;AAEK,MAAM,wBAAwB,GAAG,CAAC,GAA2B,EAAE,IAAY,EAAE,EAAE;IACpF,MAAM,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC;IACnC,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,OAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC"}
1
+ {"version":3,"file":"upsertNamedExpressMiddleware.js","sourceRoot":"","sources":["../../../lib/Auth/utils/upsertNamedExpressMiddleware.ts"],"names":[],"mappings":";;;AAGA,6DAAiD;AAE1C,MAAM,4BAA4B,GAAG,CAC1C,GAAc,EACd,OAAuB,EACvB,IAAY,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,IAAA,gCAAwB,EAAC,GAAiB,EAAE,IAAI,CAAC,CAAC;IAClD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAC;AATW,QAAA,4BAA4B,gCASvC;AAEK,MAAM,wBAAwB,GAAG,CAAC,GAAe,EAAE,IAAY,EAAE,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAS,EAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;AAC3B,CAAC,CAAC;AATW,QAAA,wBAAwB,4BASnC"}
@@ -12,6 +12,7 @@ type ClientStreamedRequest = {
12
12
  persistConnection?: boolean;
13
13
  };
14
14
  type StreamedQuery = ClientStreamedRequest & {
15
+ id: number;
15
16
  cursor: CursorType | undefined;
16
17
  client: pg.Client | undefined;
17
18
  stop?: VoidFunction;
@@ -20,7 +21,7 @@ type StreamedQuery = ClientStreamedRequest & {
20
21
  export declare class QueryStreamer {
21
22
  db: DB;
22
23
  dboBuilder: DboBuilder;
23
- socketQueries: Record<string, Record<string, StreamedQuery>>;
24
+ socketQueries: Map<string, Map<number, StreamedQuery>>;
24
25
  adminClient: pg.Client;
25
26
  constructor(dboBuilder: DboBuilder);
26
27
  getConnection: (onError: ((err: any) => void) | undefined, extraOptions?: pg.ClientConfig) => pg.Client;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryStreamer.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/QueryStreamer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,UAAU,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAyB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AACF,KAAK,aAAa,GAAG,qBAAqB,GAAG;IAC3C,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B,CAAC;AAiBF,qBAAa,aAAa;IACxB,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAM;IAClE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC;gBACX,UAAU,EAAE,UAAU;IAmBlC,aAAa,GAAI,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,eAAe,EAAE,CAAC,YAAY,eAQxF;IACF,YAAY,GAAI,UAAU,MAAM,UAS9B;IAEF,MAAM,GAAI,OAAO,qBAAqB,KAAG,qBAAqB,CA6O5D;CACH"}
1
+ {"version":3,"file":"QueryStreamer.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/QueryStreamer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,UAAU,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAyB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AACF,KAAK,aAAa,GAAG,qBAAqB,GAAG;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B,CAAC;AAiBF,qBAAa,aAAa;IACxB,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAa;IACnE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC;gBACX,UAAU,EAAE,UAAU;IAmBlC,aAAa,GAAI,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,eAAe,EAAE,CAAC,YAAY,eAQxF;IACF,YAAY,GAAI,UAAU,MAAM,UAS9B;IAEF,MAAM,GAAI,OAAO,qBAAqB,KAAG,qBAAqB,CA4O5D;CACH"}
@@ -6,18 +6,18 @@ const prostgles_types_1 = require("prostgles-types");
6
6
  const dboBuilderUtils_1 = require("./dboBuilderUtils");
7
7
  const runSQL_1 = require("./runSQL");
8
8
  const Cursor = require("pg-cursor");
9
- const shortSocketIds = {};
9
+ const socketIdToLastQueryId = new Map();
10
10
  const getSetShortSocketId = (socketId) => {
11
11
  const shortId = socketId.slice(0, 3);
12
- const currId = shortSocketIds[shortId] ?? 0;
12
+ const currId = socketIdToLastQueryId.get(shortId) ?? 0;
13
13
  const newId = currId + 1;
14
- shortSocketIds[shortId] = newId;
14
+ socketIdToLastQueryId.set(shortId, newId);
15
15
  return newId;
16
16
  };
17
17
  class QueryStreamer {
18
18
  db;
19
19
  dboBuilder;
20
- socketQueries = {};
20
+ socketQueries = new Map();
21
21
  adminClient;
22
22
  constructor(dboBuilder) {
23
23
  this.dboBuilder = dboBuilder;
@@ -43,7 +43,7 @@ class QueryStreamer {
43
43
  return client;
44
44
  };
45
45
  onDisconnect = (socketId) => {
46
- const socketQueries = this.socketQueries[socketId];
46
+ const socketQueries = this.socketQueries.get(socketId);
47
47
  if (!socketQueries)
48
48
  return;
49
49
  Object.values(socketQueries).forEach(({ client, stop }) => {
@@ -51,7 +51,7 @@ class QueryStreamer {
51
51
  /** end does not stop active query?! */
52
52
  void client?.end();
53
53
  });
54
- delete this.socketQueries[socketId];
54
+ this.socketQueries.delete(socketId);
55
55
  };
56
56
  create = (query) => {
57
57
  const { socket, persistConnection } = query;
@@ -59,10 +59,9 @@ class QueryStreamer {
59
59
  const id = getSetShortSocketId(socketId);
60
60
  const channel = `${prostgles_types_1.CHANNELS.SQL_STREAM}__${socketId}_${id}`;
61
61
  const unsubChannel = `${channel}.unsubscribe`;
62
- if (this.socketQueries[id] && !persistConnection) {
62
+ if (this.socketQueries.get(socketId)?.get(id) && !persistConnection) {
63
63
  throw `Must stop existing query ${id} first`;
64
64
  }
65
- this.socketQueries[socketId] ??= {};
66
65
  let errored = false;
67
66
  const socketQuery = {
68
67
  ...query,
@@ -85,12 +84,12 @@ class QueryStreamer {
85
84
  });
86
85
  },
87
86
  };
88
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
89
- this.socketQueries[socketId][id] ??= socketQuery;
87
+ const socketQueries = this.socketQueries.get(socketId) ?? new Map();
88
+ this.socketQueries.set(socketId, socketQueries.set(id, socketQuery));
90
89
  let processID = -1;
91
90
  let streamState;
92
91
  const startStream = async (client, query) => {
93
- const socketQuery = this.socketQueries[socketId]?.[id];
92
+ const socketQuery = this.socketQueries.get(socketId)?.get(id);
94
93
  if (!socketQuery) {
95
94
  throw "socket query not found";
96
95
  }
@@ -122,7 +121,7 @@ class QueryStreamer {
122
121
  socketQuery.onError(err);
123
122
  void currentClient.end();
124
123
  });
125
- this.socketQueries[socketId][id].client = currentClient;
124
+ socketQuery.client = currentClient;
126
125
  try {
127
126
  if (!client) {
128
127
  await currentClient.connect();
@@ -134,7 +133,7 @@ class QueryStreamer {
134
133
  }
135
134
  const batchSize = query.options?.streamLimit ? Math.min(1e3, query.options.streamLimit) : 1e3;
136
135
  const cursor = currentClient.query(new Cursor(query.query, undefined, { rowMode: "array" }));
137
- this.socketQueries[socketId][id].cursor = cursor;
136
+ socketQuery.cursor = cursor;
138
137
  let streamLimitReached = false;
139
138
  let reachedEnd = false;
140
139
  void (async () => {
@@ -160,7 +159,7 @@ class QueryStreamer {
160
159
  } while (!reachedEnd && !streamLimitReached);
161
160
  streamState = "ended";
162
161
  if (!query.options?.persistStreamConnection) {
163
- delete this.socketQueries[socketId]?.[id];
162
+ this.socketQueries.get(socketId)?.delete(id);
164
163
  void currentClient.end();
165
164
  }
166
165
  void cursor.close();
@@ -197,10 +196,10 @@ class QueryStreamer {
197
196
  const cleanup = () => {
198
197
  socket.removeAllListeners(unsubChannel);
199
198
  socket.removeAllListeners(channel);
200
- delete this.socketQueries[socketId]?.[id];
199
+ this.socketQueries.get(socketId)?.delete(id);
201
200
  };
202
201
  const stop = async (opts, cb) => {
203
- const { client: queryClient } = this.socketQueries[socketId]?.[id] ?? {};
202
+ const { client: queryClient } = this.socketQueries.get(socketId)?.get(id) ?? {};
204
203
  if (!queryClient)
205
204
  return;
206
205
  if (opts?.terminate) {
@@ -218,7 +217,7 @@ class QueryStreamer {
218
217
  cb(null, error);
219
218
  }
220
219
  };
221
- this.socketQueries[socketId][id].stop = () => stop({ terminate: true }, () => {
220
+ socketQuery.stop = () => stop({ terminate: true }, () => {
222
221
  /* Empty */
223
222
  });
224
223
  socket.removeAllListeners(unsubChannel);
@@ -233,7 +232,7 @@ class QueryStreamer {
233
232
  try {
234
233
  /* Persisted connection query */
235
234
  if (runCount) {
236
- const persistedClient = this.socketQueries[socketId]?.[id];
235
+ const persistedClient = this.socketQueries.get(socketId)?.get(id);
237
236
  if (!persistedClient)
238
237
  throw "Persisted query client not found";
239
238
  await startStream(persistedClient.client, {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryStreamer.js","sourceRoot":"","sources":["../../lib/DboBuilder/QueryStreamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryStreamer.js","sourceRoot":"","sources":["../../lib/DboBuilder/QueryStreamer.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ export function setupAuthRoutes(this: AuthHandler) {
31
31
  throw "Invalid or empty string provided within publicRoutes ";
32
32
  }
33
33
 
34
+ setupUserContextMiddleware.bind(this)(app);
35
+
34
36
  if (signupWithEmail) {
35
37
  setRegisterRequestHandler.bind(this)(signupWithEmail, app);
36
38
  }
@@ -72,7 +74,5 @@ export function setupAuthRoutes(this: AuthHandler) {
72
74
  /* Redirect if not logged in and requesting non public content */
73
75
  setCatchAllRequestHandler.bind(this)(app);
74
76
 
75
- setupUserContextMiddleware.bind(this)(app);
76
-
77
77
  setLogoutRequestHandler.bind(this)(app);
78
78
  }
@@ -3,7 +3,7 @@ import type { ExpressApp } from "../../RestApi";
3
3
  import type { Express } from "express";
4
4
  import { matchesRoute } from "./matchesRoute";
5
5
 
6
- const getRouter = (app: ExpressApp | Express) => {
6
+ export const getRouter = (app: ExpressApp | Express) => {
7
7
  const router = (app._router || app.router) as ExpressApp["_router"] | undefined;
8
8
  if (typeof router === "string") {
9
9
  throw new Error("app.router is a string");
@@ -28,7 +28,7 @@ const getRouter = (app: ExpressApp | Express) => {
28
28
  export const removeExpressRoute = (
29
29
  app: ExpressApp | Express | undefined,
30
30
  _routePaths: (string | undefined)[],
31
- method?: "get" | "post" | "put" | "delete"
31
+ method?: "get" | "post" | "put" | "delete",
32
32
  ) => {
33
33
  if (!app) return;
34
34
  const routePaths = _routePaths.filter(isDefined);
@@ -63,7 +63,7 @@ export const removeExpressRoutesTest = async (app: ExpressApp | Express) => {
63
63
  res.json({ v: 2 });
64
64
  });
65
65
  const r = (await fetch("http://localhost:3001/removeExpressRoute").then((res) =>
66
- res.json()
66
+ res.json(),
67
67
  )) as {
68
68
  v: number;
69
69
  };
@@ -1,11 +1,12 @@
1
1
  import type e from "express";
2
2
  import type { RequestHandler } from "express";
3
3
  import type { ExpressApp } from "../../RestApi";
4
+ import { getRouter } from "./removeExpressRoute";
4
5
 
5
6
  export const upsertNamedExpressMiddleware = (
6
7
  app: e.Express,
7
8
  handler: RequestHandler,
8
- name: string
9
+ name: string,
9
10
  ) => {
10
11
  const funcName = name;
11
12
  Object.defineProperty(handler, "name", { value: funcName });
@@ -13,14 +14,13 @@ export const upsertNamedExpressMiddleware = (
13
14
  app.use(handler);
14
15
  };
15
16
 
16
- export const removeExpressRouteByName = (app: ExpressApp | undefined, name: string) => {
17
- const routes = app?._router?.stack;
18
- if (routes) {
19
- app._router!.stack = routes.filter((route) => {
20
- if (route.name === name) {
21
- return false;
22
- }
23
- return true;
24
- });
25
- }
17
+ export const removeExpressRouteByName = (app: ExpressApp, name: string) => {
18
+ const { router, getStack } = getRouter(app);
19
+ const newRoutes = getStack().filter((route) => {
20
+ if (route.name === name) {
21
+ return false;
22
+ }
23
+ return true;
24
+ });
25
+ router.stack = newRoutes;
26
26
  };
@@ -9,7 +9,7 @@ import type { DboBuilder } from "./DboBuilder";
9
9
  import type { PRGLIOSocket } from "./DboBuilderTypes";
10
10
  import { getErrorAsObject, getSerializedClientErrorFromPGError } from "./dboBuilderUtils";
11
11
  import { getDetailedFieldInfo } from "./runSQL";
12
- const Cursor: typeof CursorType = require("pg-cursor");
12
+ const Cursor = require("pg-cursor") as typeof CursorType;
13
13
 
14
14
  type ClientStreamedRequest = {
15
15
  socket: PRGLIOSocket;
@@ -18,6 +18,7 @@ type ClientStreamedRequest = {
18
18
  persistConnection?: boolean;
19
19
  };
20
20
  type StreamedQuery = ClientStreamedRequest & {
21
+ id: number;
21
22
  cursor: CursorType | undefined;
22
23
  client: pg.Client | undefined;
23
24
  stop?: VoidFunction;
@@ -30,19 +31,19 @@ type Info = {
30
31
  duration: number;
31
32
  };
32
33
 
33
- const shortSocketIds: Record<string, number> = {};
34
+ const socketIdToLastQueryId: Map<string, number> = new Map();
34
35
  const getSetShortSocketId = (socketId: string) => {
35
36
  const shortId = socketId.slice(0, 3);
36
- const currId = shortSocketIds[shortId] ?? 0;
37
+ const currId = socketIdToLastQueryId.get(shortId) ?? 0;
37
38
  const newId = currId + 1;
38
- shortSocketIds[shortId] = newId;
39
+ socketIdToLastQueryId.set(shortId, newId);
39
40
  return newId;
40
41
  };
41
42
 
42
43
  export class QueryStreamer {
43
44
  db: DB;
44
45
  dboBuilder: DboBuilder;
45
- socketQueries: Record<string, Record<string, StreamedQuery>> = {};
46
+ socketQueries: Map<string, Map<number, StreamedQuery>> = new Map();
46
47
  adminClient: pg.Client;
47
48
  constructor(dboBuilder: DboBuilder) {
48
49
  this.dboBuilder = dboBuilder;
@@ -73,14 +74,14 @@ export class QueryStreamer {
73
74
  return client;
74
75
  };
75
76
  onDisconnect = (socketId: string) => {
76
- const socketQueries = this.socketQueries[socketId];
77
+ const socketQueries = this.socketQueries.get(socketId);
77
78
  if (!socketQueries) return;
78
79
  Object.values(socketQueries).forEach(({ client, stop }) => {
79
80
  stop?.();
80
81
  /** end does not stop active query?! */
81
82
  void client?.end();
82
83
  });
83
- delete this.socketQueries[socketId];
84
+ this.socketQueries.delete(socketId);
84
85
  };
85
86
 
86
87
  create = (query: ClientStreamedRequest): SocketSQLStreamServer => {
@@ -89,13 +90,12 @@ export class QueryStreamer {
89
90
  const id = getSetShortSocketId(socketId);
90
91
  const channel = `${CHANNELS.SQL_STREAM}__${socketId}_${id}`;
91
92
  const unsubChannel = `${channel}.unsubscribe`;
92
- if (this.socketQueries[id] && !persistConnection) {
93
+ if (this.socketQueries.get(socketId)?.get(id) && !persistConnection) {
93
94
  throw `Must stop existing query ${id} first`;
94
95
  }
95
96
 
96
- this.socketQueries[socketId] ??= {};
97
97
  let errored = false;
98
- const socketQuery = {
98
+ const socketQuery: StreamedQuery = {
99
99
  ...query,
100
100
  id,
101
101
  client: undefined,
@@ -116,13 +116,13 @@ export class QueryStreamer {
116
116
  } satisfies SocketSQLStreamPacket);
117
117
  },
118
118
  };
119
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
120
- this.socketQueries[socketId][id] ??= socketQuery;
119
+ const socketQueries = this.socketQueries.get(socketId) ?? new Map<number, StreamedQuery>();
120
+ this.socketQueries.set(socketId, socketQueries.set(id, socketQuery));
121
121
  let processID = -1;
122
122
  let streamState: "started" | "ended" | "errored" | undefined;
123
123
 
124
124
  const startStream = async (client: pg.Client | undefined, query: ClientStreamedRequest) => {
125
- const socketQuery = this.socketQueries[socketId]?.[id];
125
+ const socketQuery = this.socketQueries.get(socketId)?.get(id);
126
126
  if (!socketQuery) {
127
127
  throw "socket query not found";
128
128
  }
@@ -137,7 +137,7 @@ export class QueryStreamer {
137
137
  | { reachedEnd: true; rows: any[]; info: Info }
138
138
  | { reachedEnd: false; rows: any[]; info: Omit<Info, "command"> }) => {
139
139
  if (!(info as any).fields) throw "No fields";
140
- const fields = getDetailedFieldInfo.bind(this.dboBuilder)(info.fields as any);
140
+ const fields = getDetailedFieldInfo.bind(this.dboBuilder)(info.fields);
141
141
  const packet: SocketSQLStreamPacket = {
142
142
  type: "data",
143
143
  rows,
@@ -161,7 +161,7 @@ export class QueryStreamer {
161
161
  socketQuery.onError(err);
162
162
  void currentClient.end();
163
163
  });
164
- this.socketQueries[socketId]![id]!.client = currentClient;
164
+ socketQuery.client = currentClient;
165
165
  try {
166
166
  if (!client) {
167
167
  await currentClient.connect();
@@ -179,7 +179,7 @@ export class QueryStreamer {
179
179
  const cursor = currentClient.query(
180
180
  new Cursor(query.query, undefined, { rowMode: "array" }),
181
181
  );
182
- this.socketQueries[socketId]![id]!.cursor = cursor;
182
+ socketQuery.cursor = cursor;
183
183
  let streamLimitReached = false;
184
184
  let reachedEnd = false;
185
185
  void (async () => {
@@ -209,7 +209,7 @@ export class QueryStreamer {
209
209
  streamState = "ended";
210
210
 
211
211
  if (!query.options?.persistStreamConnection) {
212
- delete this.socketQueries[socketId]?.[id];
212
+ this.socketQueries.get(socketId)?.delete(id);
213
213
  void currentClient.end();
214
214
  }
215
215
  void cursor.close();
@@ -249,10 +249,10 @@ export class QueryStreamer {
249
249
  const cleanup = () => {
250
250
  socket.removeAllListeners(unsubChannel);
251
251
  socket.removeAllListeners(channel);
252
- delete this.socketQueries[socketId]?.[id];
252
+ this.socketQueries.get(socketId)?.delete(id);
253
253
  };
254
254
  const stop = async (opts: { terminate?: boolean } | undefined, cb: BasicCallback) => {
255
- const { client: queryClient } = this.socketQueries[socketId]?.[id] ?? {};
255
+ const { client: queryClient } = this.socketQueries.get(socketId)?.get(id) ?? {};
256
256
  if (!queryClient) return;
257
257
  if (opts?.terminate) {
258
258
  setTimeout(() => {
@@ -271,7 +271,7 @@ export class QueryStreamer {
271
271
  cb(null, error);
272
272
  }
273
273
  };
274
- this.socketQueries[socketId][id].stop = () =>
274
+ socketQuery.stop = () =>
275
275
  stop({ terminate: true }, () => {
276
276
  /* Empty */
277
277
  });
@@ -291,7 +291,7 @@ export class QueryStreamer {
291
291
  try {
292
292
  /* Persisted connection query */
293
293
  if (runCount) {
294
- const persistedClient = this.socketQueries[socketId]?.[id];
294
+ const persistedClient = this.socketQueries.get(socketId)?.get(id);
295
295
  if (!persistedClient) throw "Persisted query client not found";
296
296
 
297
297
  await startStream(persistedClient.client, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.436",
3
+ "version": "4.2.438",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -55,8 +55,8 @@
55
55
  "passport-microsoft": "^2.1.0",
56
56
  "passport-oauth2": "^1.8.0",
57
57
  "pg": "^8.15.6",
58
- "pg-cursor": "^2.14.6",
59
- "pg-promise": "^11.13.0",
58
+ "pg-cursor": "^2.17.0",
59
+ "pg-promise": "^12.6.0",
60
60
  "prostgles-types": "^4.0.207"
61
61
  },
62
62
  "devDependencies": {