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
@@ -26,118 +26,146 @@ function createZeroServer({
26
26
  defaultAllowAdminRole = "all",
27
27
  defaultMutateAuthData = {}
28
28
  }) {
29
- setSchema(schema), setEnvironment("server");
29
+ setSchema(schema);
30
+ setEnvironment("server");
30
31
  let pool;
31
- if (externalPool) pool = externalPool;else {
32
- const dbString = assertString(database, 'createZeroServer "database"'),
33
- pgPool = new Pool({
34
- connectionString: dbString,
35
- // handle self-signed certificates in production
36
- ssl: dbString.includes("sslmode=require") ? {
37
- rejectUnauthorized: !1
38
- } : void 0
39
- });
32
+ if (externalPool) {
33
+ pool = externalPool;
34
+ } else {
35
+ const dbString = assertString(database, `createZeroServer "database"`);
36
+ const pgPool = new Pool({
37
+ connectionString: dbString,
38
+ // handle self-signed certificates in production
39
+ ssl: dbString.includes("sslmode=require") ? {
40
+ rejectUnauthorized: false
41
+ } : void 0
42
+ });
40
43
  pgPool.on("error", error => {
41
- console.error("[on-zero] pool error", error.message);
42
- }), pgPool.on("connect", client => {
44
+ console.error(`[on-zero] pool error`, error.message);
45
+ });
46
+ pgPool.on("connect", client => {
43
47
  client.on("error", error => {
44
- console.error("[on-zero] client error", error.message);
48
+ console.error(`[on-zero] client error`, error.message);
45
49
  });
46
- }), pool = pgPool;
50
+ });
51
+ pool = pgPool;
47
52
  }
