@pothos/plugin-prisma 3.35.8 → 3.36.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +232 -41
  3. package/dts/connection-helpers.d.ts +34 -0
  4. package/dts/connection-helpers.d.ts.map +1 -0
  5. package/dts/global-types.d.ts +15 -6
  6. package/dts/global-types.d.ts.map +1 -1
  7. package/dts/index.d.ts +3 -0
  8. package/dts/index.d.ts.map +1 -1
  9. package/dts/node-ref.d.ts +1 -1
  10. package/dts/node-ref.d.ts.map +1 -1
  11. package/dts/object-ref.d.ts +2 -0
  12. package/dts/object-ref.d.ts.map +1 -1
  13. package/dts/prisma-field-builder.d.ts +5 -2
  14. package/dts/prisma-field-builder.d.ts.map +1 -1
  15. package/dts/types.d.ts +8 -6
  16. package/dts/types.d.ts.map +1 -1
  17. package/dts/util/map-query.d.ts.map +1 -1
  18. package/esm/connection-helpers.d.ts +34 -0
  19. package/esm/connection-helpers.d.ts.map +1 -0
  20. package/esm/connection-helpers.js +26 -0
  21. package/esm/connection-helpers.js.map +1 -0
  22. package/esm/field-builder.js +9 -15
  23. package/esm/field-builder.js.map +1 -1
  24. package/esm/global-types.d.ts +15 -6
  25. package/esm/global-types.d.ts.map +1 -1
  26. package/esm/global-types.js.map +1 -1
  27. package/esm/index.d.ts +3 -0
  28. package/esm/index.d.ts.map +1 -1
  29. package/esm/index.js +3 -0
  30. package/esm/index.js.map +1 -1
  31. package/esm/node-ref.d.ts +1 -1
  32. package/esm/node-ref.d.ts.map +1 -1
  33. package/esm/node-ref.js +1 -1
  34. package/esm/node-ref.js.map +1 -1
  35. package/esm/object-ref.d.ts +2 -0
  36. package/esm/object-ref.d.ts.map +1 -1
  37. package/esm/object-ref.js +4 -0
  38. package/esm/object-ref.js.map +1 -1
  39. package/esm/prisma-field-builder.d.ts +5 -2
  40. package/esm/prisma-field-builder.d.ts.map +1 -1
  41. package/esm/prisma-field-builder.js +2 -2
  42. package/esm/prisma-field-builder.js.map +1 -1
  43. package/esm/schema-builder.js +18 -3
  44. package/esm/schema-builder.js.map +1 -1
  45. package/esm/types.d.ts +8 -6
  46. package/esm/types.d.ts.map +1 -1
  47. package/esm/util/datamodel.js +1 -1
  48. package/esm/util/datamodel.js.map +1 -1
  49. package/esm/util/map-query.d.ts.map +1 -1
  50. package/esm/util/map-query.js +21 -21
  51. package/esm/util/map-query.js.map +1 -1
  52. package/lib/connection-helpers.js +41 -0
  53. package/lib/connection-helpers.js.map +1 -0
  54. package/lib/field-builder.js +8 -14
  55. package/lib/field-builder.js.map +1 -1
  56. package/lib/index.js +6 -0
  57. package/lib/index.js.map +1 -1
  58. package/lib/node-ref.js +1 -1
  59. package/lib/node-ref.js.map +1 -1
  60. package/lib/object-ref.js +4 -0
  61. package/lib/object-ref.js.map +1 -1
  62. package/lib/prisma-field-builder.js +1 -1
  63. package/lib/prisma-field-builder.js.map +1 -1
  64. package/lib/schema-builder.js +18 -8
  65. package/lib/schema-builder.js.map +1 -1
  66. package/lib/util/datamodel.js +1 -1
  67. package/lib/util/datamodel.js.map +1 -1
  68. package/lib/util/map-query.js +21 -20
  69. package/lib/util/map-query.js.map +1 -1
  70. package/package.json +8 -8
  71. package/src/connection-helpers.ts +65 -0
  72. package/src/field-builder.ts +23 -23
  73. package/src/global-types.ts +50 -14
  74. package/src/index.ts +3 -0
  75. package/src/node-ref.ts +1 -4
  76. package/src/object-ref.ts +7 -0
  77. package/src/prisma-field-builder.ts +38 -25
  78. package/src/schema-builder.ts +38 -3
  79. package/src/types.ts +35 -16
  80. package/src/util/datamodel.ts +1 -1
  81. package/src/util/map-query.ts +32 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change Log
2
2
 
