prostgles-server 4.2.514 → 4.2.516

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.
Files changed (105) hide show
  1. package/dist/Auth/utils/handleGetUser.d.ts.map +1 -1
  2. package/dist/Auth/utils/handleGetUser.js +7 -3
  3. package/dist/Auth/utils/handleGetUser.js.map +1 -1
  4. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  5. package/dist/DboBuilder/DboBuilder.js +1 -0
  6. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  7. package/dist/DboBuilder/DboBuilderTypes.d.ts +2 -2
  8. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  9. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  10. package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
  11. package/dist/DboBuilder/QueryStreamer.js +1 -0
  12. package/dist/DboBuilder/QueryStreamer.js.map +1 -1
  13. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  14. package/dist/DboBuilder/TableHandler/TableHandler.js +1 -0
  15. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  16. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  17. package/dist/DboBuilder/TableHandler/delete.js +1 -0
  18. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  19. package/dist/DboBuilder/TableHandler/insert/insert.d.ts.map +1 -1
  20. package/dist/DboBuilder/TableHandler/insert/insert.js +1 -0
  21. package/dist/DboBuilder/TableHandler/insert/insert.js.map +1 -1
  22. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
  23. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +2 -0
  24. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  25. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  26. package/dist/DboBuilder/TableHandler/update.js +1 -0
  27. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  28. package/dist/DboBuilder/TableHandler/updateBatch.d.ts.map +1 -1
  29. package/dist/DboBuilder/TableHandler/updateBatch.js +2 -0
  30. package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
  31. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  32. package/dist/DboBuilder/TableHandler/upsert.js +1 -0
  33. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  34. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  35. package/dist/DboBuilder/ViewHandler/ViewHandler.js +1 -0
  36. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  37. package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
  38. package/dist/DboBuilder/ViewHandler/count.js +1 -0
  39. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  40. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  41. package/dist/DboBuilder/ViewHandler/find.js +3 -0
  42. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  43. package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
  44. package/dist/DboBuilder/ViewHandler/size.js +1 -0
  45. package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
  46. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  47. package/dist/DboBuilder/ViewHandler/subscribe.js +1 -0
  48. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  49. package/dist/DboBuilder/ViewRelatedTables/getViewRelatedTables.d.ts.map +1 -1
  50. package/dist/DboBuilder/ViewRelatedTables/getViewRelatedTables.js +1 -0
  51. package/dist/DboBuilder/ViewRelatedTables/getViewRelatedTables.js.map +1 -1
  52. package/dist/DboBuilder/dboBuilderUtils.d.ts +4 -1
  53. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  54. package/dist/DboBuilder/dboBuilderUtils.js +1 -6
  55. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  56. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  57. package/dist/DboBuilder/getColumns.js +1 -0
  58. package/dist/DboBuilder/getColumns.js.map +1 -1
  59. package/dist/DboBuilder/runSql/runSQL.d.ts.map +1 -1
  60. package/dist/DboBuilder/runSql/runSQL.js.map +1 -1
  61. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  62. package/dist/PublishParser/PublishParser.js +1 -1
  63. package/dist/PublishParser/PublishParser.js.map +1 -1
  64. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  65. package/dist/PublishParser/getSchemaFromPublish.js +0 -1
  66. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  67. package/dist/RestApi.d.ts.map +1 -1
  68. package/dist/RestApi.js +5 -1
  69. package/dist/RestApi.js.map +1 -1
  70. package/dist/WebsocketAPI/getClientHandlers.d.ts.map +1 -1
  71. package/dist/WebsocketAPI/getClientHandlers.js +4 -3
  72. package/dist/WebsocketAPI/getClientHandlers.js.map +1 -1
  73. package/dist/WebsocketAPI/getClientSchema.d.ts.map +1 -1
  74. package/dist/WebsocketAPI/getClientSchema.js +2 -6
  75. package/dist/WebsocketAPI/getClientSchema.js.map +1 -1
  76. package/dist/WebsocketAPI/pushSocketSchema.d.ts.map +1 -1
  77. package/dist/WebsocketAPI/pushSocketSchema.js +2 -1
  78. package/dist/WebsocketAPI/pushSocketSchema.js.map +1 -1
  79. package/lib/Auth/utils/handleGetUser.ts +10 -6
  80. package/lib/DboBuilder/DboBuilder.ts +1 -0
  81. package/lib/DboBuilder/DboBuilderTypes.ts +2 -3
  82. package/lib/DboBuilder/QueryStreamer.ts +1 -0
  83. package/lib/DboBuilder/TableHandler/TableHandler.ts +1 -0
  84. package/lib/DboBuilder/TableHandler/delete.ts +1 -0
  85. package/lib/DboBuilder/TableHandler/insert/insert.ts +1 -0
  86. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +2 -0
  87. package/lib/DboBuilder/TableHandler/update.ts +1 -0
  88. package/lib/DboBuilder/TableHandler/updateBatch.ts +7 -7
  89. package/lib/DboBuilder/TableHandler/upsert.ts +3 -2
  90. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +1 -0
  91. package/lib/DboBuilder/ViewHandler/count.ts +3 -2
  92. package/lib/DboBuilder/ViewHandler/find.ts +3 -0
  93. package/lib/DboBuilder/ViewHandler/size.ts +5 -4
  94. package/lib/DboBuilder/ViewHandler/subscribe.ts +1 -0
  95. package/lib/DboBuilder/ViewRelatedTables/getViewRelatedTables.ts +1 -0
  96. package/lib/DboBuilder/dboBuilderUtils.ts +5 -8
  97. package/lib/DboBuilder/getColumns.ts +1 -0
  98. package/lib/DboBuilder/runSql/runSQL.ts +1 -0
  99. package/lib/PublishParser/PublishParser.ts +3 -1
  100. package/lib/PublishParser/getSchemaFromPublish.ts +0 -3
  101. package/lib/RestApi.ts +8 -4
  102. package/lib/WebsocketAPI/getClientHandlers.ts +4 -3
  103. package/lib/WebsocketAPI/getClientSchema.ts +2 -6
  104. package/lib/WebsocketAPI/pushSocketSchema.ts +4 -3
  105. package/package.json +1 -1
