prostgles-server 4.2.642 → 4.2.644

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 (173) hide show
  1. package/debug/caught-request-fix-build.log +4 -0
  2. package/debug/caught-request-fix-test-build.log +0 -0
  3. package/debug/caught-request-subscription-failure.log +603 -0
  4. package/debug/caught-validation-build.log +4 -0
  5. package/debug/caught-validation-fix-build.log +4 -0
  6. package/debug/caught-validation-fix-test-build.log +0 -0
  7. package/debug/caught-validation-test-build.log +0 -0
  8. package/debug/client-db-tx-build.log +4 -0
  9. package/debug/client-db-tx-test-server.log +3248 -0
  10. package/debug/client-db-tx-tests-build.log +0 -0
  11. package/debug/client-handler-shape-build.log +4 -0
  12. package/debug/client-handler-shape-test-server.log +544 -0
  13. package/debug/client-handler-shape-tests-build.log +0 -0
  14. package/debug/column-definitions-test-server.log +152 -164
  15. package/debug/fixes-review-build.log +4 -0
  16. package/debug/fixes-review-client-schema.backup +745 -0
  17. package/debug/fixes-review-generated-schema.backup +489 -0
  18. package/debug/fixes-review-probes-build.log +0 -0
  19. package/debug/fixes-review-probes.patch +43 -0
  20. package/debug/fixes-review-restore-build.log +0 -0
  21. package/debug/fixes-review-tests-build.log +0 -0
  22. package/debug/fixes-review-typecheck.log +8 -0
  23. package/debug/function-client-db-tx-build.log +4 -0
  24. package/debug/function-client-db-tx-tests-build.log +0 -0
  25. package/debug/review-current-fixes-build.log +4 -0
  26. package/debug/review-current-fixes-client.backup +745 -0
  27. package/debug/review-current-fixes-probes-build.log +0 -0
  28. package/debug/review-current-fixes-probes.patch +55 -0
  29. package/debug/review-current-fixes-restore-build.log +0 -0
  30. package/debug/review-current-fixes-rls.backup +478 -0
  31. package/debug/review-current-fixes-schema.backup +489 -0
  32. package/debug/review-current-fixes-test-build.log +0 -0
  33. package/debug/review-current-fixes-typecheck.log +8 -0
  34. package/debug/review-user-identity-build.log +4 -0
  35. package/debug/review-user-identity-probes-build.log +0 -0
  36. package/debug/review-user-identity-probes.log +558 -0
  37. package/debug/review-user-identity-probes.patch +45 -0
  38. package/debug/review-user-identity-restore-build.log +0 -0
  39. package/debug/review-user-identity-rls.backup +463 -0
  40. package/debug/review-user-identity-schema.backup +720 -0
  41. package/debug/review-user-identity-server.log +3248 -0
  42. package/debug/review-user-identity-test-build.log +0 -0
  43. package/debug/review-user-identity-typecheck.log +8 -0
  44. package/debug/schema-types-focused-strict-check.log +0 -0
  45. package/debug/schema-types-strict-check.log +38 -0
  46. package/debug/schema-types-tests-build.log +0 -0
  47. package/debug/security-review-baseline-tests.log +3250 -0
  48. package/debug/security-review-build.log +4 -0
  49. package/debug/security-review-checkfilter-repro.log +545 -0
  50. package/debug/security-review-clientSchemaTypes.spec.ts.backup +553 -0
  51. package/debug/security-review-repro-build.log +0 -0
  52. package/debug/security-review-repro.spec.ts +591 -0
  53. package/debug/security-review-restore-build.log +0 -0
  54. package/debug/security-review-server-tests.log +3254 -0
  55. package/debug/security-review-test-build.log +0 -0
  56. package/debug/server-user-lint.log +4 -0
  57. package/debug/server-user-test-server.log +538 -0
  58. package/debug/server-user-typecheck.log +8 -0
  59. package/debug/test-check-eslint.log +6 -0
  60. package/debug/test-check-lint-baseline.json +1 -0
  61. package/debug/test-check-npm-test.log +789 -0
  62. package/debug/test-check-types.log +8 -0
  63. package/debug/test-config-npm-test.log +223 -0
  64. package/debug/test-config-strict-null-check.log +50 -0
  65. package/debug/test-config-typecheck.log +8 -0
  66. package/debug/tryRunP-test-quick.log +78 -0
  67. package/debug/tryRunP-typecheck.log +42 -0
  68. package/debug/user-identity-direct-call-build.log +0 -0
  69. package/debug/user-identity-direct-call-schema.backup +489 -0
  70. package/debug/user-identity-regressions-build.log +4 -0
  71. package/debug/user-identity-regressions-generated-schema.backup +489 -0
  72. package/debug/user-identity-regressions-test-build.log +0 -0
  73. package/dist/Auth/AuthHandler.js +1 -1
  74. package/dist/Auth/AuthHandler.js.map +1 -1
  75. package/dist/Auth/AuthTypes.d.ts +11 -9
  76. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  77. package/dist/Auth/AuthTypes.js.map +1 -1
  78. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts +2 -1
  79. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts.map +1 -1
  80. package/dist/Auth/utils/getClientRequestIPsInfo.js +8 -1
  81. package/dist/Auth/utils/getClientRequestIPsInfo.js.map +1 -1
  82. package/dist/Auth/utils/getSessionUser.d.ts +4 -3
  83. package/dist/Auth/utils/getSessionUser.d.ts.map +1 -1
  84. package/dist/Auth/utils/getSessionUser.js +4 -2
  85. package/dist/Auth/utils/getSessionUser.js.map +1 -1
  86. package/dist/Auth/utils/getSessionUser.spec.js +2 -4
  87. package/dist/Auth/utils/getSessionUser.spec.js.map +1 -1
  88. package/dist/Auth/utils/handleGetUser.d.ts.map +1 -1
  89. package/dist/Auth/utils/handleGetUser.js +16 -0
  90. package/dist/Auth/utils/handleGetUser.js.map +1 -1
  91. package/dist/Auth/utils/serverSideRequest.d.ts +17 -0
  92. package/dist/Auth/utils/serverSideRequest.d.ts.map +1 -0
  93. package/dist/Auth/utils/serverSideRequest.js +20 -0
  94. package/dist/Auth/utils/serverSideRequest.js.map +1 -0
  95. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  96. package/dist/DboBuilder/DboBuilder.js +4 -2
  97. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  98. package/dist/DboBuilder/TableHandler/TableHandler.d.ts +1 -1
  99. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +0 -4
  100. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  101. package/dist/DboBuilder/ViewHandler/ViewHandler.js +5 -8
  102. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  103. package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
  104. package/dist/DboBuilder/ViewHandler/count.js +2 -1
  105. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  106. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  107. package/dist/DboBuilder/ViewHandler/find.js +2 -1
  108. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  109. package/dist/DboBuilder/ViewHandler/getDbHandlerWithAbort.d.ts +9 -2
  110. package/dist/DboBuilder/ViewHandler/getDbHandlerWithAbort.d.ts.map +1 -1
  111. package/dist/DboBuilder/ViewHandler/getDbHandlerWithAbort.js +57 -23
  112. package/dist/DboBuilder/ViewHandler/getDbHandlerWithAbort.js.map +1 -1
  113. package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
  114. package/dist/DboBuilder/ViewHandler/size.js +2 -1
  115. package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
  116. package/dist/DboBuilder/dboBuilderUtils.d.ts +1 -0
  117. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  118. package/dist/DboBuilder/dboBuilderUtils.js +2 -1
  119. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  120. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  121. package/dist/PublishParser/PublishParser.js +2 -1
  122. package/dist/PublishParser/PublishParser.js.map +1 -1
  123. package/dist/PublishParser/defineServerFunction.d.ts +2 -0
  124. package/dist/PublishParser/defineServerFunction.d.ts.map +1 -1
  125. package/dist/PublishParser/defineServerFunction.js.map +1 -1
  126. package/dist/PublishParser/getPublishedTableNames.d.ts.map +1 -1
  127. package/dist/PublishParser/getPublishedTableNames.js +2 -1
  128. package/dist/PublishParser/getPublishedTableNames.js.map +1 -1
  129. package/dist/PublishParser/publishTypesAndUtils.d.ts +1 -1
  130. package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
  131. package/dist/StorageClient/StorageClientTypes.d.ts +5 -4
  132. package/dist/StorageClient/StorageClientTypes.d.ts.map +1 -1
  133. package/dist/WebsocketAPI/getClientHandlers.d.ts +5 -0
  134. package/dist/WebsocketAPI/getClientHandlers.d.ts.map +1 -1
  135. package/dist/WebsocketAPI/getClientHandlers.js +33 -14
  136. package/dist/WebsocketAPI/getClientHandlers.js.map +1 -1
  137. package/dist/index.d.ts +1 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +3 -1
  140. package/dist/index.js.map +1 -1
  141. package/dist/initProstgles.d.ts +12 -2
  142. package/dist/initProstgles.d.ts.map +1 -1
  143. package/dist/initProstgles.js +10 -1
  144. package/dist/initProstgles.js.map +1 -1
  145. package/dist/runClientRequest.d.ts +2 -1
  146. package/dist/runClientRequest.d.ts.map +1 -1
  147. package/dist/runClientRequest.js +7 -4
  148. package/dist/runClientRequest.js.map +1 -1
  149. package/eslint.config.mjs +21 -1
  150. package/lib/Auth/AuthHandler.ts +1 -1
  151. package/lib/Auth/AuthTypes.ts +12 -8
  152. package/lib/Auth/utils/getClientRequestIPsInfo.ts +11 -2
  153. package/lib/Auth/utils/getSessionUser.spec.ts +4 -6
  154. package/lib/Auth/utils/getSessionUser.ts +8 -5
  155. package/lib/Auth/utils/handleGetUser.ts +13 -0
  156. package/lib/Auth/utils/serverSideRequest.ts +27 -0
  157. package/lib/DboBuilder/DboBuilder.ts +7 -2
  158. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +11 -11
  159. package/lib/DboBuilder/ViewHandler/count.ts +2 -1
  160. package/lib/DboBuilder/ViewHandler/find.ts +2 -1
  161. package/lib/DboBuilder/ViewHandler/getDbHandlerWithAbort.ts +72 -29
  162. package/lib/DboBuilder/ViewHandler/size.ts +2 -1
  163. package/lib/DboBuilder/dboBuilderUtils.ts +2 -0
  164. package/lib/PublishParser/PublishParser.ts +2 -1
  165. package/lib/PublishParser/defineServerFunction.ts +3 -5
  166. package/lib/PublishParser/getPublishedTableNames.ts +2 -1
  167. package/lib/PublishParser/publishTypesAndUtils.ts +1 -1
  168. package/lib/StorageClient/StorageClientTypes.ts +5 -4
  169. package/lib/WebsocketAPI/getClientHandlers.ts +63 -29
  170. package/lib/index.ts +3 -3
  171. package/lib/initProstgles.ts +31 -5
  172. package/lib/runClientRequest.ts +10 -3
  173. package/package.json +5 -3