3
+ ## 3.36.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8841e861: Add builder.prismaObjectField(s) method to extend prisma objects and simplify defining
8
+ circular relationships
9
+ - cd1c0502: Add support for nested lists
10
+ - 99bc6574: Add initial support for reusable prisma connections
11
+
3
12
  ## 3.35.8
4
13
 
5
14
  ### Patch Changes
package/README.md CHANGED
@@ -373,7 +373,7 @@ query {
373
373
 
374
374
  the `me` `prismaField` would receive something like the following as its query parameter:
375
375
 
376
- ```ts
376
+ ```typescript
377
377
  {
378
378
  include: {
379
379
  posts: {
@@ -470,8 +470,10 @@ builder.prismaObject('User', {
470
470
 
471
471
  Prisma supports querying for
472
472
  [relation counts](https://www.prisma.io/docs/concepts/components/prisma-client/aggregation-grouping-summarizing#count-relations)
473
- which allow including counts for relations along side other `includes`. This does not currently
474
- support any filters on the counts, but can give a total count for a relation.
473
+ which allow including counts for relations along side other `includes`. Before prisma 4.2.0, this
474
+ does not support any filters on the counts, but can give a total count for a relation. Starting from
475
+ prisma 4.2.0, filters on relation count are available under the `filteredRelationCount` preview
476
+ feature flag.
475
477
 
476
478
  ```typescript
477
479
  builder.prismaObject('User', {
@@ -566,7 +568,7 @@ builder.prismaObject('User', {
566
568
  The following is a slightly contrived example, but shows how arguments can be used when creating a
567
569
  selection for a field:
568
570
 
569
- ```ts
571
+ ```typescript
570
572
  const PostDraft = builder.prismaObject('Post', {
571
573
  fields: (t) => ({
572
574
  title: t.exposeString('title'),
@@ -590,6 +592,64 @@ const PostDraft = builder.prismaObject('Post', {
590
592
  });
591
593
  ```
592
594
 
595
+ ## Extending prisma objects
596
+
597
+ The normal `builder.objectField(s)` methods can be used to extend prisma objects, but do not support
598
+ using selections, or exposing fields not in the default selection. To use these features, you can
599
+ use
600
+
601
+ `builder.prismaObjectField` or `builder.prismaObjectFields` instead.
602
+
603
+ ## Selecting fields from a nested GraphQL field
604
+
605
+ By default, the `nestedSelection` function will return selections based on the type of the current
606
+ field. `nestedSelection` can also be used to get a selection from a field nested deeper inside other
607
+ fields. This is useful if the field returns a type that is not a `prismaObject`, but a field nested
608
+ inside the returned type is.
609
+
610
+ ```typescript
611
+ const PostRef = builder.prismaObject('Post', {
612
+ fields: (t) => ({
613
+ title: t.exposeString('title'),
614
+ content: t.exposeString('content'),
615
+ author: t.relation('author'),
616
+ }),
617
+ });
618
+
619
+ const PostPreview = builder.objectRef<Post>('PostPreview').implement({
620
+ fields: (t) => ({
621
+ post: t.field({
622
+ type: PostRef,
623
+ resolve: (post) => post,
624
+ }),
625
+ preview: t.string({
626
+ nullable: true,
627
+ resolve: (post) => post.content?.slice(10),
628
+ }),
629
+ }),
630
+ });
631
+
632
+ builder.prismaObject('User', {
633
+ fields: (t) => ({
634
+ id: t.exposeID('id'),
635
+ postPreviews: t.field({
636
+ select: (args, ctx, nestedSelection) => ({
637
+ posts: nestedSelection(
638
+ {
639
+ // limit the number of postPreviews to load
640
+ take: 2,
641
+ },
642
+ // Look at the selections in postPreviews.post to determine what relations/fields to select
643
+ ['post'],
644
+ ),
645
+ }),
646
+ type: [PostPreview],
647
+ resolve: (user) => user.posts,
648
+ }),
649
+ }),
650
+ });
651
+ ```
652
+
593
653
  ## Indirect relations (eg. Join tables)
594
654
 
595
655
  If you want to define a GraphQL field that directly exposes data from a nested relationship (many to
@@ -625,7 +685,7 @@ model PostMedia {
625
685
 
626
686
  You can define a media field that can pre-load the correct relations based on the graphql query:
627
687
 
628
- ```ts
688
+ ```typescript
629
689
  const PostDraft = builder.prismaObject('Post', {
630
690
  fields: (t) => ({
631
691
  title: t.exposeString('title'),
@@ -660,54 +720,158 @@ const Media = builder.prismaObject('Media', {
660
720
  });
661
721
  ```
662
722
 
663
- ## Selecting fields from a nested GraphQL field
723
+ ## Indirect relations as connections
664
724
 
665
- By default, the `nestedSelection` function will return selections based on the type of the current
666
- field. `nestedSelection` can also be used to get a selection from a field nested deeper inside other
667
- fields. This is useful if the field returns a type that is not a `prismaObject`, but a field nested
668
- inside the returned type is.
725
+ Creating connections from indirect relations is a little more involved, but can be acheived using
726
+ `prismaConnectionHelpers` with a normal `t.connection` field:
669
727
 
670
- ```ts
671
- const PostRef = builder.prismaObject('Post', {
728
+ ```typescript
729
+ // Create a prisma object for the node type of your connection
730
+ const Media = builder.prismaObject('Media', {
731
+ select: {
732
+ id: true,
733
+ },
672
734
  fields: (t) => ({
673
- title: t.exposeString('title'),
674
- content: t.exposeString('content'),
675
- author: t.relation('author'),
735
+ url: t.exposeString('url'),
676
736
  }),
677
737
  });
678
738
 
679
- const PostPreview = builder.objectRef<Post>('PostPreview').implement({
680
- fields: (t) => ({
681
- post: t.field({
682
- type: PostRef,
683
- resolve: (post) => post,
684
- }),
685
- preview: t.string({
686
- nullable: true,
687
- resolve: (post) => post.content?.slice(10),
739
+ // Create connection helpers for the media type. This will allow you
740
+ // to use the normal t.connection with a prisma type
741
+ const mediaConnectionHelpers = prismaConnectionHelpers(
742
+ builder,
743
+ Media, // you can also reference the prisma model by string name
744
+ {
745
+ cursor: 'id',
746
+ // additional/optional options
747
+ maxSize: 100,
748
+ defaultSize: 20,
749
+ },
750
+ );
751
+
752
+ builder.prismaObjectField('Post', 'mediaConnection', (t) =>
753
+ t.connection({
754
+ type: Media,
755
+ // or if you don't have the `ref` you can get it from the helper
756
+ type: mediaConnectionHelpers.ref,
757
+ // since we are not using t.relatedConnection we need to manually
758
+ // include the selections for our connection
759
+ select: (args, ctx, nestedSelection) => ({
760
+ media: {
761
+ // this turns connection args into `cursor` and `take` for prisma
762
+ // to enable pagination
763
+ ...mediaConnectionHelpers.getQuery(args, ctx),
764
+ // this is the selection for the join table
765
+ select: {
766
+ // this is the selection for the nodes from the join table
767
+ media: nestedSelection(
768
+ {
769
+ // you can add additional selections for the node type here if needed
770
+ },
771
+ // This tells pothos what field in the query
772
+ // we want to use to find nested selections
773
+ ['edges', 'node'],
774
+ ),
775
+ },
776
+ },
688
777
  }),
778
+ resolve: (post, args, ctx) =>
779
+ // This helper takes a list of nodes and formats them for the connection
780
+ mediaConnectionHelpers.resolve(
781
+ // map results to the list of nodes
782
+ post.media.map(({ media }) => media),
783
+ args,
784
+ ctx,
785
+ ),
689
786
  }),
787
+ );
788
+ ```
789
+
790
+ ## Sharing Connections objects
791
+
792
+ You can create reusable connection objects by using `builder.connectionObject`.
793
+
794
+ These connection objects can be used with `t.prismaConnection`, `t.relatedConnection`, or
795
+ `t.connection`
796
+
797
+ Shared edges can also be created using `t.edgeObject`
798
+
799
+ ```typescript
800
+ const CommentConnection = builder.connectionObject({
801
+ type: Comment,
802
+ // or
803
+ type: commentConnectionHelpers.ref,
804
+ name: 'CommentConnection',
690
805
  });
691
806
 
692
- builder.prismaObject('User', {
807
+ builder.prismaObject('Post', {
693
808
  fields: (t) => ({
694
809
  id: t.exposeID('id'),
695
- postPreviews: t.field({
810
+ ...
811
+ commentsConnection: t.relatedConnection(
812
+ 'comments',
813
+ { cursor: 'id' },
814
+ // The connection object ref can be passed in place of the connection objectoptions
815
+ CommentConnection
816
+ ),
817
+ }),
818
+ });
819
+ ```
820
+
821
+ ## Extending connection edges
822
+
823
+ In some cases you may want to expose some data from an indirect connection on the edge object.
824
+
825
+ ```typescript
826
+ const mediaConnectionHelpers = prismaConnectionHelpers(builder, Media, {
827
+ cursor: 'id',
828
+ });
829
+
830
+ builder.prismaObjectFields('Post', (t) => ({
831
+ manualMediaConnection: t.connection(
832
+ {
833
+ type: Media,
696
834
  select: (args, ctx, nestedSelection) => ({
697
- posts: nestedSelection(
698
- {
699
- // limit the number of postPreviews to load
700
- take: 2,
835
+ media: {
836
+ ...mediaConnectionHelpers.getQuery(args, ctx),
837
+ select: {
838
+ // Select additional fields from the join table
839
+ createdAt: true,
840
+ media: nestedSelection({}, ['edges', 'node']),
701
841
  },
702
- // Look at the selections in postPreviews.post to determine what relations/fields to select
703
- ['post'],
704
- ),
842
+ },
705
843
  }),
706
- type: [PostPreview],
707
- resolve: (user) => user.posts,
708
- }),
709
- }),
710
- });
844
+ resolve: (post, args, ctx) => {
845
+ const connection = mediaConnectionHelpers.resolve(
846
+ post.media.map(({ media }) => media),
847
+ args,
848
+ ctx,
849
+ );
850
+
851
+ // Manually map the additional fields from the join table to the edge objects
852
+ return {
853
+ ...connection,
854
+ edges: connection.edges.map((edge, i) => ({
855
+ createdAt: edge.createdAt,
856
+ ...edge!,
857
+ })),
858
+ };
859
+ },
860
+ },
861
+ {},
862
+ // options for the edge object
863
+ {
864
+ // define the additional fields on the edge object
865
+ fields: (edge) => ({
866
+ createdAt: edge.field({
867
+ type: 'DateTime',
868
+ // the parent shape for edge fields is inferred from the connections resolve function
869
+ resolve: (media) => media.createdAt,
870
+ }),
871
+ }),
872
+ },
873
+ ),
874
+ }));
711
875
  ```
712
876
 
713
877
  ## Type variants
@@ -738,9 +902,6 @@ const Viewer = builder.prismaObject('User', {
738
902
  });
739
903
 
740
904
  const User = builder.prismaNode('User', {
741
- // Testing that user is typed correctly
742
- authScopes: (user) => !!user.id,
743
- interfaces: [Named],
744
905
  id: {
745
906
  resolve: (user) => user.id,
746
907
  },
@@ -782,6 +943,36 @@ const Viewer = builder.prismaObject('User', {
782
943
  });
783
944
  ```
784
945
 
946
+ You may run into circular reference issues if you use 2 prisma object refs to reference each other.
947
+ To avoid this, you can split out the field definition for one of the relationships using
948
+ `builder.prismaObjectField`
949
+
950
+ ```typescript
951
+ const Viewer = builder.prismaObject('User', {
952
+ variant: 'Viewer',
953
+ fields: (t) => ({
954
+ id: t.exposeID('id'),
955
+ user: t.variant(User),
956
+ });
957
+ });
958
+
959
+ const User = builder.prismaNode('User', {
960
+ interfaces: [Named],
961
+ id: {
962
+ resolve: (user) => user.id,
963
+ },
964
+ fields: (t) => ({
965
+ email: t.exposeString('email'),
966
+ }),
967
+ });
968
+
969
+ // Viewer references the `User` ref in its field definiton,
970
+ // referencing the `User` in fields would cause a circular type issue
971
+ builder.prismaObjectField(Viewer, 'user', t.variant(User));
972
+ ```
973
+
974
+ This same workaround applies when defining relations using variants.
975
+
785
976
  ## Relay integration
786
977
 
787
978
  This plugin has extensive integration with the
@@ -0,0 +1,34 @@
1
+ import { SchemaTypes } from '@pothos/core';
2
+ import { PrismaObjectRef } from './object-ref';
3
+ import type { PrismaModelTypes } from './types';
4
+ export declare const prismaModelKey: unique symbol;
5
+ export declare function prismaConnectionHelpers<Types extends SchemaTypes, RefOrType extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Model extends PrismaModelTypes = RefOrType extends PrismaObjectRef<infer T> ? T & PrismaModelTypes : Types['PrismaTypes'][RefOrType & keyof Types['PrismaTypes']] & PrismaModelTypes, Shape = RefOrType extends PrismaObjectRef<PrismaModelTypes, infer T> ? T : Model['Shape']>(builder: PothosSchemaTypes.SchemaBuilder<Types>, refOrType: RefOrType, options: {
6
+ cursor: string & keyof Model['WhereUnique'];
7
+ defaultSize?: number | ((args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => number);
8
+ maxSize?: number | ((args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => number);
9
+ }): {
10
+ ref: PrismaObjectRef<Model, {}>;
11
+ resolve: (list: (Shape & {})[], args: PothosSchemaTypes.DefaultConnectionArguments, ctx: Types['Context']) => {
12
+ totalCount: number | (() => import("@pothos/core").MaybePromise<number>) | undefined;
13
+ edges: ({
14
+ cursor: string;
15
+ node: Shape & {};
16
+ } | null)[];
17
+ pageInfo: {
18
+ startCursor: string | undefined;
19
+ endCursor: string | undefined;
20
+ hasPreviousPage: boolean;
21
+ hasNextPage: boolean;
22
+ };
23
+ };
24
+ getQuery: (args: PothosSchemaTypes.DefaultConnectionArguments, ctx: Types['Context']) => {
25
+ take: number;
26
+ skip: number;
27
+ cursor?: undefined;
28
+ } | {
29
+ cursor: Record<string, unknown>;
30
+ take: number;
31
+ skip: number;
32
+ };
33
+ };
34
+ //# sourceMappingURL=connection-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-helpers.d.ts","sourceRoot":"","sources":["../src/connection-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAShD,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE,wBAAgB,uBAAuB,CACrC,KAAK,SAAS,WAAW,EACzB,SAAS,SAAS,eAAe,CAAC,gBAAgB,CAAC,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,EAChF,KAAK,SAAS,gBAAgB,GAAG,SAAS,SAAS,eAAe,CAAC,MAAM,CAAC,CAAC,GACvE,CAAC,GAAG,gBAAgB,GACpB,KAAK,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,gBAAgB,EACnF,KAAK,GAAG,SAAS,SAAS,eAAe,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAEzF,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IACP,MAAM,EAAE,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5C,WAAW,CAAC,EACR,MAAM,GACN,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,EAAE,GAAG,EAAE,EAAE,KAAK,MAAM,CAAC,CAAC;IAC9E,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,0BAA0B,EAAE,GAAG,EAAE,EAAE,KAAK,MAAM,CAAC,CAAC;CAC9F;;oBAQO,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,QACd,kBAAkB,0BAA0B,OAC7C,KAAK,CAAC,SAAS,CAAC;;;;;;;;;;;;;qBAKC,kBAAkB,0BAA0B,OAAO,KAAK,CAAC,SAAS,CAAC;;;;;;;;;EAoB5F"}
@@ -1,8 +1,8 @@
1
- import { FieldKind, FieldNullability, FieldRef, InputFieldMap, InputFieldRef, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
2
- import PrismaNodeRef from './node-ref';
1
+ import { FieldKind, FieldMap, FieldNullability, FieldRef, InputFieldMap, InputFieldRef, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
2
+ import { PrismaNodeRef } from './node-ref';
3
3
  import { prismaModelKey, PrismaObjectRef } from './object-ref';
4
4
  import { PrismaObjectFieldBuilder as InternalPrismaObjectFieldBuilder } from './prisma-field-builder';
5
- import { PrismaClient, PrismaConnectionFieldOptions, PrismaFieldOptions, PrismaFieldWithInputOptions, PrismaModelTypes, PrismaNodeOptions, PrismaObjectFieldOptions, PrismaObjectTypeOptions, ShapeFromConnection, ShapeFromSelection } from './types';
5
+ import { PrismaClient, PrismaConnectionFieldOptions, PrismaFieldOptions, PrismaFieldWithInputOptions, prismaModelName, PrismaModelTypes, PrismaNodeOptions, PrismaObjectFieldOptions, PrismaObjectTypeOptions, ShapeFromConnection, ShapeFromSelection } from './types';
6
6
  import type { PrismaPlugin } from '.';
7
7
  declare global {
8
8
  export namespace PothosSchemaTypes {
@@ -49,6 +49,12 @@ declare global {
49
49
  select: Select;
50
50
  include: Include;
51
51
  }>>;
52
+ prismaObjectField: <Type extends PrismaObjectRef<PrismaModelTypes, {}> | keyof Types['PrismaTypes'], Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer M, {}> ? M : Types['PrismaTypes'][Type & keyof Types['PrismaTypes']] & PrismaModelTypes, Shape extends {} = Type extends PrismaObjectRef<PrismaModelTypes, infer S> ? S : Model['Shape'] & {
53
+ [prismaModelName]?: Type;
54
+ }>(type: Type, fieldName: string, field: (t: PrismaObjectFieldBuilder<Types, Model, false, Shape>) => FieldRef) => void;
55
+ prismaObjectFields: <Type extends PrismaObjectRef<PrismaModelTypes, {}> | keyof Types['PrismaTypes'], Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer M, {}> ? M : Types['PrismaTypes'][Type & keyof Types['PrismaTypes']] & PrismaModelTypes, Shape extends {} = Type extends PrismaObjectRef<PrismaModelTypes, infer S> ? S : Model['Shape'] & {
56
+ [prismaModelName]?: Type;
57
+ }>(type: Type, fields: (t: PrismaObjectFieldBuilder<Types, Model, false, Shape>) => FieldMap) => void;
52
58
  prismaNode: 'relay' extends PluginName ? <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[] = [], Include = unknown, Select = unknown, UniqueField = unknown>(name: Name, options: PrismaNodeOptions<Types, Types['PrismaTypes'][Name] & PrismaModelTypes, Interfaces, Include, Select, ShapeFromSelection<PrismaModelTypes & Types['PrismaTypes'][Name], {
53
59
  select: Select;
54
60
  include: Include;
@@ -59,9 +65,12 @@ declare global {
59
65
  }
60
66
  interface RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> {
61
67
  prismaField: <Args extends InputFieldMap, TypeParam extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaObjectRef<PrismaModelTypes>], Nullable extends FieldNullability<Type>, ResolveShape, ResolveReturnShape, Type extends TypeParam extends [unknown] ? [ObjectRef<Model['Shape']>] : ObjectRef<Model['Shape']>, Model extends PrismaModelTypes = PrismaModelTypes & (TypeParam extends [keyof Types['PrismaTypes']] ? Types['PrismaTypes'][TypeParam[0]] : TypeParam extends [PrismaObjectRef<PrismaModelTypes>] ? TypeParam[0][typeof prismaModelKey] : TypeParam extends PrismaObjectRef<PrismaModelTypes> ? TypeParam[typeof prismaModelKey] : TypeParam extends keyof Types['PrismaTypes'] ? Types['PrismaTypes'][TypeParam] : never)>(options: PrismaFieldOptions<Types, ParentShape, TypeParam, Model, Type, Args, Nullable, ResolveShape, ResolveReturnShape, Kind>) => FieldRef<ShapeFromTypeParam<Types, Type, Nullable>>;
62
- prismaConnection: 'relay' extends PluginName ? <Type extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Nullable extends boolean, ResolveReturnShape, Args extends InputFieldMap = {}, Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer T> ? T : PrismaModelTypes & Types['PrismaTypes'][Type & keyof Types['PrismaTypes']]>(options: PrismaConnectionFieldOptions<Types, ParentShape, Type, Model, ObjectRef<Model['Shape']>, Nullable, Args, ResolveReturnShape, Kind>, ...args: NormalizeArgs<[
63
- connectionOptions: ConnectionObjectOptions<Types, ObjectRef<Model['Shape']>, false, false, ResolveReturnShape>,
64
- edgeOptions: ConnectionEdgeObjectOptions<Types, ObjectRef<Model['Shape']>, false, ResolveReturnShape>
68
+ prismaConnection: 'relay' extends PluginName ? <Type extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Nullable extends boolean, ResolveReturnShape, Args extends InputFieldMap = {}, Model extends PrismaModelTypes = Type extends PrismaObjectRef<infer T> ? T : PrismaModelTypes & Types['PrismaTypes'][Type & keyof Types['PrismaTypes']], Shape = Type extends PrismaObjectRef<PrismaModelTypes, infer S> ? S : Model['Shape']>(options: PrismaConnectionFieldOptions<Types, ParentShape, Type, Model, ObjectRef<Model['Shape']>, Nullable, Args, ResolveReturnShape, Kind>, ...args: NormalizeArgs<[
69
+ connectionOptions: ConnectionObjectOptions<Types, ObjectRef<Shape>, false, false, ResolveReturnShape> | ObjectRef<ShapeFromConnection<ConnectionShapeHelper<Types, Shape, false>>>,
70
+ edgeOptions: ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, ResolveReturnShape> | ObjectRef<{
71
+ cursor: string;
72
+ node?: Shape | null | undefined;
73
+ }>
65
74
  ], 0>) => FieldRef<ShapeFromConnection<ConnectionShapeHelper<Types, Model['Shape'], Nullable>>> : '@pothos/plugin-relay is required to use this method';
66
75
  prismaFieldWithInput: 'prisma' extends PluginName ? <Fields extends Record<string, InputFieldRef<unknown, 'InputObject'>>, TypeParam extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaObjectRef<PrismaModelTypes>], Type extends TypeParam extends [unknown] ? [ObjectRef<Model['Shape']>] : ObjectRef<Model['Shape']>, ResolveShape, ResolveReturnShape, ArgRequired extends boolean, Args extends Record<string, InputFieldRef<unknown, 'Arg'>> = {}, Nullable extends FieldNullability<Type> = Types['DefaultFieldNullability'], InputName extends string = 'input', Model extends PrismaModelTypes = PrismaModelTypes & (TypeParam extends [keyof Types['PrismaTypes']] ? Types['PrismaTypes'][TypeParam[0]] : TypeParam extends [PrismaObjectRef<PrismaModelTypes>] ? TypeParam[0][typeof prismaModelKey] : TypeParam extends PrismaObjectRef<PrismaModelTypes> ? TypeParam[typeof prismaModelKey] : TypeParam extends keyof Types['PrismaTypes'] ? Types['PrismaTypes'][TypeParam] : never)>(options: PrismaFieldWithInputOptions<Types, ParentShape, Kind, Args, Fields, TypeParam, Model, Type, Nullable, InputName, ResolveShape, ResolveReturnShape, boolean extends ArgRequired ? (Types & {
67
76
  WithInputArgRequired: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-types.d.ts","sourceRoot":"","sources":["../src/global-types.ts"],"names":[],"mappings":"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"}
package/dts/index.d.ts CHANGED
@@ -4,6 +4,9 @@ import { GraphQLFieldResolver } from 'graphql';
4
4
  import SchemaBuilder, { BasePlugin, BuildCache, PothosOutputFieldConfig, SchemaTypes } from '@pothos/core';
5
5
  import { PrismaModelTypes } from './types';
6
6
  import { queryFromInfo } from './util/map-query';
7
+ export { prismaConnectionHelpers } from './connection-helpers';
8
+ export { PrismaNodeRef } from './node-ref';
9
+ export { PrismaObjectRef } from './object-ref';
7
10
  export * from './types';
8
11
  declare const pluginName: "prisma";
9
12
  export default pluginName;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,aAAa,EAAE,EACpB,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,WAAW,EACZ,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AAEzE,cAAc,SAAS,CAAC;AAExB,QAAA,MAAM,UAAU,UAAoB,CAAC;AAErC,eAAe,UAAU,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,oBAAY,wBAAwB,CAClC,KAAK,SAAS,WAAW,EACzB,WAAW,IACT,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAE7D,eAAO,MAAM,kBAAkB,6IAMvB,MAAM,mIAEoE,CAAC;AAEnF,qBAAa,YAAY,CAAC,KAAK,SAAS,WAAW,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;gBAChE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;IAI3B,mBAAmB,CAC1B,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,uBAAuB,CAAC,KAAK,CAAC,GAAG,IAAI;IA4B/B,WAAW,CAClB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1E,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CA6C3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,aAAa,EAAE,EACpB,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,WAAW,EACZ,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,cAAc,SAAS,CAAC;AAExB,QAAA,MAAM,UAAU,UAAoB,CAAC;AAErC,eAAe,UAAU,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,oBAAY,wBAAwB,CAClC,KAAK,SAAS,WAAW,EACzB,WAAW,IACT,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAE7D,eAAO,MAAM,kBAAkB,6IAMvB,MAAM,mIAEoE,CAAC;AAEnF,qBAAa,YAAY,CAAC,KAAK,SAAS,WAAW,CAAE,SAAQ,UAAU,CAAC,KAAK,CAAC;gBAChE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;IAI3B,mBAAmB,CAC1B,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,uBAAuB,CAAC,KAAK,CAAC,GAAG,IAAI;IA4B/B,WAAW,CAClB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1E,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAC1C,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CA6C3D"}
package/dts/node-ref.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PrismaObjectRef } from './object-ref';
2
2
  import type { PrismaModelTypes } from './types';
3
- export default class PrismaNodeRef<Model extends PrismaModelTypes, T> extends PrismaObjectRef<Model, T> {
3
+ export declare class PrismaNodeRef<Model extends PrismaModelTypes, T> extends PrismaObjectRef<Model, T> {
4
4
  }
5
5
  //# sourceMappingURL=node-ref.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,aAAa,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,CAAE,SAAQ,eAAe,CAC3F,KAAK,EACL,CAAC,CACF;CAAG"}
1
+ {"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,qBAAa,aAAa,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,CAAE,SAAQ,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;CAAG"}
@@ -4,6 +4,8 @@ export declare const prismaModelKey: unique symbol;
4
4
  export declare class PrismaObjectRef<Model extends PrismaModelTypes, T = {}> extends ObjectRef<T> {
5
5
  [prismaModelKey]: Model;
6
6
  [abstractReturnShapeKey]: WithBrand<T>;
7
+ modelName: string;
8
+ constructor(name: string, modelName: string);
7
9
  addBrand<V extends T | T[]>(value: V): V extends T[] ? {
8
10
  [K in keyof V]: WithBrand<V[K]>;
9
11
  } : WithBrand<V>;
@@ -1 +1 @@
1
- {"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAiB,SAAS,EAAgB,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE3D,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE,qBAAa,eAAe,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC,cAAc,CAAC,EAAG,KAAK,CAAC;IACzB,CAAC,sBAAsB,CAAC,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAExC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAYrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
1
+ {"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAiB,SAAS,EAAgB,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE3D,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE,qBAAa,eAAe,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IACvF,CAAC,cAAc,CAAC,EAAG,KAAK,CAAC;IACzB,CAAC,sBAAsB,CAAC,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAYrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
@@ -48,8 +48,11 @@ export declare class PrismaObjectFieldBuilder<Types extends SchemaTypes, Model e
48
48
  Context: ContextForAuth<Types, Scopes>;
49
49
  }, Model, NeedsResolve, Shape> : '@pothos/plugin-scope-auth is required to use this method';
50
50
  relatedConnection: 'relay' extends PluginName ? <Field extends Model['ListRelations'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(field: Field, options: RelatedConnectionOptions<Types, Model, Field, Nullable, Args, NeedsResolve>, ...args: NormalizeArgs<[
51
- connectionOptions: PothosSchemaTypes.ConnectionObjectOptions<Types, ObjectRef<Shape>, false, false, ResolveReturnShape>,
52
- edgeOptions: PothosSchemaTypes.ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, ResolveReturnShape>
51
+ connectionOptions: PothosSchemaTypes.ConnectionObjectOptions<Types, ObjectRef<Shape>, false, false, ResolveReturnShape> | ObjectRef<ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, false>>>,
52
+ edgeOptions: PothosSchemaTypes.ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, ResolveReturnShape> | ObjectRef<{
53
+ cursor: string;
54
+ node?: ShapeFromTypeParam<Types, Model['Shape'], false>;
55
+ }>
53
56
  ], 0>) => FieldRef<ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, Nullable>>> : '@pothos/plugin-relay is required to use this method';
54
57
  constructor(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, model: string, fieldMap: FieldMap);
55
58
  relation<Field extends Model['RelationName'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(name: Field, ...allArgs: NormalizeArgs<[
@@ -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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"}
package/dts/types.d.ts CHANGED
@@ -55,12 +55,7 @@ export declare type ShapeFromCount<Selection> = Selection extends true ? {
55
55
  declare type RelationShapeFromInclude<Model extends PrismaModelTypes, Include> = Normalize<{
56
56
  [K in SelectedKeys<Include> as K extends Model['RelationName'] ? K : never]: K extends keyof Model['Relations'] ? Model['Relations'][K]['Shape'] extends unknown[] ? ShapeFromSelection<Model['Relations'][K]['Types'], Include[K]>[] : ShapeFromSelection<Model['Relations'][K]['Types'], Include[K]> : unknown;
57
57
  }>;
58
- export declare type PrismaObjectTypeOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], FindUnique, Include, Select, Shape extends object> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, 'fields' | 'description'> & {
59
- description?: string | false;
60
- fields?: PrismaObjectFieldsShape<Types, Model, FindUnique extends null ? true : false, Shape & (FindUnique extends null ? {} : {
61
- [prismaModelName]?: Model['Name'];
62
- }), Select>;
63
- } & ({
58
+ export declare type PrismaObjectRefOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, FindUnique, Include, Select, Shape extends object> = NameOrVariant & ({
64
59
  include?: Include & Model['Include'];
65
60
  select?: never;
66
61
  findUnique?: FindUnique & (((parent: Shape, context: Types['Context']) => Model['WhereUnique']) | null);
@@ -69,6 +64,13 @@ export declare type PrismaObjectTypeOptions<Types extends SchemaTypes, Model ext
69
64
  include?: never;
70
65
  findUnique?: (parent: Shape, context: Types['Context']) => Model['WhereUnique'];
71
66
  });
67
+ export declare type PrismaObjectImplementationOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], FindUnique, Select, Shape extends object> = Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, 'fields' | 'description'> & {
68
+ description?: string | false;
69
+ fields?: PrismaObjectFieldsShape<Types, Model, FindUnique extends null ? true : false, Shape & (FindUnique extends null ? {} : {
70
+ [prismaModelName]?: Model['Name'];
71
+ }), Select>;
72
+ };
73
+ export declare type PrismaObjectTypeOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], FindUnique, Include, Select, Shape extends object> = PrismaObjectRefOptions<Types, Model, FindUnique, Include, Select, Shape> & PrismaObjectImplementationOptions<Types, Model, Interfaces, FindUnique, Select, Shape>;
72
74
  declare type NameOrVariant = {
73
75
  name?: never;
74
76
  variant?: string;