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',