From 8ccf0bacf282facb1b3580fe91edd6bf65a24a60 Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Mon, 21 Nov 2022 10:29:30 +0800 Subject: [PATCH] fix: change 'get' hook's id parameter to allow 'undefined' --- package.json | 2 +- packages/internal/package.json | 2 +- packages/runtime/package.json | 2 +- packages/schema/package.json | 2 +- .../schema/src/generator/react-hooks/index.ts | 2 +- samples/todo/components/AuthGuard.tsx | 2 +- samples/todo/components/BreadCrumb.tsx | 6 +-- samples/todo/package-lock.json | 50 +++++++++---------- samples/todo/package.json | 8 +-- .../pages/space/[slug]/[listId]/index.tsx | 23 +++++---- 10 files changed, 51 insertions(+), 48 deletions(-) diff --git a/package.json b/package.json index f56011ede..6678de452 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-monorepo", - "version": "0.3.8", + "version": "0.3.9", "description": "", "scripts": { "build": "pnpm -r build", diff --git a/packages/internal/package.json b/packages/internal/package.json index 3081d4d44..c4f420314 100644 --- a/packages/internal/package.json +++ b/packages/internal/package.json @@ -1,6 +1,6 @@ { "name": "@zenstackhq/internal", - "version": "0.3.8", + "version": "0.3.9", "displayName": "ZenStack Internal Library", "description": "ZenStack internal runtime library. This package is for supporting runtime functionality of ZenStack and not supposed to be used directly.", "repository": { diff --git a/packages/runtime/package.json b/packages/runtime/package.json index d54ad6719..fe6f3854b 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -1,7 +1,7 @@ { "name": "@zenstackhq/runtime", "displayName": "ZenStack Runtime Library", - "version": "0.3.8", + "version": "0.3.9", "description": "This package contains runtime library for consuming client and server side code generated by ZenStack.", "repository": { "type": "git", diff --git a/packages/schema/package.json b/packages/schema/package.json index 80d82d272..2cb3d1a5d 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -3,7 +3,7 @@ "publisher": "zenstack", "displayName": "ZenStack Language Tools", "description": "A toolkit for modeling data and access policies in full-stack development with Next.js and Typescript", - "version": "0.3.8", + "version": "0.3.9", "author": { "name": "ZenStack Team" }, diff --git a/packages/schema/src/generator/react-hooks/index.ts b/packages/schema/src/generator/react-hooks/index.ts index e2df73bfa..e402480ed 100644 --- a/packages/schema/src/generator/react-hooks/index.ts +++ b/packages/schema/src/generator/react-hooks/index.ts @@ -138,7 +138,7 @@ export default class ReactHooksGenerator implements Generator { parameters: [ { name: 'id', - type: 'String', + type: 'String | undefined', }, { name: 'args?', diff --git a/samples/todo/components/AuthGuard.tsx b/samples/todo/components/AuthGuard.tsx index 36ef8e254..bf05da434 100644 --- a/samples/todo/components/AuthGuard.tsx +++ b/samples/todo/components/AuthGuard.tsx @@ -9,7 +9,7 @@ export default function AuthGuard({ children }: Props) { if (status === 'loading') { return

Loading...