@@ -5,10 +5,11 @@ const prostgles_types_1 = require("prostgles-types");
5
5
  const runClientRequest_1 = require("../runClientRequest");
6
6
  const getClientSchema_1 = require("./getClientSchema");
7
7
  const getClientHandlers = async (prostgles, clientReq, scope) => {
8
- const clientSchema = clientReq.socket?.prostgles ?? (await getClientSchema_1.getClientSchema.bind(prostgles)(clientReq, scope));
8
+ const clientSchema = clientReq.socket?.prostgles?.get(prostgles.appId) ??
9
+ (await getClientSchema_1.getClientSchema.bind(prostgles)(clientReq, scope));
9
10
  const sqlHandler = ((query, params, options) => runClientRequest_1.runClientSqlRequest.bind(prostgles)({ query, params, options }, clientReq));
10
11
  const tableHandlers = Object.fromEntries(prostgles.dboBuilder.tablesOrViews.map((table) => {
11
- const methods = table.is_view ? viewMethods : [...viewMethods, ...tableMethods];
12
+ const methods = [...viewMethods, ...tableMethods];
12
13
  const handlers = Object.fromEntries(methods.map((command) => {
13
14
  const method = (param1, param2, param3) => runClientRequest_1.runClientRequest.bind(prostgles)({ command, tableName: table.name, param1, param2, param3 }, clientReq, scope);
14
15
  return [command, method];
@@ -21,7 +22,7 @@ const getClientHandlers = async (prostgles, clientReq, scope) => {
21
22
  },
22
23
  };
23
24
  const clientSql = ((query, params, options) => {
24
- if (!scope?.allowSql) {
25
+ if (scope && !scope.allowSql) {
25
26
  throw new Error("SQL is dissallowed by PermissionScope");
26
27
  }
27
28
  return sqlHandler(query, params, options);
@@ -1 +1 @@
1
- {"version":3,"file":"getClientHandlers.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getClientHandlers.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientHandlers.ts"],"names":[],"mappings":";;;AAAA,qDAQyB;AAIzB,0DAA6F;AAC7F,uDAAoD;AAU7C,MAAM,iBAAiB,GAAG,KAAK,EACpC,SAAoB,EACpB,SAA4B,EAC5B,KAAkC,EACT,EAAE;IAC3B,MAAM,YAAY,GAChB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;QACjD,CAAC,MAAM,iCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,UAAU,GAA2B,CAAC,CAC1C,KAAa,EACb,MAAgB,EAChB,OAAoB,EACpB,EAAE,CAAC,sCAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAe,CAAC;IAC/F,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CACtC,SAAS,CAAC,UAAU,CAAC,aAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,MAAe,EAAE,MAAe,EAAE,EAAE,CACnE,mCAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAC1D,SAAS,EACT,KAAK,CACN,CAAC;YACJ,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,YAAY,GAAO;QACvB,EAAE,EAAE,GAAG,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;KACF,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,CAAC,KAAa,EAAE,MAAkB,EAAE,OAAoB,EAAE,EAAE;QAC7E,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAe,CAAC;IACjB,MAAM,QAAQ,GAAG;QACf,GAAG,aAAa;QAChB,GAAG,YAAY;KACW,CAAC;IAE7B,MAAM,aAAa,GAA6C,MAAM,CAAC,WAAW,CAChF,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QAChE,MAAM,aAAa,GAAG,CAAC,KAAe,EAAE,EAAE;YACxC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,oCAAoC,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,kCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QACrE,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAC9D,CAAC,CAAC;AA7DW,QAAA,iBAAiB,qBA6D5B;AAEF,MAAM,WAAW,GAAG,IAAA,yBAAO,EAAC;IAC1B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACuB,CAAC,CAAC;AAE1C,MAAM,YAAY,GAAG,IAAA,yBAAO,EAAC;IAC3B,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;CACsD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getClientSchema.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,gCAAgC,CAAC;AAIrF,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,eAAe,GAAG,SAAS,yBAuGnC"}
1
+ {"version":3,"file":"getClientSchema.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,gCAAgC,CAAC;AAGrF,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,eAAe,GAAG,SAAS,yBAmGnC"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getClientSchema = getClientSchema;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
- const runClientRequest_1 = require("../runClientRequest");
6
5
  const package_json_1 = require("../../package.json");
6
+ const runClientRequest_1 = require("../runClientRequest");
7
7
  async function getClientSchema(clientReq, scope) {
8
8
  const result = await (0, prostgles_types_1.tryCatchV2)(async () => {
9
9
  const clientInfo = clientReq.socket ?
@@ -30,11 +30,7 @@ async function getClientSchema(clientReq, scope) {
30
30
  }
31
31
  const { allowed: rawSQL } = await runClientRequest_1.clientCanRunSqlRequest.bind(this)(clientInfo);
32
32
  const tablesWithSelectRules = new Set(fullSchema?.tables.filter((t) => t.publishInfo.select).map((t) => t.name) ?? []);
33
- const { tables, tableSchemaErrors } = fullSchema ?? {
34
- schema: {},
35
- tables: [],
36
- tableSchemaErrors: {},
37
- };
33
+ const { tables = [], tableSchemaErrors = {} } = fullSchema ?? {};
38
34
  const joinTables2 = [];
39
35
  if (this.opts.joins) {
40
36
  const _joinTables2 = this.dboBuilder
@@ -1 +1 @@
1
- {"version":3,"file":"getClientSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getClientSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pushSocketSchema.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/pushSocketSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,iBAmC3E"}
1
+ {"version":3,"file":"pushSocketSchema.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/pushSocketSchema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,iBAoC3E"}
@@ -7,7 +7,8 @@ const onSocketConnected_1 = require("./onSocketConnected");
7
7
  async function pushSocketSchema(socket) {
8
8
  try {
9
9
  const clientSchema = await this.getClientSchema({ socket }, undefined);
10
- socket.prostgles = clientSchema;
10
+ socket.prostgles ??= new Map();
11
+ socket.prostgles.set(this.appId, clientSchema);
11
12
  if (clientSchema.rawSQL) {
12
13
  socket.removeAllListeners(prostgles_types_1.CHANNELS.SQL);
13
14
  socket.on(prostgles_types_1.CHANNELS.SQL, (sqlRequestData, cb = (..._callback) => {
@@ -1 +1 @@
1
- {"version":3,"file":"pushSocketSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/pushSocketSchema.ts"],"names":[],"mappings":";;AAKA,4CAmCC;AAxCD,qDAAkF;AAGlF,0DAA0D;AAC1D,2DAAsD;AAC/C,KAAK,UAAU,gBAAgB,CAAkB,MAAoB;IAC1E,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC;QAChC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,kBAAkB,CAAC,0BAAQ,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CACP,0BAAQ,CAAC,GAAG,EACZ,CACE,cAA0B,EAC1B,KAAK,CAAC,GAAG,SAAc,EAAE,EAAE;gBACzB,WAAW;YACb,CAAC,EACD,EAAE;gBACF,sCAAmB;qBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;qBACtC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACZ,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAA,mCAAe,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAA,sCAAoB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pushSocketSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/pushSocketSchema.ts"],"names":[],"mappings":";;AAKA,4CAoCC;AAzCD,qDAAkF;AAGlF,0DAA0D;AAC1D,2DAAsD;AAC/C,KAAK,UAAU,gBAAgB,CAAkB,MAAoB;IAC1E,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,SAAS,KAAK,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,kBAAkB,CAAC,0BAAQ,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CACP,0BAAQ,CAAC,GAAG,EACZ,CACE,cAA0B,EAC1B,KAAK,CAAC,GAAG,SAAc,EAAE,EAAE;gBACzB,WAAW;YACb,CAAC,EACD,EAAE;gBACF,sCAAmB;qBAChB,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;qBACtC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACZ,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAChB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,IAAA,mCAAe,EAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,CAAC,CAAC;YACZ,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,IAAA,sCAAoB,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -14,13 +14,15 @@ export type GetUserOrRedirected = AuthResultWithSID | "new-session-redirect";
14
14
  */
15
15
  export async function handleGetUserThrottled(
16
16
  this: AuthHandler,
17
- clientReq: AuthClientRequest
17
+ clientReq: AuthClientRequest,
18
18
  ): Promise<GetUserOrRedirected> {
19
19
  const getSessionForCaching = this.opts.cacheSession?.getSession;
20
20
 
21
21
  /** Get cached session if available */
22
22
  const __prglCache =
23
- !this.opts.cacheSession ? undefined : (clientReq.httpReq ?? clientReq.socket).__prglCache;
23
+ !this.opts.cacheSession ?
24
+ undefined
25
+ : (clientReq.httpReq ?? clientReq.socket).__prglCache?.get(this.prostgles.appId);
24
26
  if (clientReq.socket && __prglCache) {
25
27
  const { userData, session } = __prglCache;
26
28
  const isValid = this.isNonExpiredSocketSession(clientReq.socket, session);
@@ -47,7 +49,7 @@ export async function handleGetUserThrottled(
47
49
  dbo,
48
50
  db,
49
51
  getClientRequestIPsInfo(clientReq),
50
- clientReq
52
+ clientReq,
51
53
  );
52
54
  if (isAuthError(clientInfoOrErr)) {
53
55
  return {
@@ -81,9 +83,11 @@ export async function handleGetUserThrottled(
81
83
  session,
82
84
  };
83
85
  if (clientReq.socket) {
84
- clientReq.socket.__prglCache = __prglCache;
86
+ clientReq.socket.__prglCache ??= new Map();
87
+ clientReq.socket.__prglCache.set(this.prostgles.appId, __prglCache);
85
88
  } else {
86
- clientReq.httpReq.__prglCache = __prglCache;
89
+ clientReq.httpReq.__prglCache ??= new Map();
90
+ clientReq.httpReq.__prglCache.set(this.prostgles.appId, __prglCache);
87
91
  }
88
92
  }
89
93
  }
@@ -98,7 +102,7 @@ export async function handleGetUserThrottled(
98
102
  }
99
103
 
100
104
  export const isAuthError = (
101
- dataOrError: AuthResultOrError
105
+ dataOrError: AuthResultOrError,
102
106
  ): dataOrError is AuthResponse.AuthFailure["code"] | AuthResponse.AuthFailure => {
103
107
  return Boolean(typeof dataOrError === "string" || (dataOrError && "success" in dataOrError));
104
108
  };
@@ -196,6 +196,7 @@ export class DboBuilder {
196
196
  getSerializedClientErrorFromPGError(error, {
197
197
  type: "sql",
198
198
  localParams,
199
+ prostgles: this.prostgles,
199
200
  }),
200
201
  ),
201
202
  );
@@ -16,7 +16,6 @@ import type {
16
16
  DeleteRule,
17
17
  InsertRule,
18
18
  PermissionScope,
19
- PublishAllOrNothing,
20
19
  SelectRule,
21
20
  UpdateRule,
22
21
  } from "../PublishParser/PublishParser";
@@ -157,7 +156,7 @@ export type CachedSessionData = {
157
156
  };
158
157
 
159
158
  export type CachedSession = {
160
- __prglCache?: CachedSessionData;
159
+ __prglCache?: Map<string, CachedSessionData>;
161
160
  };
162
161
 
163
162
  export type PRGLIOSocket = {
@@ -191,7 +190,7 @@ export type PRGLIOSocket = {
191
190
  _user?: AnyObject;
192
191
 
193
192
  /** Used for publish error caching */
194
- prostgles?: ClientSchema;
193
+ prostgles?: Map<string, ClientSchema>;
195
194
  } & CachedSession;
196
195
 
197
196
  export type LocalParams = {
@@ -107,6 +107,7 @@ export class QueryStreamer {
107
107
  const errorWithoutQuery = getSerializedClientErrorFromPGError(rawError, {
108
108
  type: "sql",
109
109
  localParams: { clientReq: { socket } },
110
+ prostgles: this.dboBuilder.prostgles,
110
111
  });
111
112
  // For some reason query is not present on the error object from sql stream mode
112
113
  const error = { ...errorWithoutQuery, query: query.query };
@@ -303,6 +303,7 @@ export class TableHandler extends ViewHandler {
303
303
  type: "tableMethod",
304
304
  localParams,
305
305
  view: this,
306
+ prostgles: this.dboBuilder.prostgles,
306
307
  });
307
308
  }
308
309
 
@@ -147,6 +147,7 @@ export async function _delete(
147
147
  type: "tableMethod",
148
148
  localParams,
149
149
  view: this,
150
+ prostgles: this.dboBuilder.prostgles,
150
151
  });
151
152
  }
152
153
  }
@@ -264,6 +264,7 @@ export async function insert(
264
264
  type: "tableMethod",
265
265
  localParams,
266
266
  view: this,
267
+ prostgles: this.dboBuilder.prostgles,
267
268
  });
268
269
  }
269
270
  }
@@ -117,6 +117,7 @@ export const runInsertUpdateQuery = async (args: RunInsertUpdateQueryArgs) => {
117
117
  localParams,
118
118
  view: tableHandler,
119
119
  allowedKeys: allowedFieldKeys,
120
+ prostgles: tableHandler.dboBuilder.prostgles,
120
121
  }),
121
122
  );
122
123
  } else {
@@ -128,6 +129,7 @@ export const runInsertUpdateQuery = async (args: RunInsertUpdateQueryArgs) => {
128
129
  localParams,
129
130
  view: tableHandler,
130
131
  allowedKeys: allowedFieldKeys,
132
+ prostgles: tableHandler.dboBuilder.prostgles,
131
133
  }),
132
134
  );
133
135
  }
@@ -203,6 +203,7 @@ export async function update(
203
203
  type: "tableMethod",
204
204
  localParams,
205
205
  view: this,
206
+ prostgles: this.dboBuilder.prostgles,
206
207
  });
207
208
  }
208
209
  }
@@ -1,8 +1,6 @@
1
1
  import type { AnyObject, UpdateParams } from "prostgles-types";
2
2
  import type { ParsedTableRule } from "../../PublishParser/PublishParser";
3
- import type {
4
- Filter,
5
- LocalParams} from "../DboBuilder";
3
+ import type { Filter, LocalParams } from "../DboBuilder";
6
4
  import {
7
5
  getClientErrorFromPGError,
8
6
  getErrorAsObject,
@@ -17,7 +15,7 @@ export async function updateBatch(
17
15
  params?: UpdateParams,
18
16
  _?: undefined,
19
17
  tableRules?: ParsedTableRule,
20
- localParams?: LocalParams
18
+ localParams?: LocalParams,
21
19
  ): Promise<any> {
22
20
  const start = Date.now();
23
21
  try {
@@ -32,11 +30,11 @@ export async function updateBatch(
32
30
  data,
33
31
  { ...(params ?? {}), returning: undefined },
34
32
  tableRules,
35
- { ...(localParams ?? {}), returnQuery: "noRLS" }
33
+ { ...(localParams ?? {}), returnQuery: "noRLS" },
36
34
  )) as unknown as string;
37
35
 
38
36
  return query;
39
- })
37
+ }),
40
38
  );
41
39
  const queries = [withUserRLS(localParams, ""), ...updateQueries];
42
40
 
@@ -61,7 +59,8 @@ export async function updateBatch(
61
59
  localParams,
62
60
  view: this,
63
61
  allowedKeys: [],
64
- })
62
+ prostgles: this.dboBuilder.prostgles,
63
+ }),
65
64
  );
