@pothos/plugin-prisma 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 3.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8add0378: Add `totalCount` option to `prismaConnection`
8
+
3
9
  ## 3.0.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -8,16 +8,14 @@ This plugin is NOT required to use prisma with Pothos, but does make things a lo
8
8
  efficient. See the [Using Prisma without a plugin](#using-prisma-without-a-plugin) section below for
9
9
  more details.
10
10
 
11
- ---
12
-
13
11
  ## Features
14
12
 
15
13
  - 🎨 Quickly define GraphQL types based on your Prisma models
16
14
  - 🦺 Strong type-safety throughout the entire API
17
15
  - 🤝 Automatically resolve relationships defined in your database
18
- - 🎣 Automatic Query optimization efficiently load the specific data needed to resolve a query
16
+ - 🎣 Automatic Query optimization to efficiently load the specific data needed to resolve a query
19
17
  (solves common N+1 issues)
20
- - 💅 Types and fields in GraphQL schema are not implicitly tied to the column names or type in your
18
+ - 💅 Types and fields in GraphQL schema are not implicitly tied to the column names or types in your
21
19
  database.
22
20
  - 🔀 Relay integration for defining nodes and connections that can be efficiently loaded.
23
21
  - 📚 Supports multiple GraphQL models based on the same Database model
@@ -29,16 +27,19 @@ Here is a quick example of what an API using this plugin might look like. There
29
27
  breakdown of what the methods and options used in the example below.
30
28
 
31
29
  ```typescript
32
- // Create an object type based on a prisma model without providing any custom type information
30
+ // Create an object type based on a prisma model
31
+ // without providing any custom type information
33
32
  builder.prismaObject('User', {
34
- // findUnique is explained more below, and is required to safely resolve queries in some edge cases
33
+ // findUnique is explained more below, and is
34
+ // required to safely resolve queries in some edge cases
35
35
  findUnique: (user) => ({ id: user.id }),
36
36
  fields: (t) => ({
37
37
  // expose fields from the database
38
38
  id: t.exposeID('id'),
39
39
  email: t.exposeString('email'),
40
40
  bio: t.string({
41
- // automatically load the bio from the profile when this field is queried
41
+ // automatically load the bio from the profile
42
+ // when this field is queried
42
43
  select: {
43
44
  profile: {
44
45
  select: {
@@ -46,21 +47,25 @@ builder.prismaObject('User', {
46
47
  },
47
48
  },
48
49
  },
49
- resolve: (user) => user.profile.bio, // user will be typed correctly to include the selected fields from above
50
+ // user will be typed correctly to include the
51
+ // selected fields from above
52
+ resolve: (user) => user.profile.bio,
50
53
  }),
51
- // Load posts as list field. Posts will automatically be included the posts field is queried
54
+ // Load posts as list field.
52
55
  posts: t.relation('posts', {
53
56
  args: {
54
57
  oldestFirst: t.arg.boolean(),
55
58
  },
56
- // Define custom query options that are applied when loading the post relation
59
+ // Define custom query options that are applied when
60
+ // loading the post relation
57
61
  query: (args, context) => ({
58
62
  orderBy: {
59
63
  createdAt: args.oldestFirst ? 'asc' : 'desc',
60
64
  },
61
65
  }),
62
66
  }),
63
- // creates relay connection that handles pagination using prisma's built in cursor based pagination
67
+ // creates relay connection that handles pagination
68
+ // using prisma's built in cursor based pagination
64
69
  postsConnection: t.relatedConnection('posts', {
65
70
  cursor: 'id',
66
71
  }),
@@ -84,7 +89,8 @@ builder.queryType({
84
89
  type: 'User',
85
90
  resolve: async (query, root, args, ctx, info) =>
86
91
  prisma.user.findUnique({
87
- // the `query` argument will add in `includes` or `selects` to resolve as much of the request in a single query as possible
92
+ // the `query` argument will add in `include`s or `select`s to
93
+ // resolve as much of the request in a single query as possible
88
94
  ...query,
89
95
  rejectOnNotFound: true,
90
96
  where: { id: ctx.userId },
@@ -191,8 +197,10 @@ generator pothos {
191
197
  import SchemaBuilder from '@pothos/core';
192
198
  import { PrismaClient } from '@prisma/client';
193
199
  import PrismaPlugin from '@pothos/plugin-prisma';
194
- // This is the default location for the generator, but this can be customized as described above
195
- // Using a type only import will help avoid issues with undeclared exports in esm mode
200
+ // This is the default location for the generator, but this can be
201
+ // customized as described above.
202
+ // Using a type only import will help avoid issues with undeclared
203
+ // exports in esm mode
196
204
  import type PrismaTypes from '@pothos/plugin-prisma/generated';
197
205
 
198
206
  const prisma = new PrismaClient({});
@@ -209,9 +217,9 @@ const builder = new SchemaBuilder<{
209
217
 
210
218
  It is strongly recommended NOT to put your prisma client into `Context`. This will result in slower
211
219
  type-checking and a laggy developer experience in VSCode. See
212
- https://github.com/microsoft/TypeScript/issues/45405 for more details.
220
+ [this issue](https://github.com/microsoft/TypeScript/issues/45405) for more details.
213
221
 
214
- ## Creating some types with `builder.prismaObject`
222
+ ## Creating types with `builder.prismaObject`
215
223
 
216
224
  `builder.prismaObject` takes 2 arguments:
217
225
 
@@ -240,8 +248,8 @@ builder.prismaObject('Post', {
240
248
  ```
241
249
 
242
250
  So far, this is just creating some simple object types. They work just like any other object type in
243
- Pothos. They main advantage of this is that we get the type information without using object refs,
244
- or needing imports from prisma client.
251
+ Pothos. The main advantage of this is that we get the type information without using object refs, or
252
+ needing imports from prisma client.
245
253
 
246
254
  The `findUnique` option is described more below.
247
255
 
@@ -371,9 +379,8 @@ required for the fields that could not be resolved without an additional query.
371
379
  The following are some edge cases that could cause an additional query to be necessary:
372
380
 
373
381
  - The parent object was not loaded through a field defined with `t.prismaField`, or `t.relation`
374
- - The root `prismaField` did not correctly spread the `query` arguments in is prisma call.`
375
- - The query selects multiple fields that use the same relation with incompatible options (order,
376
- limit, or other filters)
382
+ - The root `prismaField` did not correctly spread the `query` arguments in is prisma call.
383
+ - The query selects multiple fields that use the same relation with different queries
377
384
  - The query contains multiple aliases for the same relation field with different arguments in a way
378
385
  that results in different query options for the relation.
379
386
  - A relation field has a query that is incompatible with the default includes of the parent object
@@ -708,6 +715,9 @@ builder.queryType({
708
715
  connection. The `query` will contain the correct `take`, `skip`, and `cursor` options based on the
709
716
  connection arguments (`before`, `after`, `first`, `last`), along with `include` options for nested
710
717
  selections.
718
+ - `totalCount`: A function for loading the total count for the connection. This will add a
719
+ `totalCount` field to the connection object. The `totalCount` method will receive (`connection`,
720
+ `args`, `context`, `info`) as arguments
711
721
 
712
722
  The created connection queries currently support the following combinations of connection arguments:
713
723
 
@@ -1 +1 @@
1
- {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"AAcA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"AAeA,cAAc,wBAAwB,CAAC"}
@@ -19,7 +19,7 @@ fieldBuilderProto.prismaField = function prismaField({ type, resolve, ...options
19
19
  },
20
20
  });
21
21
  };
22
- fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, maxSize, defaultSize, resolve, ...options }, connectionOptions, edgeOptions) {
22
+ fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, maxSize, defaultSize, resolve, totalCount, ...options }, connectionOptions = {}, edgeOptions = {}) {
23
23
  var _a;
24
24
  const ref = typeof type === "string" ? getRefFromModel(type, this.builder) : type;
25
25
  const typeName = this.builder.configStore.getTypeConfig(ref).name;
@@ -35,9 +35,22 @@ fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, m
35
35
  maxSize,
36
36
  defaultSize,
37
37
  args,
38
+ totalCount: totalCount && (() => totalCount(parent, args, ctx, info)),
38
39
  }, formatCursor, (query) => resolve(query, parent, args, ctx, info)),
39
40
  }, {
40
41
  ...connectionOptions,
42
+ fields: totalCount
43
+ ? (t) => {
44
+ var _a, _b;
45
+ return ({
46
+ totalCount: t.int({
47
+ nullable: false,
48
+ resolve: (parent, args, context) => { var _a; return (_a = parent.totalCount) === null || _a === void 0 ? void 0 : _a.call(parent); },
49
+ }),
50
+ ...(_b = (_a = connectionOptions).fields) === null || _b === void 0 ? void 0 : _b.call(_a, t),
51
+ });
52
+ }
53
+ : connectionOptions.fields,
41
54
  extensions: {
42
55
  ...connectionOptions === null || connectionOptions === void 0 ? void 0 : connectionOptions.extensions,
43
56
  pothosPrismaIndirectInclude: {
@@ -1 +1 @@
1
- {"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,SAAS,EACT,QAAQ,EACR,aAAa,EAEb,aAAa,EACb,SAAS,EACT,UAAU,EAEV,WAAW,EACX,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,QAAA,MAAM,WAAW,EAAE;IAEjB,KAAK,KAAK,SAAS,WAAW,EAAE,KAAK,EAAE,IAAI,SAAS,SAAS,EAC3D,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,SAAS,CAAC,GAChE,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;CAC/B,CAAC;AAE9B,qBAAa,wBAAwB,CACnC,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,gBAAgB,EAC9B,YAAY,SAAS,OAAO,EAC5B,KAAK,SAAS,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CACrC,SAAQ,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,QAAQ,CAAC;IAEzB,aAAa,o/BAAgC;IAC7C,WAAW,89BAA8B;IACzC,SAAS,w8BAA4B;IACrC,QAAQ,67BAA2B;IACnC,YAAY,y+BAA+B;IAC3C,iBAAiB,saAAkC;IACnD,eAAe,gaAAgC;IAC/C,aAAa,0ZAA8B;IAC3C,YAAY,uZAA6B;IACzC,gBAAgB,maAAiC;IAEjD,iBAAiB,EAAE,OAAO,SAAS,UAAU,GACzC,CACE,KAAK,SAAS,KAAK,CAAC,eAAe,CAAC,EACpC,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,aAAa,EAC1B,kBAAkB,EAElB,GAAG,IAAI,EAAE,aAAa,CACpB;QACE,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC;QACpF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAC3D,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,EAChB,KAAK,EACL,KAAK,EACL,kBAAkB,CACnB;QACD,WAAW,CAAC,EAAE,iBAAiB,CAAC,2BAA2B,CACzD,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,EAChB,KAAK,EACL,kBAAkB,CACnB;KACF,CACF,KACE,QAAQ,CACX,mBAAmB,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CACrF,GACD,qDAAqD,CA6I9C;gBAGT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ;IAQpB,QAAQ,CACN,KAAK,SAAS,KAAK,CAAC,QAAQ,CAAC,EAC7B,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,aAAa,EAC1B,kBAAkB,EAElB,GAAG,OAAO,EAAE,aAAa,CACvB;QACE,IAAI,EAAE,KAAK;QACX,OAAO,CAAC,EAAE,mBAAmB,CAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,kBAAkB,EAClB,YAAY,EACZ,KAAK,CACN;KACF,CACF,GACA,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAmCzD,aAAa,CAAC,KAAK,SAAS,KAAK,CAAC,QAAQ,CAAC,EACzC,GAAG,OAAO,EAAE,aAAa,CACvB;QAAC,IAAI,EAAE,KAAK;QAAE,OAAO,CAAC,EAAE,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;KAAC,CAC1E,GACA,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAqB7B,OAAO,CAAC,OAAO,SAAS,KAAK,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,EAC5D,GAAG,OAAO,EAAE,aAAa,CACvB;QACE,OAAO,EAAE,OAAO;QAChB,OAAO,CAAC,EAAE,mBAAmB,CAC3B,KAAK,EACL,KAAK,EACL,OAAO,SAAS,eAAe,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAC1E;KACF,CACF,GACA,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAgBrC,MAAM,CACJ,IAAI,SAAS,SAAS,CAAC,KAAK,CAAC,EAC7B,QAAQ,SAAS,OAAO,EACxB,kBAAkB,EAClB,IAAI,SAAS,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAEnE,GAAG,IAAI,EAAE,aAAa,CACpB;QACE,IAAI,EAAE,IAAI;QACV,OAAO,CAAC,EAAE,IAAI,CACZ,iBAAiB,CAAC,kBAAkB,CAClC,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,kBAAkB,CACnB,EACD,SAAS,GAAG,QAAQ,CACrB;KACF,CACF;IAmBH,OAAO,CAAC,YAAY;CA+BrB"}
@@ -70,6 +70,7 @@ export class PrismaObjectFieldBuilder extends RootBuilder {
70
70
  var _a, _b;
71
71
  return ({
72
72
  totalCount: t.int({
73
+ nullable: false,
73
74
  extensions: {
74
75
  pothosPrismaParentSelect: { _count: { select: { [name]: true } } },
75
76
  },
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
package/esm/types.d.ts CHANGED
@@ -121,6 +121,7 @@ export declare type PrismaConnectionFieldOptions<Types extends SchemaTypes, Pare
121
121
  take: number;
122
122
  skip: number;
123
123
  }, parent: ParentShape, args: InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<Model['Shape'][]>;
124
+ totalCount?: (parent: ParentShape, args: InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<number>;
124
125
  };
125
126
  export declare type RelatedConnectionOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Field extends Model['ListRelations'], Nullable extends boolean, Args extends InputFieldMap, NeedsResolve extends boolean> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Model['Shape'], ObjectRef<unknown>, Nullable, Args, unknown>, 'resolve' | 'type'> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Model['Shape'], ObjectRef<unknown>, false, false, Nullable, Args, unknown>, 'resolve' | 'type'> & {
126
127
  query?: QueryForField<Types, Args, Model['Include'][Field & keyof Model['Include']]>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export interface PrismaCursorConnectionQueryOptions {
11
11
  }
12
12
  interface ResolvePrismaCursorConnectionOptions extends PrismaCursorConnectionQueryOptions {
13
13
  query: {};
14
- totalCount?: number;
14
+ totalCount?: number | (() => MaybePromise<number>);
15
15
  }
16
16
  export declare function prismaCursorConnectionQuery({ args: { before, after, first, last }, maxSize, defaultSize, parseCursor, }: PrismaCursorConnectionQueryOptions): {
17
17
  take: number;
@@ -22,8 +22,8 @@ export declare function prismaCursorConnectionQuery({ args: { before, after, fir
22
22
  take: number;
23
23
  skip: number;
24
24
  };
25
- export declare function wrapConnectionResult<T extends {}>(results: T[], args: PothosSchemaTypes.DefaultConnectionArguments, take: number, cursor: (node: T) => string, totalCount?: number): {
26
- totalCount: number | undefined;
25
+ export declare function wrapConnectionResult<T extends {}>(results: T[], args: PothosSchemaTypes.DefaultConnectionArguments, take: number, cursor: (node: T) => string, totalCount?: number | (() => MaybePromise<number>)): {
26
+ totalCount: number | (() => MaybePromise<number>) | undefined;
27
27
  edges: ({
28
28
  cursor: string;
29
29
  node: T;
@@ -41,7 +41,7 @@ export declare function resolvePrismaCursorConnection<T extends {}>(options: Res
41
41
  take: number;
42
42
  skip: number;
43
43
  }) => MaybePromise<T[]>): Promise<{
44
- totalCount: number | undefined;
44
+ totalCount: number | (() => MaybePromise<number>) | undefined;
45
45
  edges: ({
46
46
  cursor: string;
47
47
  node: T;
@@ -1 +1 @@
1
- {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,UAa/C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WACrC,OAAO,MAAM,EAAE,OAAO,CAAC,YASvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,WAwB7C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YACnC,MAAM,6BAevB;AAED,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D;AAED,UAAU,oCAAqC,SAAQ,kCAAkC;IACvF,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,OAA0B,EAC1B,WAA0B,EAC1B,WAAW,GACZ,EAAE,kCAAkC;;;;;;;;EAwCpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAC/C,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,EAClD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM;;;;;;;;;;;;EA4BpB;AAED,wBAAsB,6BAA6B,CAAC,CAAC,SAAS,EAAE,EAC9D,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;GASjG"}
1
+ {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,UAa/C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WACrC,OAAO,MAAM,EAAE,OAAO,CAAC,YASvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,WAwB7C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YACnC,MAAM,6BAevB;AAED,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D;AAED,UAAU,oCAAqC,SAAQ,kCAAkC;IACvF,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;CACpD;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,OAA0B,EAC1B,WAA0B,EAC1B,WAAW,GACZ,EAAE,kCAAkC;;;;;;;;EAwCpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAC/C,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,EAClD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gCAArB,aAAa,MAAM,CAAC;;;;;;;;;;;EA4BlD;AAED,wBAAsB,6BAA6B,CAAC,CAAC,SAAS,EAAE,EAC9D,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;GASjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursors.js","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursors.js","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"AAcA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"AAeA,cAAc,wBAAwB,CAAC"}
@@ -35,7 +35,7 @@ fieldBuilderProto.prismaField = function prismaField({ type, resolve, ...options
35
35
  },
36
36
  });
37
37
  };
38
- fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, maxSize, defaultSize, resolve, ...options }, connectionOptions, edgeOptions) {
38
+ fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, maxSize, defaultSize, resolve, totalCount, ...options }, connectionOptions = {}, edgeOptions = {}) {
39
39
  var _a;
40
40
  const ref = typeof type === 'string' ? (0, datamodel_1.getRefFromModel)(type, this.builder) : type;
41
41
  const typeName = this.builder.configStore.getTypeConfig(ref).name;
@@ -51,9 +51,22 @@ fieldBuilderProto.prismaConnection = function prismaConnection({ type, cursor, m
51
51
  maxSize,
52
52
  defaultSize,
53
53
  args,
54
+ totalCount: totalCount && (() => totalCount(parent, args, ctx, info)),
54
55
  }, formatCursor, (query) => resolve(query, parent, args, ctx, info)),
55
56
  }, {
56
57
  ...connectionOptions,
58
+ fields: totalCount
59
+ ? (t) => {
60
+ var _a, _b;
61
+ return ({
62
+ totalCount: t.int({
63
+ nullable: false,
64
+ resolve: (parent, args, context) => { var _a; return (_a = parent.totalCount) === null || _a === void 0 ? void 0 : _a.call(parent); },
65
+ }),
66
+ ...(_b = (_a = connectionOptions).fields) === null || _b === void 0 ? void 0 : _b.call(_a, t),
67
+ });
68
+ }
69
+ : connectionOptions.fields,
57
70
  extensions: {
58
71
  ...connectionOptions === null || connectionOptions === void 0 ? void 0 : connectionOptions.extensions,
59
72
  pothosPrismaIndirectInclude: {
@@ -1 +1 @@
1
- {"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-builder.js","sourceRoot":"","sources":["../src/field-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,7 @@ class PrismaObjectFieldBuilder extends RootBuilder {
73
73
  var _a, _b;
74
74
  return ({
75
75
  totalCount: t.int({
76
+ nullable: false,
76
77
  extensions: {
77
78
  pothosPrismaParentSelect: { _count: { select: { [name]: true } } },
78
79
  },
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -121,6 +121,7 @@ export declare type PrismaConnectionFieldOptions<Types extends SchemaTypes, Pare
121
121
  take: number;
122
122
  skip: number;
123
123
  }, parent: ParentShape, args: InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<Model['Shape'][]>;
124
+ totalCount?: (parent: ParentShape, args: InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<number>;
124
125
  };
125
126
  export declare type RelatedConnectionOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Field extends Model['ListRelations'], Nullable extends boolean, Args extends InputFieldMap, NeedsResolve extends boolean> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Model['Shape'], ObjectRef<unknown>, Nullable, Args, unknown>, 'resolve' | 'type'> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Model['Shape'], ObjectRef<unknown>, false, false, Nullable, Args, unknown>, 'resolve' | 'type'> & {
126
127
  query?: QueryForField<Types, Args, Model['Include'][Field & keyof Model['Include']]>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export interface PrismaCursorConnectionQueryOptions {
11
11
  }
12
12
  interface ResolvePrismaCursorConnectionOptions extends PrismaCursorConnectionQueryOptions {
13
13
  query: {};
14
- totalCount?: number;
14
+ totalCount?: number | (() => MaybePromise<number>);
15
15
  }
16
16
  export declare function prismaCursorConnectionQuery({ args: { before, after, first, last }, maxSize, defaultSize, parseCursor, }: PrismaCursorConnectionQueryOptions): {
17
17
  take: number;
@@ -22,8 +22,8 @@ export declare function prismaCursorConnectionQuery({ args: { before, after, fir
22
22
  take: number;
23
23
  skip: number;
24
24
  };
25
- export declare function wrapConnectionResult<T extends {}>(results: T[], args: PothosSchemaTypes.DefaultConnectionArguments, take: number, cursor: (node: T) => string, totalCount?: number): {
26
- totalCount: number | undefined;
25
+ export declare function wrapConnectionResult<T extends {}>(results: T[], args: PothosSchemaTypes.DefaultConnectionArguments, take: number, cursor: (node: T) => string, totalCount?: number | (() => MaybePromise<number>)): {
26
+ totalCount: number | (() => MaybePromise<number>) | undefined;
27
27
  edges: ({
28
28
  cursor: string;
29
29
  node: T;
@@ -41,7 +41,7 @@ export declare function resolvePrismaCursorConnection<T extends {}>(options: Res
41
41
  take: number;
42
42
  skip: number;
43
43
  }) => MaybePromise<T[]>): Promise<{
44
- totalCount: number | undefined;
44
+ totalCount: number | (() => MaybePromise<number>) | undefined;
45
45
  edges: ({
46
46
  cursor: string;
47
47
  node: T;
@@ -1 +1 @@
1
- {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,UAa/C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WACrC,OAAO,MAAM,EAAE,OAAO,CAAC,YASvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,WAwB7C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YACnC,MAAM,6BAevB;AAED,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D;AAED,UAAU,oCAAqC,SAAQ,kCAAkC;IACvF,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,OAA0B,EAC1B,WAA0B,EAC1B,WAAW,GACZ,EAAE,kCAAkC;;;;;;;;EAwCpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAC/C,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,EAClD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM;;;;;;;;;;;;EA4BpB;AAED,wBAAsB,6BAA6B,CAAC,CAAC,SAAS,EAAE,EAC9D,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;GASjG"}
1
+ {"version":3,"file":"cursors.d.ts","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,UAa/C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WACrC,OAAO,MAAM,EAAE,OAAO,CAAC,YASvC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,WAwB7C;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YACnC,MAAM,6BAevB;AAED,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,CAAC;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1D;AAED,UAAU,oCAAqC,SAAQ,kCAAkC;IACvF,KAAK,EAAE,EAAE,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;CACpD;AAED,wBAAgB,2BAA2B,CAAC,EAC1C,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,OAA0B,EAC1B,WAA0B,EAC1B,WAAW,GACZ,EAAE,kCAAkC;;;;;;;;EAwCpC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAC/C,OAAO,EAAE,CAAC,EAAE,EACZ,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,EAClD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gCAArB,aAAa,MAAM,CAAC;;;;;;;;;;;EA4BlD;AAED,wBAAsB,6BAA6B,CAAC,CAAC,SAAS,EAAE,EAC9D,OAAO,EAAE,oCAAoC,EAC7C,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;GASjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursors.js","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursors.js","sourceRoot":"","sources":["../../src/util/cursors.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-prisma",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "A Pothos plugin for more efficient integration with prisma",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -49,7 +49,7 @@
49
49
  "devDependencies": {
50
50
  "@pothos/core": "3.3.3",
51
51
  "@pothos/plugin-errors": "3.1.1",
52
- "@pothos/plugin-relay": "3.5.2",
52
+ "@pothos/plugin-relay": "3.6.0",
53
53
  "@pothos/plugin-scope-auth": "3.4.2",
54
54
  "@pothos/test-utils": "1.0.2",
55
55
  "@prisma/client": "^3.10.0",
@@ -67,5 +67,5 @@
67
67
  "esm:extensions": "ts-node --compiler-options \"{\\\"module\\\":\\\"commonjs\\\"}\" ../../.config/esm-transformer.ts",
68
68
  "test": "pnpm jest --runInBand"
69
69
  },
70
- "readme": "# Prisma Plugin for Pothos\n\nThis plugin provides tighter integration with prisma, making it easier to define prisma based object\ntypes, and helps solve n+1 queries for relations. It also has integrations for the relay plugin to\nmake defining nodes and connections easy and efficient.\n\nThis plugin is NOT required to use prisma with Pothos, but does make things a lot easier and more\nefficient. See the [Using Prisma without a plugin](#using-prisma-without-a-plugin) section below for\nmore details.\n\n---\n\n## Features\n\n- 🎨 Quickly define GraphQL types based on your Prisma models\n- 🦺 Strong type-safety throughout the entire API\n- 🤝 Automatically resolve relationships defined in your database\n- 🎣 Automatic Query optimization efficiently load the specific data needed to resolve a query\n (solves common N+1 issues)\n- 💅 Types and fields in GraphQL schema are not implicitly tied to the column names or type in your\n database.\n- 🔀 Relay integration for defining nodes and connections that can be efficiently loaded.\n- 📚 Supports multiple GraphQL models based on the same Database model\n- 🧮 Count fields can easily be added to objects and connections\n\n## Example\n\nHere is a quick example of what an API using this plugin might look like. There is a more thorough\nbreakdown of what the methods and options used in the example below.\n\n```typescript\n// Create an object type based on a prisma model without providing any custom type information\nbuilder.prismaObject('User', {\n // findUnique is explained more below, and is required to safely resolve queries in some edge cases\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n // expose fields from the database\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n bio: t.string({\n // automatically load the bio from the profile when this field is queried\n select: {\n profile: {\n select: {\n bio: true,\n },\n },\n },\n resolve: (user) => user.profile.bio, // user will be typed correctly to include the selected fields from above\n }),\n // Load posts as list field. Posts will automatically be included the posts field is queried\n posts: t.relation('posts', {\n args: {\n oldestFirst: t.arg.boolean(),\n },\n // Define custom query options that are applied when loading the post relation\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n }),\n // creates relay connection that handles pagination using prisma's built in cursor based pagination\n postsConnection: t.relatedConnection('posts', {\n cursor: 'id',\n }),\n }),\n});\n\n// Create a relay node based a prisma model\nbuilder.prismaNode('Post', {\n findUnique: (id) => ({ id }),\n id: { resolve: (post) => post.id },\n fields: (t) => ({\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n\nbuilder.queryType({\n fields: (t) => ({\n // Define a field that issues an optimized prisma query\n me: t.prismaField({\n type: 'User',\n resolve: async (query, root, args, ctx, info) =>\n prisma.user.findUnique({\n // the `query` argument will add in `includes` or `selects` to resolve as much of the request in a single query as possible\n ...query,\n rejectOnNotFound: true,\n where: { id: ctx.userId },\n }),\n }),\n }),\n});\n```\n\nGiven this schema, you would be able to resolve a query like the following with a single prisma\nquery (which will still result in a few optimized SQL queries).\n\n```graphql\nquery {\n me {\n email\n posts {\n title\n author {\n id\n }\n }\n }\n}\n```\n\nA query like\n\n```graphql\nquery {\n me {\n email\n posts {\n title\n author {\n id\n }\n }\n oldPosts: posts(oldestFirst: true) {\n title\n author {\n id\n }\n }\n }\n}\n```\n\nWill result in 2 calls to prisma, one to resolve everything except `oldPosts`, and a second to\nresolve everything inside `oldPosts`. Prisma can only resolve each relation once in a single query,\nso we need a separate to handle the second `posts` relation. These additional queries will use the\n`findUnique` defined for the parent type to create a new efficient query to load any conflicting\nrelations.\n\n## Install\n\n```bash\nyarn add @pothos/plugin-prisma\n```\n\n## Setup\n\nThis plugin requires a little more setup than other plugins because it integrates with the prisma to\ngenerate some types that help the plugin better understand your prisma schema. Previous versions of\nthis plugin used to infer all required types from the prisma client itself, but this resulted in a\npoor dev experience because the complex types slowed down editors, and some more advanced use cases\ncould not be typed correctly.\n\n### Add a the `pothos` generator to your prisma schema\n\n```\ngenerator pothos {\n provider = \"prisma-pothos-types\"\n}\n```\n\nNow the types Pothos uses will be generated whenever you re-generate your prisma client. Run the\nfollowing command to re-generate the client and create the new types:\n\n```sh\nnpx prisma generate\n```\n\nadditional options:\n\n- `clientOutput`: Where the generated code will import the PrismaClient from. The default is the\n full path of wherever the client is generated. If you are checking in the generated file, using\n `@prisma/client` is a good option.\n- `output`: Where to write the generated types\n\nExample with more options:\n\n```\ngenerator pothos {\n provider = \"prisma-pothos-types\"\n clientOutput = \"@prisma/client\"\n output = \"./pothos-types.ts\"\n}\n```\n\n### Set up the builder\n\n```typescript\nimport SchemaBuilder from '@pothos/core';\nimport { PrismaClient } from '@prisma/client';\nimport PrismaPlugin from '@pothos/plugin-prisma';\n// This is the default location for the generator, but this can be customized as described above\n// Using a type only import will help avoid issues with undeclared exports in esm mode\nimport type PrismaTypes from '@pothos/plugin-prisma/generated';\n\nconst prisma = new PrismaClient({});\n\nconst builder = new SchemaBuilder<{\n PrismaTypes: PrismaTypes;\n}>({\n plugins: [PrismaPlugin],\n prisma: {\n client: prisma,\n },\n});\n```\n\nIt is strongly recommended NOT to put your prisma client into `Context`. This will result in slower\ntype-checking and a laggy developer experience in VSCode. See\nhttps://github.com/microsoft/TypeScript/issues/45405 for more details.\n\n## Creating some types with `builder.prismaObject`\n\n`builder.prismaObject` takes 2 arguments:\n\n1. `name`: The name of the prisma model this new type represents\n2. `options`: options for the type being created, this is very similar to the options for any other\n object type\n\n```typescript\nbuilder.prismaObject('User', {\n // Optional name for the object, defaults to the name of the prisma model\n name: 'PostAuthor',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n }),\n});\n\nbuilder.prismaObject('Post', {\n findUnique: (post) => ({ id: post.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n }),\n});\n```\n\nSo far, this is just creating some simple object types. They work just like any other object type in\nPothos. They main advantage of this is that we get the type information without using object refs,\nor needing imports from prisma client.\n\nThe `findUnique` option is described more below.\n\n## Adding prisma fields to non-prisma objects (including Query and Mutation)\n\nThere is a new `t.prismaField` method which can be used to define fields that resolve to your prisma\ntypes:\n\n```typescript\nbuilder.queryType({\n fields: (t) => ({\n me: t.prismaField({\n type: 'User',\n resolve: async (query, root, args, ctx, info) =>\n prisma.user.findUnique({\n ...query,\n rejectOnNotFound: true,\n where: { id: ctx.userId },\n }),\n }),\n }),\n});\n```\n\nThis method works just like th normal `t.field` method with a couple of differences:\n\n1. The `type` option must contain the name of the prisma model (eg. `User` or `[User]` for a list\n field).\n2. The `resolve` function has a new first argument `query` which should be spread into query prisma\n query. This will be used to load data for nested relationships.\n\nYou do not need to use this method, and the `builder.prismaObject` method returns an object ref than\ncan be used like any other object ref (with `t.field`), but using `t.prismaField` will allow you to\ntake advantage of more efficient queries.\n\nThe `query` object will contain an object with `include` or `select` options to pre-load data needed\nto resolve nested parts of the current query. The included/selected fields are based on which fields\nare being queried, and the options provided when defining those fields and types.\n\n## Adding relations\n\nYou can add fields for relations using the `t.relation` method:\n\n```typescript\nbuilder.queryType({\n fields: (t) => ({\n me: t.prismaField({\n type: 'User',\n resolve: async (query, root, args, ctx, info) =>\n prisma.user.findUnique({\n ...query,\n rejectOnNotFound: true,\n where: { id: ctx.userId },\n }),\n }),\n }),\n});\n\nbuilder.prismaObject('User', {\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.relation('posts'),\n }),\n});\n\nbuilder.prismaObject('Post', {\n findUnique: (post) => ({ id: post.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n```\n\n`t.relation` defines a field that can be pre-loaded by a parent resolver. This will create something\nlike `{ include: { author: true }}` that will be passed as part of the `query` argument of a\n`prismaField` resolver. If the parent is another `relation` field, the includes will become nested,\nand the full relation chain will be passed to the `prismaField` that started the chain.\n\nFor example the query:\n\n```graphql\nquery {\n me {\n posts {\n author {\n id\n }\n }\n }\n}\n```\n\nthe `me` `prismaField` would receive something like the following as its query parameter:\n\n```ts\n{\n include: {\n posts: {\n include: {\n author: true;\n }\n }\n }\n}\n```\n\nThis will work perfectly for the majority of queries. There are a number of edge cases that make it\nimpossible to resolve everything in a single query. When this happens the `findUnique` option is\nused to ensure that everything is still loaded correctly, and split into as few efficient queries as\npossible.\n\n### Find Unique\n\nThe `findUnique` function will receive an instance of the prisma model the current type is defining,\nand should return an object that will be passed as a `where` in a `prisma.findUnique`. Generally,\nthis will just be something like: `user => { id: user.id }` where `id` is the primary key for the\ntable.\n\nWhen the prisma plugin encounters a query where the requirements for a field can not be satisfied,\nit will call findUnique for the current prisma model, and include or select all properties that are\nrequired for the fields that could not be resolved without an additional query.\n\nThe following are some edge cases that could cause an additional query to be necessary:\n\n- The parent object was not loaded through a field defined with `t.prismaField`, or `t.relation`\n- The root `prismaField` did not correctly spread the `query` arguments in is prisma call.`\n- The query selects multiple fields that use the same relation with incompatible options (order,\n limit, or other filters)\n- The query contains multiple aliases for the same relation field with different arguments in a way\n that results in different query options for the relation.\n- A relation field has a query that is incompatible with the default includes of the parent object\n\nAll of the above should be relatively uncommon in normal usage, but the plugin ensures that these\ntypes of edge cases are automatically handled when they do occur.\n\n### Without Find Unique\n\nThis is generally _NOT RECOMMENDED_, but you can set `findUnique` to null for some prisma objects.\nDoing this will prevent the plugin from resolving queries for conflicting relations. Because of\nthis, you will need to provide a `resolve` method when defining relations, and some other options\n(like field level selects, described below) will not be available. This `resolve` method is _ONLY\nCALLED AS A FALLBACK_ when the relation has not already been loaded. This means that you should not\napply any sorting or filtering to the relation queried in the resolve method. Instead used the\n`query` option described in the next section\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: null,\n fields: (t) => ({\n id: t.exposeID('id'),\n posts: t.relation('posts', {\n resolve: (query, user) =>\n db.post.findMany({\n ...query,\n where: { authorId: user.id },\n }),\n }),\n }),\n});\n```\n\n### Filters, Sorting, and arguments\n\nSo far we have been describing very simple queries without any arguments, filtering, or sorting. For\n`t.prismaField` definitions, you can add arguments to your field like normal, and pass them into\nyour prisma query as needed. For `t.relation` the flow is slightly different because we are not\nmaking a prisma query directly. We do this by adding a `query` option to our field options. Query\ncan either be a query object, or a method that returns a query object based on the field arguments.\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n posts: t.relation('posts', {\n // We can define arguments like any other field\n args: {\n oldestFirst: t.arg.boolean(),\n },\n // Then we can generate our query conditions based on the arguments\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n }),\n }),\n});\n```\n\nThe returned query object will be added to the include section of the `query` argument that gets\npassed into the first argument of the parent `t.prismaField`, and can include things like `where`,\n`skip`, `take`, abd `orderBy`. The `query` function will be passed the arguments for the field, and\nthe context for the current request. Because it is used for pre-loading data, and solving n+1\nissues, it can not be passed the `parent` object because it may not be loaded yet.\n\nIf your field has a `resolve` method the generated `query` will be passed in as part of the first\narg to your resolve function\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: null,\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.relation('posts', {\n // We can define arguments like any other field\n args: {\n oldestFirst: t.arg.boolean(),\n },\n // Then we can generate our query conditions based on the arguments\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n // optional: query here will contain the orderBy (and any other properties returned by the query method)\n resolve: (query, post) => db.post.findMany({ ...query, where: { id: post.authorId } }),\n }),\n }),\n});\n```\n\nIt is _VERY IMPORTANT_ to put all your filtering and sorting into the query method rather than your\nresolver because the resolver is only used as fallback, and any filtering that does not exist in the\nquery method will not be applied correctly. If you have a where in both your query and your\nresolver, you will need to ensure these are merged correctly. It is generally better NOT to use a\ncustom resolver.\n\n## relationCount\n\nPrisma supports querying for\n[relation counts](https://www.prisma.io/docs/concepts/components/prisma-client/aggregation-grouping-summarizing#count-relations)\nwhich allow including counts for relations along side other `includes`. This does not currently\nsupport any filters on the counts, but can give a total count for a relation.\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n postCount: t.relationCount('posts'),\n }),\n});\n```\n\n## Includes on types\n\nIn some cases, you may want to always pre-load certain relations. This can be helpful for defining\nfields directly on type where the underlying data may come from a related table.\n\n```typescript\nbuilder.prismaObject('User', {\n // This will always include the profile when a user object is loaded. Deeply nested relations can\n // also be included this way.\n include: {\n profile: true,\n },\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n bio: t.string({\n // The profile relation will always be loaded, and user will now be typed to include the\n // profile field so you can return the bio from the nested profile relation.\n resolve: (user) => user.profile.bio,\n }),\n }),\n});\n```\n\n## Select mode for types\n\nBy default, the prisma plugin will use `include` when including relations, or generating fallback\nqueries. This means we are always loading all columns of a table when loading it in a\n`t.prismaField` or a `t.relation`. This is usually what we want, but in some cases, you may want to\nselect specific columns instead. This can be useful if you have tables with either a very large\nnumber of columns, or specific columns with large payloads you want to avoid loading.\n\nTo do this, you can add a `select` instead of an include to your `prismaObject`:\n\n```typescript\nbuilder.prismaObject('User', {\n select: {\n id: true,\n },\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n }),\n});\n```\n\nAt the very least, you will need to `select` the properties required by your `findUnique` function.\nThe `t.expose*` and `t.relation` methods will all automatically add selections for the exposed\nfields _WHEN THEY ARE QUERIED_, ensuring that only the requested columns will be loaded from the\ndatabase.\n\nIn addition to the `t.expose` and `t.relation`, you can also add custom selections to other fields:\n\n```typescript\nbuilder.prismaObject('User', {\n select: {\n id: true,\n },\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n bio: t.string({\n // This will select user.profile.bio when the the `bio` field is queried\n select: {\n profile: {\n select: {\n bio: true,\n },\n },\n },\n resolve: (user) => user.profile.bio,\n }),\n }),\n});\n```\n\n## Type variants\n\nThe prisma plugin supports defining multiple GraphQL types based on the same prisma model.\nAdditional types are called `variants`. You will always need to have a \"Primary\" variant (defined as\ndescribed above). Additional variants can be defined by providing a `variant` option instead of a\n`name` option when creating the type:\n\n```typescript\nconst Viewer = builder.prismaObject('User', {\n variant: 'Viewer',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n});\n```\n\nYou can define variant fields that reference one variant from another:\n\n```typescript\nconst Viewer = builder.prismaObject('User', {\n variant: 'Viewer',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n // Using the model name ('User') will reference the primary variant\n user: t.variant('User'),\n });\n});\n\nconst User = builder.prismaNode('User', {\n // Testing that user is typed correctly\n authScopes: (user) => !!user.id,\n interfaces: [Named],\n id: {\n resolve: (user) => user.id,\n },\n fields: (t) => ({\n // To reference another variant, use the returned object Ref instead of the model name:\n viewer: t.variant(Viewer, {}),\n email: t.exposeString('email'),\n }),\n});\n```\n\nYou can also use variants when defining relations by providing a `type` option:\n\n```typescript\nconst PostDraft = builder.prismaNode('Post', {\n variant: 'PostDraft'\n // This is used to load the node by id\n findUnique: (id) => ({ id }),\n // This is used to get the id from a node\n id: { resolve: (post) => post.id },\n // fields work just like they do for builder.prismaObject\n fields: (t) => ({\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n\nconst Viewer = builder.prismaObject('User', {\n variant: 'Viewer',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n drafts: t.relation('posts', {\n // This will cause this relation to use the PostDraft variant rather than the default Post variant\n type: PostDraft,\n query: { where: { draft: true } },\n }),\n });\n});\n```\n\n## Relay integration\n\nThis plugin has extensive integration with the\n[relay plugin](https://pothos-graphql.dev/docs/plugins/relay), which makes creating nodes and\nconnections very easy.\n\n### `prismaNode`\n\nThe `prismaNode` method works just like the `prismaObject` method with a couple of small\ndifferences:\n\n- the `findUnique` function now only receives an id. This is to support relays ability to load nodes\n by id.\n- there is a new `id` option that mirrors the `id` option from `node` method of the relay plugin,\n and must contain a resolve function that returns the id from an instance of the node.\n\n```typescript\nbuilder.prismaNode('Post', {\n // This is used to load the node by id\n findUnique: (id) => ({ id }),\n // This is used to get the id from a node\n id: { resolve: (post) => post.id },\n // fields work just like they do for builder.prismaObject\n fields: (t) => ({\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n```\n\n### `prismaConnection`\n\nThe `prismaConnection` method on a field builder can be used to create a relay `connection` field\nthat also pre-loads all the data nested inside that connection.\n\n```typescript\nbuilder.queryType({\n fields: (t) => ({\n posts: t.prismaConnection(\n {\n type: 'Post',\n cursor: 'id',\n resolve: (query, parent, args, context, info) => prisma.post.findMany({ ...query }),\n }),\n {}, // optional options for the Connection type\n {}, // optional options for the Edge type),\n ),\n }),\n});\n```\n\n#### options\n\n- `type`: the name of the prisma model being connected to\n- `cursor`: a `@unique` column of the model being connected to. This is used as the `cursor` option\n passed to prisma.\n- `defaultSize`: (default: 20) The default page size to use if `first` and `last` are not provided.\n- `maxSize`: (default: 100) The maximum number of nodes returned for a connection.\n- `resolve`: Like the resolver for `prismaField`, the first argument is a `query` object that should\n be spread into your prisma query. The `resolve` function should return an array of nodes for the\n connection. The `query` will contain the correct `take`, `skip`, and `cursor` options based on the\n connection arguments (`before`, `after`, `first`, `last`), along with `include` options for nested\n selections.\n\nThe created connection queries currently support the following combinations of connection arguments:\n\n- `first`, `last`, or `before`\n- `first` and `before`\n- `last` and `after`\n\nQueries for other combinations are not as useful, and generally requiring loading all records\nbetween 2 cursors, or between a cursor and the end of the set. Generating query options for these\ncases is more complex and likely very inefficient, so they will currently throw an Error indicating\nthe argument combinations are not supported.\n\n### `relatedConnection`\n\nThe `relatedConnection` method can be used to create a relay `connection` field based on a relation\nof the current model.\n\n```typescript\nbuilder.prismaNode('User', {\n findUnique: (id) => ({ id }),\n id: { resolve: (user) => user.id },\n fields: (t) => ({\n // Connections can be very simple to define\n simplePosts: t.relatedConnection('posts', {\n cursor: 'id',\n }),\n // Or they can include custom arguments, and other options\n posts: t.relatedConnection(\n 'posts',\n {\n cursor: 'id',\n args: {\n oldestFirst: t.arg.boolean(),\n },\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n },\n {}, // optional options for the Connection type\n {}, // optional options for the Edge type),\n ),\n }),\n});\n```\n\n#### options\n\n- `cursor`: a `@unique` column of the model being connected to. This is used as the `cursor` option\n passed to prisma.\n- `defaultSize`: (default: 20) The default page size to use if `first` and `last` are not provided.\n- `maxSize`: (default: 100) The maximum number of nodes returned for a connection.\n- `query`: A method that accepts the `args` and `context` for the connection field, and returns\n filtering and sorting logic that will be merged into the query for the relation.\n- `resolve`: (optional) Used as a fallback when a connection is not pre-loaded. It is optional, and\n generally should NOT be defined manually. If used it works like a combination of the `resolve`\n method of `relation` and `prismaConnection`. The default will use the `findUnique` of the current\n model, with an `include` for the current relation. It is also batched together with other\n relationships to improve query efficiency.\n- `totalCount`: when set to true, this will add a `totalCount` field to the connection object. see\n `relationCount` above for more details.\n\n## Using Prisma without a plugin\n\nUsing prisma without a plugin is relatively straight forward using the `builder.objectRef` method.\n\nThe easiest way to create types backed by prisma looks something like:\n\n```typescript\nimport { Post, PrismaClient, User } from '@prisma/client';\n\nconst db = new PrismaClient();\nconst UserObject = builder.objectRef<User>('User');\nconst PostObject = builder.objectRef<Post>('Post');\n\nUserObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.field({\n type: [PostObject],\n resolve: (user) =>\n db.post.findMany({\n where: { authorId: user.id },\n }),\n }),\n }),\n});\n\nPostObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.field({\n type: UserObject,\n resolve: (post) =>\n db.user.findUnique({ rejectOnNotFound: true, where: { id: post.authorId } }),\n }),\n }),\n});\n\nbuilder.queryType({\n fields: (t) => ({\n me: t.field({\n type: UserObject,\n resolve: (root, args, ctx) =>\n db.user.findUnique({ rejectOnNotFound: true, where: { id: ctx.userId } }),\n }),\n }),\n});\n```\n\nThis sets up User, and Post objects with a few fields, and a `me` query that returns the current\nuser. There are a few things to note in this setup:\n\n1. We split up the `builder.objectRef` and the `implement` calls, rather than calling\n `builder.objectRef(...).implement(...)`. This prevents typescript from getting tripped up by the\n circular references between posts and users.\n2. We use rejectOnNotFound with our `findUnique` calls because those fields are not nullable.\n Without this option, prisma will return a null if the object is not found. An alternative is to\n mark these fields as nullable.\n3. The refs to our object types are called `UserObject` and `PostObject`, this is because `User` and\n `Post` are the names of the types imported from prisma. We could instead alias the types when we\n import them so we can name the refs to our GraphQL types after the models.\n\nThis setup is fairly simple, but it is easy to see the n+1 issues we might run into. Prisma helps\nwith this by batching queries together, but there are also things we can do in our implementation to\nimprove things.\n\nOne thing we could do if we know we will usually be loading the author any time we load a post is to\nmake the author part of shape required for a post:\n\n```typescript\nconst UserObject = builder.objectRef<User>('User');\n// We add the author here in the objectRef\nconst PostObject = builder.objectRef<Post & { author: User }>('Post');\n\nUserObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.field({\n type: [PostObject],\n resolve: (user) =>\n db.post.findMany({\n // We now need to include the author when we query for posts\n include: {\n author: true,\n },\n where: { authorId: user.id },\n }),\n }),\n }),\n});\n\nPostObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.field({\n type: UserObject,\n // Now we can just return the author from the post instead of querying for it\n resolve: (post) => post.author,\n }),\n }),\n});\n```\n\nWe may not always want to query for the author though, so we could make the author optional and fall\nback to using a query if it was not provided by the parent resolver:\n\n```typescript\nconst PostObject = builder.objectRef<Post & { author?: User }>('Post');\n\nPostObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.field({\n type: UserObject,\n resolve: (post) =>\n post.author ?? db.user.findUnique({ rejectOnNotFound: true, where: { id: post.authorId } }),\n }),\n }),\n});\n```\n\nWith this setup, a parent resolver has the option to include the author, but we have a fallback\nincase it does not.\n\nThere are other patterns like dataloaders than can be used to reduce n+1 issues, and make your graph\nmore efficient, but they are too complex to describe here.\n"
70
+ "readme": "# Prisma Plugin for Pothos\n\nThis plugin provides tighter integration with prisma, making it easier to define prisma based object\ntypes, and helps solve n+1 queries for relations. It also has integrations for the relay plugin to\nmake defining nodes and connections easy and efficient.\n\nThis plugin is NOT required to use prisma with Pothos, but does make things a lot easier and more\nefficient. See the [Using Prisma without a plugin](#using-prisma-without-a-plugin) section below for\nmore details.\n\n## Features\n\n- 🎨 Quickly define GraphQL types based on your Prisma models\n- 🦺 Strong type-safety throughout the entire API\n- 🤝 Automatically resolve relationships defined in your database\n- 🎣 Automatic Query optimization to efficiently load the specific data needed to resolve a query\n (solves common N+1 issues)\n- 💅 Types and fields in GraphQL schema are not implicitly tied to the column names or types in your\n database.\n- 🔀 Relay integration for defining nodes and connections that can be efficiently loaded.\n- 📚 Supports multiple GraphQL models based on the same Database model\n- 🧮 Count fields can easily be added to objects and connections\n\n## Example\n\nHere is a quick example of what an API using this plugin might look like. There is a more thorough\nbreakdown of what the methods and options used in the example below.\n\n```typescript\n// Create an object type based on a prisma model\n// without providing any custom type information\nbuilder.prismaObject('User', {\n // findUnique is explained more below, and is\n // required to safely resolve queries in some edge cases\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n // expose fields from the database\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n bio: t.string({\n // automatically load the bio from the profile\n // when this field is queried\n select: {\n profile: {\n select: {\n bio: true,\n },\n },\n },\n // user will be typed correctly to include the\n // selected fields from above\n resolve: (user) => user.profile.bio,\n }),\n // Load posts as list field.\n posts: t.relation('posts', {\n args: {\n oldestFirst: t.arg.boolean(),\n },\n // Define custom query options that are applied when\n // loading the post relation\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n }),\n // creates relay connection that handles pagination\n // using prisma's built in cursor based pagination\n postsConnection: t.relatedConnection('posts', {\n cursor: 'id',\n }),\n }),\n});\n\n// Create a relay node based a prisma model\nbuilder.prismaNode('Post', {\n findUnique: (id) => ({ id }),\n id: { resolve: (post) => post.id },\n fields: (t) => ({\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n\nbuilder.queryType({\n fields: (t) => ({\n // Define a field that issues an optimized prisma query\n me: t.prismaField({\n type: 'User',\n resolve: async (query, root, args, ctx, info) =>\n prisma.user.findUnique({\n // the `query` argument will add in `include`s or `select`s to\n // resolve as much of the request in a single query as possible\n ...query,\n rejectOnNotFound: true,\n where: { id: ctx.userId },\n }),\n }),\n }),\n});\n```\n\nGiven this schema, you would be able to resolve a query like the following with a single prisma\nquery (which will still result in a few optimized SQL queries).\n\n```graphql\nquery {\n me {\n email\n posts {\n title\n author {\n id\n }\n }\n }\n}\n```\n\nA query like\n\n```graphql\nquery {\n me {\n email\n posts {\n title\n author {\n id\n }\n }\n oldPosts: posts(oldestFirst: true) {\n title\n author {\n id\n }\n }\n }\n}\n```\n\nWill result in 2 calls to prisma, one to resolve everything except `oldPosts`, and a second to\nresolve everything inside `oldPosts`. Prisma can only resolve each relation once in a single query,\nso we need a separate to handle the second `posts` relation. These additional queries will use the\n`findUnique` defined for the parent type to create a new efficient query to load any conflicting\nrelations.\n\n## Install\n\n```bash\nyarn add @pothos/plugin-prisma\n```\n\n## Setup\n\nThis plugin requires a little more setup than other plugins because it integrates with the prisma to\ngenerate some types that help the plugin better understand your prisma schema. Previous versions of\nthis plugin used to infer all required types from the prisma client itself, but this resulted in a\npoor dev experience because the complex types slowed down editors, and some more advanced use cases\ncould not be typed correctly.\n\n### Add a the `pothos` generator to your prisma schema\n\n```\ngenerator pothos {\n provider = \"prisma-pothos-types\"\n}\n```\n\nNow the types Pothos uses will be generated whenever you re-generate your prisma client. Run the\nfollowing command to re-generate the client and create the new types:\n\n```sh\nnpx prisma generate\n```\n\nadditional options:\n\n- `clientOutput`: Where the generated code will import the PrismaClient from. The default is the\n full path of wherever the client is generated. If you are checking in the generated file, using\n `@prisma/client` is a good option.\n- `output`: Where to write the generated types\n\nExample with more options:\n\n```\ngenerator pothos {\n provider = \"prisma-pothos-types\"\n clientOutput = \"@prisma/client\"\n output = \"./pothos-types.ts\"\n}\n```\n\n### Set up the builder\n\n```typescript\nimport SchemaBuilder from '@pothos/core';\nimport { PrismaClient } from '@prisma/client';\nimport PrismaPlugin from '@pothos/plugin-prisma';\n// This is the default location for the generator, but this can be\n// customized as described above.\n// Using a type only import will help avoid issues with undeclared\n// exports in esm mode\nimport type PrismaTypes from '@pothos/plugin-prisma/generated';\n\nconst prisma = new PrismaClient({});\n\nconst builder = new SchemaBuilder<{\n PrismaTypes: PrismaTypes;\n}>({\n plugins: [PrismaPlugin],\n prisma: {\n client: prisma,\n },\n});\n```\n\nIt is strongly recommended NOT to put your prisma client into `Context`. This will result in slower\ntype-checking and a laggy developer experience in VSCode. See\n[this issue](https://github.com/microsoft/TypeScript/issues/45405) for more details.\n\n## Creating types with `builder.prismaObject`\n\n`builder.prismaObject` takes 2 arguments:\n\n1. `name`: The name of the prisma model this new type represents\n2. `options`: options for the type being created, this is very similar to the options for any other\n object type\n\n```typescript\nbuilder.prismaObject('User', {\n // Optional name for the object, defaults to the name of the prisma model\n name: 'PostAuthor',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n }),\n});\n\nbuilder.prismaObject('Post', {\n findUnique: (post) => ({ id: post.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n }),\n});\n```\n\nSo far, this is just creating some simple object types. They work just like any other object type in\nPothos. The main advantage of this is that we get the type information without using object refs, or\nneeding imports from prisma client.\n\nThe `findUnique` option is described more below.\n\n## Adding prisma fields to non-prisma objects (including Query and Mutation)\n\nThere is a new `t.prismaField` method which can be used to define fields that resolve to your prisma\ntypes:\n\n```typescript\nbuilder.queryType({\n fields: (t) => ({\n me: t.prismaField({\n type: 'User',\n resolve: async (query, root, args, ctx, info) =>\n prisma.user.findUnique({\n ...query,\n rejectOnNotFound: true,\n where: { id: ctx.userId },\n }),\n }),\n }),\n});\n```\n\nThis method works just like th normal `t.field` method with a couple of differences:\n\n1. The `type` option must contain the name of the prisma model (eg. `User` or `[User]` for a list\n field).\n2. The `resolve` function has a new first argument `query` which should be spread into query prisma\n query. This will be used to load data for nested relationships.\n\nYou do not need to use this method, and the `builder.prismaObject` method returns an object ref than\ncan be used like any other object ref (with `t.field`), but using `t.prismaField` will allow you to\ntake advantage of more efficient queries.\n\nThe `query` object will contain an object with `include` or `select` options to pre-load data needed\nto resolve nested parts of the current query. The included/selected fields are based on which fields\nare being queried, and the options provided when defining those fields and types.\n\n## Adding relations\n\nYou can add fields for relations using the `t.relation` method:\n\n```typescript\nbuilder.queryType({\n fields: (t) => ({\n me: t.prismaField({\n type: 'User',\n resolve: async (query, root, args, ctx, info) =>\n prisma.user.findUnique({\n ...query,\n rejectOnNotFound: true,\n where: { id: ctx.userId },\n }),\n }),\n }),\n});\n\nbuilder.prismaObject('User', {\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.relation('posts'),\n }),\n});\n\nbuilder.prismaObject('Post', {\n findUnique: (post) => ({ id: post.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n```\n\n`t.relation` defines a field that can be pre-loaded by a parent resolver. This will create something\nlike `{ include: { author: true }}` that will be passed as part of the `query` argument of a\n`prismaField` resolver. If the parent is another `relation` field, the includes will become nested,\nand the full relation chain will be passed to the `prismaField` that started the chain.\n\nFor example the query:\n\n```graphql\nquery {\n me {\n posts {\n author {\n id\n }\n }\n }\n}\n```\n\nthe `me` `prismaField` would receive something like the following as its query parameter:\n\n```ts\n{\n include: {\n posts: {\n include: {\n author: true;\n }\n }\n }\n}\n```\n\nThis will work perfectly for the majority of queries. There are a number of edge cases that make it\nimpossible to resolve everything in a single query. When this happens the `findUnique` option is\nused to ensure that everything is still loaded correctly, and split into as few efficient queries as\npossible.\n\n### Find Unique\n\nThe `findUnique` function will receive an instance of the prisma model the current type is defining,\nand should return an object that will be passed as a `where` in a `prisma.findUnique`. Generally,\nthis will just be something like: `user => { id: user.id }` where `id` is the primary key for the\ntable.\n\nWhen the prisma plugin encounters a query where the requirements for a field can not be satisfied,\nit will call findUnique for the current prisma model, and include or select all properties that are\nrequired for the fields that could not be resolved without an additional query.\n\nThe following are some edge cases that could cause an additional query to be necessary:\n\n- The parent object was not loaded through a field defined with `t.prismaField`, or `t.relation`\n- The root `prismaField` did not correctly spread the `query` arguments in is prisma call.\n- The query selects multiple fields that use the same relation with different queries\n- The query contains multiple aliases for the same relation field with different arguments in a way\n that results in different query options for the relation.\n- A relation field has a query that is incompatible with the default includes of the parent object\n\nAll of the above should be relatively uncommon in normal usage, but the plugin ensures that these\ntypes of edge cases are automatically handled when they do occur.\n\n### Without Find Unique\n\nThis is generally _NOT RECOMMENDED_, but you can set `findUnique` to null for some prisma objects.\nDoing this will prevent the plugin from resolving queries for conflicting relations. Because of\nthis, you will need to provide a `resolve` method when defining relations, and some other options\n(like field level selects, described below) will not be available. This `resolve` method is _ONLY\nCALLED AS A FALLBACK_ when the relation has not already been loaded. This means that you should not\napply any sorting or filtering to the relation queried in the resolve method. Instead used the\n`query` option described in the next section\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: null,\n fields: (t) => ({\n id: t.exposeID('id'),\n posts: t.relation('posts', {\n resolve: (query, user) =>\n db.post.findMany({\n ...query,\n where: { authorId: user.id },\n }),\n }),\n }),\n});\n```\n\n### Filters, Sorting, and arguments\n\nSo far we have been describing very simple queries without any arguments, filtering, or sorting. For\n`t.prismaField` definitions, you can add arguments to your field like normal, and pass them into\nyour prisma query as needed. For `t.relation` the flow is slightly different because we are not\nmaking a prisma query directly. We do this by adding a `query` option to our field options. Query\ncan either be a query object, or a method that returns a query object based on the field arguments.\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n posts: t.relation('posts', {\n // We can define arguments like any other field\n args: {\n oldestFirst: t.arg.boolean(),\n },\n // Then we can generate our query conditions based on the arguments\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n }),\n }),\n});\n```\n\nThe returned query object will be added to the include section of the `query` argument that gets\npassed into the first argument of the parent `t.prismaField`, and can include things like `where`,\n`skip`, `take`, abd `orderBy`. The `query` function will be passed the arguments for the field, and\nthe context for the current request. Because it is used for pre-loading data, and solving n+1\nissues, it can not be passed the `parent` object because it may not be loaded yet.\n\nIf your field has a `resolve` method the generated `query` will be passed in as part of the first\narg to your resolve function\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: null,\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.relation('posts', {\n // We can define arguments like any other field\n args: {\n oldestFirst: t.arg.boolean(),\n },\n // Then we can generate our query conditions based on the arguments\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n // optional: query here will contain the orderBy (and any other properties returned by the query method)\n resolve: (query, post) => db.post.findMany({ ...query, where: { id: post.authorId } }),\n }),\n }),\n});\n```\n\nIt is _VERY IMPORTANT_ to put all your filtering and sorting into the query method rather than your\nresolver because the resolver is only used as fallback, and any filtering that does not exist in the\nquery method will not be applied correctly. If you have a where in both your query and your\nresolver, you will need to ensure these are merged correctly. It is generally better NOT to use a\ncustom resolver.\n\n## relationCount\n\nPrisma supports querying for\n[relation counts](https://www.prisma.io/docs/concepts/components/prisma-client/aggregation-grouping-summarizing#count-relations)\nwhich allow including counts for relations along side other `includes`. This does not currently\nsupport any filters on the counts, but can give a total count for a relation.\n\n```typescript\nbuilder.prismaObject('User', {\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n postCount: t.relationCount('posts'),\n }),\n});\n```\n\n## Includes on types\n\nIn some cases, you may want to always pre-load certain relations. This can be helpful for defining\nfields directly on type where the underlying data may come from a related table.\n\n```typescript\nbuilder.prismaObject('User', {\n // This will always include the profile when a user object is loaded. Deeply nested relations can\n // also be included this way.\n include: {\n profile: true,\n },\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n bio: t.string({\n // The profile relation will always be loaded, and user will now be typed to include the\n // profile field so you can return the bio from the nested profile relation.\n resolve: (user) => user.profile.bio,\n }),\n }),\n});\n```\n\n## Select mode for types\n\nBy default, the prisma plugin will use `include` when including relations, or generating fallback\nqueries. This means we are always loading all columns of a table when loading it in a\n`t.prismaField` or a `t.relation`. This is usually what we want, but in some cases, you may want to\nselect specific columns instead. This can be useful if you have tables with either a very large\nnumber of columns, or specific columns with large payloads you want to avoid loading.\n\nTo do this, you can add a `select` instead of an include to your `prismaObject`:\n\n```typescript\nbuilder.prismaObject('User', {\n select: {\n id: true,\n },\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n }),\n});\n```\n\nAt the very least, you will need to `select` the properties required by your `findUnique` function.\nThe `t.expose*` and `t.relation` methods will all automatically add selections for the exposed\nfields _WHEN THEY ARE QUERIED_, ensuring that only the requested columns will be loaded from the\ndatabase.\n\nIn addition to the `t.expose` and `t.relation`, you can also add custom selections to other fields:\n\n```typescript\nbuilder.prismaObject('User', {\n select: {\n id: true,\n },\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n bio: t.string({\n // This will select user.profile.bio when the the `bio` field is queried\n select: {\n profile: {\n select: {\n bio: true,\n },\n },\n },\n resolve: (user) => user.profile.bio,\n }),\n }),\n});\n```\n\n## Type variants\n\nThe prisma plugin supports defining multiple GraphQL types based on the same prisma model.\nAdditional types are called `variants`. You will always need to have a \"Primary\" variant (defined as\ndescribed above). Additional variants can be defined by providing a `variant` option instead of a\n`name` option when creating the type:\n\n```typescript\nconst Viewer = builder.prismaObject('User', {\n variant: 'Viewer',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n});\n```\n\nYou can define variant fields that reference one variant from another:\n\n```typescript\nconst Viewer = builder.prismaObject('User', {\n variant: 'Viewer',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n // Using the model name ('User') will reference the primary variant\n user: t.variant('User'),\n });\n});\n\nconst User = builder.prismaNode('User', {\n // Testing that user is typed correctly\n authScopes: (user) => !!user.id,\n interfaces: [Named],\n id: {\n resolve: (user) => user.id,\n },\n fields: (t) => ({\n // To reference another variant, use the returned object Ref instead of the model name:\n viewer: t.variant(Viewer, {}),\n email: t.exposeString('email'),\n }),\n});\n```\n\nYou can also use variants when defining relations by providing a `type` option:\n\n```typescript\nconst PostDraft = builder.prismaNode('Post', {\n variant: 'PostDraft'\n // This is used to load the node by id\n findUnique: (id) => ({ id }),\n // This is used to get the id from a node\n id: { resolve: (post) => post.id },\n // fields work just like they do for builder.prismaObject\n fields: (t) => ({\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n\nconst Viewer = builder.prismaObject('User', {\n variant: 'Viewer',\n findUnique: (user) => ({ id: user.id }),\n fields: (t) => ({\n id: t.exposeID('id'),\n drafts: t.relation('posts', {\n // This will cause this relation to use the PostDraft variant rather than the default Post variant\n type: PostDraft,\n query: { where: { draft: true } },\n }),\n });\n});\n```\n\n## Relay integration\n\nThis plugin has extensive integration with the\n[relay plugin](https://pothos-graphql.dev/docs/plugins/relay), which makes creating nodes and\nconnections very easy.\n\n### `prismaNode`\n\nThe `prismaNode` method works just like the `prismaObject` method with a couple of small\ndifferences:\n\n- the `findUnique` function now only receives an id. This is to support relays ability to load nodes\n by id.\n- there is a new `id` option that mirrors the `id` option from `node` method of the relay plugin,\n and must contain a resolve function that returns the id from an instance of the node.\n\n```typescript\nbuilder.prismaNode('Post', {\n // This is used to load the node by id\n findUnique: (id) => ({ id }),\n // This is used to get the id from a node\n id: { resolve: (post) => post.id },\n // fields work just like they do for builder.prismaObject\n fields: (t) => ({\n title: t.exposeString('title'),\n author: t.relation('author'),\n }),\n});\n```\n\n### `prismaConnection`\n\nThe `prismaConnection` method on a field builder can be used to create a relay `connection` field\nthat also pre-loads all the data nested inside that connection.\n\n```typescript\nbuilder.queryType({\n fields: (t) => ({\n posts: t.prismaConnection(\n {\n type: 'Post',\n cursor: 'id',\n resolve: (query, parent, args, context, info) => prisma.post.findMany({ ...query }),\n }),\n {}, // optional options for the Connection type\n {}, // optional options for the Edge type),\n ),\n }),\n});\n```\n\n#### options\n\n- `type`: the name of the prisma model being connected to\n- `cursor`: a `@unique` column of the model being connected to. This is used as the `cursor` option\n passed to prisma.\n- `defaultSize`: (default: 20) The default page size to use if `first` and `last` are not provided.\n- `maxSize`: (default: 100) The maximum number of nodes returned for a connection.\n- `resolve`: Like the resolver for `prismaField`, the first argument is a `query` object that should\n be spread into your prisma query. The `resolve` function should return an array of nodes for the\n connection. The `query` will contain the correct `take`, `skip`, and `cursor` options based on the\n connection arguments (`before`, `after`, `first`, `last`), along with `include` options for nested\n selections.\n- `totalCount`: A function for loading the total count for the connection. This will add a\n `totalCount` field to the connection object. The `totalCount` method will receive (`connection`,\n `args`, `context`, `info`) as arguments\n\nThe created connection queries currently support the following combinations of connection arguments:\n\n- `first`, `last`, or `before`\n- `first` and `before`\n- `last` and `after`\n\nQueries for other combinations are not as useful, and generally requiring loading all records\nbetween 2 cursors, or between a cursor and the end of the set. Generating query options for these\ncases is more complex and likely very inefficient, so they will currently throw an Error indicating\nthe argument combinations are not supported.\n\n### `relatedConnection`\n\nThe `relatedConnection` method can be used to create a relay `connection` field based on a relation\nof the current model.\n\n```typescript\nbuilder.prismaNode('User', {\n findUnique: (id) => ({ id }),\n id: { resolve: (user) => user.id },\n fields: (t) => ({\n // Connections can be very simple to define\n simplePosts: t.relatedConnection('posts', {\n cursor: 'id',\n }),\n // Or they can include custom arguments, and other options\n posts: t.relatedConnection(\n 'posts',\n {\n cursor: 'id',\n args: {\n oldestFirst: t.arg.boolean(),\n },\n query: (args, context) => ({\n orderBy: {\n createdAt: args.oldestFirst ? 'asc' : 'desc',\n },\n }),\n },\n {}, // optional options for the Connection type\n {}, // optional options for the Edge type),\n ),\n }),\n});\n```\n\n#### options\n\n- `cursor`: a `@unique` column of the model being connected to. This is used as the `cursor` option\n passed to prisma.\n- `defaultSize`: (default: 20) The default page size to use if `first` and `last` are not provided.\n- `maxSize`: (default: 100) The maximum number of nodes returned for a connection.\n- `query`: A method that accepts the `args` and `context` for the connection field, and returns\n filtering and sorting logic that will be merged into the query for the relation.\n- `resolve`: (optional) Used as a fallback when a connection is not pre-loaded. It is optional, and\n generally should NOT be defined manually. If used it works like a combination of the `resolve`\n method of `relation` and `prismaConnection`. The default will use the `findUnique` of the current\n model, with an `include` for the current relation. It is also batched together with other\n relationships to improve query efficiency.\n- `totalCount`: when set to true, this will add a `totalCount` field to the connection object. see\n `relationCount` above for more details.\n\n## Using Prisma without a plugin\n\nUsing prisma without a plugin is relatively straight forward using the `builder.objectRef` method.\n\nThe easiest way to create types backed by prisma looks something like:\n\n```typescript\nimport { Post, PrismaClient, User } from '@prisma/client';\n\nconst db = new PrismaClient();\nconst UserObject = builder.objectRef<User>('User');\nconst PostObject = builder.objectRef<Post>('Post');\n\nUserObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.field({\n type: [PostObject],\n resolve: (user) =>\n db.post.findMany({\n where: { authorId: user.id },\n }),\n }),\n }),\n});\n\nPostObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.field({\n type: UserObject,\n resolve: (post) =>\n db.user.findUnique({ rejectOnNotFound: true, where: { id: post.authorId } }),\n }),\n }),\n});\n\nbuilder.queryType({\n fields: (t) => ({\n me: t.field({\n type: UserObject,\n resolve: (root, args, ctx) =>\n db.user.findUnique({ rejectOnNotFound: true, where: { id: ctx.userId } }),\n }),\n }),\n});\n```\n\nThis sets up User, and Post objects with a few fields, and a `me` query that returns the current\nuser. There are a few things to note in this setup:\n\n1. We split up the `builder.objectRef` and the `implement` calls, rather than calling\n `builder.objectRef(...).implement(...)`. This prevents typescript from getting tripped up by the\n circular references between posts and users.\n2. We use rejectOnNotFound with our `findUnique` calls because those fields are not nullable.\n Without this option, prisma will return a null if the object is not found. An alternative is to\n mark these fields as nullable.\n3. The refs to our object types are called `UserObject` and `PostObject`, this is because `User` and\n `Post` are the names of the types imported from prisma. We could instead alias the types when we\n import them so we can name the refs to our GraphQL types after the models.\n\nThis setup is fairly simple, but it is easy to see the n+1 issues we might run into. Prisma helps\nwith this by batching queries together, but there are also things we can do in our implementation to\nimprove things.\n\nOne thing we could do if we know we will usually be loading the author any time we load a post is to\nmake the author part of shape required for a post:\n\n```typescript\nconst UserObject = builder.objectRef<User>('User');\n// We add the author here in the objectRef\nconst PostObject = builder.objectRef<Post & { author: User }>('Post');\n\nUserObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n email: t.exposeString('email'),\n posts: t.field({\n type: [PostObject],\n resolve: (user) =>\n db.post.findMany({\n // We now need to include the author when we query for posts\n include: {\n author: true,\n },\n where: { authorId: user.id },\n }),\n }),\n }),\n});\n\nPostObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.field({\n type: UserObject,\n // Now we can just return the author from the post instead of querying for it\n resolve: (post) => post.author,\n }),\n }),\n});\n```\n\nWe may not always want to query for the author though, so we could make the author optional and fall\nback to using a query if it was not provided by the parent resolver:\n\n```typescript\nconst PostObject = builder.objectRef<Post & { author?: User }>('Post');\n\nPostObject.implement({\n fields: (t) => ({\n id: t.exposeID('id'),\n title: t.exposeString('title'),\n author: t.field({\n type: UserObject,\n resolve: (post) =>\n post.author ?? db.user.findUnique({ rejectOnNotFound: true, where: { id: post.authorId } }),\n }),\n }),\n});\n```\n\nWith this setup, a parent resolver has the option to include the author, but we have a fallback\nincase it does not.\n\nThere are other patterns like dataloaders than can be used to reduce n+1 issues, and make your graph\nmore efficient, but they are too complex to describe here.\n"
71
71
  }