@@ -6,31 +6,50 @@ const runClientRequest_1 = require("../runClientRequest");
6
6
  const getClientSchema_1 = require("./getClientSchema");
7
7
  const getClientHandlers = async (prostgles, clientReq, scope) => {
8
8
  prostgles.checkNotDestroyed();
9
- const clientSchema = clientReq.socket?.prostgles?.get(prostgles.appId) ??
9
+ const clientSchema = (scope ? undefined : clientReq.socket?.prostgles?.get(prostgles.appId)) ??
10
10
  (await getClientSchema_1.getClientSchema.bind(prostgles)(clientReq, scope));
11
11
  const sqlHandler = ((query, params, options) => runClientRequest_1.runClientSqlRequest.bind(prostgles)({ query, params, options }, clientReq));
12
- const tableHandlers = Object.fromEntries(prostgles.dboBuilder.tablesOrViews.map((table) => {
13
- const methods = [...tableMethods];
12
+ const getTableHandlers = (transactionHandlers, onRequestError) => Object.fromEntries(clientSchema.tableSchema.map((table) => {
13
+ const allowedMethods = (0, prostgles_types_1.getAllowedTableMethods)(table);
14
+ const methods = tableMethods.filter((command) => allowedMethods.includes(command));
14
15
  const handlers = Object.fromEntries(methods.map((command) => {
15
- const method = (param1, param2, param3) => runClientRequest_1.runClientRequest.bind(prostgles)({ command, tableName: table.name, param1, param2, param3 }, clientReq, scope);
16
+ const method = (param1, param2, param3) => runClientRequest_1.runClientRequest
17
+ .bind(prostgles)({ command, tableName: table.name, param1, param2, param3 }, clientReq, scope, transactionHandlers)
18
+ .catch((error) => {
19
+ onRequestError?.(error);
20
+ throw error;
21
+ });
16
22
  return [command, method];
17
23
  }));
18
24
  return [table.name, handlers];
19
25
  }));
20
- const txNotAllowed = {
21
- tx: () => {
22
- throw new Error("Transactions are not allowed in client handlers");
23
- },
24
- };
25
26
  const clientSql = ((query, params, options) => {
26
27
  if (scope && !scope.allowSql) {
27
- throw new Error("SQL is dissallowed by PermissionScope");
28
+ throw new Error("SQL is disallowed by PermissionScope");
28
29
  }
29
30
  return sqlHandler(query, params, options);
30
31
  });
31
- const clientDb = {
32
- ...tableHandlers,
33
- ...txNotAllowed,
32
+ const clientDb = getTableHandlers();
33
+ const withClientDbTx = async (callback) => {
34
+ prostgles.checkNotDestroyed();
35
+ if (!prostgles.opts.transactions) {
36
+ throw new Error("Transactions are not enabled");
37
+ }
38
+ return prostgles.dboBuilder.getTX(async (transactionHandlers) => {
39
+ /**
40
+ * runClientRequest throws authorization errors.
41
+ * Prevent cached authorization errors from committing the transaction.
42
+ */
43
+ let failure;
44
+ const result = await callback({
45
+ ...getTableHandlers(transactionHandlers, (error) => {
46
+ failure ??= { error };
47
+ }),
48
+ });
49
+ if (failure)
50
+ throw failure.error;
51
+ return result;
52
+ });
34
53
  };
35
54
  const clientMethods = Object.fromEntries(clientSchema.methods.map(({ name, input, description, output }) => {
36
55
  const methodHandler = (input) => {
@@ -41,7 +60,7 @@ const getClientHandlers = async (prostgles, clientReq, scope) => {
41
60
  };
42
61
  return [name, { name, input, description, output, run: methodHandler }];
43
62
  }));
44
- return { clientDb, clientSql, clientMethods, clientSchema };
63
+ return { clientDb, clientSql, clientMethods, clientSchema, withClientDbTx };
45
64
  };
46
65
  exports.getClientHandlers = getClientHandlers;
47
66
  const tableMethods = (0, prostgles_types_1.getKeys)({
@@ -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":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { defineJoin } from "prostgles-types";
2
2
  import type { SessionUser } from "./Auth/AuthTypes";
3
3
  import type { InitResult } from "./initProstgles";
4
4
  import type { ProstglesInitOptions } from "./ProstglesTypes";
5
+ export { DB_GENERATED_NAMES } from "./DBSchemaBuilder/constants";
5
6
  declare function prostgles<S = void, SUser extends SessionUser = SessionUser, Context = undefined, ClientSchema = S>(params: ProstglesInitOptions<S, SUser, Context>): Promise<InitResult<S, SUser, Context, ClientSchema>>;
6
7
  /** Creates a schema-bound Prostgles initializer while allowing context inference. */
7
8
  export declare const createProstgles: <S = void, SUser extends SessionUser = SessionUser, ClientSchema = S>() => <Context = undefined>(params: ProstglesInitOptions<S, SUser, Context>) => Promise<InitResult<S, SUser, Context, ClientSchema>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,iBAAS,SAAS,CAChB,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,OAAO,GAAG,SAAS,EACnB,YAAY,GAAG,CAAC,EAChB,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAI9B,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CACtE;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAC1B,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,YAAY,GAAG,CAAC,QAER,OAAO,GAAG,SAAS,EACzB,QAAQ,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,yDAElD,CAAC;AACF,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvF,cAAc,uCAAuC,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,EAAE,EACF,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,eAAe,SAAS,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,iBAAS,SAAS,CAChB,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,OAAO,GAAG,SAAS,EACnB,YAAY,GAAG,CAAC,EAChB,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAI9B,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CACtE;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAC1B,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,YAAY,GAAG,CAAC,QAER,OAAO,GAAG,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,yDAE7E,CAAC;AACF,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvF,cAAc,uCAAuC,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,EAAE,EACF,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,eAAe,SAAS,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.AUDIT_TABLE_COLUMNS = exports.AUDIT_TABLE_COLUMN_NAMES = exports.AUDIT_TABLE_COLUMN_DEFINITIONS = exports.defineJoin = exports.createProstgles = void 0;
17
+ exports.AUDIT_TABLE_COLUMNS = exports.AUDIT_TABLE_COLUMN_NAMES = exports.AUDIT_TABLE_COLUMN_DEFINITIONS = exports.defineJoin = exports.createProstgles = exports.DB_GENERATED_NAMES = void 0;
18
18
  const prostgles_types_1 = require("prostgles-types");
19
19
  Object.defineProperty(exports, "defineJoin", { enumerable: true, get: function () { return prostgles_types_1.defineJoin; } });
20
20
  const Prostgles_1 = require("./Prostgles");
21
+ var constants_1 = require("./DBSchemaBuilder/constants");
22
+ Object.defineProperty(exports, "DB_GENERATED_NAMES", { enumerable: true, get: function () { return constants_1.DB_GENERATED_NAMES; } });
21
23
  function prostgles(params) {
22
24
  const prgl = new Prostgles_1.Prostgles(params);
23
25
  return prgl.init(params.onReady, {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAmEpC,2FAnEA,4BAAU,OAmEA;AAhEnB,2CAAwC;AAGxC,SAAS,SAAS,CAKhB,MAA+C;IAC/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAoE,CAAC;AACxE,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAI3B,EAAE;IACJ,OAAO,CACL,MAA+C,EAC/C,EAAE,CAAC,SAAS,CAAkC,MAAM,CAAC,CAAC;AAC1D,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B;AACF,uEAAqD;AACrD,mDAAiC;AAiBjC,wEAAsD;AAiBtD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,iDAM4B;AAL1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAmEpC,2FAnEA,4BAAU,OAmEA;AAhEnB,2CAAwC;AAExC,yDAAiE;AAAxD,+GAAA,kBAAkB,OAAA;AAE3B,SAAS,SAAS,CAKhB,MAA+C;IAC/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAoE,CAAC;AACxE,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAI3B,EAAE;IACJ,OAAO,CAAsB,MAA+C,EAAE,EAAE,CAC9E,SAAS,CAAkC,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B;AACF,uEAAqD;AACrD,mDAAiC;AAiBjC,wEAAsD;AAiBtD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,iDAM4B;AAL1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
@@ -9,6 +9,13 @@ import type { ProstglesInitOptions } from "./ProstglesTypes";
9
9
  import type { PermissionScope } from "./PublishParser/PublishParser";
10
10
  import { type clientOnlyUpdateKeys } from "./updateConfiguration";
11
11
  import { getClientHandlers } from "./WebsocketAPI/getClientHandlers";
12
+ type ClientDBHandlerRequest = AuthClientRequest | {
13
+ /** Trusted server-only identity, resolved through auth.findUser on every operation. */
14
+ userId: string;
15
+ socket?: never;
16
+ httpReq?: never;
17
+ res?: never;
18
+ };
12
19
  /**
13
20
  * Database connection details
14
21
  */
@@ -70,8 +77,11 @@ export type InitResult<S = void, SUser extends SessionUser = SessionUser, Contex
70
77
  update: (newOpts: UpdatableOptions<S, SUser, Context>, force?: true) => Promise<void>;
71
78
  restart: () => Promise<InitResult<S, SUser, Context, ClientSchema>>;
72
79
  options: ProstglesInitOptions<S, SUser, Context>;
73
- /** Uses the configured client schema by default and accepts a publish-profile schema override. */
74
- getClientDBHandlers: <NarrowedClientSchema = ClientSchema>(clientReq: AuthClientRequest, scope: PermissionScope | undefined) => ReturnType<typeof getClientHandlers<NarrowedClientSchema>>;
80
+ /**
81
+ * Uses the configured client schema by default and accepts a publish-profile schema override.
82
+ * Only pass userId from trusted server code; never forward client-supplied input here.
83
+ */
84
+ getClientDBHandlers: <NarrowedClientSchema = ClientSchema>(clientReq: ClientDBHandlerRequest, scope: PermissionScope | undefined) => ReturnType<typeof getClientHandlers<NarrowedClientSchema>>;
75
85
  getFieldsWithTypes: typeof DboBuilder.prototype.getDetailedFieldInfo;
76
86
  };
77
87
  export declare const initProstgles: (this: Prostgles, onReady: OnReadyCallbackBasic, reason: OnInitReason) => Promise<InitResult<void, SessionUser, any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE;;GAEG;AACH,MAAM,MAAM,YAAY;AACtB;;GAEG;AACH,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AAE5C,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAClD,MAAM,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,gBAAgB,CAC1B,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,OAAO,GAAG,SAAS,IACjB,IAAI,CACN,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EACrC,IAAI,GACJ,WAAW,GACX,SAAS,GACT,YAAY,GACZ,aAAa,GACb,OAAO,GACP,cAAc,GACd,MAAM,GACN,SAAS,GACT,WAAW,GACX,eAAe,GACf,qBAAqB,GACrB,+BAA+B,GAC/B,oBAAoB,GACpB,eAAe,CAClB,CAAC;AACF,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,IAAI,CACX,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,EACxC,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CACtC,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;CAC/D,CAAC;AAEN,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,EAAE,CAAC;IACP,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IACrD,GAAG,EAAE,eAAe,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,IAAI,mBAAmB,GAAG;IACxE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;AACtD,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,mBAAmB,GAAG;IACzD,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACtB,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;CAC9C,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;AAElG,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,KAAK,SAAS,WAAW,EAAE,OAAO,GAAG,SAAS,IAAI,CAC/E,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EACjC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KAClF,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,MAAM,oBAAoB,GAAG,CACjC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,KACvF,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,MAAM,UAAU,CACpB,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,OAAO,GAAG,SAAS,EACnB,YAAY,GAAG,CAAC,IACd;IACF,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,EAAE,CAAC;IACR,GAAG,EAAE,GAAG,CAAC;IACT,EAAE,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,OAAO,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC1D,SAAS,EAAE,OAAO,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC;IACjD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IACpE,OAAO,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACjD,kGAAkG;IAClG,mBAAmB,EAAE,CAAC,oBAAoB,GAAG,YAAY,EACvD,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,eAAe,GAAG,SAAS,KAC/B,UAAU,CAAC,OAAO,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAEhE,kBAAkB,EAAE,OAAO,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC;CACtE,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,SAAS,EACf,SAAS,oBAAoB,EAC7B,QAAQ,YAAY,KACnB,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CA+M5C,CAAC"}
1
+ {"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ const updateConfiguration_1 = require("./updateConfiguration");
13
13
  const utils_1 = require("./utils/utils");
14
14
  const getClientHandlers_1 = require("./WebsocketAPI/getClientHandlers");
15
15
  const getAdminClient_1 = require("./DboBuilder/runSql/getAdminClient");
16
+ const serverSideRequest_1 = require("./Auth/utils/serverSideRequest");
16
17
  const initProstgles = async function (onReady, reason) {
17
18
  this.checkNotDestroyed();
18
19
  this.loaded = false;
@@ -190,7 +191,15 @@ const initProstgles = async function (onReady, reason) {
190
191
  await (0, utils_1.sleep)(1000);
191
192
  return true;
192
193
  },
193
- getClientDBHandlers: (clientReq, scope) => (0, getClientHandlers_1.getClientHandlers)(this, clientReq, scope),
194
+ getClientDBHandlers: async (clientReq, scope) => {
195
+ if ("userId" in clientReq) {
196
+ if ("socket" in clientReq || "httpReq" in clientReq || "res" in clientReq) {
197
+ throw new Error("userId cannot be combined with a client request");
198
+ }
199
+ return (0, getClientHandlers_1.getClientHandlers)(this, (0, serverSideRequest_1.createServerSideRequest)(this, clientReq.userId), scope);
200
+ }
201
+ return (0, getClientHandlers_1.getClientHandlers)(this, clientReq, scope);
202
+ },
194
203
  };
195
204
  return initResult;
196
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { SQLRequest } from "prostgles-types";
2
2
  import { type AnyObject } from "prostgles-types";
3
3
  import type { AuthClientRequest } from "./Auth/AuthTypes";
4
+ import type { DbTxTableHandlers } from "./DboBuilder/DboBuilderTypes";
4
5
  import type { Prostgles } from "./Prostgles";
5
6
  import { type PermissionScope } from "./PublishParser/publishTypesAndUtils";
6
7
  type Args = {
@@ -10,7 +11,7 @@ type Args = {
10
11
  param2: unknown;
11
12
  param3: unknown;
12
13
  };
13
- export declare const runClientRequest: (this: Prostgles, nonValidatedArgs: Args, clientReq: AuthClientRequest, scope: PermissionScope | undefined) => Promise<void | AnyObject>;
14
+ export declare const runClientRequest: (this: Prostgles, nonValidatedArgs: Args, clientReq: AuthClientRequest, scope: PermissionScope | undefined, transactionHandlers?: DbTxTableHandlers) => Promise<void | AnyObject>;
14
15
  export declare const clientCanRunSqlRequest: (this: Prostgles, clientReq: AuthClientRequest) => Promise<{
15
16
  allowed: boolean;
16
17
  clientReq: AuthClientRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA8B5E,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAUF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,EACf,kBAAkB,IAAI,EACtB,WAAW,iBAAiB,EAC5B,OAAO,eAAe,GAAG,SAAS,8BAyHnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,SAAS,EACf,WAAW,iBAAiB;;;;;;;;EAe7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,EACf,iBAAiB,UAAU,EAC3B,WAAW,iBAAiB,iBAsB7B,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,SAAS,EACf,iBAAiB,UAAU,EAC3B,WAAW,iBAAiB,qBAgD7B,CAAC"}
1
+ {"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA+B5E,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAUF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,SAAS,EACf,kBAAkB,IAAI,EACtB,WAAW,iBAAiB,EAC5B,OAAO,eAAe,GAAG,SAAS,EAClC,sBAAsB,iBAAiB,8BA6HxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,SAAS,EACf,WAAW,iBAAiB;;;;;;;;EAe7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,EACf,iBAAiB,UAAU,EAC3B,WAAW,iBAAiB,iBAsB7B,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,SAAS,EACf,iBAAiB,UAAU,EAC3B,WAAW,iBAAiB,qBAgD7B,CAAC"}
@@ -29,7 +29,7 @@ const SOCKET_ONLY_COMMANDS = [
29
29
  "sync",
30
30
  "abort",
31
31
  ];
32
- const runClientRequest = async function (nonValidatedArgs, clientReq, scope) {
32
+ const runClientRequest = async function (nonValidatedArgs, clientReq, scope, transactionHandlers) {
33
33
  this.checkNotDestroyed();
34
34
  /* Channel name will only include client-sent params so we ignore table_rules enforced params */
35
35
  if (!this.publishParser || !this.dbo) {
@@ -58,7 +58,11 @@ const runClientRequest = async function (nonValidatedArgs, clientReq, scope) {
58
58
  throw ("The following commands cannot be completed over a non-websocket connection: " +
59
59
  SOCKET_ONLY_COMMANDS.join(", "));
60
60
  }
61
- const tableHandler = this.dboBuilder.dboMap.get(tableName);
61
+ const tableHandler = transactionHandlers ?
62
+ Object.hasOwn(transactionHandlers, tableName) ?
63
+ transactionHandlers[tableName]
64
+ : undefined
65
+ : this.dboBuilder.dboMap.get(tableName);
62
66
  if (!tableHandler) {
63
67
  throw `tableName ${tableName} is invalid or not allowed`;
64
68
  }
@@ -72,7 +76,7 @@ const runClientRequest = async function (nonValidatedArgs, clientReq, scope) {
72
76
  clientInfo,
73
77
  scope,
74
78
  });
75
- const sessionUser = (0, getSessionUser_1.getSessionUser)(clientInfo);
79
+ const sessionUser = (0, getSessionUser_1.getSessionUser)(clientInfo, this.opts.auth?.sessionFields);
76
80
  const localParams = {
77
81
  clientReq,
78
82
  isRemoteRequest: { user: sessionUser, clientInfo },
@@ -91,7 +95,6 @@ const runClientRequest = async function (nonValidatedArgs, clientReq, scope) {
91
95
  throw validation.error;
92
96
  }
93
97
  this.publishParser.validateRequestRule({ tableName, command: validation.data.param1.command, clientReq }, parsedTableRule, scope);
94
- tableHandler.abortRequests.add(validation.data.param1.abortSignalId);
95
98
  return tableHandler.abortRemoteQuery(validation.data.param1.abortSignalId, localParams);
96
99
  }
97
100
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"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"}
package/eslint.config.mjs CHANGED
@@ -3,7 +3,18 @@ import tseslint from "typescript-eslint";
3
3
 
4
4
  export default tseslint.config(
5
5
  {
6
- ignores: ["node_modules", "dist", "debug", "examples", "**/*.d.ts", "tests", "docs"],
6
+ ignores: [
7
+ "**/node_modules",
8
+ "**/dist",
9
+ "**/debug",
10
+ "examples",
11
+ "**/*.d.ts",
12
+ "docs",
13
+ "tests/**/*.js",
14
+ "tests/DBGeneratedSchema.ts",
15
+ "tests/config_test",
16
+ "tests/server/DEMO_SERVER.ts",
17
+ ],
7
18
  },
8
19
  eslint.configs.recommended,
9
20
  tseslint.configs.recommendedTypeChecked,
@@ -58,4 +69,13 @@ export default tseslint.config(
58
69
  ],
59
70
  },
60
71
  },
72
+ {
73
+ files: ["tests/**/*.ts"],
74
+ languageOptions: {
75
+ parserOptions: {
76
+ projectService: false,
77
+ project: ["./tests/server/tsconfig.json", "./tests/client/tsconfig.json"],
78
+ },
79
+ },
80
+ },
61
81
  );
@@ -171,7 +171,7 @@ export class AuthHandler {
171
171
  * Based on sidKeyName from auth
172
172
  */
173
173
  getValidatedSid(maybeClientReq: AuthClientRequest | undefined): string | undefined {
174
- if (!maybeClientReq) return undefined;
174
+ if (!maybeClientReq || (!maybeClientReq.socket && !maybeClientReq.httpReq)) return undefined;
175
175
  const { sidKeyName } = this;
176
176
  if (maybeClientReq.socket) {
177
177
  const { handshake } = maybeClientReq.socket;
@@ -21,6 +21,7 @@ import type {
21
21
  FullFilter,
22
22
  IdentityProvider,
23
23
  LocalLoginMode,
24
+ MaybePromise,
24
25
  UserLike,
25
26
  } from "prostgles-types";
26
27
  import type { DBOFullyTyped } from "../DBSchemaBuilder/DBSchemaBuilder";
@@ -28,6 +29,7 @@ import type { ClientSocketWithCachedData } from "../DboBuilder/DboBuilderTypes";
28
29
  import { type CachedSession } from "../DboBuilder/DboBuilderTypes";
29
30
  import type { DB } from "../Prostgles";
30
31
  import { GET_AUTH_ROUTE } from "./AuthHandler";
32
+ import type { ServerSideRequest } from "./utils/serverSideRequest";
31
33
 
32
34
  type Awaitable<T> = T | Promise<T>;
33
35
 
@@ -58,7 +60,7 @@ type HttpClientRequest = {
58
60
  res: ExpressRes;
59
61
  socket?: undefined;
60
62
  };
61
- export type AuthClientRequest = SocketClientRequest | HttpClientRequest;
63
+ export type AuthClientRequest = SocketClientRequest | HttpClientRequest | ServerSideRequest;
62
64
 
63
65
  export type ThirdPartyProviders = {
64
66
  facebook?: Pick<FacebookStrategy, "clientID" | "clientSecret"> & {
@@ -210,7 +212,7 @@ export type LoginWithOAuthConfig<S> = {
210
212
  req: ExpressReq;
211
213
  res: ExpressRes;
212
214
  clientInfo: LoginClientInfo;
213
- }) => Promise<
215
+ }) => MaybePromise<
214
216
  AuthResponse.OAuthRegisterSuccess | AuthResponse.OAuthRegisterFailure | AuthResponse.AuthFailure
215
217
  >;
216
218
 
@@ -225,7 +227,7 @@ export type LoginWithOAuthConfig<S> = {
225
227
  req: ExpressReq;
226
228
  res: ExpressRes;
227
229
  clientInfo: LoginClientInfo;
228
- }) => void | Promise<void>;
230
+ }) => void | MaybePromise<void>;
229
231
  };
230
232
 
231
233
  export type SessionUser<
@@ -243,10 +245,6 @@ export type SessionUser<
243
245
  */
244
246
  isAnonymous?: boolean;
245
247
 
246
- /**
247
- * Controls which fields from user are available in postgres session variable
248
- */
249
- sessionFields?: FieldFilter<ServerUser>;
250
248
  /**
251
249
  * User data sent to the authenticated client
252
250
  */
@@ -257,7 +255,7 @@ type AllNeverAndOptional<T> = {
257
255
  [P in keyof T]?: never;
258
256
  };
259
257
  export type AuthResultWithSID<SU = SessionUser> =
260
- | (SU & { sid: string; error?: undefined; preferredLogin?: undefined })
258
+ | (SU & { sid: string | undefined; error?: undefined; preferredLogin?: undefined })
261
259
  | (AllNeverAndOptional<SU> & {
262
260
  sid: string | undefined;
263
261
  error?: AuthResponse.AuthFailure;
@@ -332,6 +330,12 @@ export type AuthConfig<S = void, SUser extends SessionUser = SessionUser> = {
332
330
  dbo: DBOFullyTyped<S>,
333
331
  ) => Awaitable<SUser["user"] | undefined>;
334
332
 
333
+ /**
334
+ * Controls which fields from user are available in postgres session variable.
335
+ * "id" and "type" are always included.
336
+ */
337
+ sessionFields?: FieldFilter<SUser["user"]>;
338
+
335
339
  /**
336
340
  * Will setup auth routes
337
341
  * /login
@@ -1,8 +1,10 @@
1
1
  import type { ClientSocketWithCachedData } from "../../DboBuilder/DboBuilderTypes";
2
2
  import type { ExpressReq, LoginClientInfo } from "../AuthTypes";
3
+ import type { ServerSideRequest } from "./serverSideRequest";
3
4
  type ClientReq =
4
5
  | { socket: ClientSocketWithCachedData; httpReq?: undefined }
5
- | { httpReq: ExpressReq; socket?: undefined };
6
+ | { httpReq: ExpressReq; socket?: undefined }
7
+ | ServerSideRequest;
6
8
  export const getClientRequestIPsInfo = <T extends ClientReq>(req: T): LoginClientInfo => {
7
9
  if (req.httpReq) {
8
10
  const ip_address = req.httpReq.ip;
@@ -14,7 +16,7 @@ export const getClientRequestIPsInfo = <T extends ClientReq>(req: T): LoginClien
14
16
  x_real_ip: req.httpReq.headers["x-real-ip"] as string | undefined,
15
17
  user_agent,
16
18
  };
17
- } else {
19
+ } else if (req.socket) {
18
20
  const ip_address = req.socket.handshake.address;
19
21
  if (!ip_address) throw new Error("ip_address missing from req.socket.handshake");
20
22
  return {
@@ -24,4 +26,11 @@ export const getClientRequestIPsInfo = <T extends ClientReq>(req: T): LoginClien
24
26
  user_agent: req.socket.handshake.headers["user-agent"],
25
27
  };
26
28
  }
29
+ // Server-side user requests have no network metadata.
30
+ return {
31
+ ip_address: "",
32
+ ip_address_remote: undefined,
33
+ x_real_ip: undefined,
34
+ user_agent: undefined,
35
+ };
27
36
  };
@@ -14,10 +14,9 @@ void describe("getSessionUser", async () => {
14
14
  secret: "hidden",
15
15
  },
16
16
  clientUser: { id: "user-1", type: "admin" },
17
- sessionFields: ["tenant_id"],
18
- } as AuthResultWithSID;
17
+ } satisfies AuthResultWithSID;
19
18
 
20
- assert.deepEqual(getSessionUser(clientInfo), {
19
+ assert.deepEqual(getSessionUser(clientInfo, ["tenant_id"]), {
21
20
  tenant_id: 42,
22
21
  id: "user-1",
23
22
  type: "admin",
@@ -29,10 +28,9 @@ void describe("getSessionUser", async () => {
29
28
  sid: "sid",
30
29
  user: { id: "user-1", type: "admin", tenant_id: 42, secret: "hidden" },
31
30
  clientUser: { id: "user-1", type: "admin" },
32
- sessionFields: { secret: false },
33
- } as AuthResultWithSID;
31
+ } satisfies AuthResultWithSID;
34
32
 
35
- assert.deepEqual(getSessionUser(clientInfo), {
33
+ assert.deepEqual(getSessionUser(clientInfo, { secret: false }), {
36
34
  id: "user-1",
37
35
  type: "admin",
38
36
  tenant_id: 42,
@@ -1,16 +1,19 @@
1
- import { getKeys, pickKeys, type UserLike } from "prostgles-types";
1
+ import { getKeys, pickKeys, type FieldFilter, type UserLike } from "prostgles-types";
2
2
  import { parseFieldFilter } from "../../DboBuilder/ViewHandler/parseFieldFilter";
3
- import type { AuthResultWithSID } from "../AuthTypes";
4
3
 
5
- export const getSessionUser = (clientInfo: AuthResultWithSID | undefined): UserLike | undefined => {
4
+ export const getSessionUser = <U extends UserLike = UserLike>(
5
+ clientInfo: { user?: U } | undefined,
6
+ sessionFieldsFilter: undefined | FieldFilter<U>,
7
+ ): UserLike | undefined => {
6
8
  const user = clientInfo?.user;
7
9
  if (!user) return;
8
10
 
9
11
  const sessionFields = parseFieldFilter(
10
- (clientInfo.sessionFields ?? []) as Parameters<typeof parseFieldFilter>[0],
12
+ //@ts-expect-error
13
+ sessionFieldsFilter ?? [],
11
14
  false,
12
15
  getKeys(user),
13
- );
16
+ ) as string[];
14
17
 
15
18
  return {
16
19
  ...pickKeys(user, sessionFields),
@@ -4,6 +4,7 @@ import { getClientRequestIPsInfo, type AuthHandler } from "../AuthHandler";
4
4
  import type { AuthClientRequest, AuthResultOrError, AuthResultWithSID } from "../AuthTypes";
5
5
  import type { LoginResponseHandler } from "../endpoints/setLoginRequestHandler";
6
6
  import { throttledAuthCall } from "./throttledReject";
7
+ import { getServerSideUserId } from "./serverSideRequest";
7
8
 
8
9
  export type GetUserOrRedirected = AuthResultWithSID | "new-session-redirect";
9
10
 
@@ -17,6 +18,18 @@ export async function handleGetUserThrottled(
17
18
  clientReq: AuthClientRequest,
18
19
  ): Promise<GetUserOrRedirected> {
19
20
  const config = this.config;
21
+ if (!clientReq.httpReq && !clientReq.socket) {
22
+ const userId = getServerSideUserId(this.prostgles, clientReq);
23
+ if (!userId) throw new Error("Invalid server-side user request");
24
+ if (!config?.findUser) throw new Error("auth.findUser is required for userId requests");
25
+ const user = await config.findUser({ id: userId }, this.dbHandles.dbo);
26
+ if (!user || user.id !== userId) throw new Error("User not found for userId request");
27
+ return {
28
+ sid: undefined,
29
+ user,
30
+ clientUser: { id: user.id, type: user.type },
31
+ } satisfies GetUserOrRedirected;
32
+ }
20
33
  if (!config) {
21
34
  return {
22
35
  sid: undefined,
@@ -0,0 +1,27 @@
1
+ import type { AuthClientRequest } from "../AuthTypes";
2
+ import type { Prostgles } from "../../Prostgles";
3
+
4
+ /** This capability cannot be supplied through JSON, HTTP or socket payloads. */
5
+ const serverSideUser = Symbol("serverSideUser");
6
+
7
+ export type ServerSideRequest = {
8
+ readonly [serverSideUser]: { readonly prostgles: Prostgles; readonly userId: string };
9
+ socket?: undefined;
10
+ httpReq?: undefined;
11
+ res?: undefined;
12
+ };
13
+
14
+ export const createServerSideRequest = (prostgles: Prostgles, userId: string): ServerSideRequest => {
15
+ if (typeof userId !== "string" || !userId.length) {
16
+ throw new Error("userId must be a non-empty string");
17
+ }
18
+ return Object.freeze({
19
+ [serverSideUser]: Object.freeze({ prostgles, userId }),
20
+ });
21
+ };
22
+
23
+ export const getServerSideUserId = (prostgles: Prostgles, request: AuthClientRequest) =>
24
+ !request.socket && !request.httpReq &&
25
+ serverSideUser in request && request[serverSideUser].prostgles === prostgles ?
26
+ request[serverSideUser].userId
27
+ : undefined;