66
65
 
67
66
  await this._log({
@@ -83,6 +82,7 @@ export async function updateBatch(
83
82
  type: "tableMethod",
84
83
  localParams,
85
84
  view: this,
85
+ prostgles: this.dboBuilder.prostgles,
86
86
  });
87
87
  }
88
88
  }
@@ -10,7 +10,7 @@ export const upsert = async function (
10
10
  newData: AnyObject,
11
11
  params?: UpdateParams,
12
12
  table_rules?: ParsedTableRule,
13
- localParams?: LocalParams
13
+ localParams?: LocalParams,
14
14
  ): Promise<any> {
15
15
  const start = Date.now();
16
16
  try {
@@ -26,7 +26,7 @@ export const upsert = async function (
26
26
  params,
27
27
  undefined,
28
28
  table_rules,
29
- localParams
29
+ localParams,
30
30
  );
31
31
  }
32
32
  });
@@ -56,6 +56,7 @@ export const upsert = async function (
56
56
  type: "tableMethod",
57
57
  localParams,
58
58
  view: this,
59
+ prostgles: this.dboBuilder.prostgles,
59
60
  });
60
61
  }
61
62
  };
@@ -197,6 +197,7 @@ export class ViewHandler {
197
197
  type: "tableMethod",
198
198
  localParams,
199
199
  view: this,
200
+ prostgles: this.dboBuilder.prostgles,
200
201
  });