48
- const zeroDb = zeroNodePg(schema, pool),
49
- permissions = createPermissions({
53
+ const zeroDb = zeroNodePg(schema, pool);
54
+ const permissions = createPermissions({
55
+ environment: "server",
56
+ schema,
57
+ adminRoleMode: defaultAllowAdminRole
58
+ });
59
+ const processor = new PushProcessor(zeroDb);
60
+ const handleMutationRequest = async ({
61
+ authData,
62
+ request,
63
+ skipAsyncTasks
64
+ }) => {
65
+ const asyncTasks = [];
66
+ const mutators = createMutators({
67
+ asyncTasks,
68
+ can: permissions.can,
69
+ createServerActions,
50
70
  environment: "server",
51
- schema,
52
- adminRoleMode: defaultAllowAdminRole
53
- }),
54
- processor = new PushProcessor(zeroDb),
55
- handleMutationRequest = async ({
71
+ models,
56
72
  authData,
57
- request,
58
- skipAsyncTasks
59
- }) => {
60
- const asyncTasks = [],
61
- mutators = createMutators({
62
- asyncTasks,
63
- can: permissions.can,
64
- createServerActions,
65
- environment: "server",
66
- models,
73
+ validateMutation,
74
+ mutationValidators
75
+ });
76
+ const response = await processor.process(mutators, request);
77
+ if (!skipAsyncTasks && asyncTasks.length) {
78
+ Promise.all(asyncTasks.map(task => runWithAuthScope(authData, task))).catch(err => {
79
+ console.error(`[push] async tasks failed`, err);
80
+ });
81
+ }
82
+ return {
83
+ response,
84
+ asyncTasks
85
+ };
86
+ };
87
+ const handleQueryRequest = async ({
88
+ authData,
89
+ request
90
+ }) => {
91
+ if (!queries) {
92
+ throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
93
+ }
94
+ const response = await runWithQueryContext({
95
+ authData: authData || {}
96
+ }, () => zeroHandleQueryRequest((name, args) => {
97
+ if (name.startsWith("permission.")) {
98
+ const table = name.slice("permission.".length);
99
+ const {
100
+ objOrId
101
+ } = args;
102
+ const perm = getMutationsPermissions(table);
103
+ if (!perm) {
104
+ throw new Error(`[permission] no permission defined for table: ${table}`);
105
+ }
106
+ setEvaluatingPermission(true);
107
+ try {
108
+ return getZQL()[table].where(eb => {
109
+ return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
110
+ }).one();
111
+ } finally {
112
+ setEvaluatingPermission(false);
113
+ }
114
+ }
115
+ if (validateQuery) {
116
+ validateQuery({
67
117
  authData,
68
- validateMutation,
69
- mutationValidators
70
- }),
71
- response = await processor.process(mutators, request);
72
- return !skipAsyncTasks && asyncTasks.length && Promise.all(asyncTasks.map(task => runWithAuthScope(authData, task))).catch(err => {
73
- console.error("[push] async tasks failed", err);
74
- }), {
75
- response,
76
- asyncTasks
77
- };
78
- },
79
- handleQueryRequest = async ({
80
- authData,
81
- request
82
- }) => {
83
- if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
84
- return {
85
- response: await runWithQueryContext({
86
- authData: authData || {}
87
- }, () => zeroHandleQueryRequest((name, args) => {
88
- if (name.startsWith("permission.")) {
89
- const table = name.slice(11),
90
- {
91
- objOrId
92
- } = args,
93
- perm = getMutationsPermissions(table);
94
- if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
95
- setEvaluatingPermission(!0);
96
- try {
97
- return getZQL()[table].where(eb => permissions.buildPermissionQuery(authData, eb, perm, objOrId, table)).one();
98
- } finally {
99
- setEvaluatingPermission(!1);
100
- }
101
- }
102
- return validateQuery && validateQuery({
103
- authData,
104
- queryName: name,
105
- params: args
106
- }), mustGetQuery(queries, name).fn({
107
- args,
108
- ctx: authData
109
- });
110
- }, schema, request))
111
- };
118
+ queryName: name,
119
+ params: args
120
+ });
121
+ }
122
+ const query2 = mustGetQuery(queries, name);
123
+ return query2.fn({
124
+ args,
125
+ ctx: authData
126
+ });
127
+ }, schema, request));
128
+ return {
129
+ response
112
130
  };
131
+ };
113
132
  async function runMutate(modelName, mutatorName, mutatorArg, options) {
114
133
  let authData = options?.authData;
115
134
  if (!authData) {
116
135
  const scoped = getScopedAuthData();
117
- scoped && (authData = scoped);
136
+ if (scoped) {
137
+ authData = scoped;
138
+ }
118
139
  }
119
- const asyncTasks = [],
120
- mutator = createMutators({
121
- models,
122
- environment: "server",
123
- asyncTasks,
124
- authData: {
125
- ...defaultMutateAuthData,
126
- ...authData
127
- },
128
- createServerActions,
129
- can: permissions.can,
130
- validateMutation,
131
- mutationValidators
132
- })[modelName][mutatorName];
133
- if (await transaction(async tx => {
140
+ const asyncTasks = [];
141
+ const mutators = createMutators({
142
+ models,
143
+ environment: "server",
144
+ asyncTasks,
145
+ authData: {
146
+ ...defaultMutateAuthData,
147
+ ...authData
148
+ },
149
+ createServerActions,
150
+ can: permissions.can,
151
+ validateMutation,
152
+ mutationValidators
153
+ });
154
+ const modelMutators = mutators[modelName];
155
+ const mutator = modelMutators[mutatorName];
156
+ await transaction(async tx => {
134
157
  await mutator(tx, mutatorArg);
135
- }), asyncTasks.length) {
136
- const resolvedAuth = authData ?? null,
137
- promise = Promise.all(asyncTasks.map(t => runWithAuthScope(resolvedAuth, t)));
138
- options?.awaitEffects ? await promise : promise.catch(err => {
139
- console.error("[mutate] async tasks failed", err);
140
- });
158
+ });
159
+ if (asyncTasks.length) {
160
+ const resolvedAuth = authData ?? null;
161
+ const promise = Promise.all(asyncTasks.map(t => runWithAuthScope(resolvedAuth, t)));
162
+ if (options?.awaitEffects) {
163
+ await promise;
164
+ } else {
165
+ promise.catch(err => {
166
+ console.error(`[mutate] async tasks failed`, err);
167
+ });
168
+ }
141
169
  }
142
170
  }
143
171
  const mutate = new Proxy({}, {
@@ -157,18 +185,34 @@ function createZeroServer({
157
185
  } = mutatorContext();
158
186
  return await query2(tx);
159
187
  }
160
- return await zeroDb.transaction(query2, dummyTransactionInput);
188
+ const output = await zeroDb.transaction(query2, dummyTransactionInput);
189
+ return output;
161
190
  } catch (err) {
162
- throw err?.name !== "PermissionError" && console.error(`Error running transaction(): ${err}`), err;
191
+ if (err?.name !== "PermissionError") {
192
+ console.error(`Error running transaction(): ${err}`);
193
+ }
194
+ throw err;
163
195
  }
164
196
  }
165
197
  function query(cb, authData) {
166
- const run = () => transaction(async tx => tx.run(cb(getZQL())));
167
- return authData !== void 0 ? runWithQueryContext({
168
- authData
169
- }, run) : run();
198
+ const run = () => transaction(async tx => {
199
+ return tx.run(cb(getZQL()));
200
+ });
201
+ if (authData !== void 0) {
202
+ return runWithQueryContext({
203
+ authData
204
+ }, run);
205
+ }
206
+ return run();
170
207
  }
171
- queries && setCustomQueries(queries), setRunner(queryObj => transaction(async tx => tx.run(queryObj)));
208
+ if (queries) {
209
+ setCustomQueries(queries);
210
+ }
211
+ setRunner(queryObj => {
212
+ return transaction(async tx => {
213
+ return tx.run(queryObj);
214
+ });
215
+ });
172
216
  const dummyTransactionInput = {
173
217
  clientGroupID: "unused",
174
218
  clientID: "unused",
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","query2","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","zeroNodePg","assertString","Pool","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","createZeroServer","createServerActions","database","pool","externalPool","schema","models","queries","mutations","mutationValidators","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","dbString","pgPool","connectionString","ssl","includes","rejectUnauthorized","on","error","console","message","client","zeroDb","permissions","environment","adminRoleMode","processor","handleMutationRequest","authData","request","skipAsyncTasks","asyncTasks","mutators","can","response","process","length","Promise","all","map","task","catch","err","Error","name","args","startsWith","table","slice","objOrId","perm","where","eb","buildPermissionQuery","one","queryName","params","query2","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","options","scoped","modelMutators","mutator","transaction","tx","resolvedAuth","promise","t","awaitEffects","mutate","Proxy","get","_","_2","arg","output","dummyTransactionInput","query","cb","run","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -27,133 +27,154 @@ function createZeroServer(param) {
27
27
  defaultAllowAdminRole = "all",
28
28
  defaultMutateAuthData = {}
29
29
  } = param;
30
- setSchema(schema), setEnvironment("server");
30
+ setSchema(schema);
31
+ setEnvironment("server");
31
32
  var pool;
32
- if (externalPool) pool = externalPool;else {
33
- var dbString = assertString(database, 'createZeroServer "database"'),
34
- pgPool = new Pool({
35
- connectionString: dbString,
36
- // handle self-signed certificates in production
37
- ssl: dbString.includes("sslmode=require") ? {
38
- rejectUnauthorized: !1
39
- } : void 0
40
- });
33
+ if (externalPool) {
34
+ pool = externalPool;
35
+ } else {
36
+ var dbString = assertString(database, `createZeroServer "database"`);
37
+ var pgPool = new Pool({
38
+ connectionString: dbString,
39
+ // handle self-signed certificates in production
40
+ ssl: dbString.includes("sslmode=require") ? {
41
+ rejectUnauthorized: false
42
+ } : void 0
43
+ });
41
44
  pgPool.on("error", function (error) {
42
- console.error("[on-zero] pool error", error.message);
43
- }), pgPool.on("connect", function (client) {
45
+ console.error(`[on-zero] pool error`, error.message);
46
+ });
47
+ pgPool.on("connect", function (client) {
44
48
  client.on("error", function (error) {
45
- console.error("[on-zero] client error", error.message);
49
+ console.error(`[on-zero] client error`, error.message);
46
50
  });
47
- }), pool = pgPool;
51
+ });
52
+ pool = pgPool;
48
53
  }
49
- var zeroDb = zeroNodePg(schema, pool),
50
- permissions = createPermissions({
54
+ var zeroDb = zeroNodePg(schema, pool);
55
+ var permissions = createPermissions({
56
+ environment: "server",
57
+ schema,
58
+ adminRoleMode: defaultAllowAdminRole
59
+ });
60
+ var processor = new PushProcessor(zeroDb);
61
+ var handleMutationRequest = async function (param2) {
62
+ var {
63
+ authData,
64
+ request,
65
+ skipAsyncTasks
66
+ } = param2;
67
+ var asyncTasks = [];
68
+ var mutators = createMutators({
69
+ asyncTasks,
70
+ can: permissions.can,
71
+ createServerActions,
51
72
  environment: "server",
52
- schema,
53
- adminRoleMode: defaultAllowAdminRole
54
- }),
55
- processor = new PushProcessor(zeroDb),
56
- handleMutationRequest = async function (param2) {
57
- var {
58
- authData,
59
- request,
60
- skipAsyncTasks
61
- } = param2,
62
- asyncTasks = [],
63
- mutators = createMutators({
64
- asyncTasks,
65
- can: permissions.can,
66
- createServerActions,
67
- environment: "server",
68
- models,
69
- authData,
70
- validateMutation,
71
- mutationValidators
72
- }),
73
- response = await processor.process(mutators, request);
74
- return !skipAsyncTasks && asyncTasks.length && Promise.all(asyncTasks.map(function (task) {
73
+ models,
74
+ authData,
75
+ validateMutation,
76
+ mutationValidators
77
+ });
78
+ var response = await processor.process(mutators, request);
79
+ if (!skipAsyncTasks && asyncTasks.length) {
80
+ Promise.all(asyncTasks.map(function (task) {
75
81
  return runWithAuthScope(authData, task);
76
82
  })).catch(function (err) {
77
- console.error("[push] async tasks failed", err);
78
- }), {
79
- response,
80
- asyncTasks
81
- };
82
- },
83
- handleQueryRequest = async function (param2) {
84
- var {
85
- authData,
86
- request
87
- } = param2;
88
- if (!queries) throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
89
- var response = await runWithQueryContext({
90
- authData: authData || {}
91
- }, function () {
92
- return zeroHandleQueryRequest(function (name, args) {
93
- if (name.startsWith("permission.")) {
94
- var table = name.slice(11),
95
- {
96
- objOrId
97
- } = args,
98
- perm = getMutationsPermissions(table);
99
- if (!perm) throw new Error(`[permission] no permission defined for table: ${table}`);
100
- setEvaluatingPermission(!0);
101
- try {
102
- return getZQL()[table].where(function (eb) {
103
- return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
104
- }).one();
105
- } finally {
106
- setEvaluatingPermission(!1);
107
- }
83
+ console.error(`[push] async tasks failed`, err);
84
+ });
85
+ }
86
+ return {
87
+ response,
88
+ asyncTasks
89
+ };
90
+ };
91
+ var handleQueryRequest = async function (param2) {
92
+ var {
93
+ authData,
94
+ request
95
+ } = param2;
96
+ if (!queries) {
97
+ throw new Error("No queries registered with createZeroServer. Pass the syncedQueries registry to createZeroServer via the queries option.");
98
+ }
99
+ var response = await runWithQueryContext({
100
+ authData: authData || {}
101
+ }, function () {
102
+ return zeroHandleQueryRequest(function (name, args) {
103
+ if (name.startsWith("permission.")) {
104
+ var table = name.slice("permission.".length);
105
+ var {
106
+ objOrId
107
+ } = args;
108
+ var perm = getMutationsPermissions(table);
109
+ if (!perm) {
110
+ throw new Error(`[permission] no permission defined for table: ${table}`);
111
+ }
112
+ setEvaluatingPermission(true);
113
+ try {
114
+ return getZQL()[table].where(function (eb) {
115
+ return permissions.buildPermissionQuery(authData, eb, perm, objOrId, table);
116
+ }).one();
117
+ } finally {
118
+ setEvaluatingPermission(false);
108
119
  }
109
- validateQuery && validateQuery({
120
+ }
121
+ if (validateQuery) {
122
+ validateQuery({
110
123
  authData,
111
124
  queryName: name,
112
125
  params: args
113
126
  });
114
- var _$query = mustGetQuery(queries, name);
115
- return _$query.fn({
116
- args,
117
- ctx: authData
118
- });
119
- }, schema, request);
120
- });
121
- return {
122
- response
123
- };
127
+ }
128
+ var _$query = mustGetQuery(queries, name);
129
+ return _$query.fn({
130
+ args,
131
+ ctx: authData
132
+ });
133
+ }, schema, request);
134
+ });
135
+ return {
136
+ response
124
137
  };
138
+ };
125
139
  async function runMutate(modelName, mutatorName, mutatorArg, options) {
126
- var authData = options?.authData;
140
+ var authData = options === null || options === void 0 ? void 0 : options.authData;
127
141
  if (!authData) {
128
142
  var scoped = getScopedAuthData();
129
- scoped && (authData = scoped);
143
+ if (scoped) {
144
+ authData = scoped;
145
+ }
130
146
  }
131
- var asyncTasks = [],
132
- mutators = createMutators({
133
- models,
134
- environment: "server",
135
- asyncTasks,
136
- authData: {
137
- ...defaultMutateAuthData,
138
- ...authData
139
- },
140
- createServerActions,
141
- can: permissions.can,
142
- validateMutation,
143
- mutationValidators
144
- }),
145
- modelMutators = mutators[modelName],
146
- mutator = modelMutators[mutatorName];
147
- if (await transaction(async function (tx) {
147
+ var asyncTasks = [];
148
+ var mutators = createMutators({
149
+ models,
150
+ environment: "server",
151
+ asyncTasks,
152
+ authData: {
153
+ ...defaultMutateAuthData,
154
+ ...authData
155
+ },
156
+ createServerActions,
157
+ can: permissions.can,
158
+ validateMutation,
159
+ mutationValidators
160
+ });
161
+ var modelMutators = mutators[modelName];
162
+ var mutator = modelMutators[mutatorName];
163
+ await transaction(async function (tx) {
148
164
  await mutator(tx, mutatorArg);
149
- }), asyncTasks.length) {
150
- var resolvedAuth = authData ?? null,
151
- promise = Promise.all(asyncTasks.map(function (t) {
152
- return runWithAuthScope(resolvedAuth, t);
153
- }));
154
- options?.awaitEffects ? await promise : promise.catch(function (err) {
155
- console.error("[mutate] async tasks failed", err);
156
- });
165
+ });
166
+ if (asyncTasks.length) {
167
+ var resolvedAuth = authData !== null && authData !== void 0 ? authData : null;
168
+ var promise = Promise.all(asyncTasks.map(function (t) {
169
+ return runWithAuthScope(resolvedAuth, t);
170
+ }));
171
+ if (options === null || options === void 0 ? void 0 : options.awaitEffects) {
172
+ await promise;
173
+ } else {
174
+ promise.catch(function (err) {
175
+ console.error(`[mutate] async tasks failed`, err);
176
+ });
177
+ }
157
178
  }
158
179
  }
159
180
  var mutate = new Proxy({}, {
@@ -178,7 +199,10 @@ function createZeroServer(param) {
178
199
  var output = await zeroDb.transaction(query2, dummyTransactionInput);
179
200
  return output;
180
201
  } catch (err) {
181
- throw err?.name !== "PermissionError" && console.error(`Error running transaction(): ${err}`), err;
202
+ if ((err === null || err === void 0 ? void 0 : err.name) !== "PermissionError") {
203
+ console.error(`Error running transaction(): ${err}`);
204
+ }
205
+ throw err;
182
206
  }
183
207
  }
184
208
  function query(cb, authData) {
@@ -187,11 +211,17 @@ function createZeroServer(param) {
187
211
  return tx.run(cb(getZQL()));
188
212
  });
189
213
  };
190
- return authData !== void 0 ? runWithQueryContext({
191
- authData
192
- }, run) : run();
214
+ if (authData !== void 0) {
215
+ return runWithQueryContext({
216
+ authData
217
+ }, run);
218
+ }
219
+ return run();
220
+ }
221
+ if (queries) {
222
+ setCustomQueries(queries);
193
223
  }
194
- queries && setCustomQueries(queries), setRunner(function (queryObj) {
224
+ setRunner(function (queryObj) {
195
225
  return transaction(async function (tx) {
196
226
  return tx.run(queryObj);
197
227
  });