@@ -3,6 +3,7 @@ import {
3
3
  FieldKind,
4
4
  FieldRef,
5
5
  InputFieldMap,
6
+ MaybePromise,
6
7
  ObjectRef,
7
8
  RootFieldBuilder,
8
9
  SchemaTypes,
@@ -53,6 +54,7 @@ fieldBuilderProto.prismaConnection = function prismaConnection<
53
54
  maxSize,
54
55
  defaultSize,
55
56
  resolve,
57
+ totalCount,
56
58
  ...options
57
59
  }: PrismaConnectionFieldOptions<
58
60
  SchemaTypes,
@@ -65,8 +67,8 @@ fieldBuilderProto.prismaConnection = function prismaConnection<
65
67
  ResolveReturnShape,
66
68
  FieldKind
67
69
  >,
68
- connectionOptions: {},
69
- edgeOptions: {},
70
+ connectionOptions: {} = {},
71
+ edgeOptions: {} = {},
70
72
  ) {
71
73
  const ref = typeof type === 'string' ? getRefFromModel(type, this.builder) : type;
72
74
  const typeName = this.builder.configStore.getTypeConfig(ref).name;
@@ -95,6 +97,7 @@ fieldBuilderProto.prismaConnection = function prismaConnection<
95
97
  maxSize,
96
98
  defaultSize,
97
99
  args,
100
+ totalCount: totalCount && (() => totalCount(parent, args as never, ctx, info)),
98
101
  },