201
202
  }
202
203
  }
@@ -14,7 +14,7 @@ export async function count(
14
14
  selectParams?: SelectParams,
15
15
  _param3_unused?: undefined,
16
16
  table_rules?: ParsedTableRule,
17
- localParams?: LocalParams
17
+ localParams?: LocalParams,
18
18
  ): Promise<number> {
19
19
  const filter = _filter || {};
20
20
  const { limit: _limit, ...selectParamsWithoutLimit } = selectParams ?? {};
@@ -25,7 +25,7 @@ export async function count(
25
25
  { select: selectParamsWithoutLimit.select ?? "", limit: 0 },
26
26
  undefined,
27
27
  table_rules,
28
- localParams
28
+ localParams,
29
29
  ).then(async (_allowed) => {
30
30
  const findQuery = (await this.find(filter, selectParamsWithoutLimit, undefined, table_rules, {
31
31
  ...localParams,
@@ -62,6 +62,7 @@ export async function count(
62
62
  type: "tableMethod",
63
63
  localParams,
64
64
  view: this,
65
+ prostgles: this.dboBuilder.prostgles,
65
66
  });
66
67
  }
67
68
  }
@@ -161,6 +161,7 @@ export const find = async function (
161
161
  type: "tableMethod",
162
162
  localParams,
163
163
  view: this,
164
+ prostgles: this.dboBuilder.prostgles,
164
165
  });
165
166
  }
166
167
  };
