From 4b54fe72849c157c8a94362b2746cf7ee5e9e07f Mon Sep 17 00:00:00 2001 From: ymc9 <104139426+ymc9@users.noreply.github.com> Date: Thu, 1 Dec 2022 10:28:43 +0800 Subject: [PATCH] chore: upgrade to Prisma 4.7 --- package.json | 2 +- packages/runtime/package.json | 2 +- packages/runtime/src/service.ts | 5 - packages/schema/package.json | 6 +- .../src/generator/prisma/schema-generator.ts | 6 +- .../schema/src/generator/react-hooks/index.ts | 4 +- pnpm-lock.yaml | 115 ++++++++++-------- samples/todo/package-lock.json | 98 +++++++-------- samples/todo/package.json | 8 +- .../pages/space/[slug]/[listId]/index.tsx | 25 ++-- tests/integration/tests/utils.ts | 2 +- 11 files changed, 140 insertions(+), 133 deletions(-) diff --git a/package.json b/package.json index a6f88f6ff..4b5b22862 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "zenstack-monorepo", - "version": "0.3.22", + "version": "0.3.23", "description": "", "scripts": { "build": "pnpm -r build", diff --git a/packages/runtime/package.json b/packages/runtime/package.json index 2261ea886..cbd507854 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.22", + "version": "0.3.23", "description": "Runtime of ZenStack for both client-side and server-side environments.", "repository": { "type": "git", diff --git a/packages/runtime/src/service.ts b/packages/runtime/src/service.ts index c72871fc4..e240f522f 100644 --- a/packages/runtime/src/service.ts +++ b/packages/runtime/src/service.ts @@ -74,11 +74,6 @@ export abstract class DefaultService< } } - console.log( - 'Initializing ZenStack service with config:', - JSON.stringify(this.config) - ); - this.prisma = this.initializePrisma(); for (const level of this.prismaLogLevels) { diff --git a/packages/schema/package.json b/packages/schema/package.json index d07c55d7d..09d1908cb 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.22", + "version": "0.3.23", "author": { "name": "ZenStack Team" }, @@ -94,7 +94,7 @@ "mixpanel": "^0.17.0", "node-machine-id": "^1.1.12", "pluralize": "^8.0.0", - "prisma": "~4.5.0", + "prisma": "~4.7.0", "promisify": "^0.0.3", "sleep-promise": "^9.1.0", "ts-morph": "^16.0.0", @@ -106,7 +106,7 @@ "vscode-uri": "^3.0.6" }, "devDependencies": { - "@prisma/internals": "~4.5.0", + "@prisma/internals": "~4.7.0", "@types/async-exit-hook": "^2.0.0", "@types/jest": "^29.2.0", "@types/node": "^14.18.32", diff --git a/packages/schema/src/generator/prisma/schema-generator.ts b/packages/schema/src/generator/prisma/schema-generator.ts index d513a47e2..1584ff35d 100644 --- a/packages/schema/src/generator/prisma/schema-generator.ts +++ b/packages/schema/src/generator/prisma/schema-generator.ts @@ -144,11 +144,7 @@ export default class PrismaSchemaGenerator { 'client', 'prisma-client-js', path.join('..', this.context.generatedCodeDir, '.prisma'), - [ - 'fieldReference', - 'interactiveTransactions', - 'referentialIntegrity', - ] + ['fieldReference'] ); } diff --git a/packages/schema/src/generator/react-hooks/index.ts b/packages/schema/src/generator/react-hooks/index.ts index 242d1b964..0c8e5e919 100644 --- a/packages/schema/src/generator/react-hooks/index.ts +++ b/packages/schema/src/generator/react-hooks/index.ts @@ -129,7 +129,7 @@ export default class ReactHooksGenerator implements Generator { .addFunction({ name: 'find', typeParameters: [`T extends P.${model.name}FindManyArgs`], - returnType: `SWRResponse[]>, any>`, + returnType: `SWRResponse[]>, any>`, parameters: [ { name: 'args?', @@ -151,7 +151,7 @@ export default class ReactHooksGenerator implements Generator { .addFunction({ name: 'get', typeParameters: [`T extends P.${model.name}FindFirstArgs`], - returnType: `SWRResponse>, any>`, + returnType: `SWRResponse>, any>`, parameters: [ { name: 'id', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6759fbe7e..75499068e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -50,7 +50,7 @@ importers: packages/schema: specifiers: - '@prisma/internals': ~4.5.0 + '@prisma/internals': ~4.7.0 '@types/async-exit-hook': ^2.0.0 '@types/jest': ^29.2.0 '@types/node': ^14.18.32 @@ -77,7 +77,7 @@ importers: mixpanel: ^0.17.0 node-machine-id: ^1.1.12 pluralize: ^8.0.0 - prisma: ~4.5.0 + prisma: ~4.7.0 promisify: ^0.0.3 rimraf: ^3.0.2 sleep-promise: ^9.1.0 @@ -107,7 +107,7 @@ importers: mixpanel: 0.17.0 node-machine-id: 1.1.12 pluralize: 8.0.0 - prisma: 4.5.0 + prisma: 4.7.0 promisify: 0.0.3 sleep-promise: 9.1.0 ts-morph: 16.0.0 @@ -118,7 +118,7 @@ importers: vscode-languageserver-textdocument: 1.0.7 vscode-uri: 3.0.6 devDependencies: - '@prisma/internals': 4.5.0 + '@prisma/internals': 4.7.0 '@types/async-exit-hook': 2.0.0 '@types/jest': 29.2.0 '@types/node': 14.18.32 @@ -1676,8 +1676,8 @@ packages: engines: {node: '>=14'} dev: true - /@prisma/debug/4.5.0: - resolution: {integrity: sha512-zTBisqSCipBN7veltdhuHU89t98BHQWH4qb6rJAla39AulLtsjCOUu5QEBUmXEuND5SChjYP/S9rJ4mVHkcTdg==} + /@prisma/debug/4.7.0: + resolution: {integrity: sha512-KdfL70X2OgYMrweEiXa9pZReAPbsYbCbFAyT8Ud/8+w+zI1xOWpFZ4watK95ambK0f6/2p1kP6WGHGKOor1imA==} dependencies: '@types/debug': 4.1.7 debug: 4.3.4 @@ -1686,15 +1686,15 @@ packages: - supports-color dev: true - /@prisma/engine-core/4.5.0: - resolution: {integrity: sha512-pOiJPsXwvy5HHVvzCyb2gVs+yT2/KEkH2KrRF7szQrmaRhsh44ollv05u0VMM8xKy79n15L3ZXz4nPS0LxPK4Q==} + /@prisma/engine-core/4.7.0: + resolution: {integrity: sha512-44/GcOJVP6Pa26y64a2Feg1wYKTFqZw50Tp/4rK3mlZH9il+DIHRm8NXu3wAbsKgN5YUCEdoH7ucXKgWMgecew==} dependencies: '@opentelemetry/api': 1.2.0 '@opentelemetry/sdk-trace-base': 1.7.0_@opentelemetry+api@1.2.0 - '@prisma/debug': 4.5.0 - '@prisma/engines': 4.5.0 - '@prisma/generator-helper': 4.5.0 - '@prisma/get-platform': 4.5.0 + '@prisma/debug': 4.7.0 + '@prisma/engines': 4.7.0 + '@prisma/generator-helper': 4.7.0 + '@prisma/get-platform': 4.7.0 chalk: 4.1.2 execa: 5.1.1 get-stream: 6.0.1 @@ -1702,20 +1702,20 @@ packages: new-github-issue-url: 0.2.1 p-retry: 4.6.2 strip-ansi: 6.0.1 - undici: 5.10.0 + undici: 5.11.0 transitivePeerDependencies: - supports-color dev: true - /@prisma/engines/4.5.0: - resolution: {integrity: sha512-4t9ir2SbQQr/wMCNU4YpHWp5hU14J2m3wHUZnGJPpmBF8YtkisxyVyQsKd1e6FyLTaGq8LOLhm6VLYHKqKNm+g==} + /@prisma/engines/4.7.0: + resolution: {integrity: sha512-afKrVFktaZ1pOK12/uFl2hRsBWIJZuC5FdDtacuKk5x/mR+rC5AbA+PlN3ZCZbmYTaeiBMHjcU5wbT5z2N3nSQ==} requiresBuild: true - /@prisma/fetch-engine/4.5.0: - resolution: {integrity: sha512-IIJj+7PIfQj65OfkkPv4hyd4O3flE1DfUhdHLa7v2+XZrzoKOC+Dj6ksAeXKhZSj60Tgk0Ed1SPPIczrvN8e6Q==} + /@prisma/fetch-engine/4.7.0: + resolution: {integrity: sha512-dDWcs/YpFNSFY8RvA2UfVX1YHt64glbp3clD91dBbNA1mjJSc6dRWSHJXDZQH8Pm/Zi2gT7lymDhiWjnEjOhXg==} dependencies: - '@prisma/debug': 4.5.0 - '@prisma/get-platform': 4.5.0 + '@prisma/debug': 4.7.0 + '@prisma/get-platform': 4.7.0 chalk: 4.1.2 execa: 5.1.1 find-cache-dir: 3.3.2 @@ -1736,10 +1736,10 @@ packages: - supports-color dev: true - /@prisma/generator-helper/4.5.0: - resolution: {integrity: sha512-4Ky6sIvTSylLkWQmwVezaw8bHE/TfsnoFyPHDphBOl5r/l3X2I1yy1g2kVAqNQ9phkEDzRX7ZIIn6w9jCGtOLg==} + /@prisma/generator-helper/4.7.0: + resolution: {integrity: sha512-/RA7QoAPc7dTnRHULcK6c+F6t3AjKOn3XnqyY4XgmwN+IIWOhNaR4712Bid+CoK6ITyHYxgdg6B4iMscZnqXYQ==} dependencies: - '@prisma/debug': 4.5.0 + '@prisma/debug': 4.7.0 '@types/cross-spawn': 6.0.2 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -1747,36 +1747,36 @@ packages: - supports-color dev: true - /@prisma/get-platform/4.5.0: - resolution: {integrity: sha512-ndamUoGPzstoirM1MYbbzQ5j4MgBETUuX5HzP/IlewJ8t3AkI18aONfM88bWsbDQaT7vP6I2FEqpwYECP/XXFw==} + /@prisma/get-platform/4.7.0: + resolution: {integrity: sha512-LmDwQ0ZidLe8ac8m8X8WkhPEDy73Dzs7s+4BXWmlfjHJsMiu7odtfa7WC2s5sAmw7Mwptpa/6XRZK08jn5zsUA==} dependencies: - '@prisma/debug': 4.5.0 + '@prisma/debug': 4.7.0 transitivePeerDependencies: - supports-color dev: true - /@prisma/internals/4.5.0: - resolution: {integrity: sha512-PwvxeMWBMIJK3VykXsXlR4KFVUX6KxAqALIZQA+Bib71bDS+lqIlHRq852mVaPSNZ5QD2fSP/wA7gQ4T+ZJQ6g==} + /@prisma/internals/4.7.0: + resolution: {integrity: sha512-6qAny0/V23p1tgSdK3+UhAd7O7NH2W3NUFlVdcQGYZgGFd8Sg6J2pWY6nC1jd8bAZy737GGFmCLr+jCmzSvneA==} dependencies: - '@prisma/debug': 4.5.0 - '@prisma/engine-core': 4.5.0 - '@prisma/engines': 4.5.0 - '@prisma/fetch-engine': 4.5.0 - '@prisma/generator-helper': 4.5.0 - '@prisma/get-platform': 4.5.0 - '@prisma/prisma-fmt-wasm': 4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452 + '@prisma/debug': 4.7.0 + '@prisma/engine-core': 4.7.0 + '@prisma/engines': 4.7.0 + '@prisma/fetch-engine': 4.7.0 + '@prisma/generator-helper': 4.7.0 + '@prisma/get-platform': 4.7.0 + '@prisma/prisma-fmt-wasm': 4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635 archiver: 5.3.1 arg: 5.0.2 chalk: 4.1.2 checkpoint-client: 1.1.21 cli-truncate: 2.1.0 - dotenv: 16.0.2 + dotenv: 16.0.3 escape-string-regexp: 4.0.0 execa: 5.1.1 find-up: 5.0.0 - fp-ts: 2.12.3 + fp-ts: 2.13.1 fs-extra: 10.1.0 - fs-jetpack: 5.0.0 + fs-jetpack: 5.1.0 global-dirs: 3.0.0 globby: 11.1.0 has-yarn: 2.1.0 @@ -1807,8 +1807,8 @@ packages: - supports-color dev: true - /@prisma/prisma-fmt-wasm/4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452: - resolution: {integrity: sha512-MYWUyB+sk3AL/dJFdAzoGbmcYQKA3F8SzsdPUCVfH3I0FujdwbR+pabIXogOHVt8eZySiJWW7+yAWOD2GkBtoA==} + /@prisma/prisma-fmt-wasm/4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635: + resolution: {integrity: sha512-YIjPJgDgvQfOkVYTqltw4ysL57i726xjrOPqwj9ByV0x5GtgLclXlGm8tDOoUb/WwUvdN6QhbjeQY/yABQ/+hg==} dev: true /@sinclair/typebox/0.24.47: @@ -2608,6 +2608,13 @@ packages: ieee754: 1.2.1 dev: true + /busboy/1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + dependencies: + streamsearch: 1.1.0 + dev: true + /call-bind/1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: @@ -3229,11 +3236,6 @@ packages: tslib: 2.4.0 dev: false - /dotenv/16.0.2: - resolution: {integrity: sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==} - engines: {node: '>=12'} - dev: true - /dotenv/16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} @@ -3870,8 +3872,8 @@ packages: qs: 6.9.3 dev: true - /fp-ts/2.12.3: - resolution: {integrity: sha512-8m0XvW8kZbfnJOA4NvSVXu95mLbPf4LQGwQyqVukIYS4KzSNJiyKSmuZUmbVHteUi6MGkAJGPb0goPZqI+Tsqg==} + /fp-ts/2.13.1: + resolution: {integrity: sha512-0eu5ULPS2c/jsa1lGFneEFFEdTbembJv8e4QKXeVJ3lm/5hyve06dlKZrpxmMwJt6rYen7sxmHHK2CLaXvWuWQ==} dev: true /fs-constants/1.0.0: @@ -3915,8 +3917,8 @@ packages: universalify: 2.0.0 dev: true - /fs-jetpack/5.0.0: - resolution: {integrity: sha512-0f9QoIbfAq/DuafAQisvsHJmLnJB2D53d9FXIu0UZPUg4Kzocez1+AinToPON6JD/C60kDlye121puiR5ivfdg==} + /fs-jetpack/5.1.0: + resolution: {integrity: sha512-Xn4fDhLydXkuzepZVsr02jakLlmoARPy+YWIclo4kh0GyNGUHnTqeH/w/qIsVn50dFxtp8otPL2t/HcPJBbxUA==} dependencies: minimatch: 5.1.0 dev: true @@ -6329,13 +6331,13 @@ packages: react-is: 18.2.0 dev: true - /prisma/4.5.0: - resolution: {integrity: sha512-9Aeg4qiKlv9Wsjz4NO8k2CzRzlvS3A4FYVJ5+28sBBZ0eEwbiVOE/Jj7v6rZC1tFW2s4GSICQOAyuOjc6WsNew==} + /prisma/4.7.0: + resolution: {integrity: sha512-VsecNo0Ca3+bDTzSpJqIpdupKVhhQ8aOYeWc09JlUM89knqvhSrlMrg0U8BiOD4tFrY1OPaCcraK8leDBxKMBg==} engines: {node: '>=14.17'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 4.5.0 + '@prisma/engines': 4.7.0 dev: false /process-nextick-args/2.0.1: @@ -6839,6 +6841,11 @@ packages: mixme: 0.5.4 dev: true + /streamsearch/1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: true + /string-length/4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -7435,9 +7442,11 @@ packages: resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} dev: true - /undici/5.10.0: - resolution: {integrity: sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g==} + /undici/5.11.0: + resolution: {integrity: sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw==} engines: {node: '>=12.18'} + dependencies: + busboy: 1.6.0 dev: true /unique-string/2.0.0: diff --git a/samples/todo/package-lock.json b/samples/todo/package-lock.json index 194654e27..cb2563a39 100644 --- a/samples/todo/package-lock.json +++ b/samples/todo/package-lock.json @@ -1,16 +1,16 @@ { "name": "todo", - "version": "0.3.22", + "version": "0.3.23", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "todo", - "version": "0.3.22", + "version": "0.3.23", "dependencies": { "@heroicons/react": "^2.0.12", - "@prisma/client": "^4.4.0", - "@zenstackhq/runtime": "^0.3.22", + "@prisma/client": "^4.7.0", + "@zenstackhq/runtime": "^0.3.23", "bcryptjs": "^2.4.3", "daisyui": "^2.31.0", "moment": "^2.29.4", @@ -33,7 +33,7 @@ "postcss": "^8.4.16", "tailwindcss": "^3.1.8", "typescript": "^4.6.2", - "zenstack": "^0.3.22" + "zenstack": "^0.3.23" } }, "../../packages/runtime": { @@ -503,12 +503,12 @@ } }, "node_modules/@prisma/client": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.5.0.tgz", - "integrity": "sha512-B2cV0OPI1smhdYUxsJoLYQLoMlLH06MUxgFUWQnHodGMX98VRVXKmQE/9OcrTNkqtke5RC+YU24Szxd04tZA2g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.7.0.tgz", + "integrity": "sha512-keXMa0oJWJGOzMEFKp+CEgzJPwnOtGSrnTWw6qMYxnypYrRFdNxqyA06EzELZexBhgM4oLooZ1jDJ3iy46wExA==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452" + "@prisma/engines-version": "4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635" }, "engines": { "node": ">=14.17" @@ -523,16 +523,16 @@ } }, "node_modules/@prisma/engines": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.5.0.tgz", - "integrity": "sha512-4t9ir2SbQQr/wMCNU4YpHWp5hU14J2m3wHUZnGJPpmBF8YtkisxyVyQsKd1e6FyLTaGq8LOLhm6VLYHKqKNm+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.7.0.tgz", + "integrity": "sha512-afKrVFktaZ1pOK12/uFl2hRsBWIJZuC5FdDtacuKk5x/mR+rC5AbA+PlN3ZCZbmYTaeiBMHjcU5wbT5z2N3nSQ==", "devOptional": true, "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452.tgz", - "integrity": "sha512-o7LyVx8PPJBLrEzLl6lpxxk2D5VnlM4Fwmrbq0NoT6pr5aa1OuHD9ZG+WJY6TlR/iD9bhmo2LNcxddCMr5Rv2A==" + "version": "4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635.tgz", + "integrity": "sha512-ImczGEQ8NS1OUApEeyAGxC4uLTtQp0wI1+2wM4MeQLVwIQbyMHk1vOhWWE8Pwbi3rnzLcPvsIrd9sm6oNXhERw==" }, "node_modules/@rushstack/eslint-patch": { "version": "1.2.0", @@ -750,9 +750,9 @@ } }, "node_modules/@zenstackhq/runtime": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.22.tgz", - "integrity": "sha512-TLh/EyK/4nTKkZ4j9BcXS5kfEgEhkhx7aAAfT8vi45/uGccYDyBD0dPksv/AEtLw27jihUp7sydam5yyc8ITDQ==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.23.tgz", + "integrity": "sha512-p6QDSjn2I5hDLhz0qK2//9XTno2YpP2C9x8ak9GzoV4XOJcUua7bNvSpRjJ25n15VYzTnelXndsruZjDTeoCaw==", "dependencies": { "@types/bcryptjs": "^2.4.2", "bcryptjs": "^2.4.3", @@ -3605,13 +3605,13 @@ "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==" }, "node_modules/prisma": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.5.0.tgz", - "integrity": "sha512-9Aeg4qiKlv9Wsjz4NO8k2CzRzlvS3A4FYVJ5+28sBBZ0eEwbiVOE/Jj7v6rZC1tFW2s4GSICQOAyuOjc6WsNew==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.7.0.tgz", + "integrity": "sha512-VsecNo0Ca3+bDTzSpJqIpdupKVhhQ8aOYeWc09JlUM89knqvhSrlMrg0U8BiOD4tFrY1OPaCcraK8leDBxKMBg==", "devOptional": true, "hasInstallScript": true, "dependencies": { - "@prisma/engines": "4.5.0" + "@prisma/engines": "4.7.0" }, "bin": { "prisma": "build/index.js", @@ -4603,13 +4603,13 @@ } }, "node_modules/zenstack": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.22.tgz", - "integrity": "sha512-fJWM7GhK+9OsJTRkaHj2zzcJk6fIRUwZysnJWbPqsfkcGiJYreEqvkz7YVWgb9qoUWQzLBqzoKLrsjWiR8zBTg==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.23.tgz", + "integrity": "sha512-sJMIVxNpxWGozFbs2kndyLM9NPLucdHvjYASfGRi8tp9FrRg2d4Ji2qDC2W5C7sqIvWrUltxpuoynbdjNljhHA==", "dev": true, "hasInstallScript": true, "dependencies": { - "@zenstackhq/runtime": "0.3.22", + "@zenstackhq/runtime": "0.3.23", "async-exit-hook": "^2.0.1", "change-case": "^4.1.2", "chevrotain": "^9.1.0", @@ -4620,7 +4620,7 @@ "mixpanel": "^0.17.0", "node-machine-id": "^1.1.12", "pluralize": "^8.0.0", - "prisma": "~4.5.0", + "prisma": "~4.7.0", "promisify": "^0.0.3", "sleep-promise": "^9.1.0", "ts-morph": "^16.0.0", @@ -4946,23 +4946,23 @@ "integrity": "sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==" }, "@prisma/client": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.5.0.tgz", - "integrity": "sha512-B2cV0OPI1smhdYUxsJoLYQLoMlLH06MUxgFUWQnHodGMX98VRVXKmQE/9OcrTNkqtke5RC+YU24Szxd04tZA2g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.7.0.tgz", + "integrity": "sha512-keXMa0oJWJGOzMEFKp+CEgzJPwnOtGSrnTWw6qMYxnypYrRFdNxqyA06EzELZexBhgM4oLooZ1jDJ3iy46wExA==", "requires": { - "@prisma/engines-version": "4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452" + "@prisma/engines-version": "4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635" } }, "@prisma/engines": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.5.0.tgz", - "integrity": "sha512-4t9ir2SbQQr/wMCNU4YpHWp5hU14J2m3wHUZnGJPpmBF8YtkisxyVyQsKd1e6FyLTaGq8LOLhm6VLYHKqKNm+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.7.0.tgz", + "integrity": "sha512-afKrVFktaZ1pOK12/uFl2hRsBWIJZuC5FdDtacuKk5x/mR+rC5AbA+PlN3ZCZbmYTaeiBMHjcU5wbT5z2N3nSQ==", "devOptional": true }, "@prisma/engines-version": { - "version": "4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452.tgz", - "integrity": "sha512-o7LyVx8PPJBLrEzLl6lpxxk2D5VnlM4Fwmrbq0NoT6pr5aa1OuHD9ZG+WJY6TlR/iD9bhmo2LNcxddCMr5Rv2A==" + "version": "4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.7.0-74.39190b250ebc338586e25e6da45e5e783bc8a635.tgz", + "integrity": "sha512-ImczGEQ8NS1OUApEeyAGxC4uLTtQp0wI1+2wM4MeQLVwIQbyMHk1vOhWWE8Pwbi3rnzLcPvsIrd9sm6oNXhERw==" }, "@rushstack/eslint-patch": { "version": "1.2.0", @@ -5128,9 +5128,9 @@ } }, "@zenstackhq/runtime": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.22.tgz", - "integrity": "sha512-TLh/EyK/4nTKkZ4j9BcXS5kfEgEhkhx7aAAfT8vi45/uGccYDyBD0dPksv/AEtLw27jihUp7sydam5yyc8ITDQ==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@zenstackhq/runtime/-/runtime-0.3.23.tgz", + "integrity": "sha512-p6QDSjn2I5hDLhz0qK2//9XTno2YpP2C9x8ak9GzoV4XOJcUua7bNvSpRjJ25n15VYzTnelXndsruZjDTeoCaw==", "requires": { "@types/bcryptjs": "^2.4.2", "bcryptjs": "^2.4.3", @@ -7194,12 +7194,12 @@ "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==" }, "prisma": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.5.0.tgz", - "integrity": "sha512-9Aeg4qiKlv9Wsjz4NO8k2CzRzlvS3A4FYVJ5+28sBBZ0eEwbiVOE/Jj7v6rZC1tFW2s4GSICQOAyuOjc6WsNew==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.7.0.tgz", + "integrity": "sha512-VsecNo0Ca3+bDTzSpJqIpdupKVhhQ8aOYeWc09JlUM89knqvhSrlMrg0U8BiOD4tFrY1OPaCcraK8leDBxKMBg==", "devOptional": true, "requires": { - "@prisma/engines": "4.5.0" + "@prisma/engines": "4.7.0" } }, "progress": { @@ -7925,12 +7925,12 @@ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" }, "zenstack": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.22.tgz", - "integrity": "sha512-fJWM7GhK+9OsJTRkaHj2zzcJk6fIRUwZysnJWbPqsfkcGiJYreEqvkz7YVWgb9qoUWQzLBqzoKLrsjWiR8zBTg==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/zenstack/-/zenstack-0.3.23.tgz", + "integrity": "sha512-sJMIVxNpxWGozFbs2kndyLM9NPLucdHvjYASfGRi8tp9FrRg2d4Ji2qDC2W5C7sqIvWrUltxpuoynbdjNljhHA==", "dev": true, "requires": { - "@zenstackhq/runtime": "0.3.22", + "@zenstackhq/runtime": "0.3.23", "async-exit-hook": "^2.0.1", "change-case": "^4.1.2", "chevrotain": "^9.1.0", @@ -7941,7 +7941,7 @@ "mixpanel": "^0.17.0", "node-machine-id": "^1.1.12", "pluralize": "^8.0.0", - "prisma": "~4.5.0", + "prisma": "~4.7.0", "promisify": "^0.0.3", "sleep-promise": "^9.1.0", "ts-morph": "^16.0.0", diff --git a/samples/todo/package.json b/samples/todo/package.json index 2bd3fbe61..9bedfc5a2 100644 --- a/samples/todo/package.json +++ b/samples/todo/package.json @@ -1,6 +1,6 @@ { "name": "todo", - "version": "0.3.22", + "version": "0.3.23", "private": true, "scripts": { "dev": "next dev", @@ -20,8 +20,8 @@ }, "dependencies": { "@heroicons/react": "^2.0.12", - "@prisma/client": "^4.4.0", - "@zenstackhq/runtime": "^0.3.22", + "@prisma/client": "^4.7.0", + "@zenstackhq/runtime": "^0.3.23", "bcryptjs": "^2.4.3", "daisyui": "^2.31.0", "moment": "^2.29.4", @@ -44,6 +44,6 @@ "postcss": "^8.4.16", "tailwindcss": "^3.1.8", "typescript": "^4.6.2", - "zenstack": "^0.3.22" + "zenstack": "^0.3.23" } } diff --git a/samples/todo/pages/space/[slug]/[listId]/index.tsx b/samples/todo/pages/space/[slug]/[listId]/index.tsx index 9bb4e2569..d07ab5367 100644 --- a/samples/todo/pages/space/[slug]/[listId]/index.tsx +++ b/samples/todo/pages/space/[slug]/[listId]/index.tsx @@ -11,6 +11,7 @@ import { GetServerSideProps } from 'next'; import { unstable_getServerSession } from 'next-auth'; import service from '@zenstackhq/runtime/server'; import { getSpaceBySlug } from '@lib/query-utils'; +import { toast } from 'react-toastify'; type Props = { space: Space; @@ -39,15 +40,21 @@ export default function TodoList(props: Props) { ); const _createTodo = async () => { - const todo = await createTodo({ - data: { - title, - ownerId: user!.id, - listId: props.list.id, - }, - }); - console.log(`Todo created: ${todo}`); - setTitle(''); + try { + const todo = await createTodo({ + data: { + title, + ownerId: user!.id, + listId: props.list.id, + }, + }); + console.log(`Todo created: ${todo}`); + setTitle(''); + } catch (err: any) { + toast.error( + `Failed to create todo: ${err.info?.message || err.message}` + ); + } }; return ( diff --git a/tests/integration/tests/utils.ts b/tests/integration/tests/utils.ts index 18f9857d2..4dcb399d2 100644 --- a/tests/integration/tests/utils.ts +++ b/tests/integration/tests/utils.ts @@ -36,7 +36,7 @@ export async function setup(schemaFile: string) { 'typescript', 'swr', 'react', - 'prisma@~4.5.0', + 'prisma@~4.7.0', 'zod', '../../../../packages/schema', '../../../../packages/runtime/dist',