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.
- package/dist/cjs/asyncTasks.cjs +51 -0
- package/dist/cjs/asyncTasks.native.js +84 -0
- package/dist/cjs/asyncTasks.native.js.map +1 -0
- package/dist/cjs/cli.cjs +8 -1
- package/dist/cjs/cli.native.js +8 -1
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
- package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createZeroDirectServer.cjs +269 -0
- package/dist/cjs/createZeroDirectServer.native.js +287 -0
- package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
- package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
- package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
- package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
- package/dist/cjs/createZeroSQLiteServer.test.cjs +36 -9
- package/dist/cjs/createZeroSQLiteServer.test.native.js +37 -9
- package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
- package/dist/cjs/createZeroServer.test.cjs +79 -1
- package/dist/cjs/createZeroServer.test.native.js +85 -1
- package/dist/cjs/createZeroServer.test.native.js.map +1 -1
- package/dist/cjs/createZeroServerCore.cjs +28 -208
- package/dist/cjs/createZeroServerCore.native.js +33 -218
- package/dist/cjs/createZeroServerCore.native.js.map +1 -1
- package/dist/cjs/generate.cjs +15 -5
- package/dist/cjs/generate.native.js +15 -5
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.cjs +55 -0
- package/dist/cjs/generate.test.native.js +55 -0
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.cjs +2 -2
- package/dist/cjs/helpers/createMutators.native.js +2 -2
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/server.cjs +2 -1
- package/dist/cjs/sqliteRuntime.cjs +318 -0
- package/dist/cjs/sqliteRuntime.native.js +438 -0
- package/dist/cjs/sqliteRuntime.native.js.map +1 -0
- package/dist/cjs/syncHost.cjs +26 -12
- package/dist/cjs/syncHost.native.js +32 -16
- package/dist/cjs/syncHost.native.js.map +1 -1
- package/dist/cjs/syncHost.test.cjs +15 -4
- package/dist/cjs/syncHost.test.native.js +16 -4
- package/dist/cjs/syncHost.test.native.js.map +1 -1
- package/dist/cjs/vite-plugin.cjs +2 -1
- package/dist/cjs/vite-plugin.native.js +2 -1
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/esm/asyncTasks.mjs +26 -0
- package/dist/esm/asyncTasks.mjs.map +1 -0
- package/dist/esm/asyncTasks.native.js +56 -0
- package/dist/esm/asyncTasks.native.js.map +1 -0
- package/dist/esm/cli.mjs +8 -1
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +8 -1
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
- package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
- package/dist/esm/createZeroDirectServer.mjs +241 -0
- package/dist/esm/createZeroDirectServer.mjs.map +1 -0
- package/dist/esm/createZeroDirectServer.native.js +256 -0
- package/dist/esm/createZeroDirectServer.native.js.map +1 -0
- package/dist/esm/createZeroSQLiteServer.mjs +3 -272
- package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
- package/dist/esm/createZeroSQLiteServer.native.js +3 -385
- package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
- package/dist/esm/createZeroSQLiteServer.test.mjs +36 -9
- package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
- package/dist/esm/createZeroSQLiteServer.test.native.js +37 -9
- package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
- package/dist/esm/createZeroServer.test.mjs +80 -2
- package/dist/esm/createZeroServer.test.mjs.map +1 -1
- package/dist/esm/createZeroServer.test.native.js +86 -2
- package/dist/esm/createZeroServer.test.native.js.map +1 -1
- package/dist/esm/createZeroServerCore.mjs +26 -205
- package/dist/esm/createZeroServerCore.mjs.map +1 -1
- package/dist/esm/createZeroServerCore.native.js +32 -216
- package/dist/esm/createZeroServerCore.native.js.map +1 -1
- package/dist/esm/generate.mjs +15 -5
- package/dist/esm/generate.mjs.map +1 -1
- package/dist/esm/generate.native.js +15 -5
- package/dist/esm/generate.native.js.map +1 -1
- package/dist/esm/generate.test.mjs +55 -1
- package/dist/esm/generate.test.mjs.map +1 -1
- package/dist/esm/generate.test.native.js +55 -1
- package/dist/esm/generate.test.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +2 -2
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +2 -2
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/server.mjs +1 -0
- package/dist/esm/server.mjs.map +1 -1
- package/dist/esm/sqliteRuntime.mjs +289 -0
- package/dist/esm/sqliteRuntime.mjs.map +1 -0
- package/dist/esm/sqliteRuntime.native.js +406 -0
- package/dist/esm/sqliteRuntime.native.js.map +1 -0
- package/dist/esm/syncHost.mjs +24 -10
- package/dist/esm/syncHost.mjs.map +1 -1
- package/dist/esm/syncHost.native.js +30 -14
- package/dist/esm/syncHost.native.js.map +1 -1
- package/dist/esm/syncHost.test.mjs +15 -4
- package/dist/esm/syncHost.test.mjs.map +1 -1
- package/dist/esm/syncHost.test.native.js +16 -4
- package/dist/esm/syncHost.test.native.js.map +1 -1
- package/dist/esm/vite-plugin.mjs +2 -1
- package/dist/esm/vite-plugin.mjs.map +1 -1
- package/dist/esm/vite-plugin.native.js +2 -1
- package/dist/esm/vite-plugin.native.js.map +1 -1
- package/lint/ssr-guards.js +8 -7
- package/package.json +5 -6
- package/readme.md +13 -4
- package/src/asyncTasks.ts +33 -0
- package/src/cli.ts +7 -1
- package/src/createSchemaFromDrizzle.ts +2 -2
- package/src/createZeroDirectServer.ts +411 -0
- package/src/createZeroSQLiteServer.test.ts +28 -12
- package/src/createZeroSQLiteServer.ts +14 -481
- package/src/createZeroServer.test.ts +86 -2
- package/src/createZeroServerCore.ts +39 -343
- package/src/generate.test.ts +75 -1
- package/src/generate.ts +30 -4
- package/src/helpers/createMutators.ts +3 -3
- package/src/helpers/mutatorContext.ts +1 -1
- package/src/index.ts +1 -0
- package/src/server.ts +2 -0
- package/src/sqliteRuntime.ts +512 -0
- package/src/syncHost.test.ts +12 -5
- package/src/syncHost.ts +55 -16
- package/src/types.ts +21 -3
- package/src/vite-plugin.ts +1 -0
- package/test-fixtures/server-return-types.ts +20 -2
- package/types/asyncTasks.d.ts +7 -0
- package/types/asyncTasks.d.ts.map +1 -0
- package/types/createSchemaFromDrizzle.d.ts +2 -2
- package/types/createSchemaFromDrizzle.d.ts.map +1 -1
- package/types/createZeroDirectServer.d.ts +80 -0
- package/types/createZeroDirectServer.d.ts.map +1 -0
- package/types/createZeroSQLiteServer.d.ts +5 -30
- package/types/createZeroSQLiteServer.d.ts.map +1 -1
- package/types/createZeroServerCore.d.ts +30 -87
- package/types/createZeroServerCore.d.ts.map +1 -1
- package/types/generate.d.ts +2 -0
- package/types/generate.d.ts.map +1 -1
- package/types/helpers/createMutators.d.ts +3 -3
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/server.d.ts +2 -0
- package/types/server.d.ts.map +1 -1
- package/types/sqliteRuntime.d.ts +71 -0
- package/types/sqliteRuntime.d.ts.map +1 -0
- package/types/syncHost.d.ts +10 -19
- package/types/syncHost.d.ts.map +1 -1
- package/types/types.d.ts +18 -2
- package/types/types.d.ts.map +1 -1
- 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 {
|
|
2
|
+
import { runAsyncTaskEntries } from "./asyncTasks.mjs";
|
|
3
|
+
import { createAsyncTaskCollector, createZeroDirectServerRuntime, resolveServerQuery } from "./createZeroDirectServer.mjs";
|
|
4
4
|
import { createMutators } from "./helpers/createMutators.mjs";
|
|
5
|
-
import {
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
151
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
161
|
-
return
|
|
162
|
-
|
|
163
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":["
|
|
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":[]}
|