@pothos/plugin-prisma 3.53.0 → 3.55.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 (92) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +63 -1
  3. package/dts/connection-helpers.d.ts +3 -3
  4. package/dts/connection-helpers.d.ts.map +1 -1
  5. package/dts/global-types.d.ts +15 -4
  6. package/dts/global-types.d.ts.map +1 -1
  7. package/dts/index.d.ts +3 -1
  8. package/dts/index.d.ts.map +1 -1
  9. package/dts/interface-ref.d.ts +10 -0
  10. package/dts/interface-ref.d.ts.map +1 -0
  11. package/dts/model-loader.d.ts +7 -7
  12. package/dts/model-loader.d.ts.map +1 -1
  13. package/dts/prisma-field-builder.d.ts +4 -4
  14. package/dts/prisma-field-builder.d.ts.map +1 -1
  15. package/dts/types.d.ts +23 -7
  16. package/dts/types.d.ts.map +1 -1
  17. package/dts/util/datamodel.d.ts +3 -3
  18. package/dts/util/datamodel.d.ts.map +1 -1
  19. package/dts/util/map-query.d.ts +2 -1
  20. package/dts/util/map-query.d.ts.map +1 -1
  21. package/dts/util/usage.d.ts +4 -0
  22. package/dts/util/usage.d.ts.map +1 -0
  23. package/esm/connection-helpers.d.ts +3 -3
  24. package/esm/connection-helpers.d.ts.map +1 -1
  25. package/esm/connection-helpers.js.map +1 -1
  26. package/esm/field-builder.js +59 -17
  27. package/esm/field-builder.js.map +1 -1
  28. package/esm/global-types.d.ts +21 -10
  29. package/esm/global-types.d.ts.map +1 -1
  30. package/esm/global-types.js.map +1 -1
  31. package/esm/index.d.ts +3 -1
  32. package/esm/index.d.ts.map +1 -1
  33. package/esm/index.js +48 -3
  34. package/esm/index.js.map +1 -1
  35. package/esm/interface-ref.d.ts +10 -0
  36. package/esm/interface-ref.d.ts.map +1 -0
  37. package/esm/interface-ref.js +26 -0
  38. package/esm/interface-ref.js.map +1 -0
  39. package/esm/model-loader.d.ts +7 -7
  40. package/esm/model-loader.d.ts.map +1 -1
  41. package/esm/model-loader.js.map +1 -1
  42. package/esm/prisma-field-builder.d.ts +4 -4
  43. package/esm/prisma-field-builder.d.ts.map +1 -1
  44. package/esm/prisma-field-builder.js +3 -3
  45. package/esm/prisma-field-builder.js.map +1 -1
  46. package/esm/schema-builder.js +27 -0
  47. package/esm/schema-builder.js.map +1 -1
  48. package/esm/types.d.ts +25 -9
  49. package/esm/types.d.ts.map +1 -1
  50. package/esm/util/datamodel.d.ts +3 -3
  51. package/esm/util/datamodel.d.ts.map +1 -1
  52. package/esm/util/datamodel.js +3 -2
  53. package/esm/util/datamodel.js.map +1 -1
  54. package/esm/util/map-query.d.ts +2 -1
  55. package/esm/util/map-query.d.ts.map +1 -1
  56. package/esm/util/map-query.js +21 -14
  57. package/esm/util/map-query.js.map +1 -1
  58. package/esm/util/usage.d.ts +4 -0
  59. package/esm/util/usage.d.ts.map +1 -0
  60. package/esm/util/usage.js +29 -0
  61. package/esm/util/usage.js.map +1 -0
  62. package/lib/connection-helpers.js.map +1 -1
  63. package/lib/field-builder.js +62 -21
  64. package/lib/field-builder.js.map +1 -1
  65. package/lib/index.js +50 -2
  66. package/lib/index.js.map +1 -1
  67. package/lib/interface-ref.js +36 -0
  68. package/lib/interface-ref.js.map +1 -0
  69. package/lib/model-loader.js.map +1 -1
  70. package/lib/prisma-field-builder.js +3 -3
  71. package/lib/prisma-field-builder.js.map +1 -1
  72. package/lib/schema-builder.js +27 -0
  73. package/lib/schema-builder.js.map +1 -1
  74. package/lib/util/datamodel.js +3 -2
  75. package/lib/util/datamodel.js.map +1 -1
  76. package/lib/util/map-query.js +20 -13
  77. package/lib/util/map-query.js.map +1 -1
  78. package/lib/util/usage.js +51 -0
  79. package/lib/util/usage.js.map +1 -0
  80. package/package.json +2 -2
  81. package/src/connection-helpers.ts +6 -6
  82. package/src/field-builder.ts +90 -15
  83. package/src/global-types.ts +39 -11
  84. package/src/index.ts +56 -2
  85. package/src/interface-ref.ts +18 -0
  86. package/src/model-loader.ts +13 -7
  87. package/src/prisma-field-builder.ts +7 -10
  88. package/src/schema-builder.ts +44 -1
  89. package/src/types.ts +66 -9
  90. package/src/util/datamodel.ts +8 -3
  91. package/src/util/map-query.ts +38 -14
  92. package/src/util/usage.ts +33 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Change Log
2
2
 
