on-zero 0.4.3 → 0.4.4

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 (249) hide show
  1. package/dist/cjs/cli.cjs +46 -41
  2. package/dist/cjs/cli.native.js +48 -43
  3. package/dist/cjs/cli.native.js.map +1 -1
  4. package/dist/cjs/constants.cjs +14 -12
  5. package/dist/cjs/constants.native.js +14 -12
  6. package/dist/cjs/constants.native.js.map +1 -1
  7. package/dist/cjs/createPermissions.cjs +66 -34
  8. package/dist/cjs/createPermissions.native.js +143 -87
  9. package/dist/cjs/createPermissions.native.js.map +1 -1
  10. package/dist/cjs/createSchemaFromDrizzle.cjs +15 -13
  11. package/dist/cjs/createSchemaFromDrizzle.native.js +15 -13
  12. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  13. package/dist/cjs/createUseQuery.cjs +48 -35
  14. package/dist/cjs/createUseQuery.native.js +52 -38
  15. package/dist/cjs/createUseQuery.native.js.map +1 -1
  16. package/dist/cjs/createZeroClient.cjs +177 -135
  17. package/dist/cjs/createZeroClient.native.js +246 -195
  18. package/dist/cjs/createZeroClient.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.cjs +175 -129
  20. package/dist/cjs/createZeroServer.native.js +170 -138
  21. package/dist/cjs/createZeroServer.native.js.map +1 -1
  22. package/dist/cjs/generate-helpers.cjs +122 -88
  23. package/dist/cjs/generate-helpers.native.js +209 -174
  24. package/dist/cjs/generate-helpers.native.js.map +1 -1
  25. package/dist/cjs/generate-lite.cjs +90 -58
  26. package/dist/cjs/generate-lite.native.js +200 -140
  27. package/dist/cjs/generate-lite.native.js.map +1 -1
  28. package/dist/cjs/generate-lite.test.cjs +229 -192
  29. package/dist/cjs/generate-lite.test.native.js +229 -194
  30. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  31. package/dist/cjs/generate.cjs +455 -291
  32. package/dist/cjs/generate.native.js +747 -565
  33. package/dist/cjs/generate.native.js.map +1 -1
  34. package/dist/cjs/generate.test.cjs +170 -106
  35. package/dist/cjs/generate.test.native.js +171 -107
  36. package/dist/cjs/generate.test.native.js.map +1 -1
  37. package/dist/cjs/helpers/batchQuery.cjs +29 -18
  38. package/dist/cjs/helpers/batchQuery.native.js +36 -21
  39. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  40. package/dist/cjs/helpers/clearZeroClientData.cjs +30 -21
  41. package/dist/cjs/helpers/clearZeroClientData.native.js +42 -33
  42. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  43. package/dist/cjs/helpers/createMutators.cjs +80 -42
  44. package/dist/cjs/helpers/createMutators.native.js +139 -87
  45. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  46. package/dist/cjs/helpers/didRunPermissionCheck.cjs +19 -13
  47. package/dist/cjs/helpers/didRunPermissionCheck.native.js +22 -20
  48. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  49. package/dist/cjs/helpers/ensureLoggedIn.cjs +16 -13
  50. package/dist/cjs/helpers/ensureLoggedIn.native.js +21 -18
  51. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  52. package/dist/cjs/helpers/getAuth.cjs +25 -15
  53. package/dist/cjs/helpers/getAuth.native.js +25 -15
  54. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  55. package/dist/cjs/helpers/mutatorContext.cjs +21 -14
  56. package/dist/cjs/helpers/mutatorContext.native.js +21 -15
  57. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  58. package/dist/cjs/helpers/prettyFormatZeroQuery.cjs +126 -81
  59. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js +135 -92
  60. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  61. package/dist/cjs/helpers/queryContext.cjs +12 -10
  62. package/dist/cjs/helpers/queryContext.native.js +16 -13
  63. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  64. package/dist/cjs/helpers/showZeroClientError.cjs +24 -19
  65. package/dist/cjs/helpers/showZeroClientError.native.js +38 -34
  66. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  67. package/dist/cjs/helpers/useZeroDebug.cjs +82 -49
  68. package/dist/cjs/helpers/useZeroDebug.native.js +83 -55
  69. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  70. package/dist/cjs/index.cjs +17 -15
  71. package/dist/cjs/index.native.js +17 -15
  72. package/dist/cjs/index.native.js.map +1 -1
  73. package/dist/cjs/modelRegistry.cjs +12 -10
  74. package/dist/cjs/modelRegistry.native.js +12 -10
  75. package/dist/cjs/modelRegistry.native.js.map +1 -1
  76. package/dist/cjs/mutations.cjs +66 -42
  77. package/dist/cjs/mutations.native.js +68 -46
  78. package/dist/cjs/mutations.native.js.map +1 -1
  79. package/dist/cjs/queryRegistry.cjs +13 -10
  80. package/dist/cjs/queryRegistry.native.js +14 -11
  81. package/dist/cjs/queryRegistry.native.js.map +1 -1
  82. package/dist/cjs/resolveQuery.cjs +22 -18
  83. package/dist/cjs/resolveQuery.native.js +32 -28
  84. package/dist/cjs/resolveQuery.native.js.map +1 -1
  85. package/dist/cjs/run.cjs +35 -28
  86. package/dist/cjs/run.native.js +35 -29
  87. package/dist/cjs/run.native.js.map +1 -1
  88. package/dist/cjs/server.cjs +7 -5
  89. package/dist/cjs/serverWhere.cjs +13 -11
  90. package/dist/cjs/serverWhere.native.js +13 -11
  91. package/dist/cjs/serverWhere.native.js.map +1 -1
  92. package/dist/cjs/serverWhere.test.cjs +83 -55
  93. package/dist/cjs/serverWhere.test.native.js +72 -50
  94. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  95. package/dist/cjs/state.cjs +49 -44
  96. package/dist/cjs/state.native.js +56 -53
  97. package/dist/cjs/state.native.js.map +1 -1
  98. package/dist/cjs/types.cjs +7 -5
  99. package/dist/cjs/types.native.js +7 -5
  100. package/dist/cjs/types.native.js.map +1 -1
  101. package/dist/cjs/usePermission.test.cjs +58 -45
  102. package/dist/cjs/usePermission.test.native.js +59 -48
  103. package/dist/cjs/usePermission.test.native.js.map +1 -1
  104. package/dist/cjs/vite-plugin.cjs +41 -21
  105. package/dist/cjs/vite-plugin.native.js +61 -47
  106. package/dist/cjs/vite-plugin.native.js.map +1 -1
  107. package/dist/cjs/where.cjs +39 -24
  108. package/dist/cjs/where.native.js +44 -29
  109. package/dist/cjs/where.native.js.map +1 -1
  110. package/dist/cjs/zeroRunner.cjs +18 -12
  111. package/dist/cjs/zeroRunner.native.js +22 -16
  112. package/dist/cjs/zeroRunner.native.js.map +1 -1
  113. package/dist/cjs/zql.cjs +14 -11
  114. package/dist/cjs/zql.native.js +19 -17
  115. package/dist/cjs/zql.native.js.map +1 -1
  116. package/dist/esm/cli.mjs +43 -38
  117. package/dist/esm/cli.mjs.map +1 -1
  118. package/dist/esm/cli.native.js +44 -39
  119. package/dist/esm/cli.native.js.map +1 -1
  120. package/dist/esm/constants.mjs +2 -2
  121. package/dist/esm/constants.mjs.map +1 -1
  122. package/dist/esm/constants.native.js +2 -2
  123. package/dist/esm/constants.native.js.map +1 -1
  124. package/dist/esm/createPermissions.mjs +48 -18
  125. package/dist/esm/createPermissions.mjs.map +1 -1
  126. package/dist/esm/createPermissions.native.js +125 -71
  127. package/dist/esm/createPermissions.native.js.map +1 -1
  128. package/dist/esm/createUseQuery.mjs +32 -21
  129. package/dist/esm/createUseQuery.mjs.map +1 -1
  130. package/dist/esm/createUseQuery.native.js +36 -24
  131. package/dist/esm/createUseQuery.native.js.map +1 -1
  132. package/dist/esm/createZeroClient.mjs +148 -108
  133. package/dist/esm/createZeroClient.mjs.map +1 -1
  134. package/dist/esm/createZeroClient.native.js +217 -168
  135. package/dist/esm/createZeroClient.native.js.map +1 -1
  136. package/dist/esm/createZeroServer.mjs +148 -104
  137. package/dist/esm/createZeroServer.mjs.map +1 -1
  138. package/dist/esm/createZeroServer.native.js +143 -113
  139. package/dist/esm/createZeroServer.native.js.map +1 -1
  140. package/dist/esm/generate-helpers.mjs +110 -78
  141. package/dist/esm/generate-helpers.mjs.map +1 -1
  142. package/dist/esm/generate-helpers.native.js +197 -164
  143. package/dist/esm/generate-helpers.native.js.map +1 -1
  144. package/dist/esm/generate-lite.mjs +78 -48
  145. package/dist/esm/generate-lite.mjs.map +1 -1
  146. package/dist/esm/generate-lite.native.js +188 -130
  147. package/dist/esm/generate-lite.native.js.map +1 -1
  148. package/dist/esm/generate-lite.test.mjs +227 -190
  149. package/dist/esm/generate-lite.test.mjs.map +1 -1
  150. package/dist/esm/generate-lite.test.native.js +227 -192
  151. package/dist/esm/generate-lite.test.native.js.map +1 -1
  152. package/dist/esm/generate.mjs +427 -265
  153. package/dist/esm/generate.mjs.map +1 -1
  154. package/dist/esm/generate.native.js +718 -538
  155. package/dist/esm/generate.native.js.map +1 -1
  156. package/dist/esm/generate.test.mjs +165 -101
  157. package/dist/esm/generate.test.mjs.map +1 -1
  158. package/dist/esm/generate.test.native.js +165 -101
  159. package/dist/esm/generate.test.native.js.map +1 -1
  160. package/dist/esm/helpers/batchQuery.mjs +17 -8
  161. package/dist/esm/helpers/batchQuery.mjs.map +1 -1
  162. package/dist/esm/helpers/batchQuery.native.js +24 -11
  163. package/dist/esm/helpers/batchQuery.native.js.map +1 -1
  164. package/dist/esm/helpers/clearZeroClientData.mjs +18 -11
  165. package/dist/esm/helpers/clearZeroClientData.mjs.map +1 -1
  166. package/dist/esm/helpers/clearZeroClientData.native.js +30 -23
  167. package/dist/esm/helpers/clearZeroClientData.native.js.map +1 -1
  168. package/dist/esm/helpers/createMutators.mjs +53 -17
  169. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  170. package/dist/esm/helpers/createMutators.native.js +112 -62
  171. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  172. package/dist/esm/helpers/didRunPermissionCheck.mjs +7 -3
  173. package/dist/esm/helpers/didRunPermissionCheck.mjs.map +1 -1
  174. package/dist/esm/helpers/didRunPermissionCheck.native.js +9 -9
  175. package/dist/esm/helpers/didRunPermissionCheck.native.js.map +1 -1
  176. package/dist/esm/helpers/ensureLoggedIn.mjs +2 -1
  177. package/dist/esm/helpers/ensureLoggedIn.mjs.map +1 -1
  178. package/dist/esm/helpers/ensureLoggedIn.native.js +2 -1
  179. package/dist/esm/helpers/ensureLoggedIn.native.js.map +1 -1
  180. package/dist/esm/helpers/getAuth.mjs +10 -2
  181. package/dist/esm/helpers/getAuth.mjs.map +1 -1
  182. package/dist/esm/helpers/getAuth.native.js +10 -2
  183. package/dist/esm/helpers/getAuth.native.js.map +1 -1
  184. package/dist/esm/helpers/mutatorContext.mjs +9 -4
  185. package/dist/esm/helpers/mutatorContext.mjs.map +1 -1
  186. package/dist/esm/helpers/mutatorContext.native.js +8 -4
  187. package/dist/esm/helpers/mutatorContext.native.js.map +1 -1
  188. package/dist/esm/helpers/prettyFormatZeroQuery.mjs +114 -71
  189. package/dist/esm/helpers/prettyFormatZeroQuery.mjs.map +1 -1
  190. package/dist/esm/helpers/prettyFormatZeroQuery.native.js +121 -80
  191. package/dist/esm/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  192. package/dist/esm/helpers/queryContext.native.js +2 -1
  193. package/dist/esm/helpers/queryContext.native.js.map +1 -1
  194. package/dist/esm/helpers/showZeroClientError.mjs +12 -9
  195. package/dist/esm/helpers/showZeroClientError.mjs.map +1 -1
  196. package/dist/esm/helpers/showZeroClientError.native.js +25 -23
  197. package/dist/esm/helpers/showZeroClientError.native.js.map +1 -1
  198. package/dist/esm/helpers/useZeroDebug.mjs +67 -36
  199. package/dist/esm/helpers/useZeroDebug.mjs.map +1 -1
  200. package/dist/esm/helpers/useZeroDebug.native.js +68 -42
  201. package/dist/esm/helpers/useZeroDebug.native.js.map +1 -1
  202. package/dist/esm/mutations.mjs +51 -29
  203. package/dist/esm/mutations.mjs.map +1 -1
  204. package/dist/esm/mutations.native.js +53 -33
  205. package/dist/esm/mutations.native.js.map +1 -1
  206. package/dist/esm/queryRegistry.mjs +1 -0
  207. package/dist/esm/queryRegistry.mjs.map +1 -1
  208. package/dist/esm/queryRegistry.native.js +2 -1
  209. package/dist/esm/queryRegistry.native.js.map +1 -1
  210. package/dist/esm/resolveQuery.mjs +10 -8
  211. package/dist/esm/resolveQuery.mjs.map +1 -1
  212. package/dist/esm/resolveQuery.native.js +20 -18
  213. package/dist/esm/resolveQuery.native.js.map +1 -1
  214. package/dist/esm/run.mjs +21 -16
  215. package/dist/esm/run.mjs.map +1 -1
  216. package/dist/esm/run.native.js +20 -16
  217. package/dist/esm/run.native.js.map +1 -1
  218. package/dist/esm/serverWhere.mjs +1 -1
  219. package/dist/esm/serverWhere.mjs.map +1 -1
  220. package/dist/esm/serverWhere.native.js +1 -1
  221. package/dist/esm/serverWhere.native.js.map +1 -1
  222. package/dist/esm/serverWhere.test.mjs +79 -51
  223. package/dist/esm/serverWhere.test.mjs.map +1 -1
  224. package/dist/esm/serverWhere.test.native.js +68 -46
  225. package/dist/esm/serverWhere.test.native.js.map +1 -1
  226. package/dist/esm/state.mjs +35 -32
  227. package/dist/esm/state.mjs.map +1 -1
  228. package/dist/esm/state.native.js +41 -40
  229. package/dist/esm/state.native.js.map +1 -1
  230. package/dist/esm/usePermission.test.mjs +53 -40
  231. package/dist/esm/usePermission.test.mjs.map +1 -1
  232. package/dist/esm/usePermission.test.native.js +54 -43
  233. package/dist/esm/usePermission.test.native.js.map +1 -1
  234. package/dist/esm/vite-plugin.mjs +27 -9
  235. package/dist/esm/vite-plugin.mjs.map +1 -1
  236. package/dist/esm/vite-plugin.native.js +47 -35
  237. package/dist/esm/vite-plugin.native.js.map +1 -1
  238. package/dist/esm/where.mjs +24 -11
  239. package/dist/esm/where.mjs.map +1 -1
  240. package/dist/esm/where.native.js +29 -16
  241. package/dist/esm/where.native.js.map +1 -1
  242. package/dist/esm/zeroRunner.mjs +6 -2
  243. package/dist/esm/zeroRunner.mjs.map +1 -1
  244. package/dist/esm/zeroRunner.native.js +8 -4
  245. package/dist/esm/zeroRunner.native.js.map +1 -1
  246. package/dist/esm/zql.mjs +2 -1
  247. package/dist/esm/zql.mjs.map +1 -1
  248. package/dist/esm/zql.native.js.map +1 -1
  249. package/package.json +3 -3