@@ -198,6 +199,7 @@ export const runQueryReturnType = async ({
198
199
  type: "tableMethod",
199
200
  localParams,
200
201
  view: handler,
202
+ prostgles: handler.dboBuilder.prostgles,
201
203
  }),
202
204
  );
203
205
  } else if (sqlTypes.some((v) => v === returnType)) {
@@ -223,6 +225,7 @@ export const runQueryReturnType = async ({
223
225
  type: "tableMethod",
224
226
  localParams,
225
227
  view: handler,
228
+ prostgles: handler.dboBuilder.prostgles,
226
229
  }),
227
230
  );
228
231
  }
@@ -13,7 +13,7 @@ export async function size(
13
13
  selectParams?: SelectParams,
14
14
  param3_unused?: undefined,
15
15
  table_rules?: ParsedTableRule,
16
- localParams?: LocalParams
16
+ localParams?: LocalParams,
17
17
  ): Promise<string> {
18
18
  const filter = _filter || {};
19
19
  const start = Date.now();
@@ -23,7 +23,7 @@ export async function size(
23
23
  { ...selectParams, limit: 2 },
24
24
  undefined,
25
25
  table_rules,
26
- localParams
26
+ localParams,
27
27
  ).then(async (_allowed) => {
28
28
  const q: string = (await this.find(
29
29
  filter,
@@ -33,7 +33,7 @@ export async function size(
33
33
  },
34
34
  undefined,
35
35
  table_rules,
36
- { ...localParams, returnQuery: "noRLS", bypassLimit: true }
36
+ { ...localParams, returnQuery: "noRLS", bypassLimit: true },
37
37
  )) as any;
38
38
  const query = withUserRLS(
39
39
  localParams,
@@ -42,7 +42,7 @@ export async function size(
42
42
  FROM (
43
43
  ${q}
44
44
  ) prgl_size_query
45
- `
45
+ `,
46
46
  );
47
47
 
48
48
  return (this.tx?.t || this.db).one(query).then(({ size }) => size || "0");
@@ -66,6 +66,7 @@ export async function size(
66
66
  type: "tableMethod",
67
67
  localParams,
68
68
  view: this,
69
+ prostgles: this.dboBuilder.prostgles,
69
70
  });
70
71
  }
71
72
  }
@@ -152,6 +152,7 @@ async function subscribe(
152
152
  type: "tableMethod",
153
153
  localParams,
154
154
  view: this,
155
+ prostgles: this.dboBuilder.prostgles,
155
156
  });
