Skip to content

Commit 1b7b5bd

Browse files
authored
fix: improve consistency of generated guard code (#616)
1 parent ac688a4 commit 1b7b5bd

File tree

15 files changed

+44
-27
lines changed

15 files changed

+44
-27
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "zenstack-monorepo",
3-
"version": "1.0.0-beta.13",
3+
"version": "1.0.0-beta.15",
44
"description": "",
55
"scripts": {
66
"build": "pnpm -r build",

packages/language/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@zenstackhq/language",
3-
"version": "1.0.0-beta.13",
3+
"version": "1.0.0-beta.15",
44
"displayName": "ZenStack modeling language compiler",
55
"description": "ZenStack modeling language compiler",
66
"homepage": "https://zenstack.dev",

packages/plugins/openapi/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/openapi",
33
"displayName": "ZenStack Plugin and Runtime for OpenAPI",
4-
"version": "1.0.0-beta.13",
4+
"version": "1.0.0-beta.15",
55
"description": "ZenStack plugin and runtime supporting OpenAPI",
66
"main": "index.js",
77
"repository": {

packages/plugins/swr/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/swr",
33
"displayName": "ZenStack plugin for generating SWR hooks",
4-
"version": "1.0.0-beta.13",
4+
"version": "1.0.0-beta.15",
55
"description": "ZenStack plugin for generating SWR hooks",
66
"main": "index.js",
77
"repository": {

packages/plugins/tanstack-query/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/tanstack-query",
33
"displayName": "ZenStack plugin for generating tanstack-query hooks",
4-
"version": "1.0.0-beta.13",
4+
"version": "1.0.0-beta.15",
55
"description": "ZenStack plugin for generating tanstack-query hooks",
66
"main": "index.js",
77
"exports": {

packages/plugins/trpc/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/trpc",
33
"displayName": "ZenStack plugin for tRPC",
4-
"version": "1.0.0-beta.13",
4+
"version": "1.0.0-beta.15",
55
"description": "ZenStack plugin for tRPC",
66
"main": "index.js",
77
"repository": {

packages/runtime/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/runtime",
33
"displayName": "ZenStack Runtime Library",
4-
"version": "1.0.0-beta.13",
4+
"version": "1.0.0-beta.15",
55
"description": "Runtime of ZenStack for both client-side and server-side environments.",
66
"repository": {
77
"type": "git",

packages/schema/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"publisher": "zenstack",
44
"displayName": "ZenStack Language Tools",
55
"description": "A toolkit for building secure CRUD apps with Next.js + Typescript",
6-
"version": "1.0.0-beta.13",
6+
"version": "1.0.0-beta.15",
77
"author": {
88
"name": "ZenStack Team"
99
},

packages/schema/src/plugins/access-policy/expression-writer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ type FilterOperators =
4343

4444
// { OR: [] } filters to nothing, { AND: [] } includes everything
4545
// https://www.prisma.io/docs/concepts/components/prisma-client/null-and-undefined#the-effect-of-null-and-undefined-on-conditionals
46-
const TRUE = '{ AND: [] }';
47-
const FALSE = '{ OR: [] }';
46+
export const TRUE = '{ AND: [] }';
47+
export const FALSE = '{ OR: [] }';
4848

4949
/**
5050
* Utility for writing ZModel expression as Prisma query argument objects into a ts-morph writer

packages/schema/src/plugins/access-policy/policy-guard-generator.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ import {
5050
TypeScriptExpressionTransformerError,
5151
} from '../../utils/typescript-expression-transformer';
5252
import { ALL_OPERATION_KINDS, getDefaultOutputFolder } from '../plugin-utils';
53-
import { ExpressionWriter } from './expression-writer';
53+
import { ExpressionWriter, FALSE, TRUE } from './expression-writer';
5454
import { isFutureExpr } from './utils';
5555

5656
/**
@@ -414,10 +414,10 @@ export default class PolicyGenerator {
414414
});
415415
try {
416416
denies.forEach((rule) => {
417-
writer.write(`if (${transformer.transform(rule, false)}) { return false; }`);
417+
writer.write(`if (${transformer.transform(rule, false)}) { return ${FALSE}; }`);
418418
});
419419
allows.forEach((rule) => {
420-
writer.write(`if (${transformer.transform(rule, false)}) { return true; }`);
420+
writer.write(`if (${transformer.transform(rule, false)}) { return ${TRUE}; }`);
421421
});
422422
} catch (err) {
423423
if (err instanceof TypeScriptExpressionTransformerError) {
@@ -426,7 +426,7 @@ export default class PolicyGenerator {
426426
throw err;
427427
}
428428
}
429-
writer.write('return false;');
429+
writer.write(`return ${FALSE};`);
430430
});
431431
} else {
432432
statements.push((writer) => {

0 commit comments

Comments
 (0)