; } else if (status === 'unauthenticated') { - signIn(); + signIn(undefined, { callbackUrl: '/' }); return <>; } else { return <>{children}; diff --git a/samples/todo/components/BreadCrumb.tsx b/samples/todo/components/BreadCrumb.tsx index cfc973d1d..6b02bb4fa 100644 --- a/samples/todo/components/BreadCrumb.tsx +++ b/samples/todo/components/BreadCrumb.tsx @@ -19,10 +19,10 @@ export default function BreadCrumb() { items.push({ text: 'Home', link: '/' }); items.push({ text: space?.name || '', link: `/space/${slug}` }); - if (listId) { - const { data } = getList(listId); + const { data: list } = getList(listId); + if (list) { items.push({ - text: data?.title || '', + text: list?.title || '', link: `/space/${slug}/${listId}`, }); } diff --git a/samples/todo/package-lock.json b/samples/todo/package-lock.json index f7130ad13..f4b1e71c4 100644 --- a/samples/todo/package-lock.json +++ b/samples/todo/package-lock.json @@ -1,17 +1,17 @@ { "name": "todo", - "version": "0.3.8", + "version": "0.3.9", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "todo", - "version": "0.3.8", + "version": "0.3.9", "dependencies": { "@heroicons/react": "^2.0.12", "@prisma/client": "^4.4.0", - "@zenstackhq/internal": "^0.3.8", - "@zenstackhq/runtime": "^0.3.8", + "@zenstackhq/internal": "^0.3.9", + "@zenstackhq/runtime": "^0.3.9", "bcryptjs": "^2.4.3", "daisyui": "^2.31.0", "moment": "^2.29.4", @@ -36,7 +36,7 @@ "postcss": "^8.4.16", "tailwindcss": "^3.1.8", "typescript": "^4.6.2", - "zenstack": "^0.3.8" + "zenstack": "^0.3.9" } }, "node_modules/@babel/code-frame": { @@ -723,9 +723,9 @@ } }, "node_modules/@zenstackhq/internal": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.8.tgz", - "integrity": "sha512-h99TnZuYruHRdVSJ253o9cRxpY6QUa6Dkoi+hxhw43toaGkJ4I2HVH3iCpkGhKgyvihfl6cj9mvIU+DHJ67mJA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.9.tgz", + "integrity": "sha512-dyJW7+WYpTLHiwvZG9GoFn5RJF20Seq/wHiugVYtqLxEnH0Ow7MXLslBnKzTd4Z1TA5/nGY8kynyfiHIhjUPqg==", "dependencies": { "bcryptjs": "^2.4.3", "colors": "1.4.0", @@ -744,9 +744,9 @@ } }, "node_modules/@zenstackhq/runtime": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.8.tgz", - "integrity": "sha512-EuWPBSUrWxhnncVLECSLBXLvHTwRrL5tWU+r6dp1bG1yWduj0kG9V4YIqzAyqV8EWk2BnGKKRBHCARoOtNWT/Q==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.9.tgz", + "integrity": "sha512-qskz4iVf04c/xsXDQkoMx+BdsjWQj47tHz/PEcuctAeYK9TFjSq/mPBVXIV+ZDsYoEJBz3Utc5JXr93PWer9Hg==", "dependencies": { "@zenstackhq/internal": "latest" }, @@ -4587,12 +4587,12 @@ } }, "node_modules/zenstack": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.8.tgz", - "integrity": "sha512-ratdTBrswZgUem+vuQbclBf7OV1Ww0CRFvrlZmnTfeI4ObRgIfi+DanYl8zBjys9qKyZ7SoLXmcbu9lBGTcxdw==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.9.tgz", + "integrity": "sha512-2RAVQE1jPMwO+Y+yHSjAkZ4q/B881ZoUMy6F2PrDBWS0TS7l+FDmsn1DEkhmkKxL3D1P6KetfFz8IYiS0NVaBA==", "dev": true, "dependencies": { - "@zenstackhq/internal": "0.3.8", + "@zenstackhq/internal": "0.3.9", "async-exit-hook": "^2.0.1", "change-case": "^4.1.2", "chevrotain": "^9.1.0", @@ -5111,9 +5111,9 @@ } }, "@zenstackhq/internal": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.8.tgz", - "integrity": "sha512-h99TnZuYruHRdVSJ253o9cRxpY6QUa6Dkoi+hxhw43toaGkJ4I2HVH3iCpkGhKgyvihfl6cj9mvIU+DHJ67mJA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@zenstackhq/internal/-/internal-0.3.9.tgz", + "integrity": "sha512-dyJW7+WYpTLHiwvZG9GoFn5RJF20Seq/wHiugVYtqLxEnH0Ow7MXLslBnKzTd4Z1TA5/nGY8kynyfiHIhjUPqg==", "requires": { "bcryptjs": "^2.4.3", "colors": "1.4.0", @@ -5126,9 +5126,9 @@ } }, "@zenstackhq/runtime": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.8.tgz", - "integrity": "sha512-EuWPBSUrWxhnncVLECSLBXLvHTwRrL5tWU+r6dp1bG1yWduj0kG9V4YIqzAyqV8EWk2BnGKKRBHCARoOtNWT/Q==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.9.tgz", + "integrity": "sha512-qskz4iVf04c/xsXDQkoMx+BdsjWQj47tHz/PEcuctAeYK9TFjSq/mPBVXIV+ZDsYoEJBz3Utc5JXr93PWer9Hg==", "requires": { "@zenstackhq/internal": "latest" } @@ -7914,12 +7914,12 @@ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "zenstack": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.8.tgz", - "integrity": "sha512-ratdTBrswZgUem+vuQbclBf7OV1Ww0CRFvrlZmnTfeI4ObRgIfi+DanYl8zBjys9qKyZ7SoLXmcbu9lBGTcxdw==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.9.tgz", + "integrity": "sha512-2RAVQE1jPMwO+Y+yHSjAkZ4q/B881ZoUMy6F2PrDBWS0TS7l+FDmsn1DEkhmkKxL3D1P6KetfFz8IYiS0NVaBA==", "dev": true, "requires": { - "@zenstackhq/internal": "0.3.8", + "@zenstackhq/internal": "0.3.9", "async-exit-hook": "^2.0.1", "change-case": "^4.1.2", "chevrotain": "^9.1.0", diff --git a/samples/todo/package.json b/samples/todo/package.json index 3a7c3d855..620af9d33 100644 --- a/samples/todo/package.json +++ b/samples/todo/package.json @@ -1,6 +1,6 @@ { "name": "todo", - "version": "0.3.8", + "version": "0.3.9", "private": true, "scripts": { "dev": "next dev", @@ -20,8 +20,8 @@ "dependencies": { "@heroicons/react": "^2.0.12", "@prisma/client": "^4.4.0", - "@zenstackhq/internal": "^0.3.8", - "@zenstackhq/runtime": "^0.3.8", + "@zenstackhq/internal": "^0.3.9", + "@zenstackhq/runtime": "^0.3.9", "bcryptjs": "^2.4.3", "daisyui": "^2.31.0", "moment": "^2.29.4", @@ -46,6 +46,6 @@ "postcss": "^8.4.16", "tailwindcss": "^3.1.8", "typescript": "^4.6.2", - "zenstack": "^0.3.8" + "zenstack": "^0.3.9" } } diff --git a/samples/todo/pages/space/[slug]/[listId]/index.tsx b/samples/todo/pages/space/[slug]/[listId]/index.tsx index 40752a3b2..8e61bcdde 100644 --- a/samples/todo/pages/space/[slug]/[listId]/index.tsx +++ b/samples/todo/pages/space/[slug]/[listId]/index.tsx @@ -14,17 +14,20 @@ export default function TodoList() { const [title, setTitle] = useState(''); const { data: list } = getList(router.query.listId as string); - const { data: todos, mutate: invalidateTodos } = findTodos({ - where: { - listId: list?.id, - }, - include: { - owner: true, - }, - orderBy: { - updatedAt: 'desc', + const { data: todos, mutate: invalidateTodos } = findTodos( + { + where: { + listId: list?.id, + }, + include: { + owner: true, + }, + orderBy: { + updatedAt: 'desc', + }, }, - }); + { disabled: !list } + ); if (!list) { return

Loading ...

;