156
157
  }
157
158
  }
@@ -26,6 +26,7 @@ export const getViewRelatedTables = async (
26
26
  type: "tableMethod",
27
27
  localParams,
28
28
  view: this,
29
+ prostgles: viewHandler.dboBuilder.prostgles,
29
30
  });
30
31
  }
31
32
  const { fields } = await dboBuilder.runSQL(
@@ -1,6 +1,6 @@
1
1
  import type { AnyObject } from "prostgles-types";
2
2
  import { getSerialisableError, isObject, omitKeys, pickKeys } from "prostgles-types";
3
- import type { DB } from "../Prostgles";
3
+ import type { DB, Prostgles } from "../Prostgles";
4
4
  import { asNameAlias } from "../utils/asNameAlias";
5
5
  import type { LocalParams, SortItem } from "./DboBuilderTypes";
6
6
  import { pgp } from "./DboBuilderTypes";
@@ -19,20 +19,17 @@ export const getErrorAsObject = (rawError: any) => {
19
19
  return { message: serializedError };
20
20
  };
21
21
 
22
- const circularError = new Error("Circular error data");
23
- //@ts-ignore
24
- circularError.someProp = circularError;
25
- getErrorAsObject(circularError);
26
-
27
22
  type GetSerializedClientErrorFromPGErrorArgs =
28
23
  | {
29
24
  type: "sql";
30
25
  localParams: LocalParams | undefined;
26
+ prostgles: Prostgles;
31
27
  }
32
28
  | {
33
29
  type: "tableMethod";
34
30
  localParams: LocalParams | undefined;
35
31
  view: ViewHandler | Partial<TableHandler> | undefined;
32
+ prostgles: Prostgles;
36
33
  allowedKeys?: string[];
37
34
  }
38
35
  | {
@@ -40,9 +37,9 @@ type GetSerializedClientErrorFromPGErrorArgs =
40
37
  localParams: LocalParams | undefined;
41
38
  allowedKeys?: string[];
42
39
  view?: undefined;
40
+ prostgles: Prostgles;
43
41
  };
44
42
 
45
- const sensitiveErrorKeys = ["hint", "detail", "context"] as const;
46
43
  const otherKeys = [
47
44
  "column",
48
45
  "code",
@@ -71,7 +68,7 @@ export function getSerializedClientErrorFromPGError(
71
68
  const showFullError =
72
69
  isServerSideRequest ||
73
70
  args.type === "sql" ||
74
- args.localParams?.clientReq?.socket?.prostgles?.rawSQL;
71
+ args.localParams?.clientReq?.socket?.prostgles?.get(args.prostgles.appId)?.rawSQL;
75
72
  if (showFullError) {
76
73
  return err;
77
74
  }
@@ -129,6 +129,7 @@ export async function getColumns(
129
129
  type: "tableMethod",
130
130
  localParams,
131
131
  view: this,
132
+ prostgles: this.dboBuilder.prostgles,
132
133
  });
133
134
  }
134
135
  }