3
+ ## 3.55.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 39237239: Add builder.prismaInterface to allow interface variants of a prisma model
8
+
9
+ ## 3.54.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 7494da05: Add `onUnusedQuery` option to the prisma plugin options
14
+
3
15
  ## 3.53.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -210,6 +210,8 @@ const builder = new SchemaBuilder<{
210
210
  exposeDescriptions: boolean | { models: boolean, fields: boolean },
211
211
  // use where clause from prismaRelatedConnection for totalCount (will true by default in next major version)
212
212
  filterConnectionTotalCount: true,
213
+ // warn when not using a query parameter correctly
214
+ onUnusedQuery: process.env.NODE_ENV === 'production' ? null : 'warn',
213
215
  },
214
216
  });
215
217
  ```
@@ -612,6 +614,7 @@ const Viewer = builder.prismaObject('User', {
612
614
  variant: 'Viewer',
613
615
  fields: (t) => ({
614
616
  id: t.exposeID('id'),
617
+ });
615
618
  });
616
619
  ```
617
620
 
@@ -692,13 +695,54 @@ const User = builder.prismaNode('User', {
692
695
  }),
693
696
  });
694
697
 
695
- // Viewer references the `User` ref in its field definiton,
698
+ // Viewer references the `User` ref in its field definition,
696
699
  // referencing the `User` in fields would cause a circular type issue
697
700
  builder.prismaObjectField(Viewer, 'user', t.variant(User));
698
701
  ```
699
702
 
700
703
  This same workaround applies when defining relations using variants.
701
704
 
705
+ ## Creating interfaces with `builder.prismaInterface`
706
+
707
+ `builder.prismaInterface` works just like builder.prismaInterface and can be used to define either
708
+ the primary type or a variant for a model.
709
+
710
+ The following example creates a `User` interface, and 2 variants Admin and Member. The `resolveType`
711
+ method returns the typenames as strings to avoid issues with circular references.
712
+
713
+ ```typescript
714
+ builder.prismaInterface('User', {
715
+ name: 'User',
716
+ fields: (t) => ({
717
+ id: t.exposeID('id'),
718
+ email: t.exposeString('email'),
719
+ }),
720
+ resolveType: (user) => {
721
+ return user.isAdmin ? 'Admin' : 'Member';
722
+ },
723
+ });
724
+
725
+ builder.prismaObject('User', {
726
+ variant: 'Admin',
727
+ interfaces: [User],
728
+ fields: (t) => ({
729
+ isAdmin: t.exposeBoolean('isAdmin'),
730
+ }),
731
+ });
732
+
733
+ builder.prismaObject('User', {
734
+ variant: 'Member',
735
+ interfaces: [User],
736
+ fields: (t) => ({
737
+ bio: t.exposeString('bio'),
738
+ }),
739
+ });
740
+ ```
741
+
742
+ So far, this is just creating some simple object types. They work just like any other object type in
743
+ Pothos. The main advantage of this is that we get the type information without using object refs, or
744
+ needing imports from prisma client.
745
+
702
746
  ## Selecting fields from a nested GraphQL field
703
747
 
704
748
  By default, the `nestedSelection` function will return selections based on the type of the current
@@ -819,6 +863,24 @@ const Media = builder.prismaObject('Media', {
819
863
  });
820
864
  ```
821
865
 
866
+ ## Detecting unused query arguments
867
+
868
+ Forgetting to spread the `query` argument from `t.prismaField` or `t.prismaConnection` into your
869
+ prisma query can result in inefficient queries, or even missing data. To help catch these issues,
870
+ the plugin can warn you when you are not using the query argument correctly.
871
+
872
+ the `onUnusedQuery` option can be set to `warn` or `error` to enable this feature. When set to
873
+ `warn` it will log a warning to the console if Pothos detects that you have not properly used the
874
+ query in your resolver. Similarly if you set the option to `error` it will throw an error instead.
875
+ You can also pass a function which will receive the `info` object which can be used to log or throw
876
+ your own error.
877
+
878
+ This check is fairly naive and works by wrapping the properties on the query with a getter that sets
879
+ a flag if the property is accessed. If no properties are accessed on the query object before the
880
+ resolver returns, it will trigger the `onUnusedQuery` condition.
881
+
882
+ It's recommended to enable this check in development to more quickly find potential issues.
883
+
822
884
  ## Optimized queries without `t.prismaField`
823
885
 
824
886
  In some cases, it may be useful to get an optimized query for fields where you can't use
@@ -1,8 +1,8 @@
1
1
  import { SchemaTypes } from '@pothos/core';
2
- import { PrismaObjectRef } from './object-ref';
2
+ import { PrismaRef } from './interface-ref';
3
3
  import type { PrismaModelTypes, ShapeFromSelection, UniqueFieldsFromWhereUnique } from './types';
4
4
  export declare const prismaModelKey: unique symbol;
