diff --git a/packages/plugin-prisma-utils/package.json b/packages/plugin-prisma-utils/package.json index e6c03fa4f..dd40b9eb0 100644 --- a/packages/plugin-prisma-utils/package.json +++ b/packages/plugin-prisma-utils/package.json @@ -15,7 +15,7 @@ } }, "scripts": { - "generate": "prisma migrate reset -f && ts-node --transpile-only tests/examples/codegen/generator.ts && pnpm schema", + "generate": "prisma generate && ts-node --transpile-only tests/examples/codegen/generator.ts && pnpm schema", "schema": "ts-node --transpile-only tests/examples/codegen/schema/index.ts && ts-node --transpile-only tests/examples/crud/schema/index.ts", "type": "tsc --project tsconfig.type.json", "build": "pnpm build:clean && pnpm build:cjs && pnpm build:dts && pnpm build:esm", diff --git a/packages/plugin-prisma/tests/__snapshots__/index.test.ts.snap b/packages/plugin-prisma/tests/__snapshots__/index.test.ts.snap index 620d63d9c..f4998631d 100644 --- a/packages/plugin-prisma/tests/__snapshots__/index.test.ts.snap +++ b/packages/plugin-prisma/tests/__snapshots__/index.test.ts.snap @@ -168,6 +168,7 @@ type Query { namedUnion: [NamedUnion] node(id: ID!): Node nodes(ids: [ID!]!): [Node]! + nullableUserConnection(after: ID, before: ID, first: Int, last: Int): QueryNullableUserConnection post(id: ID!): Post posts: [Post!]! postsBigIntCursor(after: ID, before: ID, first: Int, last: Int): QueryPostsBigIntCursorConnection! @@ -212,6 +213,19 @@ type QueryNamedConnectionEdge { node: Named! } +type QueryNullableUserConnection { + edges: [QueryNullableUserConnectionEdge]! + pageInfo: PageInfo! + + \\"\\"\\"default totalCount field for all connections\\"\\"\\" + totalCount: Int! +} + +type QueryNullableUserConnectionEdge { + cursor: String! + node: User! +} + type QueryPostsBigIntCursorConnection { edges: [QueryPostsBigIntCursorConnectionEdge]! pageInfo: PageInfo! diff --git a/packages/plugin-prisma/tests/example/schema/index.ts b/packages/plugin-prisma/tests/example/schema/index.ts index 7760e4442..dd5a7556c 100644 --- a/packages/plugin-prisma/tests/example/schema/index.ts +++ b/packages/plugin-prisma/tests/example/schema/index.ts @@ -791,6 +791,20 @@ builder.queryType({ errors: {}, resolve: async (query, parent, args) => prisma.user.findMany({ ...query }), }), + nullableUserConnection: t.prismaConnection({ + type: 'User', + nullable: true, + cursor: 'id', + defaultSize: 10, + maxSize: 15, + resolve: async (query, parent, args) => { + if (args.first === 0) { + return null; + } + + return prisma.user.findMany({ ...query }); + }, + }), named: t.field({ type: [Named], nullable: {