99
102
  formatCursor,
100
103
  (query) => resolve(query as never, parent, args as never, ctx, info),
@@ -102,6 +105,20 @@ fieldBuilderProto.prismaConnection = function prismaConnection<
102
105
  },
103
106
  {
104
107
  ...connectionOptions,
108
+ fields: totalCount
109
+ ? (
110
+ t: PothosSchemaTypes.ObjectFieldBuilder<
111
+ SchemaTypes,
112
+ { totalCount?: () => MaybePromise<number> }
113
+ >,
114
+ ) => ({
115
+ totalCount: t.int({
116
+ nullable: false,
117
+ resolve: (parent, args, context) => parent.totalCount?.(),
118
+ }),
119
+ ...(connectionOptions as { fields?: (t: unknown) => {} }).fields?.(t),
120
+ })
121
+ : (connectionOptions as { fields: undefined }).fields,
105
122
  extensions: {
106
123
  ...(connectionOptions as Record<string, {}> | undefined)?.extensions,
107
124
  pothosPrismaIndirectInclude: {
@@ -206,6 +206,7 @@ export class PrismaObjectFieldBuilder<
206
206
  fields: totalCount
207
207
  ? (t: PothosSchemaTypes.ObjectFieldBuilder<SchemaTypes, { totalCount?: number }>) => ({
208
208
  totalCount: t.int({
209
+ nullable: false,
209
210
  extensions: {
210
211
  pothosPrismaParentSelect: { _count: { select: { [name]: true } } },
211
212
  },
package/src/types.ts CHANGED
@@ -443,6 +443,12 @@ export type PrismaConnectionFieldOptions<
443
443
  context: Types['Context'],
444
444
  info: GraphQLResolveInfo,
445
445
  ) => MaybePromise<Model['Shape'][]>;
446
+ totalCount?: (
447
+ parent: ParentShape,
448
+ args: InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments,
449
+ context: Types['Context'],
450
+ info: GraphQLResolveInfo,
451
+ ) => MaybePromise<number>;
446
452
  };
447
453
 
448
454
  export type RelatedConnectionOptions<
@@ -84,7 +84,7 @@ export interface PrismaCursorConnectionQueryOptions {
84
84
 
85
85
  interface ResolvePrismaCursorConnectionOptions extends PrismaCursorConnectionQueryOptions {
86
86
  query: {};
87
- totalCount?: number;
87
+ totalCount?: number | (() => MaybePromise<number>);
88
88
  }
89
89
 
90
90
  export function prismaCursorConnectionQuery({
@@ -139,7 +139,7 @@ export function wrapConnectionResult<T extends {}>(
139
139
  args: PothosSchemaTypes.DefaultConnectionArguments,
140
140
  take: number,
141
141
  cursor: (node: T) => string,
142
- totalCount?: number,
142
+ totalCount?: number | (() => MaybePromise<number>),
143
143
  ) {
144
144
  const gotFullResults = results.length === Math.abs(take);
145
145
  const hasNextPage = args.before ? true : gotFullResults;