@@ -3,41 +3,43 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: !0
9
- });
10
- },
11
- __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
14
  get: () => from[key],
14
15
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
16
  });
16
- return to;
17
- };
17
+ }
18
+ return to;
19
+ };
18
20
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
- value: !0
21
+ value: true
20
22
  }), mod);
21
23
  var createZeroServer_exports = {};
22
24
  __export(createZeroServer_exports, {
23
25
  createZeroServer: () => createZeroServer
24
26
  });
25
27
  module.exports = __toCommonJS(createZeroServer_exports);
26
- var import_zero = require("@rocicorp/zero"),
27
- import_pg = require("@rocicorp/zero/pg"),
28
- import_server = require("@rocicorp/zero/server"),
29
- import_pg2 = require("@rocicorp/zero/server/adapters/pg"),
30
- import_helpers = require("@take-out/helpers"),
31
- import_pg3 = require("pg"),
32
- import_createPermissions = require("./createPermissions.cjs"),
33
- import_createMutators = require("./helpers/createMutators.cjs"),
34
- import_mutatorContext = require("./helpers/mutatorContext.cjs"),
35
- import_queryContext = require("./helpers/queryContext.cjs"),
36
- import_modelRegistry = require("./modelRegistry.cjs"),
37
- import_run = require("./run.cjs"),
38
- import_state = require("./state.cjs"),
39
- import_where = require("./where.cjs"),
40
- import_zeroRunner = require("./zeroRunner.cjs");
28
+ var import_zero = require("@rocicorp/zero");
29
+ var import_pg = require("@rocicorp/zero/pg");
30
+ var import_server = require("@rocicorp/zero/server");
31
+ var import_pg2 = require("@rocicorp/zero/server/adapters/pg");
32
+ var import_helpers = require("@take-out/helpers");
33
+ var import_pg3 = require("pg");
34
+ var import_createPermissions = require("./createPermissions.cjs");
35
+ var import_createMutators = require("./helpers/createMutators.cjs");
36
+ var import_mutatorContext = require("./helpers/mutatorContext.cjs");
37
+ var import_queryContext = require("./helpers/queryContext.cjs");
38
+ var import_modelRegistry = require("./modelRegistry.cjs");
39
+ var import_run = require("./run.cjs");
40
+ var import_state = require("./state.cjs");
41
+ var import_where = require("./where.cjs");
42
+ var import_zeroRunner = require("./zeroRunner.cjs");
41
43
  function createZeroServer({
42
44
  createServerActions,
43
45
  database,
@@ -51,118 +53,146 @@ function createZeroServer({
51
53
  defaultAllowAdminRole = "all",
52
54
  defaultMutateAuthData = {}
53
55
  }) {
54
- (0, import_state.setSchema)(schema), (0, import_state.setEnvironment)("server");
56
+ (0, import_state.setSchema)(schema);
57
+ (0, import_state.setEnvironment)("server");
55
58
  let pool;
56
- if (externalPool) pool = externalPool;else {
57
- const dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'),
58
- pgPool = new import_pg3.Pool({
59
- connectionString: dbString,
60
- // handle self-signed certificates in production
61
- ssl: dbString.includes("sslmode=require") ? {
62
- rejectUnauthorized: !1
63
- } : void 0
64
- });
59
+ if (externalPool) {
60
+ pool = externalPool;
61
+ } else {
62
+ const dbString = (0, import_helpers.assertString)(database, `createZeroServer "database"`);
63
+ const pgPool = new import_pg3.Pool({
64
+ connectionString: dbString,
65
+ // handle self-signed certificates in production
66
+ ssl: dbString.includes("sslmode=require") ? {
67
+ rejectUnauthorized: false
68
+ } : void 0
69
+ });
65
70
  pgPool.on("error", error => {
66
- console.error("[on-zero] pool error", error.message);
67
- }), pgPool.on("connect", client => {
71
+ console.error(`[on-zero] pool error`, error.message);
72
+ });
73
+ pgPool.on("connect", client => {
68
74
  client.on("error", error => {
69
- console.error("[on-zero] client error", error.message);
75
+ console.error(`[on-zero] client error`, error.message);
70
76
  });
71
- }), pool = pgPool;
77
+ });
78
+ pool = pgPool;
72
79
  }
73
- const zeroDb = (0, import_pg2.zeroNodePg)(schema, pool),
74
- permissions = (0, import_createPermissions.createPermissions)({
80
+ const zeroDb = (0, import_pg2.zeroNodePg)(schema, pool);
81
+ const permissions = (0, import_createPermissions.createPermissions)({
82
+ environment: "server",
83
+ schema,
84
+ adminRoleMode: defaultAllowAdminRole
85
+ });
86
+ const processor = new import_pg.PushProcessor(zeroDb);
87
+ const handleMutationRequest = async ({
88
+ authData,
89
+ request,
90
+ skipAsyncTasks
91
+ }) => {
92
+ const asyncTasks = [];
93
+ const mutators = (0, import_createMutators.createMutators)({
94
+ asyncTasks,
95
+ can: permissions.can,
96
+ createServerActions,
75
97
  environment: "server",
76
- schema,
77
- adminRoleMode: defaultAllowAdminRole
78
- }),
79
- processor = new import_pg.PushProcessor(zeroDb),
80
- handleMutationRequest = async ({
98
+ models,
81
99
  authData,
82
- request,
83
- skipAsyncTasks
84
- }) => {
85
- const asyncTasks = [],
86
- mutators = (0, import_createMutators.createMutators)({
87
- asyncTasks,
88
- can: permissions.can,
89
- createServerActions,
90
- environment: "server",
91
- models,
100
+ validateMutation,
101
+ mutationValidators
102
+ });
103
+ const response = await processor.process(mutators, request);
104
+ if (!skipAsyncTasks && asyncTasks.length) {
105
+ Promise.all(asyncTasks.map(task => (0, import_mutatorContext.runWithAuthScope)(authData, task))).catch(err => {
106
+ console.error(`[push] async tasks failed`, err);
107
+ });
108
+ }
109
+ return {
110
+ response,
111
+ asyncTasks
112
+ };
113
+ };
114
+ const handleQueryRequest = async ({
115
+ authData,
116
+ request
117
+ }) => {
118
+ if (!queries) {
119
+ throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
120
+ }
121
+ const response = await (0, import_queryContext.runWithQueryContext)({
122
+ authData: authData || {}
123
+ }, () => (0, import_server.handleQueryRequest)((name, args) => {
124
+ if (name.startsWith("permission.")) {
125
+ const table = name.slice("permission.".length);
126
+ const {
127
+ objOrId
128
+ } = args;
129
+ const perm = (0, import_modelRegistry.getMutationsPermissions)(table);
130
+ if (!perm) {
131
+ throw new Error(`[permission] no permission defined for table: ${table}`);
132
+ }
133
+ (0, import_where.setEvaluatingPermission)(true);
134
+ try {
135
+ return (0, import_state.getZQL)()[table].where(eb => {
136
+ return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
137
+ }).one();
138
+ } finally {
139
+ (0, import_where.setEvaluatingPermission)(false);
140
+ }
141
+ }
142
+ if (validateQuery) {
143
+ validateQuery({
92
144
  authData,
93
- validateMutation,
94
- mutationValidators
95
- }),
96
- response = await processor.process(mutators, request);
97
- return !skipAsyncTasks && asyncTasks.length && Promise.all(asyncTasks.map(task => (0, import_mutatorContext.runWithAuthScope)(authData, task))).catch(err => {
98
- console.error("[push] async tasks failed", err);
99
- }), {
100
- response,
101
- asyncTasks
102
- };
103
- },
104
- handleQueryRequest = async ({
105
- authData,
106
- request
107
- }) => {
108
- if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
109
- return {
110
- response: await (0, import_queryContext.runWithQueryContext)({
111
- authData: authData || {}
112
- }, () => (0, import_server.handleQueryRequest)((name, args) => {
113
- if (name.startsWith("permission.")) {
114
- const table = name.slice(11),
115
- {
116
- objOrId
117
- } = args,
118
- perm = (0, import_modelRegistry.getMutationsPermissions)(table);
119
- if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
120
- (0, import_where.setEvaluatingPermission)(!0);
121
- try {
122
- return (0, import_state.getZQL)()[table].where(eb => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
123
- } finally {
124
- (0, import_where.setEvaluatingPermission)(!1);
125
- }
126
- }
127
- return validateQuery && validateQuery({
128
- authData,
129
- queryName: name,
130
- params: args
131
- }), (0, import_zero.mustGetQuery)(queries, name).fn({
132
- args,
133
- ctx: authData
134
- });
135
- }, schema, request))
136
- };
145
+ queryName: name,
146
+ params: args
147
+ });
148
+ }
149
+ const query2 = (0, import_zero.mustGetQuery)(queries, name);
150
+ return query2.fn({
151
+ args,
152
+ ctx: authData
153
+ });
154
+ }, schema, request));
155
+ return {
156
+ response
137
157
  };
158
+ };
138
159
  async function runMutate(modelName, mutatorName, mutatorArg, options) {
139
160
  let authData = options?.authData;
140
161
  if (!authData) {
141
162
  const scoped = (0, import_mutatorContext.getScopedAuthData)();
142
- scoped && (authData = scoped);
163
+ if (scoped) {
164
+ authData = scoped;
165
+ }
143
166
  }
144
- const asyncTasks = [],
145
- mutator = (0, import_createMutators.createMutators)({
146
- models,
147
- environment: "server",
148
- asyncTasks,
149
- authData: {
150
- ...defaultMutateAuthData,
151
- ...authData
152
- },
153
- createServerActions,
154
- can: permissions.can,
155
- validateMutation,
156
- mutationValidators
157
- })[modelName][mutatorName];
158
- if (await transaction(async tx => {
167
+ const asyncTasks = [];
168
+ const mutators = (0, import_createMutators.createMutators)({
169
+ models,
170
+ environment: "server",
171
+ asyncTasks,
172
+ authData: {
173
+ ...defaultMutateAuthData,
174
+ ...authData
175
+ },
176
+ createServerActions,
177
+ can: permissions.can,
178
+ validateMutation,
179
+ mutationValidators
180
+ });
181
+ const modelMutators = mutators[modelName];
182
+ const mutator = modelMutators[mutatorName];
183
+ await transaction(async tx => {
159
184
  await mutator(tx, mutatorArg);
160
- }), asyncTasks.length) {
161
- const resolvedAuth = authData ?? null,
162
- promise = Promise.all(asyncTasks.map(t => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t)));
163
- options?.awaitEffects ? await promise : promise.catch(err => {
164
- console.error("[mutate] async tasks failed", err);
165
- });
185
+ });
186
+ if (asyncTasks.length) {
187
+ const resolvedAuth = authData ?? null;
188
+ const promise = Promise.all(asyncTasks.map(t => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t)));
189
+ if (options?.awaitEffects) {
190
+ await promise;
191
+ } else {
192
+ promise.catch(err => {
193
+ console.error(`[mutate] async tasks failed`, err);
194
+ });
195
+ }
166
196
  }
167
197
  }
168
198
  const mutate = new Proxy({}, {
@@ -182,18 +212,34 @@ function createZeroServer({
182
212
  } = (0, import_mutatorContext.mutatorContext)();
183
213
  return await query2(tx);
184
214
  }
185
- return await zeroDb.transaction(query2, dummyTransactionInput);
215
+ const output = await zeroDb.transaction(query2, dummyTransactionInput);
216
+ return output;
186
217
  } catch (err) {
187
- throw err?.name !== "PermissionError" && console.error(`Error running transaction(): ${err}`), err;
218
+ if (err?.name !== "PermissionError") {
219
+ console.error(`Error running transaction(): ${err}`);
220
+ }
221
+ throw err;
188
222
  }
189
223
  }
190
224
  function query(cb, authData) {
191
- const run = () => transaction(async tx => tx.run(cb((0, import_state.getZQL)())));
192
- return authData !== void 0 ? (0, import_queryContext.runWithQueryContext)({
193
- authData
194
- }, run) : run();
225
+ const run = () => transaction(async tx => {
226
+ return tx.run(cb((0, import_state.getZQL)()));
227
+ });
228
+ if (authData !== void 0) {
229
+ return (0, import_queryContext.runWithQueryContext)({
230
+ authData
231
+ }, run);
232
+ }
233
+ return run();
234
+ }
235
+ if (queries) {
236
+ (0, import_run.setCustomQueries)(queries);
195
237
  }
196
- queries && (0, import_run.setCustomQueries)(queries), (0, import_zeroRunner.setRunner)(queryObj => transaction(async tx => tx.run(queryObj)));
238
+ (0, import_zeroRunner.setRunner)(queryObj => {
239
+ return transaction(async tx => {
240
+ return tx.run(queryObj);
241
+ });
242
+ });
197
243
  const dummyTransactionInput = {
198
244
  clientGroupID: "unused",
199
245
  clientID: "unused",