on-zero 0.6.22 → 0.7.0
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/createPermissions.cjs +0 -2
- package/dist/cjs/createPermissions.native.js +0 -2
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createZeroSQLiteServer.test.cjs +97 -0
- package/dist/cjs/createZeroSQLiteServer.test.native.js +108 -0
- package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
- package/dist/cjs/mutations.cjs +4 -11
- package/dist/cjs/mutations.native.js +4 -11
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/esm/createPermissions.mjs +0 -2
- package/dist/esm/createPermissions.mjs.map +1 -1
- package/dist/esm/createPermissions.native.js +0 -2
- package/dist/esm/createPermissions.native.js.map +1 -1
- package/dist/esm/createZeroSQLiteServer.test.mjs +97 -0
- package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
- package/dist/esm/createZeroSQLiteServer.test.native.js +108 -0
- package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
- package/dist/esm/mutations.mjs +4 -11
- package/dist/esm/mutations.mjs.map +1 -1
- package/dist/esm/mutations.native.js +4 -11
- package/dist/esm/mutations.native.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +27 -8
- package/src/createPermissions.ts +0 -2
- package/src/createZeroSQLiteServer.test.ts +94 -0
- package/src/mutations.ts +7 -21
- package/types/createPermissions.d.ts.map +1 -1
- package/types/mutations.d.ts +1 -1
- package/types/mutations.d.ts.map +1 -1
- package/dist/cjs/helpers/didRunPermissionCheck.cjs +0 -36
- package/dist/cjs/helpers/didRunPermissionCheck.native.js +0 -41
- package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +0 -1
- package/dist/esm/helpers/didRunPermissionCheck.mjs +0 -10
- package/dist/esm/helpers/didRunPermissionCheck.mjs.map +0 -1
- package/dist/esm/helpers/didRunPermissionCheck.native.js +0 -12
- package/dist/esm/helpers/didRunPermissionCheck.native.js.map +0 -1
- package/src/helpers/didRunPermissionCheck.ts +0 -16
- package/types/helpers/didRunPermissionCheck.d.ts +0 -4
- package/types/helpers/didRunPermissionCheck.d.ts.map +0 -1
|
@@ -4,6 +4,8 @@ import { asQueryInternals } from "@rocicorp/zero/bindings";
|
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, test } from "vitest";
|
|
5
5
|
import { createZeroSQLiteServer } from "./createZeroSQLiteServer.mjs";
|
|
6
6
|
import { zeroHttpFixtureSchema } from "./httpPull/fixtureSchema.mjs";
|
|
7
|
+
import { mutations } from "./mutations.mjs";
|
|
8
|
+
import { serverWhere } from "./serverWhere.mjs";
|
|
7
9
|
const note = table("note").from("note_records").columns({
|
|
8
10
|
id: string().from("note_id"),
|
|
9
11
|
done: boolean(),
|
|
@@ -252,6 +254,101 @@ describe("createZeroSQLiteServer", () => {
|
|
|
252
254
|
message: "rejected"
|
|
253
255
|
});
|
|
254
256
|
});
|
|
257
|
+
test("allows a custom CRUD mutation to no-op without an automatic permission check", async () => {
|
|
258
|
+
const projectPermission = serverWhere("project", q => q.cmp("ownerId", "u1"));
|
|
259
|
+
const projectMutations = mutations("project", projectPermission, {
|
|
260
|
+
insert: async () => {}
|
|
261
|
+
});
|
|
262
|
+
const server = createZeroSQLiteServer({
|
|
263
|
+
schema: zeroHttpFixtureSchema,
|
|
264
|
+
models: {
|
|
265
|
+
project: {
|
|
266
|
+
mutate: projectMutations
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
createServerActions: () => ({}),
|
|
270
|
+
transactionProvider
|
|
271
|
+
});
|
|
272
|
+
const result = await server.handleMutationRequest({
|
|
273
|
+
authData: {
|
|
274
|
+
id: "u1",
|
|
275
|
+
role: "user"
|
|
276
|
+
},
|
|
277
|
+
request: pushRequest(1, "project.insert", {
|
|
278
|
+
id: "p1",
|
|
279
|
+
ownerId: "u1",
|
|
280
|
+
name: "skip"
|
|
281
|
+
})
|
|
282
|
+
});
|
|
283
|
+
expect(result.response.mutations[0].result).toEqual({});
|
|
284
|
+
expect(db.prepare("SELECT * FROM project").all()).toEqual([]);
|
|
285
|
+
});
|
|
286
|
+
test("rolls back when a custom CRUD mutation throws", async () => {
|
|
287
|
+
const projectPermission = serverWhere("project", q => q.cmp("ownerId", "u1"));
|
|
288
|
+
const projectMutations = mutations("project", projectPermission, {
|
|
289
|
+
insert: async ({
|
|
290
|
+
tx
|
|
291
|
+
}, value) => {
|
|
292
|
+
await tx.mutate.project.insert(value);
|
|
293
|
+
throw new Error("denied by custom validation");
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
const server = createZeroSQLiteServer({
|
|
297
|
+
schema: zeroHttpFixtureSchema,
|
|
298
|
+
models: {
|
|
299
|
+
project: {
|
|
300
|
+
mutate: projectMutations
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
createServerActions: () => ({}),
|
|
304
|
+
transactionProvider
|
|
305
|
+
});
|
|
306
|
+
const result = await server.handleMutationRequest({
|
|
307
|
+
authData: {
|
|
308
|
+
id: "u2",
|
|
309
|
+
role: "user"
|
|
310
|
+
},
|
|
311
|
+
request: pushRequest(1, "project.insert", {
|
|
312
|
+
id: "p2",
|
|
313
|
+
ownerId: "u2",
|
|
314
|
+
name: "unauthorized"
|
|
315
|
+
})
|
|
316
|
+
});
|
|
317
|
+
expect(result.response.mutations[0].result).toMatchObject({
|
|
318
|
+
error: "app",
|
|
319
|
+
message: "denied by custom validation"
|
|
320
|
+
});
|
|
321
|
+
expect(db.prepare("SELECT * FROM project").all()).toEqual([]);
|
|
322
|
+
});
|
|
323
|
+
test("permission-checks generated CRUD mutations", async () => {
|
|
324
|
+
let inserted;
|
|
325
|
+
let permissionChecks = 0;
|
|
326
|
+
const projectPermission = serverWhere("project", q => q.cmp("ownerId", "u1"));
|
|
327
|
+
const projectMutations = mutations("project", projectPermission);
|
|
328
|
+
const value = {
|
|
329
|
+
id: "p3",
|
|
330
|
+
ownerId: "u2",
|
|
331
|
+
name: "unauthorized"
|
|
332
|
+
};
|
|
333
|
+
await expect(projectMutations.insert({
|
|
334
|
+
tx: {
|
|
335
|
+
mutate: {
|
|
336
|
+
project: {
|
|
337
|
+
insert: async row => {
|
|
338
|
+
inserted = row;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
can: async (_where, row) => {
|
|
344
|
+
permissionChecks++;
|
|
345
|
+
expect(row).toEqual(value);
|
|
346
|
+
throw new Error("denied");
|
|
347
|
+
}
|
|
348
|
+
}, value)).rejects.toThrow("denied");
|
|
349
|
+
expect(inserted).toEqual(value);
|
|
350
|
+
expect(permissionChecks).toBe(1);
|
|
351
|
+
});
|
|
255
352
|
test("recovers duplicate results and deletes them through the cleanup mutation", async () => {
|
|
256
353
|
const server = createZeroSQLiteServer({
|
|
257
354
|
schema: zeroHttpFixtureSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatabaseSync","boolean","createSchema","json","relationships","string","table","asQueryInternals","afterEach","beforeEach","describe","expect","test","createZeroSQLiteServer","zeroHttpFixtureSchema","note","from","columns","id","done","data","optional","primaryKey","sqliteTypesSchema","tables","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","db","retryNextTransaction","transactionProvider","statements","exec","join","executor","sql","params","push","result","prepare","run","changes","Number","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","close","effectRuns","server","schema","models","project","mutate","create","tx","server2","insert","enqueueTask","barrier","createServerActions","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","asyncTasks","toHaveLength","toBe","task","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one","dbTransaction","publicTable","kind","related","hydrated","receivedQueryName","hydratedExecutor","_ast","_format","queryName","hydratedProvider","nameAndArgs"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DatabaseSync","boolean","createSchema","json","relationships","string","table","asQueryInternals","afterEach","beforeEach","describe","expect","test","createZeroSQLiteServer","zeroHttpFixtureSchema","mutations","serverWhere","note","from","columns","id","done","data","optional","primaryKey","sqliteTypesSchema","tables","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","db","retryNextTransaction","transactionProvider","statements","exec","join","executor","sql","params","push","result","prepare","run","changes","Number","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","close","effectRuns","server","schema","models","project","mutate","create","tx","server2","insert","enqueueTask","barrier","createServerActions","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","asyncTasks","toHaveLength","toBe","task","fail","toMatchObject","message","get","stored","projectPermission","q","cmp","projectMutations","role","inserted","permissionChecks","can","_where","rejects","toThrow","value2","duplicate","count","upsert","update","delete","resolves","transaction","location","one","dbTransaction","publicTable","kind","related","hydrated","receivedQueryName","hydratedExecutor","_ast","_format","queryName","hydratedProvider","nameAndArgs"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,8 @@ import { asQueryInternals } from "@rocicorp/zero/bindings";
|
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, test } from "vitest";
|
|
5
5
|
import { createZeroSQLiteServer } from "./createZeroSQLiteServer.native.js";
|
|
6
6
|
import { zeroHttpFixtureSchema } from "./httpPull/fixtureSchema.native.js";
|
|
7
|
+
import { mutations } from "./mutations.native.js";
|
|
8
|
+
import { serverWhere } from "./serverWhere.native.js";
|
|
7
9
|
var note = table("note").from("note_records").columns({
|
|
8
10
|
id: string().from("note_id"),
|
|
9
11
|
done: boolean(),
|
|
@@ -266,6 +268,112 @@ describe("createZeroSQLiteServer", function () {
|
|
|
266
268
|
message: "rejected"
|
|
267
269
|
});
|
|
268
270
|
});
|
|
271
|
+
test("allows a custom CRUD mutation to no-op without an automatic permission check", async function () {
|
|
272
|
+
var projectPermission = serverWhere("project", function (q) {
|
|
273
|
+
return q.cmp("ownerId", "u1");
|
|
274
|
+
});
|
|
275
|
+
var projectMutations = mutations("project", projectPermission, {
|
|
276
|
+
insert: async function () {}
|
|
277
|
+
});
|
|
278
|
+
var server = createZeroSQLiteServer({
|
|
279
|
+
schema: zeroHttpFixtureSchema,
|
|
280
|
+
models: {
|
|
281
|
+
project: {
|
|
282
|
+
mutate: projectMutations
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
createServerActions: function () {
|
|
286
|
+
return {};
|
|
287
|
+
},
|
|
288
|
+
transactionProvider
|
|
289
|
+
});
|
|
290
|
+
var result = await server.handleMutationRequest({
|
|
291
|
+
authData: {
|
|
292
|
+
id: "u1",
|
|
293
|
+
role: "user"
|
|
294
|
+
},
|
|
295
|
+
request: pushRequest(1, "project.insert", {
|
|
296
|
+
id: "p1",
|
|
297
|
+
ownerId: "u1",
|
|
298
|
+
name: "skip"
|
|
299
|
+
})
|
|
300
|
+
});
|
|
301
|
+
expect(result.response.mutations[0].result).toEqual({});
|
|
302
|
+
expect(db.prepare("SELECT * FROM project").all()).toEqual([]);
|
|
303
|
+
});
|
|
304
|
+
test("rolls back when a custom CRUD mutation throws", async function () {
|
|
305
|
+
var projectPermission = serverWhere("project", function (q) {
|
|
306
|
+
return q.cmp("ownerId", "u1");
|
|
307
|
+
});
|
|
308
|
+
var projectMutations = mutations("project", projectPermission, {
|
|
309
|
+
insert: async function (param, value) {
|
|
310
|
+
var {
|
|
311
|
+
tx
|
|
312
|
+
} = param;
|
|
313
|
+
await tx.mutate.project.insert(value);
|
|
314
|
+
throw new Error("denied by custom validation");
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
var server = createZeroSQLiteServer({
|
|
318
|
+
schema: zeroHttpFixtureSchema,
|
|
319
|
+
models: {
|
|
320
|
+
project: {
|
|
321
|
+
mutate: projectMutations
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
createServerActions: function () {
|
|
325
|
+
return {};
|
|
326
|
+
},
|
|
327
|
+
transactionProvider
|
|
328
|
+
});
|
|
329
|
+
var result = await server.handleMutationRequest({
|
|
330
|
+
authData: {
|
|
331
|
+
id: "u2",
|
|
332
|
+
role: "user"
|
|
333
|
+
},
|
|
334
|
+
request: pushRequest(1, "project.insert", {
|
|
335
|
+
id: "p2",
|
|
336
|
+
ownerId: "u2",
|
|
337
|
+
name: "unauthorized"
|
|
338
|
+
})
|
|
339
|
+
});
|
|
340
|
+
expect(result.response.mutations[0].result).toMatchObject({
|
|
341
|
+
error: "app",
|
|
342
|
+
message: "denied by custom validation"
|
|
343
|
+
});
|
|
344
|
+
expect(db.prepare("SELECT * FROM project").all()).toEqual([]);
|
|
345
|
+
});
|
|
346
|
+
test("permission-checks generated CRUD mutations", async function () {
|
|
347
|
+
var inserted;
|
|
348
|
+
var permissionChecks = 0;
|
|
349
|
+
var projectPermission = serverWhere("project", function (q) {
|
|
350
|
+
return q.cmp("ownerId", "u1");
|
|
351
|
+
});
|
|
352
|
+
var projectMutations = mutations("project", projectPermission);
|
|
353
|
+
var value = {
|
|
354
|
+
id: "p3",
|
|
355
|
+
ownerId: "u2",
|
|
356
|
+
name: "unauthorized"
|
|
357
|
+
};
|
|
358
|
+
await expect(projectMutations.insert({
|
|
359
|
+
tx: {
|
|
360
|
+
mutate: {
|
|
361
|
+
project: {
|
|
362
|
+
insert: async function (row) {
|
|
363
|
+
inserted = row;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
can: async function (_where, row) {
|
|
369
|
+
permissionChecks++;
|
|
370
|
+
expect(row).toEqual(value);
|
|
371
|
+
throw new Error("denied");
|
|
372
|
+
}
|
|
373
|
+
}, value)).rejects.toThrow("denied");
|
|
374
|
+
expect(inserted).toEqual(value);
|
|
375
|
+
expect(permissionChecks).toBe(1);
|
|
376
|
+
});
|
|
269
377
|
test("recovers duplicate results and deletes them through the cleanup mutation", async function () {
|
|
270
378
|
var server = createZeroSQLiteServer({
|
|
271
379
|
schema: zeroHttpFixtureSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DatabaseSync","boolean","createSchema","json","relationships","string","table","asQueryInternals","afterEach","beforeEach","describe","expect","test","createZeroSQLiteServer","zeroHttpFixtureSchema","note","from","columns","id","done","data","optional","primaryKey","sqliteTypesSchema","tables","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","db","retryNextTransaction","transactionProvider","statements","exec","join","executor","sql","params","arguments","length","push","result","prepare","run","changes","Number","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","close","effectRuns","server","schema","models","project","mutate","create","tx","server2","insert","enqueueTask","barrier","createServerActions","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","asyncTasks","toHaveLength","toBe","task","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one","dbTransaction"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DatabaseSync","boolean","createSchema","json","relationships","string","table","asQueryInternals","afterEach","beforeEach","describe","expect","test","createZeroSQLiteServer","zeroHttpFixtureSchema","mutations","serverWhere","note","from","columns","id","done","data","optional","primaryKey","sqliteTypesSchema","tables","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","db","retryNextTransaction","transactionProvider","statements","exec","join","executor","sql","params","arguments","length","push","result","prepare","run","changes","Number","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","close","effectRuns","server","schema","models","project","mutate","create","tx","server2","insert","enqueueTask","barrier","createServerActions","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","asyncTasks","toHaveLength","toBe","task","fail","toMatchObject","message","get","stored","projectPermission","q","cmp","projectMutations","role","inserted","permissionChecks","can","_where","rejects","toThrow","value2","duplicate","count","upsert","update","delete","resolves"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/mutations.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { IS_SERVER_RUNTIME } from "@take-out/helpers";
|
|
2
|
-
import { getDidRunPermissionCheck } from "./helpers/didRunPermissionCheck.mjs";
|
|
3
2
|
import { setMutationsPermissions } from "./modelRegistry.mjs";
|
|
4
3
|
function mutationRegistry() {
|
|
5
4
|
const global = globalThis;
|
|
@@ -45,11 +44,10 @@ function mutations(table, permissions, mutations2) {
|
|
|
45
44
|
if (permissions) {
|
|
46
45
|
const tableName = typeof table === "string" ? table : table.schema.name;
|
|
47
46
|
const createCRUDMutation = action => {
|
|
47
|
+
const customMutation = mutations2?.[action];
|
|
48
|
+
if (customMutation) return customMutation;
|
|
48
49
|
return async (ctx, obj) => {
|
|
49
50
|
const runServerPermissionCheck = async () => {
|
|
50
|
-
if (getDidRunPermissionCheck(ctx)) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
51
|
if (IS_SERVER_RUNTIME) {
|
|
54
52
|
await ctx.can(permissions, obj);
|
|
55
53
|
}
|
|
@@ -57,12 +55,7 @@ function mutations(table, permissions, mutations2) {
|
|
|
57
55
|
if (action !== "insert" && action !== "upsert") {
|
|
58
56
|
await runServerPermissionCheck();
|
|
59
57
|
}
|
|
60
|
-
|
|
61
|
-
if (existing) {
|
|
62
|
-
await existing(ctx, obj);
|
|
63
|
-
} else {
|
|
64
|
-
await ctx.tx.mutate[tableName][action](obj);
|
|
65
|
-
}
|
|
58
|
+
await ctx.tx.mutate[tableName][action](obj);
|
|
66
59
|
if (action === "insert" || action === "upsert") {
|
|
67
60
|
await runServerPermissionCheck();
|
|
68
61
|
}
|
|
@@ -76,7 +69,7 @@ function mutations(table, permissions, mutations2) {
|
|
|
76
69
|
};
|
|
77
70
|
const finalMutations = {
|
|
78
71
|
...mutations2,
|
|
79
|
-
//
|
|
72
|
+
// generated CRUD fills missing operations; custom CRUD runs as-is
|
|
80
73
|
...crudMutations
|
|
81
74
|
};
|
|
82
75
|
setMutationsPermissions(tableName, permissions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IS_SERVER_RUNTIME","
|
|
1
|
+
{"version":3,"names":["IS_SERVER_RUNTIME","setMutationsPermissions","mutationRegistry","global","globalThis","__onZeroMutationRegistry__","Map","proxyRegistry","__onZeroProxyRegistry__","getOrCreateMutationProxy","tableName","implementations","set","existing","get","proxy","Proxy","_","key","ownKeys","current","Object","keys","getOwnPropertyDescriptor","enumerable","configurable","value","has","mutations","table","permissions","mutations2","schema","name","createCRUDMutation","action","customMutation","ctx","obj","runServerPermissionCheck","can","tx","mutate","crudMutations","insert","update","delete","upsert","finalMutations"],"sources":["../../src/mutations.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { IS_SERVER_RUNTIME } from "@take-out/helpers";
|
|
2
|
-
import { getDidRunPermissionCheck } from "./helpers/didRunPermissionCheck.native.js";
|
|
3
2
|
import { setMutationsPermissions } from "./modelRegistry.native.js";
|
|
4
3
|
function mutationRegistry() {
|
|
5
4
|
var _global;
|
|
@@ -48,11 +47,10 @@ function mutations(table, permissions, mutations2) {
|
|
|
48
47
|
if (permissions) {
|
|
49
48
|
var tableName = typeof table === "string" ? table : table.schema.name;
|
|
50
49
|
var createCRUDMutation = function (action) {
|
|
50
|
+
var customMutation = mutations2 === null || mutations2 === void 0 ? void 0 : mutations2[action];
|
|
51
|
+
if (customMutation) return customMutation;
|
|
51
52
|
return async function (ctx, obj) {
|
|
52
53
|
var runServerPermissionCheck = async function () {
|
|
53
|
-
if (getDidRunPermissionCheck(ctx)) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
54
|
if (IS_SERVER_RUNTIME) {
|
|
57
55
|
await ctx.can(permissions, obj);
|
|
58
56
|
}
|
|
@@ -60,12 +58,7 @@ function mutations(table, permissions, mutations2) {
|
|
|
60
58
|
if (action !== "insert" && action !== "upsert") {
|
|
61
59
|
await runServerPermissionCheck();
|
|
62
60
|
}
|
|
63
|
-
|
|
64
|
-
if (existing) {
|
|
65
|
-
await existing(ctx, obj);
|
|
66
|
-
} else {
|
|
67
|
-
await ctx.tx.mutate[tableName][action](obj);
|
|
68
|
-
}
|
|
61
|
+
await ctx.tx.mutate[tableName][action](obj);
|
|
69
62
|
if (action === "insert" || action === "upsert") {
|
|
70
63
|
await runServerPermissionCheck();
|
|
71
64
|
}
|
|
@@ -79,7 +72,7 @@ function mutations(table, permissions, mutations2) {
|
|
|
79
72
|
};
|
|
80
73
|
var finalMutations = {
|
|
81
74
|
...mutations2,
|
|
82
|
-
//
|
|
75
|
+
// generated CRUD fills missing operations; custom CRUD runs as-is
|
|
83
76
|
...crudMutations
|
|
84
77
|
};
|
|
85
78
|
setMutationsPermissions(tableName, permissions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IS_SERVER_RUNTIME","
|
|
1
|
+
{"version":3,"names":["IS_SERVER_RUNTIME","setMutationsPermissions","mutationRegistry","_global","global","globalThis","__onZeroMutationRegistry__","Map","proxyRegistry","__onZeroProxyRegistry__","getOrCreateMutationProxy","tableName","implementations","set","existing","get","proxy","Proxy","_","key","_mutationRegistry_get","ownKeys","current","Object","keys","getOwnPropertyDescriptor","enumerable","configurable","value","has","mutations","table","permissions","mutations2","schema","name","createCRUDMutation","action","customMutation","ctx","obj","runServerPermissionCheck","can","tx","mutate","crudMutations","insert","update","delete","upsert","finalMutations"],"sources":["../../src/mutations.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "on-zero",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
102
|
"dependencies": {
|
|
103
|
-
"@take-out/helpers": "0.
|
|
103
|
+
"@take-out/helpers": "0.7.0",
|
|
104
104
|
"chokidar": "^4.0.3",
|
|
105
105
|
"citty": "^0.1.6",
|
|
106
106
|
"valibot": "^1.1.0"
|
package/readme.md
CHANGED
|
@@ -101,7 +101,7 @@ derived from drizzle — no need to define it here.
|
|
|
101
101
|
|
|
102
102
|
```ts
|
|
103
103
|
// src/data/mutations/message.ts
|
|
104
|
-
import { mutations, serverWhere } from 'on-zero'
|
|
104
|
+
import { ensureLoggedIn, mutations, serverWhere } from 'on-zero'
|
|
105
105
|
|
|
106
106
|
const permissions = serverWhere('message', (q, auth) => {
|
|
107
107
|
return q.cmp('authorId', auth?.id || '')
|
|
@@ -109,16 +109,20 @@ const permissions = serverWhere('message', (q, auth) => {
|
|
|
109
109
|
|
|
110
110
|
// pass table name as string — types are inferred from schema
|
|
111
111
|
export const mutate = mutations('message', permissions, {
|
|
112
|
-
async send(
|
|
113
|
-
|
|
112
|
+
async send(
|
|
113
|
+
ctx,
|
|
114
|
+
props: { id: string; content: string; channelId: string; createdAt: number },
|
|
115
|
+
) {
|
|
116
|
+
const auth = ensureLoggedIn()
|
|
114
117
|
|
|
115
118
|
await ctx.tx.mutate.message.insert({
|
|
116
|
-
id:
|
|
119
|
+
id: props.id,
|
|
117
120
|
content: props.content,
|
|
118
121
|
channelId: props.channelId,
|
|
119
|
-
authorId:
|
|
120
|
-
createdAt:
|
|
122
|
+
authorId: auth.id,
|
|
123
|
+
createdAt: props.createdAt,
|
|
121
124
|
})
|
|
125
|
+
await ctx.can(permissions, props.id)
|
|
122
126
|
|
|
123
127
|
if (ctx.server) {
|
|
124
128
|
ctx.server.enqueueTask(async () => {
|
|
@@ -132,7 +136,12 @@ export const mutate = mutations('message', permissions, {
|
|
|
132
136
|
call mutations from react:
|
|
133
137
|
|
|
134
138
|
```tsx
|
|
135
|
-
await zero.mutate.message.send({
|
|
139
|
+
await zero.mutate.message.send({
|
|
140
|
+
id: randomId(),
|
|
141
|
+
content: 'hello',
|
|
142
|
+
channelId: 'ch-1',
|
|
143
|
+
createdAt: Date.now(),
|
|
144
|
+
})
|
|
136
145
|
```
|
|
137
146
|
|
|
138
147
|
the second argument (`permissions`) enables auto-generated crud that checks
|
|
@@ -145,6 +154,14 @@ zero.mutate.message.delete(message)
|
|
|
145
154
|
zero.mutate.message.upsert(message)
|
|
146
155
|
```
|
|
147
156
|
|
|
157
|
+
if you define `insert`, `upsert`, `update`, or `delete` in the third argument,
|
|
158
|
+
that handler replaces the generated operation completely. on-zero does not add
|
|
159
|
+
an automatic permission check or write. validate however the handler needs to;
|
|
160
|
+
`ctx.can()` is available for query-based permissions, but any thrown error
|
|
161
|
+
rejects and rolls back the transaction. when using `ctx.can()`, check before an
|
|
162
|
+
update or delete. for an insert, write first and then check so the permission
|
|
163
|
+
query can see the new row. a custom handler can no-op with a normal `return`.
|
|
164
|
+
|
|
148
165
|
## permissions
|
|
149
166
|
|
|
150
167
|
on-zero's permissions system is optional - you can implement your own
|
|
@@ -190,7 +207,9 @@ const permissions = serverWhere('message', (q, auth) => {
|
|
|
190
207
|
})
|
|
191
208
|
```
|
|
192
209
|
|
|
193
|
-
CRUD mutations automatically apply them
|
|
210
|
+
built-in CRUD mutations automatically apply them. custom mutations, including
|
|
211
|
+
CRUD overrides, own their validation. they can use `can()` for query-based
|
|
212
|
+
permissions or throw from any other validation:
|
|
194
213
|
|
|
195
214
|
```ts
|
|
196
215
|
await ctx.can(permissions, messageId)
|
package/src/createPermissions.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ensure } from '@take-out/helpers'
|
|
2
2
|
|
|
3
|
-
import { setDidRunPermissionCheck } from './helpers/didRunPermissionCheck'
|
|
4
3
|
import { mutatorContext } from './helpers/mutatorContext'
|
|
5
4
|
import { prettyFormatZeroQuery } from './helpers/prettyFormatZeroQuery'
|
|
6
5
|
import { getZQL } from './state'
|
|
@@ -106,7 +105,6 @@ export function createPermissions<Schema extends ZeroSchema>({
|
|
|
106
105
|
throw new Error(`Must use where('table') style where to pass to can()`)
|
|
107
106
|
}
|
|
108
107
|
await ensurePermission(ctx.tx, ctx.authData, tableName, where, obj)
|
|
109
|
-
setDidRunPermissionCheck(ctx)
|
|
110
108
|
}
|
|
111
109
|
}
|
|
112
110
|
|