@@ -7,6 +7,7 @@ import type { DB, Prostgles } from "../../Prostgles";
7
7
  import type { DboBuilder, LocalParams } from "../DboBuilder";
8
8
  import { pgp } from "../DboBuilder";
9
9
  import { getDbTypes, getDetailedFieldInfo } from "./runSqlUtils";
10
+
10
11
  export async function runSQL(
11
12
  this: DboBuilder,
12
13
  queryWithoutRLS: string,
@@ -136,7 +136,9 @@ export class PublishParser {
136
136
  /* Must be from socket. Must have a publish */
137
137
  if (!this.publish) throw "publish is missing";
138
138
 
139
- const tableErrors = clientReq.socket?.prostgles?.tableSchemaErrors[tableName];
139
+ const tableErrors = clientReq.socket?.prostgles?.get(this.prostgles.appId)?.tableSchemaErrors[
140
+ tableName
141
+ ];
140
142
  /* Get any publish errors for socket */
141
143
  Object.values(tableErrors ?? {}).forEach((errorInfo) => {
142
144
  throw errorInfo.error;
@@ -1,7 +1,6 @@
1
1
  import type { DBSchemaTable, TableSchemaErrors } from "prostgles-types";
2
2
  import { isEmpty, isObject } from "prostgles-types";
3
3
  import type { AuthClientRequest, AuthResultWithSID } from "../Auth/AuthTypes";
4
- import type { TableHandler } from "../DboBuilder/TableHandler/TableHandler";
5
4
  import type { PublishParser } from "./PublishParser";
6
5
  import { type PermissionScope, type PublishObject } from "./PublishParser";
7
6
  import { getDBSchemaTable } from "./getDBSchemaTable";
@@ -9,8 +8,6 @@ import { getDBSchemaTable } from "./getDBSchemaTable";
9
8
  type Args = AuthClientRequest & {
10
9
  userData: AuthResultWithSID | undefined;
11
10
  };
12
- const SUBSCRIBE_METHODS = ["subscribe", "subscribeOne", "sync", "unsubscribe", "unsync"] as const;
13
-
14
11
  export async function getSchemaFromPublish(
15
12
  this: PublishParser,
16
13
  { userData, ...clientReq }: Args,
package/lib/RestApi.ts CHANGED
@@ -92,13 +92,14 @@ export class RestApi {
92
92
  {
93
93
  res,
94
94
  httpReq: req,
95
- }
95
+ },
96
96
  );
97
97
  res.json(data);
98
98
  } catch (rawError) {
99
99
  const error = getSerializedClientErrorFromPGError(rawError, {
100
100
  type: "method",
101
101
  localParams: { clientReq: { httpReq: req, res } },
102
+ prostgles: this.prostgles,
102
103
  });
103
104
  res.status(400).json({ error });
104
105
  }
@@ -111,6 +112,7 @@ export class RestApi {
111
112
  const error = getSerializedClientErrorFromPGError(rawError, {
112
113
  type: "method",
113
114
  localParams: { clientReq: { httpReq: req, res } },
115
+ prostgles: this.prostgles,
114
116
  });
115
117
  res.status(400).json({ error });
116
118
  }
@@ -127,13 +129,14 @@ export class RestApi {
127
129
  {
128
130
  res,
129
131
  httpReq: req,
130
- }
132
+ },
131
133
  );
132
134
  res.json(data);
133
135
  } catch (rawError) {
134
136
  const error = getSerializedClientErrorFromPGError(rawError, {
135
137
  type: "sql",
136
138
  localParams: { clientReq: { httpReq: req, res } },
139
+ prostgles: this.prostgles,
137
140
  });
138
141
  res.status(400).json({ error });
139
142
  }
@@ -165,14 +168,15 @@ export class RestApi {
165
168
  httpReq: req,
166
169
  res,
167
170
  },
168
- undefined
171
+ undefined,
169
172
  );