5
- export declare function prismaConnectionHelpers<Types extends SchemaTypes, RefOrType extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Select extends Model['Select'] & {}, 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'], EdgeShape = Model['Include'] extends Select ? Shape : ShapeFromSelection<Types, Model, {
5
+ export declare function prismaConnectionHelpers<Types extends SchemaTypes, RefOrType extends PrismaRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Select extends Model['Select'] & {}, Model extends PrismaModelTypes = RefOrType extends PrismaRef<infer T> ? T & PrismaModelTypes : Types['PrismaTypes'][RefOrType & keyof Types['PrismaTypes']] & PrismaModelTypes, Shape = RefOrType extends PrismaRef<PrismaModelTypes, infer T> ? T : Model['Shape'], EdgeShape = Model['Include'] extends Select ? Shape : ShapeFromSelection<Types, Model, {
6
6
  select: Select;
7
7
  }>, NodeShape = EdgeShape>(builder: PothosSchemaTypes.SchemaBuilder<Types>, refOrType: RefOrType, options: {
8
8
  cursor: UniqueFieldsFromWhereUnique<Model['WhereUnique']>;
@@ -11,7 +11,7 @@ export declare function prismaConnectionHelpers<Types extends SchemaTypes, RefOr
11
11
  maxSize?: number | ((args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => number);
12
12
  resolveNode?: (edge: EdgeShape) => NodeShape;
13
13
  }): {
14
- ref: PrismaObjectRef<Model, {}>;
14
+ ref: PrismaRef<Model>;
15
15
  resolve: <Parent = unknown>(list: (EdgeShape & {})[], args: PothosSchemaTypes.DefaultConnectionArguments, ctx: Types['Context'], parent?: Parent | undefined) => {
16
16
  edges: (Omit<EdgeShape, 'cursor' | 'node'> & {
17
17
  node: NodeShape;
@@ -1 +1 @@
1
- {"version":3,"file":"connection-helpers.d.ts","sourceRoot":"","sources":["../src/connection-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAYjG,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,MAAM,SAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EACnC,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,EACzF,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,MAAM,GACvC,KAAK,GACL,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,SAAS,GAAG,SAAS,EAErB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IACP,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;IAChF,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;IAC7F,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;CAC9C;;sCAcO,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,QAClB,kBAAkB,0BAA0B,OAC7C,KAAK,CAAC,SAAS,CAAC;eAYZ,CAAC,KAAK,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG;YAAE,IAAI,EAAE,SAAS,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE;kBACzE;YACR,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,eAAe,EAAE,OAAO,CAAC;YACzB,WAAW,EAAE,OAAO,CAAC;SACtB;;;qBAkBG,kBAAkB,0BAA0B,OAC7C,KAAK,CAAC,SAAS,CAAC,2EACwC,MAAM,EAAE;;;;;gBAqBhB,MAAM;;EAW9D"}
1
+ {"version":3,"file":"connection-helpers.d.ts","sourceRoot":"","sources":["../src/connection-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAYjG,eAAO,MAAM,cAAc,eAAsC,CAAC;AAElE,wBAAgB,uBAAuB,CACrC,KAAK,SAAS,WAAW,EACzB,SAAS,SAAS,SAAS,CAAC,gBAAgB,CAAC,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,EAC1E,MAAM,SAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EACnC,KAAK,SAAS,gBAAgB,GAAG,SAAS,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,GACjE,CAAC,GAAG,gBAAgB,GACpB,KAAK,CAAC,aAAa,CAAC,CAAC,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,gBAAgB,EACnF,KAAK,GAAG,SAAS,SAAS,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EACnF,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,MAAM,GACvC,KAAK,GACL,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,SAAS,GAAG,SAAS,EAErB,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IACP,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;IAChF,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;IAC7F,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;CAC9C;;sCAcO,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,QAClB,kBAAkB,0BAA0B,OAC7C,KAAK,CAAC,SAAS,CAAC;eAYZ,CAAC,KAAK,SAAS,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG;YAAE,IAAI,EAAE,SAAS,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE;kBACzE;YACR,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;YACzB,eAAe,EAAE,OAAO,CAAC;YACzB,WAAW,EAAE,OAAO,CAAC;SACtB;;;qBAkBG,kBAAkB,0BAA0B,OAC7C,KAAK,CAAC,SAAS,CAAC,2EACwC,MAAM,EAAE;;;;;gBAqBhB,MAAM;;EAW9D"}
@@ -1,8 +1,10 @@
1
+ import { GraphQLResolveInfo } from 'graphql';
1
2
  import { FieldKind, FieldMap, FieldNullability, FieldRef, InputFieldMap, InputFieldRef, InterfaceParam, NormalizeArgs, OutputType, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
3
+ import { PrismaInterfaceRef, PrismaRef } from './interface-ref';
2
4
  import { PrismaNodeRef } from './node-ref';
3
5
  import { prismaModelKey, PrismaObjectRef } from './object-ref';
4
6
  import { PrismaObjectFieldBuilder as InternalPrismaObjectFieldBuilder } from './prisma-field-builder';
5
- import { PrismaClient, PrismaConnectionFieldOptions, PrismaConnectionShape, PrismaFieldOptions, PrismaFieldWithInputOptions, prismaModelName, PrismaModelTypes, PrismaNodeOptions, PrismaObjectFieldOptions, PrismaObjectTypeOptions, ShapeFromConnection, ShapeFromSelection } from './types';
7
+ import { PrismaClient, PrismaConnectionFieldOptions, PrismaConnectionShape, PrismaFieldOptions, PrismaFieldWithInputOptions, PrismaInterfaceTypeOptions, prismaModelName, PrismaModelTypes, PrismaNodeOptions, PrismaObjectFieldOptions, PrismaObjectTypeOptions, ShapeFromConnection, ShapeFromSelection } from './types';
6
8
  import type { PrismaPlugin } from '.';
7
9
  declare global {
8
10
  export namespace PothosSchemaTypes {
@@ -17,6 +19,7 @@ declare global {
17
19
  models?: boolean;
18
20
  fields?: boolean;
19
21
  };
22
+ onUnusedQuery?: null | 'warn' | 'error' | ((info: GraphQLResolveInfo) => void);
20
23
  } | {
21
24
  filterConnectionTotalCount?: boolean;
22
25
  client: (ctx: Types['Context']) => PrismaClient;
@@ -27,6 +30,7 @@ declare global {
27
30
  models?: boolean;
28
31
  fields?: boolean;
29
32
  };
33
+ onUnusedQuery?: null | 'warn' | 'error' | ((info: GraphQLResolveInfo) => void);
30
34
  };
31
35
  }
32
36
  interface UserSchemaTypes {
@@ -49,6 +53,13 @@ declare global {
49
53
  select: Select;
50
54
  include: Include;
51
55
  }>>;
56
+ prismaInterface: <Name extends keyof Types['PrismaTypes'], Interfaces extends InterfaceParam<Types>[], FindUnique, Model extends PrismaModelTypes & Types['PrismaTypes'][Name], Include = unknown, Select = unknown>(name: Name, options: PrismaInterfaceTypeOptions<Types, Model, Interfaces, FindUnique, Include, Select, ShapeFromSelection<Types, Model, {
57
+ select: Select;
58
+ include: Include;
59
+ }>>) => PrismaInterfaceRef<Model, ShapeFromSelection<Types, Model, {
60
+ select: Select;
61
+ include: Include;
62
+ }>>;
52
63
  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
64
  [prismaModelName]?: Type;
54
65
  }>(type: Type, fieldName: string, field: (t: PrismaObjectFieldBuilder<Types, Model, false, Shape>) => FieldRef) => void;
@@ -64,15 +75,15 @@ declare global {
64
75
  }>> : '@pothos/plugin-relay is required to use this method';
65
76
  }
66
77
  interface RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> {
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>>;
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'], ConnectionInterfaces extends InterfaceParam<Types>[] = [], EdgeInterfaces extends InterfaceParam<Types>[] = []>(options: PrismaConnectionFieldOptions<Types, ParentShape, Type, Model, ObjectRef<Model['Shape']>, Nullable, Args, ResolveReturnShape, Kind>, ...args: NormalizeArgs<[
78
+ prismaField: <Args extends InputFieldMap, TypeParam extends PrismaRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaRef<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 [PrismaRef<PrismaModelTypes>] ? TypeParam[0][typeof prismaModelKey] : TypeParam extends PrismaRef<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>>;
79
+ prismaConnection: 'relay' extends PluginName ? <Type extends PrismaRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Nullable extends boolean, ResolveReturnShape, Args extends InputFieldMap = {}, Model extends PrismaModelTypes = Type extends PrismaRef<infer T> ? T : PrismaModelTypes & Types['PrismaTypes'][Type & keyof Types['PrismaTypes']], Shape = Type extends PrismaRef<PrismaModelTypes, infer S> ? S : Model['Shape'], ConnectionInterfaces extends InterfaceParam<Types>[] = [], EdgeInterfaces extends InterfaceParam<Types>[] = []>(options: PrismaConnectionFieldOptions<Types, ParentShape, Type, Model, ObjectRef<Model['Shape']>, Nullable, Args, ResolveReturnShape, Kind>, ...args: NormalizeArgs<[
69
80
  connectionOptions: ConnectionObjectOptions<Types, ObjectRef<Shape>, false, false, PrismaConnectionShape<Types, Shape, ParentShape, Args>, ConnectionInterfaces> | ObjectRef<ShapeFromConnection<ConnectionShapeHelper<Types, Shape, false>>>,
70
81
  edgeOptions: ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, PrismaConnectionShape<Types, Shape, ParentShape, Args>, EdgeInterfaces> | ObjectRef<{
71
82
  cursor: string;
72
83
  node?: Shape | null | undefined;
73
84
  }>
74
85
  ], 0>) => FieldRef<ShapeFromConnection<ConnectionShapeHelper<Types, Model['Shape'], Nullable>>> : '@pothos/plugin-relay is required to use this method';
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 & {
86
+ prismaFieldWithInput: 'prisma' extends PluginName ? <Fields extends Record<string, InputFieldRef<unknown, 'InputObject'>>, TypeParam extends PrismaRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaRef<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 [PrismaRef<PrismaModelTypes>] ? TypeParam[0][typeof prismaModelKey] : TypeParam extends PrismaRef<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 & {
76
87
  WithInputArgRequired: boolean;
77
88
  })['WithInputArgRequired'] : ArgRequired>) => FieldRef<ShapeFromTypeParam<Types, Type, Nullable>> : '@pothos/plugin-prisma is required to use this method';
78
89
  }
@@ -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
@@ -2,12 +2,13 @@ import './global-types';
2
2
  import './schema-builder';
3
3
  import './field-builder';
4
4
  import { GraphQLFieldResolver } from 'graphql';
5
- import SchemaBuilder, { BasePlugin, BuildCache, PothosOutputFieldConfig, SchemaTypes } from '@pothos/core';
5
+ import SchemaBuilder, { BasePlugin, BuildCache, PothosOutputFieldConfig, PothosTypeConfig, SchemaTypes } from '@pothos/core';
6
6
  import { PrismaModelTypes } from './types';
7
7
  import { formatPrismaCursor, parsePrismaCursor } from './util/cursors';
8
8
  import { getModel, getRefFromModel } from './util/datamodel';
9
9
  import { queryFromInfo } from './util/map-query';
10
10
  export { prismaConnectionHelpers } from './connection-helpers';
11
+ export { PrismaInterfaceRef } from './interface-ref';
11
12
  export { PrismaNodeRef } from './node-ref';
12
13
  export { PrismaObjectRef } from './object-ref';
13
14
  export * from './types';
@@ -18,6 +19,7 @@ export type PrismaObjectFieldBuilder<Types extends SchemaTypes, ParentShape> = P
18
19
  export declare const ObjectFieldBuilder: new <Types extends SchemaTypes, Model extends PrismaModelTypes, NeedsResolve extends boolean, Shape extends object = Model["Shape"]>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>) => PothosSchemaTypes.PrismaObjectFieldBuilder<Types, Model, NeedsResolve, Shape>;
19
20
  export declare class PrismaPlugin<Types extends SchemaTypes> extends BasePlugin<Types> {
20
21
  constructor(cache: BuildCache<Types>);
22
+ onTypeConfig(typeConfig: PothosTypeConfig): PothosTypeConfig;
21
23
  onOutputFieldConfig(fieldConfig: PothosOutputFieldConfig<Types>): PothosOutputFieldConfig<Types> | null;
22
24
  wrapResolve(resolver: GraphQLFieldResolver<unknown, Types['Context'], object, unknown>, fieldConfig: PothosOutputFieldConfig<Types>): GraphQLFieldResolver<unknown, Types['Context'], object>;
23
25
  }
@@ -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,iBAAiB,CAAC;AACzB,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;AAC3C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE7D,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,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAE3F,MAAM,MAAM,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,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,aAAa,EAAE,EACpB,UAAU,EACV,UAAU,EACV,uBAAuB,EAEvB,gBAAgB,EAChB,WAAW,EACZ,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,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,kBAAkB,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAE3F,MAAM,MAAM,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,YAAY,CAAC,UAAU,EAAE,gBAAgB,GAAG,gBAAgB;IA+B5D,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;CAiE3D"}
@@ -0,0 +1,10 @@
1
+ import { InterfaceRef } from '@pothos/core';
2
+ import { prismaModelKey, PrismaObjectRef } from './object-ref';
3
+ import type { PrismaModelTypes } from './types';
4
+ export type PrismaRef<Model extends PrismaModelTypes, T = {}> = PrismaObjectRef<Model, T> | PrismaInterfaceRef<Model, T>;
5
+ export declare class PrismaInterfaceRef<Model extends PrismaModelTypes, T = {}> extends InterfaceRef<T> {
6
+ [prismaModelKey]: Model;
7
+ modelName: string;
8
+ constructor(name: string, modelName: string);
9
+ }
10
+ //# sourceMappingURL=interface-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface-ref.d.ts","sourceRoot":"","sources":["../src/interface-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,GAAG,EAAE,IACxD,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,GACzB,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAEjC,qBAAa,kBAAkB,CAAC,KAAK,SAAS,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC7F,CAAC,cAAc,CAAC,EAAG,KAAK,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK5C"}
@@ -1,4 +1,4 @@
1
- import { ObjectRef, SchemaTypes } from '@pothos/core';
1
+ import { InterfaceRef, ObjectRef, SchemaTypes } from '@pothos/core';
2
2
  import { SelectionState } from './util/selections';
3
3
  export declare class ModelLoader {
4
4
  model: object;
@@ -10,19 +10,19 @@ export declare class ModelLoader {
10
10
  state: SelectionState;
11
11
  }>;
12
12
  constructor(model: object, builder: PothosSchemaTypes.SchemaBuilder<never>, modelName: string, findUnique: (model: Record<string, unknown>, ctx: {}) => unknown);
13
- static forRef<Types extends SchemaTypes>(ref: ObjectRef<unknown>, modelName: string, findUnique: ((model: Record<string, unknown>, ctx: {}) => unknown) | undefined, builder: PothosSchemaTypes.SchemaBuilder<Types>): import("@pothos/core").ContextCache<ModelLoader, object, []>;
13
+ static forRef<Types extends SchemaTypes>(ref: ObjectRef<unknown> | InterfaceRef<unknown>, modelName: string, findUnique: ((model: Record<string, unknown>, ctx: {}) => unknown) | undefined, builder: PothosSchemaTypes.SchemaBuilder<Types>): import("@pothos/core").ContextCache<ModelLoader, object, []>;
14
14
  static getFindUnique(findBy: {
15
15
  name: string | null;
16
16
  fields: string[];
17
17
  } | string): (model: Record<string, unknown>) => {};
18
- static getDefaultFindBy<Types extends SchemaTypes>(ref: ObjectRef<unknown>, modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): string | {
18
+ static getDefaultFindBy<Types extends SchemaTypes>(ref: ObjectRef<unknown> | InterfaceRef<unknown>, modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): string | {
19
19
  name: string | null;
20
20
  fields: string[];
21
21
  };
22
- static getDefaultFindUnique<Types extends SchemaTypes>(ref: ObjectRef<unknown>, modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): (model: Record<string, unknown>) => {};
23
- static getDefaultIDSelection<Types extends SchemaTypes>(ref: ObjectRef<unknown>, modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): Record<string, boolean>;
24
- static getCursorSelection<Types extends SchemaTypes>(ref: ObjectRef<unknown>, modelName: string, cursor: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): Record<string, boolean>;
25
- static getFindUniqueForField<Types extends SchemaTypes>(ref: ObjectRef<unknown>, modelName: string, fieldName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): (model: Record<string, unknown>) => {};
22
+ static getDefaultFindUnique<Types extends SchemaTypes>(ref: ObjectRef<unknown> | InterfaceRef<unknown>, modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): (model: Record<string, unknown>) => {};
23
+ static getDefaultIDSelection<Types extends SchemaTypes>(ref: ObjectRef<unknown> | InterfaceRef<unknown>, modelName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): Record<string, boolean>;
24
+ static getCursorSelection<Types extends SchemaTypes>(ref: ObjectRef<unknown> | InterfaceRef<unknown>, modelName: string, cursor: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): Record<string, boolean>;
25
+ static getFindUniqueForField<Types extends SchemaTypes>(ref: ObjectRef<unknown> | InterfaceRef<unknown>, modelName: string, fieldName: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): (model: Record<string, unknown>) => {};
26
26
  loadSelection(selection: SelectionState, context: object): Promise<Record<string, unknown>>;
27
27
  initLoad(state: SelectionState, context: {}): Promise<Record<string, unknown>>;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-loader.d.ts","sourceRoot":"","sources":["../src/model-loader.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CompatibleTypes, ExposeNullability, FieldKind, FieldRef, InputFieldMap, InterfaceParam, NormalizeArgs, ObjectRef, PluginName, SchemaTypes, ShapeFromTypeParam, TypeParam } from '@pothos/core';
2
- import { PrismaObjectRef } from './object-ref';
2
+ import { PrismaRef } from './interface-ref';
3
3
  import { PrismaConnectionShape, PrismaModelTypes, RelatedConnectionOptions, RelatedFieldOptions, RelationCountOptions, ShapeFromConnection, TypesForRelation, VariantFieldOptions } from './types';
4
4
  import { FieldMap } from './util/relation-map';
5
5
  declare const RootBuilder: {
@@ -62,15 +62,15 @@ export declare class PrismaObjectFieldBuilder<Types extends SchemaTypes, Model e
62
62
  node?: ShapeFromTypeParam<Types, Model['Shape'], false>;
63
63
  }>
64
64
  ], 0>) => FieldRef<ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, Nullable>>> : '@pothos/plugin-relay is required to use this method';
65
- constructor(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, model: string, fieldMap: FieldMap);
65
+ constructor(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, model: string, fieldMap: FieldMap, graphqlKind?: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]);
66
66
  relation<Field extends Model['RelationName'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(name: Field, ...allArgs: NormalizeArgs<[
67
67
  options: RelatedFieldOptions<Types, Model, Field, Nullable, Args, ResolveReturnShape, NeedsResolve, Shape>
68
68
  ]>): FieldRef<Model['Relations'][Field]['Shape'], 'Object'>;
69
69
  relationCount<Field extends Model['RelationName']>(name: Field, ...allArgs: NormalizeArgs<[
70
70
  options: RelationCountOptions<Types, Shape, NeedsResolve, TypesForRelation<Types, Model, Field>['Where']>
71
71
  ]>): FieldRef<number, 'Object'>;
72
- variant<Variant extends Model['Name'] | PrismaObjectRef<Model>, Args extends InputFieldMap, Nullable>(variant: Variant, ...allArgs: NormalizeArgs<[
73
- options: VariantFieldOptions<Types, Model, Variant extends PrismaObjectRef<Model> ? Variant : PrismaObjectRef<Model>, Args, Nullable, Shape>
72
+ variant<Variant extends Model['Name'] | PrismaRef<Model>, Args extends InputFieldMap, Nullable>(variant: Variant, ...allArgs: NormalizeArgs<[
73
+ options: VariantFieldOptions<Types, Model, Variant extends PrismaRef<Model> ? Variant : PrismaRef<Model>, Args, Nullable, Shape>
74
74
  ]>): FieldRef<Model['Shape'], 'Object'>;
75
75
  expose<Type extends TypeParam<Types>, Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model['Shape'], Type, true>>(...args: NormalizeArgs<[
76
76
  name: Name,
@@ -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
@@ -1,6 +1,6 @@
1
1
  import { FieldNode, GraphQLResolveInfo } from 'graphql';
2
2
  import { FieldKind, FieldMap, FieldNullability, FieldOptionsFromKind, InputFieldMap, InputFieldRef, InputFieldsFromShape, InputShapeFromFields, InterfaceParam, ListResolveValue, MaybePromise, Normalize, ObjectRef, OutputShape, OutputType, SchemaTypes, ShapeFromTypeParam, ShapeWithNullability, typeBrandKey, TypeParam } from '@pothos/core';
3
- import { PrismaObjectRef } from './object-ref';
3
+ import { PrismaInterfaceRef, PrismaRef } from './interface-ref';
4
4
  import type { PrismaObjectFieldBuilder } from './prisma-field-builder';
5
5
  export interface PrismaDelegate {
6
6
  findUniqueOrThrow?: (...args: any[]) => Promise<unknown>;
@@ -74,6 +74,22 @@ export type PrismaObjectImplementationOptions<Types extends SchemaTypes, Model e
74
74
  }), Select>;
75
75
  };
76
76
  export 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>;
77
+ export type PrismaInterfaceRefOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, FindUnique, Include, Select, Shape extends object> = NameOrVariant & ({
78
+ include?: Include & Model['Include'];
79
+ select?: never;
80
+ findUnique?: FindUnique & (((parent: Shape, context: Types['Context']) => Model['WhereUnique']) | null);
81
+ } | {
82
+ select: Model['Select'] & Select;
83
+ include?: never;
84
+ findUnique?: (parent: Shape, context: Types['Context']) => Model['WhereUnique'];
85
+ });
86
+ export type PrismaInterfaceImplementationOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], FindUnique, Select, Shape extends object> = Omit<PothosSchemaTypes.InterfaceTypeOptions<Types, Shape, Interfaces>, 'fields' | 'description'> & {
87
+ description?: string | false;
88
+ fields?: PrismaObjectFieldsShape<Types, Model, FindUnique extends null ? true : false, Shape & (FindUnique extends null ? {} : {
89
+ [prismaModelName]?: Model['Name'];
90
+ }), Select>;
91
+ };
92
+ export type PrismaInterfaceTypeOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Interfaces extends InterfaceParam<Types>[], FindUnique, Include, Select, Shape extends object> = PrismaInterfaceRefOptions<Types, Model, FindUnique, Include, Select, Shape> & PrismaInterfaceImplementationOptions<Types, Model, Interfaces, FindUnique, Select, Shape>;
77
93
  type NameOrVariant = {
78
94
  name?: never;
79
95
  variant?: string;
@@ -125,10 +141,10 @@ export type RelatedFieldOptions<Types extends SchemaTypes, Model extends PrismaM
125
141
  resolve: (query: QueryFromRelation<Model, Field & keyof Model['Include']>, parent: Shape, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<ShapeWithNullability<Types, Model['Relations'][Field]['Shape'], Nullable>>;
126
142
  }) & {
127
143
  description?: string | false;
128
- type?: PrismaObjectRef<TypesForRelation<Types, Model, Field>>;
144
+ type?: PrismaRef<TypesForRelation<Types, Model, Field>>;
129
145
  query?: QueryForField<Types, Args, Model['Include'][Field & keyof Model['Include']]>;
130
146
  };
131
- export type VariantFieldOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Variant extends PrismaObjectRef<Model>, Args extends InputFieldMap, isNull, Shape> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, Variant, unknown extends isNull ? false : true, Args, Model['Shape']>, 'resolve' | 'type'> & {
147
+ export type VariantFieldOptions<Types extends SchemaTypes, Model extends PrismaModelTypes, Variant extends PrismaRef<Model>, Args extends InputFieldMap, isNull, Shape> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, Variant, unknown extends isNull ? false : true, Args, Model['Shape']>, 'resolve' | 'type'> & {
132
148
  isNull?: isNull & ((parent: Shape, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<boolean>);
133
149
  };
134
150
  export type RelationCountOptions<Types extends SchemaTypes, Shape, NeedsResolve extends boolean, Where> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, 'Int', false, {}, number>, 'resolve' | 'type'> & (NeedsResolve extends false ? {
@@ -138,13 +154,13 @@ export type RelationCountOptions<Types extends SchemaTypes, Shape, NeedsResolve
138
154
  where?: Where | ((args: {}, context: Types['Context']) => Where);
139
155
  resolve: (parent: Shape, args: {}, context: Types['Context'], info: GraphQLResolveInfo) => MaybePromise<number>;
140
156
  });
141
- export type PrismaFieldOptions<Types extends SchemaTypes, ParentShape, Type extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaObjectRef<PrismaModelTypes>], Model extends PrismaModelTypes, Param extends TypeParam<Types>, Args extends InputFieldMap, Nullable extends FieldNullability<Param>, ResolveShape, ResolveReturnShape, Kind extends FieldKind = FieldKind> = FieldOptionsFromKind<Types, ParentShape, Param, Nullable, Args, Kind, ResolveShape, ResolveReturnShape> extends infer FieldOptions ? Omit<FieldOptions, 'resolve' | 'type'> & {
157
+ export type PrismaFieldOptions<Types extends SchemaTypes, ParentShape, Type extends PrismaRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaRef<PrismaModelTypes>], Model extends PrismaModelTypes, Param extends TypeParam<Types>, Args extends InputFieldMap, Nullable extends FieldNullability<Param>, ResolveShape, ResolveReturnShape, Kind extends FieldKind = FieldKind> = FieldOptionsFromKind<Types, ParentShape, Param, Nullable, Args, Kind, ResolveShape, ResolveReturnShape> extends infer FieldOptions ? Omit<FieldOptions, 'resolve' | 'type'> & {
142
158
  type: Type;
143
159
  resolve: FieldOptions extends {
144
160
  resolve?: (parent: infer Parent, ...args: any[]) => unknown;
145
161
  } ? PrismaFieldResolver<Types, Model, Parent, Param, Args, Nullable, ResolveReturnShape> : PrismaFieldResolver<Types, Model, ParentShape, Param, Args, Nullable, ResolveReturnShape>;
146
162
  } : never;
147
- export type PrismaFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Kind extends FieldKind, Args extends Record<string, InputFieldRef<unknown, 'Arg'>>, Fields extends Record<string, InputFieldRef<unknown, 'InputObject'>>, Type extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaObjectRef<PrismaModelTypes>], Model extends PrismaModelTypes, Param extends TypeParam<Types>, Nullable extends FieldNullability<Param>, InputName extends string, ResolveShape, ResolveReturnShape, ArgRequired extends boolean> = Omit<PrismaFieldOptions<Types, ParentShape, Type, Model, Param, {
163
+ export type PrismaFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Kind extends FieldKind, Args extends Record<string, InputFieldRef<unknown, 'Arg'>>, Fields extends Record<string, InputFieldRef<unknown, 'InputObject'>>, Type extends PrismaRef<PrismaModelTypes> | keyof Types['PrismaTypes'] | [keyof Types['PrismaTypes']] | [PrismaRef<PrismaModelTypes>], Model extends PrismaModelTypes, Param extends TypeParam<Types>, Nullable extends FieldNullability<Param>, InputName extends string, ResolveShape, ResolveReturnShape, ArgRequired extends boolean> = Omit<PrismaFieldOptions<Types, ParentShape, Type, Model, Param, {
148
164
  [K in InputName]: InputFieldRef<InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
149
165
  } & Args, Nullable, ResolveShape, ResolveReturnShape, Kind>, 'args'> & PothosSchemaTypes.FieldWithInputBaseOptions<Types, {
150
166
  [K in InputName]: InputFieldRef<InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
@@ -153,7 +169,7 @@ export type PrismaFieldResolver<Types extends SchemaTypes, Model extends PrismaM
153
169
  include?: Model['Include'];
154
170
  select?: Model['Select'];
155
171
  }, parent: Parent, args: InputShapeFromFields<Args>, context: Types['Context'], info: GraphQLResolveInfo) => ShapeFromTypeParam<Types, Param, Nullable> extends infer Shape ? [Shape] extends [[readonly (infer Item)[] | null | undefined]] ? ListResolveValue<Shape, Item, ResolveReturnShape> : MaybePromise<Shape> : never;
156
- export type PrismaConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends PrismaObjectRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Model extends PrismaModelTypes, Param extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Kind extends FieldKind> = Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, ParentShape, Param, Nullable, false, false, Args, ResolveReturnShape>, 'resolve' | 'type'> & Omit<FieldOptionsFromKind<Types, ParentShape, Param, Nullable, (InputFieldMap extends Args ? {} : Args) & InputFieldsFromShape<PothosSchemaTypes.DefaultConnectionArguments>, Kind, ParentShape, ResolveReturnShape>, 'args' | 'resolve' | 'type'> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
172
+ export type PrismaConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends PrismaRef<PrismaModelTypes> | PrismaInterfaceRef<PrismaModelTypes> | keyof Types['PrismaTypes'], Model extends PrismaModelTypes, Param extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Kind extends FieldKind> = Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, ParentShape, Param, Nullable, false, false, Args, ResolveReturnShape>, 'resolve' | 'type'> & Omit<FieldOptionsFromKind<Types, ParentShape, Param, Nullable, (InputFieldMap extends Args ? {} : Args) & InputFieldsFromShape<PothosSchemaTypes.DefaultConnectionArguments>, Kind, ParentShape, ResolveReturnShape>, 'args' | 'resolve' | 'type'> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
157
173
  type: Type;
158
174
  cursor: UniqueFieldsFromWhereUnique<Model['WhereUnique']>;
159
175
  defaultSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
@@ -169,7 +185,7 @@ export type PrismaConnectionFieldOptions<Types extends SchemaTypes, ParentShape,
169
185
  export 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, (InputFieldMap extends Args ? {} : Args) & InputFieldsFromShape<PothosSchemaTypes.DefaultConnectionArguments>, unknown>, 'resolve' | 'type' | 'args' | 'description'> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Model['Shape'], ObjectRef<unknown>, false, false, Nullable, Args, unknown>, 'resolve' | 'type'> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
170
186
  description?: string | false;
171
187
  query?: QueryForField<Types, Args, Model['Include'][Field & keyof Model['Include']]>;
172
- type?: PrismaObjectRef<TypesForRelation<Types, Model, Field>>;
188
+ type?: PrismaRef<TypesForRelation<Types, Model, Field>>;
173
189
  cursor: CursorFromRelation<Model, Field>;
174
190
  defaultSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);
175
191
  maxSize?: number | ((args: ConnectionArgs, ctx: Types['Context']) => number);