on-zero 0.6.14 → 0.6.16

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 (163) hide show
  1. package/dist/cjs/asyncTasks.cjs +51 -0
  2. package/dist/cjs/asyncTasks.native.js +84 -0
  3. package/dist/cjs/asyncTasks.native.js.map +1 -0
  4. package/dist/cjs/cli.cjs +8 -1
  5. package/dist/cjs/cli.native.js +8 -1
  6. package/dist/cjs/cli.native.js.map +1 -1
  7. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  8. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  9. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  10. package/dist/cjs/createZeroDirectServer.cjs +269 -0
  11. package/dist/cjs/createZeroDirectServer.native.js +287 -0
  12. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  13. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  14. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  15. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  16. package/dist/cjs/createZeroSQLiteServer.test.cjs +36 -9
  17. package/dist/cjs/createZeroSQLiteServer.test.native.js +37 -9
  18. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  19. package/dist/cjs/createZeroServer.test.cjs +79 -1
  20. package/dist/cjs/createZeroServer.test.native.js +85 -1
  21. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  22. package/dist/cjs/createZeroServerCore.cjs +28 -208
  23. package/dist/cjs/createZeroServerCore.native.js +33 -218
  24. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  25. package/dist/cjs/generate.cjs +15 -5
  26. package/dist/cjs/generate.native.js +15 -5
  27. package/dist/cjs/generate.native.js.map +1 -1
  28. package/dist/cjs/generate.test.cjs +55 -0
  29. package/dist/cjs/generate.test.native.js +55 -0
  30. package/dist/cjs/generate.test.native.js.map +1 -1
  31. package/dist/cjs/helpers/createMutators.cjs +2 -2
  32. package/dist/cjs/helpers/createMutators.native.js +2 -2
  33. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  34. package/dist/cjs/index.cjs +1 -0
  35. package/dist/cjs/index.native.js +1 -0
  36. package/dist/cjs/index.native.js.map +1 -1
  37. package/dist/cjs/server.cjs +2 -1
  38. package/dist/cjs/sqliteRuntime.cjs +318 -0
  39. package/dist/cjs/sqliteRuntime.native.js +438 -0
  40. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  41. package/dist/cjs/syncHost.cjs +26 -12
  42. package/dist/cjs/syncHost.native.js +32 -16
  43. package/dist/cjs/syncHost.native.js.map +1 -1
  44. package/dist/cjs/syncHost.test.cjs +15 -4
  45. package/dist/cjs/syncHost.test.native.js +16 -4
  46. package/dist/cjs/syncHost.test.native.js.map +1 -1
  47. package/dist/cjs/vite-plugin.cjs +2 -1
  48. package/dist/cjs/vite-plugin.native.js +2 -1
  49. package/dist/cjs/vite-plugin.native.js.map +1 -1
  50. package/dist/esm/asyncTasks.mjs +26 -0
  51. package/dist/esm/asyncTasks.mjs.map +1 -0
  52. package/dist/esm/asyncTasks.native.js +56 -0
  53. package/dist/esm/asyncTasks.native.js.map +1 -0
  54. package/dist/esm/cli.mjs +8 -1
  55. package/dist/esm/cli.mjs.map +1 -1
  56. package/dist/esm/cli.native.js +8 -1
  57. package/dist/esm/cli.native.js.map +1 -1
  58. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  59. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  60. package/dist/esm/createZeroDirectServer.mjs +241 -0
  61. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  62. package/dist/esm/createZeroDirectServer.native.js +256 -0
  63. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  64. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  65. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  66. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  67. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  68. package/dist/esm/createZeroSQLiteServer.test.mjs +36 -9
  69. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  70. package/dist/esm/createZeroSQLiteServer.test.native.js +37 -9
  71. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  72. package/dist/esm/createZeroServer.test.mjs +80 -2
  73. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  74. package/dist/esm/createZeroServer.test.native.js +86 -2
  75. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  76. package/dist/esm/createZeroServerCore.mjs +26 -205
  77. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  78. package/dist/esm/createZeroServerCore.native.js +32 -216
  79. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  80. package/dist/esm/generate.mjs +15 -5
  81. package/dist/esm/generate.mjs.map +1 -1
  82. package/dist/esm/generate.native.js +15 -5
  83. package/dist/esm/generate.native.js.map +1 -1
  84. package/dist/esm/generate.test.mjs +55 -1
  85. package/dist/esm/generate.test.mjs.map +1 -1
  86. package/dist/esm/generate.test.native.js +55 -1
  87. package/dist/esm/generate.test.native.js.map +1 -1
  88. package/dist/esm/helpers/createMutators.mjs +2 -2
  89. package/dist/esm/helpers/createMutators.mjs.map +1 -1
  90. package/dist/esm/helpers/createMutators.native.js +2 -2
  91. package/dist/esm/helpers/createMutators.native.js.map +1 -1
  92. package/dist/esm/index.js +1 -0
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/index.mjs +1 -0
  95. package/dist/esm/index.mjs.map +1 -1
  96. package/dist/esm/index.native.js +1 -0
  97. package/dist/esm/index.native.js.map +1 -1
  98. package/dist/esm/server.mjs +1 -0
  99. package/dist/esm/server.mjs.map +1 -1
  100. package/dist/esm/sqliteRuntime.mjs +289 -0
  101. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  102. package/dist/esm/sqliteRuntime.native.js +406 -0
  103. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  104. package/dist/esm/syncHost.mjs +24 -10
  105. package/dist/esm/syncHost.mjs.map +1 -1
  106. package/dist/esm/syncHost.native.js +30 -14
  107. package/dist/esm/syncHost.native.js.map +1 -1
  108. package/dist/esm/syncHost.test.mjs +15 -4
  109. package/dist/esm/syncHost.test.mjs.map +1 -1
  110. package/dist/esm/syncHost.test.native.js +16 -4
  111. package/dist/esm/syncHost.test.native.js.map +1 -1
  112. package/dist/esm/vite-plugin.mjs +2 -1
  113. package/dist/esm/vite-plugin.mjs.map +1 -1
  114. package/dist/esm/vite-plugin.native.js +2 -1
  115. package/dist/esm/vite-plugin.native.js.map +1 -1
  116. package/lint/ssr-guards.js +8 -7
  117. package/package.json +5 -6
  118. package/readme.md +13 -4
  119. package/src/asyncTasks.ts +33 -0
  120. package/src/cli.ts +7 -1
  121. package/src/createSchemaFromDrizzle.ts +2 -2
  122. package/src/createZeroDirectServer.ts +411 -0
  123. package/src/createZeroSQLiteServer.test.ts +28 -12
  124. package/src/createZeroSQLiteServer.ts +14 -481
  125. package/src/createZeroServer.test.ts +86 -2
  126. package/src/createZeroServerCore.ts +39 -343
  127. package/src/generate.test.ts +75 -1
  128. package/src/generate.ts +30 -4
  129. package/src/helpers/createMutators.ts +3 -3
  130. package/src/helpers/mutatorContext.ts +1 -1
  131. package/src/index.ts +1 -0
  132. package/src/server.ts +2 -0
  133. package/src/sqliteRuntime.ts +512 -0
  134. package/src/syncHost.test.ts +12 -5
  135. package/src/syncHost.ts +55 -16
  136. package/src/types.ts +21 -3
  137. package/src/vite-plugin.ts +1 -0
  138. package/test-fixtures/server-return-types.ts +20 -2
  139. package/types/asyncTasks.d.ts +7 -0
  140. package/types/asyncTasks.d.ts.map +1 -0
  141. package/types/createSchemaFromDrizzle.d.ts +2 -2
  142. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  143. package/types/createZeroDirectServer.d.ts +80 -0
  144. package/types/createZeroDirectServer.d.ts.map +1 -0
  145. package/types/createZeroSQLiteServer.d.ts +5 -30
  146. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  147. package/types/createZeroServerCore.d.ts +30 -87
  148. package/types/createZeroServerCore.d.ts.map +1 -1
  149. package/types/generate.d.ts +2 -0
  150. package/types/generate.d.ts.map +1 -1
  151. package/types/helpers/createMutators.d.ts +3 -3
  152. package/types/helpers/createMutators.d.ts.map +1 -1
  153. package/types/index.d.ts +1 -0
  154. package/types/index.d.ts.map +1 -1
  155. package/types/server.d.ts +2 -0
  156. package/types/server.d.ts.map +1 -1
  157. package/types/sqliteRuntime.d.ts +71 -0
  158. package/types/sqliteRuntime.d.ts.map +1 -0
  159. package/types/syncHost.d.ts +10 -19
  160. package/types/syncHost.d.ts.map +1 -1
  161. package/types/types.d.ts +18 -2
  162. package/types/types.d.ts.map +1 -1
  163. package/types/vite-plugin.d.ts.map +1 -1