170
173
  res.json(data);
171
174
  } catch (rawError) {
172
175
  const error = getSerializedClientErrorFromPGError(rawError, {
173
176
  type: "tableMethod",
174
177
  localParams: { clientReq: { httpReq: req, res } },
175
- view: this.prostgles.dboBuilder.dbo[tableName],
178
+ view: this.prostgles.dboBuilder.dboMap.get(tableName),
179
+ prostgles: this.prostgles,
176
180
  });
177
181
  res.status(400).json({ error });
178
182
  }
@@ -27,7 +27,8 @@ export const getClientHandlers = async <S = void>(
27
27
  scope: PermissionScope | undefined,
28
28
  ): Promise<ClientHandlers> => {
29
29
  const clientSchema =
30
- clientReq.socket?.prostgles ?? (await getClientSchema.bind(prostgles)(clientReq, scope));
30
+ clientReq.socket?.prostgles?.get(prostgles.appId) ??
31
+ (await getClientSchema.bind(prostgles)(clientReq, scope));
31
32
  const sqlHandler: SQLHandler | undefined = ((
32
33
  query: string,
33
34
  params?: unknown,
@@ -35,7 +36,7 @@ export const getClientHandlers = async <S = void>(
35
36
  ) => runClientSqlRequest.bind(prostgles)({ query, params, options }, clientReq)) as SQLHandler;
36
37
  const tableHandlers = Object.fromEntries(
37
38
  prostgles.dboBuilder.tablesOrViews!.map((table) => {
38
- const methods = table.is_view ? viewMethods : [...viewMethods, ...tableMethods];
39
+ const methods = [...viewMethods, ...tableMethods];
39
40
  const handlers = Object.fromEntries(
40
41
  methods.map((command) => {
41
42
  const method = (param1: unknown, param2: unknown, param3: unknown) =>
@@ -57,7 +58,7 @@ export const getClientHandlers = async <S = void>(
57
58
  },
58
59
  };
59
60
  const clientSql = ((query: string, params?: AnyObject, options?: SQLOptions) => {
60
- if (!scope?.allowSql) {
61
+ if (scope && !scope.allowSql) {
61
62
  throw new Error("SQL is dissallowed by PermissionScope");
62
63
  }
63
64