@@ -1,113 +1,14 @@
1
- import { mustGetQuery } from "@rocicorp/zero";
2
1
  import { PushProcessor, handleQueryRequest as zeroHandleQueryRequest } from "@rocicorp/zero/server";
3
- import { createPermissions } from "./createPermissions.mjs";
2
+ import { runAsyncTaskEntries } from "./asyncTasks.mjs";
3
+ import { createAsyncTaskCollector, createZeroDirectServerRuntime, resolveServerQuery } from "./createZeroDirectServer.mjs";
4
4
  import { createMutators } from "./helpers/createMutators.mjs";
5
- import { getScopedAuthData, isInZeroMutation, mutatorContext, runWithAuthScope } from "./helpers/mutatorContext.mjs";
5
+ import { runWithAuthScope } from "./helpers/mutatorContext.mjs";
6
6
  import { runWithQueryContext } from "./helpers/queryContext.mjs";
7
- import { getMutationsPermissions } from "./modelRegistry.mjs";
8
- import { setCustomQueries } from "./run.mjs";
9
- import { getZQL, setEnvironment, setSchema } from "./state.mjs";
10
- import { setEvaluatingPermission } from "./where.mjs";
11
- import { setRunner } from "./zeroRunner.mjs";
12
- function resolveServerQuery({
13
- authData,
14
- name,
15
- args,
16
- queries,
17
- permissions,
18
- validateQuery
19
- }) {
20
- if (name.startsWith("permission.")) {
21
- const table = name.slice("permission.".length);
22
- const {
23
- objOrId
24
- } = args;
25
- const permission = getMutationsPermissions(table);
26
- if (!permission) {
27
- throw new Error(`[permission] no permission defined for table: ${table}`);
28
- }
29
- setEvaluatingPermission(true);
30
- try {
31
- return getZQL()[table].where(eb => {
32
- return permissions.buildPermissionQuery(authData, eb, permission, objOrId, table);
33
- }).one();
34
- } finally {
35
- setEvaluatingPermission(false);
36
- }
37
- }
38
- if (validateQuery) {
39
- validateQuery({
40
- authData,
41
- queryName: name,
42
- params: args
43
- });
44
- }
45
- const query = mustGetQuery(queries, name);
46
- return query.fn({
47
- args,
48
- ctx: authData
49
- });
50
- }
51
- function createAsyncTaskCollector() {
52
- const committed = [];
53
- let attempt;
54
- let completedAttempt;
55
- const current = () => attempt ?? committed;
56
- const queue = new Proxy([], {
57
- deleteProperty(_target, property) {
58
- return Reflect.deleteProperty(current(), property);
59
- },
60
- get(_target, property) {
61
- const target = current();
62
- const value = Reflect.get(target, property, target);
63
- return typeof value === "function" ? value.bind(target) : value;
64
- },
65
- getOwnPropertyDescriptor(_target, property) {
66
- return Reflect.getOwnPropertyDescriptor(current(), property);
67
- },
68
- has(_target, property) {
69
- return Reflect.has(current(), property);
70
- },
71
- ownKeys() {
72
- return Reflect.ownKeys(current());
73
- },
74
- set(_target, property, value) {
75
- return Reflect.set(current(), property, value);
76
- }
77
- });
78
- const lifecycle = {
79
- beginAttempt() {
80
- attempt = [];
81
- completedAttempt = void 0;
82
- },
83
- completeAttempt() {
84
- completedAttempt = attempt;
85
- attempt = void 0;
86
- },
87
- rollbackAttempt() {
88
- attempt = void 0;
89
- completedAttempt = void 0;
90
- },
91
- commitTransaction() {
92
- if (completedAttempt) committed.push(...completedAttempt);
93
- completedAttempt = void 0;
94
- },
95
- rollbackTransaction() {
96
- attempt = void 0;
97
- completedAttempt = void 0;
98
- }
99
- };
100
- return {
101
- committed,
102
- lifecycle,
103
- queue
104
- };
105
- }
106
7
  function createZeroServerCore({
107
8
  createDatabase,
108
9
  createServerActions,
109
10
  defaultAllowAdminRole = "all",
110
- defaultMutateAuthData = {},
11
+ defaultMutateAuthData,
111
12
  models,
112
13
  mutations: mutationValidators,
113
14
  persistAlreadyProcessed,
@@ -116,12 +17,20 @@ function createZeroServerCore({
116
17
  validateMutation,
117
18
  validateQuery
118
19
  }) {
119
- setSchema(schema);
120
- setEnvironment("server");
121
- const permissions = createPermissions({
122
- environment: "server",
20
+ const {
21
+ permissions,
22
+ server
23
+ } = createZeroDirectServerRuntime({
24
+ createDatabase,
25
+ createServerActions,
26
+ defaultAllowAdminRole,
27
+ defaultMutateAuthData,
28
+ models,
29
+ mutations: mutationValidators,
30
+ queries,
123
31
  schema,
124
- adminRoleMode: defaultAllowAdminRole
32
+ validateMutation,
33
+ validateQuery
125
34
  });
126
35
  const handleMutationRequest = async ({
127
36
  authData,
@@ -131,7 +40,7 @@ function createZeroServerCore({
131
40
  const tasks = createAsyncTaskCollector();
132
41
  const recoveryRequest = request.clone();
133
42
  const mutators = createMutators({
134
- asyncTasks: tasks.queue,
43
+ enqueueTask: tasks.enqueueTask,
135
44
  can: permissions.can,
136
45
  createServerActions,
137
46
  environment: "server",
@@ -147,8 +56,12 @@ function createZeroServerCore({
147
56
  if (parsed) await persistAlreadyProcessed(parsed);
148
57
  }
149
58
  if (!skipAsyncTasks && tasks.committed.length) {
150
- Promise.all(tasks.committed.map(task => runWithAuthScope(authData, task))).catch(err => {
151
- console.error("[push] async tasks failed", err);
59
+ const entries = tasks.committed.map(entry => ({
60
+ ...entry,
61
+ task: () => runWithAuthScope(authData, entry.task)
62
+ }));
63
+ await runAsyncTaskEntries(entries, {
64
+ background: () => void 0
152
65
  });
153
66
  }
154
67
  return {
@@ -186,96 +99,10 @@ function createZeroServerCore({
186
99
  response
187
100
  };
188
101
  };
189
- async function runTransaction(database, query2) {
190
- try {
191
- if (isInZeroMutation()) {
192
- const {
193
- tx
194
- } = mutatorContext();
195
- return await query2(tx);
196
- }
197
- return await database.transaction(query2, dummyTransactionInput);
198
- } catch (err) {
199
- if (err?.name !== "PermissionError") {
200
- console.error(`Error running transaction(): ${err}`);
201
- }
202
- throw err;
203
- }
204
- }
205
- async function transaction(query2) {
206
- return runTransaction(createDatabase(), query2);
207
- }
208
- async function runMutate(modelName, mutatorName, mutatorArg, options) {
209
- let authData = options?.authData;
210
- if (!authData) {
211
- const scoped = getScopedAuthData();
212
- if (scoped) authData = scoped;
213
- }
214
- const tasks = createAsyncTaskCollector();
215
- const mutators = createMutators({
216
- models,
217
- environment: "server",
218
- asyncTasks: tasks.queue,
219
- authData: {
220
- ...defaultMutateAuthData,
221
- ...authData
222
- },
223
- createServerActions,
224
- can: permissions.can,
225
- validateMutation,
226
- mutationValidators
227
- });
228
- const modelMutators = mutators[modelName];
229
- const mutator = modelMutators[mutatorName];
230
- await runTransaction(withTransactionLifecycle(createDatabase(), tasks.lifecycle), async tx => {
231
- await mutator(tx, mutatorArg);
232
- });
233
- if (tasks.committed.length) {
234
- const resolvedAuth = authData ?? null;
235
- const promise = Promise.all(tasks.committed.map(task => runWithAuthScope(resolvedAuth, task)));
236
- if (options?.awaitEffects) {
237
- await promise;
238
- } else {
239
- promise.catch(err => {
240
- console.error("[mutate] async tasks failed", err);
241
- });
242
- }
243
- }
244
- }
245
- const mutate = new Proxy({}, {
246
- get(_, modelName) {
247
- return new Proxy({}, {
248
- get(_2, mutatorName) {
249
- return (arg, options) => runMutate(modelName, mutatorName, arg, options);
250
- }
251
- });
252
- }
253
- });
254
- function query(cb, authData) {
255
- const run = () => transaction(async tx => {
256
- return tx.run(cb(getZQL()));
257
- });
258
- if (authData !== void 0) {
259
- return runWithQueryContext({
260
- authData
261
- }, run);
262
- }
263
- return run();
264
- }
265
- if (queries) {
266
- setCustomQueries(queries);
267
- }
268
- setRunner(queryObj => {
269
- return transaction(async tx => {
270
- return tx.run(queryObj);
271
- });
272
- });
273
102
  return {
274
103
  handleMutationRequest,
275
104
  handleQueryRequest,
276
- transaction,
277
- mutate,
278
- query
105
+ ...server
279
106
  };
280
107
  }
281
108
  function withTransactionLifecycle(database, lifecycle) {
@@ -326,11 +153,5 @@ function alreadyProcessedMutations(response) {
326
153
  return !!id && typeof id === "object" && typeof id.clientID === "string" && typeof id.id === "number" && !!result && typeof result === "object" && result.error === "alreadyProcessed";
327
154
  });
328
155
  }
329
- const dummyTransactionInput = {
330
- clientGroupID: "unused",
331
- clientID: "unused",
332
- mutationID: 42,
333
- upstreamSchema: "unused"
334
- };
335
- export { createZeroServerCore, resolveServerQuery };
156
+ export { createZeroServerCore };
336
157
  //# sourceMappingURL=createZeroServerCore.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","resolveServerQuery","authData","name","args","queries","permissions","validateQuery","startsWith","table","slice","length","objOrId","permission","Error","where","eb","buildPermissionQuery","one","queryName","params","query","fn","ctx","createAsyncTaskCollector","committed","attempt","completedAttempt","current","queue","Proxy","deleteProperty","_target","property","Reflect","get","target","value","bind","getOwnPropertyDescriptor","has","ownKeys","set","lifecycle","beginAttempt","completeAttempt","rollbackAttempt","commitTransaction","push","rollbackTransaction","createZeroServerCore","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","schema","validateMutation","environment","adminRoleMode","handleMutationRequest","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","asyncTasks","can","processor","withTransactionLifecycle","response","process","parsed","parseAlreadyProcessed","Promise","all","map","task","catch","err","console","error","handler","userID","id","runTransaction","database","query2","tx","transaction","dummyTransactionInput","runMutate","modelName","mutatorName","mutatorArg","options","scoped","modelMutators","mutator","resolvedAuth","promise","awaitEffects","mutate","_","_2","arg","cb","run","queryObj","callback","input","hooks","result","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","body","json","clientGroupID","Array","isArray","filter","mutation","clientID","mutationID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","createZeroServerCore","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","authData","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,122 +1,20 @@
1
- import { mustGetQuery } from "@rocicorp/zero";
2
1
  import { PushProcessor, handleQueryRequest as zeroHandleQueryRequest } from "@rocicorp/zero/server";
3
- import { createPermissions } from "./createPermissions.native.js";
2
+ import { runAsyncTaskEntries } from "./asyncTasks.native.js";
3
+ import { createAsyncTaskCollector, createZeroDirectServerRuntime, resolveServerQuery } from "./createZeroDirectServer.native.js";
4
4
  import { createMutators } from "./helpers/createMutators.native.js";
5
- import { getScopedAuthData, isInZeroMutation, mutatorContext, runWithAuthScope } from "./helpers/mutatorContext.native.js";
5
+ import { runWithAuthScope } from "./helpers/mutatorContext.native.js";
6
6
  import { runWithQueryContext } from "./helpers/queryContext.native.js";
7
- import { getMutationsPermissions } from "./modelRegistry.native.js";
8
- import { setCustomQueries } from "./run.native.js";
9
- import { getZQL, setEnvironment, setSchema } from "./state.native.js";
10
- import { setEvaluatingPermission } from "./where.native.js";
11
- import { setRunner } from "./zeroRunner.native.js";
12
7
  function _type_of(obj) {
13
8
  "@swc/helpers - typeof";
14
9
 
15
10
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
16
11
  }
17
- function resolveServerQuery(param) {
18
- var {
19
- authData,
20
- name,
21
- args,
22
- queries,
23
- permissions,
24
- validateQuery
25
- } = param;
26
- if (name.startsWith("permission.")) {
27
- var table = name.slice("permission.".length);
28
- var {
29
- objOrId
30
- } = args;
31
- var permission = getMutationsPermissions(table);
32
- if (!permission) {
33
- throw new Error(`[permission] no permission defined for table: ${table}`);
34
- }
35
- setEvaluatingPermission(true);
36
- try {
37
- return getZQL()[table].where(function (eb) {
38
- return permissions.buildPermissionQuery(authData, eb, permission, objOrId, table);
39
- }).one();
40
- } finally {
41
- setEvaluatingPermission(false);
42
- }
43
- }
44
- if (validateQuery) {
45
- validateQuery({
46
- authData,
47
- queryName: name,
48
- params: args
49
- });
50
- }
51
- var query = mustGetQuery(queries, name);
52
- return query.fn({
53
- args,
54
- ctx: authData
55
- });
56
- }
57
- function createAsyncTaskCollector() {
58
- var committed = [];
59
- var attempt;
60
- var completedAttempt;
61
- var current = function () {
62
- return attempt !== null && attempt !== void 0 ? attempt : committed;
63
- };
64
- var queue = new Proxy([], {
65
- deleteProperty(_target, property) {
66
- return Reflect.deleteProperty(current(), property);
67
- },
68
- get(_target, property) {
69
- var target = current();
70
- var value = Reflect.get(target, property, target);
71
- return typeof value === "function" ? value.bind(target) : value;
72
- },
73
- getOwnPropertyDescriptor(_target, property) {
74
- return Reflect.getOwnPropertyDescriptor(current(), property);
75
- },
76
- has(_target, property) {
77
- return Reflect.has(current(), property);
78
- },
79
- ownKeys() {
80
- return Reflect.ownKeys(current());
81
- },
82
- set(_target, property, value) {
83
- return Reflect.set(current(), property, value);
84
- }
85
- });
86
- var lifecycle = {
87
- beginAttempt() {
88
- attempt = [];
89
- completedAttempt = void 0;
90
- },
91
- completeAttempt() {
92
- completedAttempt = attempt;
93
- attempt = void 0;
94
- },
95
- rollbackAttempt() {
96
- attempt = void 0;
97
- completedAttempt = void 0;
98
- },
99
- commitTransaction() {
100
- if (completedAttempt) committed.push(...completedAttempt);
101
- completedAttempt = void 0;
102
- },
103
- rollbackTransaction() {
104
- attempt = void 0;
105
- completedAttempt = void 0;
106
- }
107
- };
108
- return {
109
- committed,
110
- lifecycle,
111
- queue
112
- };
113
- }
114
12
  function createZeroServerCore(param) {
115
13
  var {
116
14
  createDatabase,
117
15
  createServerActions,
118
16
  defaultAllowAdminRole = "all",
119
- defaultMutateAuthData = {},
17
+ defaultMutateAuthData,
120
18
  models,
121
19
  mutations: mutationValidators,
122
20
  persistAlreadyProcessed,
@@ -125,12 +23,20 @@ function createZeroServerCore(param) {
125
23
  validateMutation,
126
24
  validateQuery
127
25
  } = param;
128
- setSchema(schema);
129
- setEnvironment("server");
130
- var permissions = createPermissions({
131
- environment: "server",
26
+ var {
27
+ permissions,
28
+ server
29
+ } = createZeroDirectServerRuntime({
30
+ createDatabase,
31
+ createServerActions,
32
+ defaultAllowAdminRole,
33
+ defaultMutateAuthData,
34
+ models,
35
+ mutations: mutationValidators,
36
+ queries,
132
37
  schema,
133
- adminRoleMode: defaultAllowAdminRole
38
+ validateMutation,
39
+ validateQuery
134
40
  });
135
41
  var handleMutationRequest = async function (param2) {
136
42
  var {
@@ -141,7 +47,7 @@ function createZeroServerCore(param) {
141
47
  var tasks = createAsyncTaskCollector();
142
48
  var recoveryRequest = request.clone();
143
49
  var mutators = createMutators({
144
- asyncTasks: tasks.queue,
50
+ enqueueTask: tasks.enqueueTask,
145
51
  can: permissions.can,
146
52
  createServerActions,
147
53
  environment: "server",
@@ -157,10 +63,18 @@ function createZeroServerCore(param) {
157
63
  if (parsed) await persistAlreadyProcessed(parsed);
158
64
  }
159
65
  if (!skipAsyncTasks && tasks.committed.length) {
160
- Promise.all(tasks.committed.map(function (task) {
161
- return runWithAuthScope(authData, task);
162
- })).catch(function (err) {
163
- console.error("[push] async tasks failed", err);
66
+ var entries = tasks.committed.map(function (entry) {
67
+ return {
68
+ ...entry,
69
+ task: function () {
70
+ return runWithAuthScope(authData, entry.task);
71
+ }
72
+ };
73
+ });
74
+ await runAsyncTaskEntries(entries, {
75
+ background: function () {
76
+ return void 0;
77
+ }
164
78
  });
165
79
  }
166
80
  return {
@@ -204,102 +118,10 @@ function createZeroServerCore(param) {
204
118
  response
205
119
  };
206
120
  };
207
- async function runTransaction(database, query2) {
208
- try {
209
- if (isInZeroMutation()) {
210
- var {
211
- tx
212
- } = mutatorContext();
213
- return await query2(tx);
214
- }
215
- return await database.transaction(query2, dummyTransactionInput);
216
- } catch (err) {
217
- if ((err === null || err === void 0 ? void 0 : err.name) !== "PermissionError") {
218
- console.error(`Error running transaction(): ${err}`);
219
- }
220
- throw err;
221
- }
222
- }
223
- async function transaction(query2) {
224
- return runTransaction(createDatabase(), query2);
225
- }
226
- async function runMutate(modelName, mutatorName, mutatorArg, options) {
227
- var authData = options === null || options === void 0 ? void 0 : options.authData;
228
- if (!authData) {
229
- var scoped = getScopedAuthData();
230
- if (scoped) authData = scoped;
231
- }
232
- var tasks = createAsyncTaskCollector();
233
- var mutators = createMutators({
234
- models,
235
- environment: "server",
236
- asyncTasks: tasks.queue,
237
- authData: {
238
- ...defaultMutateAuthData,
239
- ...authData
240
- },
241
- createServerActions,
242
- can: permissions.can,
243
- validateMutation,
244
- mutationValidators
245
- });
246
- var modelMutators = mutators[modelName];
247
- var mutator = modelMutators[mutatorName];
248
- await runTransaction(withTransactionLifecycle(createDatabase(), tasks.lifecycle), async function (tx) {
249
- await mutator(tx, mutatorArg);
250
- });
251
- if (tasks.committed.length) {
252
- var resolvedAuth = authData !== null && authData !== void 0 ? authData : null;
253
- var promise = Promise.all(tasks.committed.map(function (task) {
254
- return runWithAuthScope(resolvedAuth, task);
255
- }));
256
- if (options === null || options === void 0 ? void 0 : options.awaitEffects) {
257
- await promise;
258
- } else {
259
- promise.catch(function (err) {
260
- console.error("[mutate] async tasks failed", err);
261
- });
262
- }
263
- }
264
- }
265
- var mutate = new Proxy({}, {
266
- get(_, modelName) {
267
- return new Proxy({}, {
268
- get(_2, mutatorName) {
269
- return function (arg, options) {
270
- return runMutate(modelName, mutatorName, arg, options);
271
- };
272
- }
273
- });
274
- }
275
- });
276
- function query(cb, authData) {
277
- var run = function () {
278
- return transaction(async function (tx) {
279
- return tx.run(cb(getZQL()));
280
- });
281
- };
282
- if (authData !== void 0) {
283
- return runWithQueryContext({
284
- authData
285
- }, run);
286
- }
287
- return run();
288
- }
289
- if (queries) {
290
- setCustomQueries(queries);
291
- }
292
- setRunner(function (queryObj) {
293
- return transaction(async function (tx) {
294
- return tx.run(queryObj);
295
- });
296
- });
297
121
  return {
298
122
  handleMutationRequest,
299
123
  handleQueryRequest,
300
- transaction,
301
- mutate,
302
- query
124
+ ...server
303
125
  };
304
126
  }
305
127
  function withTransactionLifecycle(database, lifecycle) {
@@ -350,11 +172,5 @@ function alreadyProcessedMutations(response) {
350
172
  return !!id && (typeof id === "undefined" ? "undefined" : _type_of(id)) === "object" && typeof id.clientID === "string" && typeof id.id === "number" && !!result && (typeof result === "undefined" ? "undefined" : _type_of(result)) === "object" && result.error === "alreadyProcessed";
351
173
  });
352
174
  }
353
- var dummyTransactionInput = {
354
- clientGroupID: "unused",
355
- clientID: "unused",
356
- mutationID: 42,
357
- upstreamSchema: "unused"
358
- };
359
- export { createZeroServerCore, resolveServerQuery };
175
+ export { createZeroServerCore };
360
176
  //# sourceMappingURL=createZeroServerCore.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mustGetQuery","PushProcessor","handleQueryRequest","zeroHandleQueryRequest","createPermissions","createMutators","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithQueryContext","getMutationsPermissions","setCustomQueries","getZQL","setEnvironment","setSchema","setEvaluatingPermission","setRunner","_type_of","obj","Symbol","constructor","resolveServerQuery","param","authData","name","args","queries","permissions","validateQuery","startsWith","table","slice","length","objOrId","permission","Error","where","eb","buildPermissionQuery","one","queryName","params","query","fn","ctx","createAsyncTaskCollector","committed","attempt","completedAttempt","current","queue","Proxy","deleteProperty","_target","property","Reflect","get","target","value","bind","getOwnPropertyDescriptor","has","ownKeys","set","lifecycle","beginAttempt","completeAttempt","rollbackAttempt","commitTransaction","push","rollbackTransaction","createZeroServerCore","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","schema","validateMutation","environment","adminRoleMode","handleMutationRequest","param2","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","asyncTasks","can","processor","withTransactionLifecycle","response","process","parsed","parseAlreadyProcessed","Promise","all","map","task","catch","err","console","error","handler","userID","id","runTransaction","database","query2","tx","transaction","dummyTransactionInput","runMutate","modelName","mutatorName","mutatorArg","options","scoped","modelMutators","mutator","resolvedAuth","promise","awaitEffects","mutate","_","_2","arg","cb","run","queryObj","callback","input","hooks","result","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","body","json","clientGroupID","Array","isArray","filter","mutation","clientID","mutationID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","_type_of","obj","Symbol","constructor","createZeroServerCore","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","param2","authData","request","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}