@pothos/plugin-prisma 3.50.1 → 3.51.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.51.0
4
+
5
+ ### Minor Changes
6
+
7
+ - dbdb6f03: Fix compatability with prisma@4.13.*
8
+
3
9
  ## 3.50.1
4
10
 
5
11
  ### Patch Changes
@@ -8,7 +8,6 @@ export declare function getRefFromModel<Types extends SchemaTypes>(name: string,
8
8
  export declare function getRelation<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, relation: string): import("./get-client").DMMFField;
9
9
  export declare function getFieldData<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, fieldName: string): import("./get-client").DMMFField;
10
10
  export declare function getModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): {
11
- name: string;
12
11
  fields: import("./get-client").DMMFField[];
13
12
  primaryKey: {
14
13
  name: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../../src/util/datamodel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG1E,eAAO,MAAM,MAAM,qEAAwE,CAAC;AAC5F,eAAO,MAAM,aAAa,kDAEQ,OAAO,OAAO,EAAE,KAAK,OAAO,UAC3D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,0EAG1B,CAAC;AAEJ,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,eAAe,CAAC,gBAAgB,CAAC,CAWnC;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,WAAW,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAM,oCAWjB;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAS,WAAW,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,MAAM,oCAWlB;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,EAChD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;;;;;;;;;;;;EAUhD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAWvE"}
1
+ {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../../src/util/datamodel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG1E,eAAO,MAAM,MAAM,qEAAwE,CAAC;AAC5F,eAAO,MAAM,aAAa,kDAEQ,OAAO,OAAO,EAAE,KAAK,OAAO,UAC3D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,0EAG1B,CAAC;AAEJ,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,eAAe,CAAC,gBAAgB,CAAC,CAWnC;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,WAAW,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAM,oCAWjB;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAS,WAAW,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,MAAM,oCAWlB;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,EAChD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;;;;;;;;;;;EAahD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAWvE"}
@@ -14,7 +14,7 @@ export interface DMMFField {
14
14
  relationFromFields?: string[];
15
15
  isUpdatedAt?: boolean;
16
16
  }
17
- interface DMMF {
17
+ export interface DMMF {
18
18
  datamodel: {
19
19
  models: {
20
20
  name: string;
@@ -31,7 +31,20 @@ interface DMMF {
31
31
  }[];
32
32
  };
33
33
  }
34
+ export interface RuntimeDataModel {
35
+ models: Record<string, {
36
+ fields: DMMFField[];
37
+ primaryKey: {
38
+ name: string | null;
39
+ fields: string[];
40
+ } | null;
41
+ uniqueIndexes: {
42
+ name: string | null;
43
+ fields: string[];
44
+ }[];
45
+ documentation?: string;
46
+ }>;
47
+ }
34
48
  export declare function getClient<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>, context: Types['Context']): PrismaClient;
35
- export declare function getDMMF<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>): DMMF;
36
- export {};
49
+ export declare function getDMMF<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>): DMMF['datamodel'] | RuntimeDataModel;
37
50
  //# sourceMappingURL=get-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../src/util/get-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,IAAI;IACZ,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,CAAC;YACpB,UAAU,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI,CAAC;YAC7D,aAAa,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,EAAE,CAAC;YAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,EAAE,CAAC;KACL,CAAC;CACH;AAWD,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,EACjD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GACxB,YAAY,CAMd;AAED,wBAAgB,OAAO,CAAC,KAAK,SAAS,WAAW,EAC/C,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,IAAI,CAWN"}
1
+ {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../src/util/get-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,CAAC;YACpB,UAAU,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI,CAAC;YAC7D,aAAa,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,EAAE,CAAC;YAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,EAAE,CAAC;KACL,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,MAAM,EAAE,SAAS,EAAE,CAAC;QACpB,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,IAAI,CAAC;QAC7D,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAC;QAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CACF,CAAC;CACH;AAWD,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,EACjD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GACxB,YAAY,CAMd;AAED,wBAAgB,OAAO,CAAC,KAAK,SAAS,WAAW,EAC/C,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAYtC"}
@@ -1,11 +1,23 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import { DMMF, RuntimeDataModel } from './get-client';
2
2
  export interface FieldMap {
3
3
  model: string;
4
4
  relations: Map<string, FieldMap>;
5
5
  }
6
6
  export type RelationMap = Map<string, FieldMap>;
7
7
  export declare const getRelationMap: import("@pothos/core").ContextCache<RelationMap, {
8
- datamodel: unknown;
9
- }, []>;
10
- export declare function createRelationMap({ models }: DMMF.Datamodel): RelationMap;
8
+ models: {
9
+ name: string;
10
+ fields: import("./get-client").DMMFField[];
11
+ primaryKey: {
12
+ name: string | null;
13
+ fields: string[];
14
+ } | null;
15
+ uniqueIndexes: {
16
+ name: string | null;
17
+ fields: string[];
18
+ }[];
19
+ documentation?: string | undefined;
20
+ }[];
21
+ } | RuntimeDataModel, []>;
22
+ export declare function createRelationMap({ models }: DMMF['datamodel'] | RuntimeDataModel): RelationMap;
11
23
  //# sourceMappingURL=relation-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-map.d.ts","sourceRoot":"","sources":["../../src/util/relation-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,cAAc;eAA0C,OAAO;MAE3E,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,SAAS,eAkB3D"}
1
+ {"version":3,"file":"relation-map.d.ts","sourceRoot":"","sources":["../../src/util/relation-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;yBAE1B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,gBAAgB,eAkCjF"}
@@ -8,7 +8,6 @@ export declare function getRefFromModel<Types extends SchemaTypes>(name: string,
8
8
  export declare function getRelation<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, relation: string): import("./get-client.js").DMMFField;
9
9
  export declare function getFieldData<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, fieldName: string): import("./get-client.js").DMMFField;
10
10
  export declare function getModel<Types extends SchemaTypes>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>): {
11
- name: string;
12
11
  fields: import("./get-client.js").DMMFField[];
13
12
  primaryKey: {
14
13
  name: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../../src/util/datamodel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG1E,eAAO,MAAM,MAAM,qEAAwE,CAAC;AAC5F,eAAO,MAAM,aAAa,kDAEQ,OAAO,OAAO,EAAE,KAAK,OAAO,UAC3D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,0EAG1B,CAAC;AAEJ,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,eAAe,CAAC,gBAAgB,CAAC,CAWnC;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,WAAW,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAM,oCAWjB;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAS,WAAW,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,MAAM,oCAWlB;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,EAChD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;;;;;;;;;;;;EAUhD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAWvE"}
1
+ {"version":3,"file":"datamodel.d.ts","sourceRoot":"","sources":["../../src/util/datamodel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG1E,eAAO,MAAM,MAAM,qEAAwE,CAAC;AAC5F,eAAO,MAAM,aAAa,kDAEQ,OAAO,OAAO,EAAE,KAAK,OAAO,UAC3D,CAAC;AAEJ,eAAO,MAAM,gBAAgB,0EAG1B,CAAC;AAEJ,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EACvD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,eAAe,CAAC,gBAAgB,CAAC,CAWnC;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAS,WAAW,EACnD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,MAAM,oCAWjB;AAED,wBAAgB,YAAY,CAAC,KAAK,SAAS,WAAW,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,MAAM,oCAWlB;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAS,WAAW,EAChD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC;;;;;;;;;;;EAahD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,kBAWvE"}
@@ -31,7 +31,7 @@ export function getFieldData(name, builder, fieldName) {
31
31
  }
32
32
  export function getModel(name, builder) {
33
33
  const dmmf = getDMMF(builder);
34
- const modelData = dmmf.datamodel.models.find((model) => model.name === name);
34
+ const modelData = Array.isArray(dmmf.models) ? dmmf.models.find((model) => model.name === name) : dmmf.models[name];
35
35
  if (!modelData) {
36
36
  throw new PothosSchemaError(`Model '${name}' not found in DMMF`);
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/datamodel.ts"],"names":["PothosSchemaError","PrismaObjectRef","getDMMF","refMap","WeakMap","findUniqueMap","includeForRefMap","getRefFromModel","name","builder","has","set","Map","cache","get","getRelation","relation","fieldData","getFieldData","kind","fieldName","modelData","getModel","fields","find","field","dmmf","datamodel","models","model","getDelegateFromModel","client","lowerCase","slice","toLowerCase","delegate"],"mappings":"AAAA,SAAoBA,iBAAiB,QAAqB,eAAe;AACzE,SAASC,eAAe,QAAQ,gBAAgB;AAEhD,SAASC,OAAO,QAAQ,eAAe;AAEvC,OAAO,MAAMC,SAAS,IAAIC,UAAkE;AAC5F,OAAO,MAAMC,gBAAgB,IAAID,UAG7B;AAEJ,OAAO,MAAME,mBAAmB,IAAIF,UAGhC;AAEJ,OAAO,SAASG,gBACdC,IAAY,EACZC,OAA+C,EACZ;IACnC,IAAI,CAACN,OAAOO,GAAG,CAACD,UAAU;QACxBN,OAAOQ,GAAG,CAACF,SAAS,IAAIG;IAC1B,CAAC;IACD,MAAMC,QAAQV,OAAOW,GAAG,CAACL;IAEzB,IAAI,CAACI,MAAMH,GAAG,CAACF,OAAO;QACpBK,MAAMF,GAAG,CAACH,MAAM,IAAIP,gBAAgBO,MAAMA;IAC5C,CAAC;IAED,OAAOK,MAAMC,GAAG,CAACN;AACnB,CAAC;AAED,OAAO,SAASO,YACdP,IAAY,EACZC,OAA+C,EAC/CO,QAAgB,EAChB;IACA,MAAMC,YAAYC,aAAaV,MAAMC,SAASO;IAE9C,IAAIC,UAAUE,IAAI,KAAK,UAAU;QAC/B,MAAM,IAAInB,kBACR,CAAC,MAAM,EAAEgB,SAAS,WAAW,EAAER,KAAK,qBAAqB,EAAES,UAAUE,IAAI,CAAC,CAAC,CAAC,EAC5E;IACJ,CAAC;IAED,OAAOF;AACT,CAAC;AAED,OAAO,SAASC,aACdV,IAAY,EACZC,OAA+C,EAC/CW,SAAiB,EACjB;IACA,MAAMC,YAAYC,SAASd,MAAMC;IAEjC,MAAMQ,YAAYI,UAAUE,MAAM,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMjB,IAAI,KAAKY;IAElE,IAAI,CAACH,WAAW;QACd,MAAM,IAAIjB,kBAAkB,CAAC,OAAO,EAAEoB,UAAU,sBAAsB,EAAEZ,KAAK,CAAC,CAAC,EAAE;IACnF,CAAC;IAED,OAAOS;AACT,CAAC;AAED,OAAO,SAASK,SACdd,IAAY,EACZC,OAA+C,EAC/C;IACA,MAAMiB,OAAOxB,QAAQO;IACrB,MAAMY,YAAYK,KAAKC,SAAS,CAACC,MAAM,CAACJ,IAAI,CAAC,CAACK,QAAUA,MAAMrB,IAAI,KAAKA;IAEvE,IAAI,CAACa,WAAW;QACd,MAAM,IAAIrB,kBAAkB,CAAC,OAAO,EAAEQ,KAAK,mBAAmB,CAAC,EAAE;IACnE,CAAC;IAED,OAAOa;AACT,CAAC;AAED,OAAO,SAASS,qBAAqBC,MAAoB,EAAEF,KAAa,EAAE;IACxE,MAAMG,YAAY,CAAC,EAAEH,MAAMI,KAAK,CAAC,GAAG,GAAGC,WAAW,GAAG,EAAEL,MAAMI,KAAK,CAAC,GAAG,CAAC;IAEvE,MAAME,WACJH,aAAaD,SAAS,AAACA,MAAiD,CAACC,UAAU,GAAG,IAAI;IAE5F,IAAI,CAACG,UAAU;QACb,MAAM,IAAInC,kBAAkB,CAAC,kCAAkC,EAAE6B,MAAM,CAAC,EAAE;IAC5E,CAAC;IAED,OAAOM;AACT,CAAC"}
1
+ {"version":3,"sources":["../../src/util/datamodel.ts"],"names":["PothosSchemaError","PrismaObjectRef","getDMMF","refMap","WeakMap","findUniqueMap","includeForRefMap","getRefFromModel","name","builder","has","set","Map","cache","get","getRelation","relation","fieldData","getFieldData","kind","fieldName","modelData","getModel","fields","find","field","dmmf","Array","isArray","models","model","getDelegateFromModel","client","lowerCase","slice","toLowerCase","delegate"],"mappings":"AAAA,SAAoBA,iBAAiB,QAAqB,eAAe;AACzE,SAASC,eAAe,QAAQ,gBAAgB;AAEhD,SAASC,OAAO,QAAQ,eAAe;AAEvC,OAAO,MAAMC,SAAS,IAAIC,UAAkE;AAC5F,OAAO,MAAMC,gBAAgB,IAAID,UAG7B;AAEJ,OAAO,MAAME,mBAAmB,IAAIF,UAGhC;AAEJ,OAAO,SAASG,gBACdC,IAAY,EACZC,OAA+C,EACZ;IACnC,IAAI,CAACN,OAAOO,GAAG,CAACD,UAAU;QACxBN,OAAOQ,GAAG,CAACF,SAAS,IAAIG;IAC1B,CAAC;IACD,MAAMC,QAAQV,OAAOW,GAAG,CAACL;IAEzB,IAAI,CAACI,MAAMH,GAAG,CAACF,OAAO;QACpBK,MAAMF,GAAG,CAACH,MAAM,IAAIP,gBAAgBO,MAAMA;IAC5C,CAAC;IAED,OAAOK,MAAMC,GAAG,CAACN;AACnB,CAAC;AAED,OAAO,SAASO,YACdP,IAAY,EACZC,OAA+C,EAC/CO,QAAgB,EAChB;IACA,MAAMC,YAAYC,aAAaV,MAAMC,SAASO;IAE9C,IAAIC,UAAUE,IAAI,KAAK,UAAU;QAC/B,MAAM,IAAInB,kBACR,CAAC,MAAM,EAAEgB,SAAS,WAAW,EAAER,KAAK,qBAAqB,EAAES,UAAUE,IAAI,CAAC,CAAC,CAAC,EAC5E;IACJ,CAAC;IAED,OAAOF;AACT,CAAC;AAED,OAAO,SAASC,aACdV,IAAY,EACZC,OAA+C,EAC/CW,SAAiB,EACjB;IACA,MAAMC,YAAYC,SAASd,MAAMC;IAEjC,MAAMQ,YAAYI,UAAUE,MAAM,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMjB,IAAI,KAAKY;IAElE,IAAI,CAACH,WAAW;QACd,MAAM,IAAIjB,kBAAkB,CAAC,OAAO,EAAEoB,UAAU,sBAAsB,EAAEZ,KAAK,CAAC,CAAC,EAAE;IACnF,CAAC;IAED,OAAOS;AACT,CAAC;AAED,OAAO,SAASK,SACdd,IAAY,EACZC,OAA+C,EAC/C;IACA,MAAMiB,OAAOxB,QAAQO;IAErB,MAAMY,YAAYM,MAAMC,OAAO,CAACF,KAAKG,MAAM,IACvCH,KAAKG,MAAM,CAACL,IAAI,CAAC,CAACM,QAAUA,MAAMtB,IAAI,KAAKA,QAC3CkB,KAAKG,MAAM,CAACrB,KAAK;IAErB,IAAI,CAACa,WAAW;QACd,MAAM,IAAIrB,kBAAkB,CAAC,OAAO,EAAEQ,KAAK,mBAAmB,CAAC,EAAE;IACnE,CAAC;IAED,OAAOa;AACT,CAAC;AAED,OAAO,SAASU,qBAAqBC,MAAoB,EAAEF,KAAa,EAAE;IACxE,MAAMG,YAAY,CAAC,EAAEH,MAAMI,KAAK,CAAC,GAAG,GAAGC,WAAW,GAAG,EAAEL,MAAMI,KAAK,CAAC,GAAG,CAAC;IAEvE,MAAME,WACJH,aAAaD,SAAS,AAACA,MAAiD,CAACC,UAAU,GAAG,IAAI;IAE5F,IAAI,CAACG,UAAU;QACb,MAAM,IAAIpC,kBAAkB,CAAC,kCAAkC,EAAE8B,MAAM,CAAC,EAAE;IAC5E,CAAC;IAED,OAAOM;AACT,CAAC"}
@@ -14,7 +14,7 @@ export interface DMMFField {
14
14
  relationFromFields?: string[];
15
15
  isUpdatedAt?: boolean;
16
16
  }
17
- interface DMMF {
17
+ export interface DMMF {
18
18
  datamodel: {
19
19
  models: {
20
20
  name: string;
@@ -31,7 +31,20 @@ interface DMMF {
31
31
  }[];
32
32
  };
33
33
  }
34
+ export interface RuntimeDataModel {
35
+ models: Record<string, {
36
+ fields: DMMFField[];
37
+ primaryKey: {
38
+ name: string | null;
39
+ fields: string[];
40
+ } | null;
41
+ uniqueIndexes: {
42
+ name: string | null;
43
+ fields: string[];
44
+ }[];
45
+ documentation?: string;
46
+ }>;
47
+ }
34
48
  export declare function getClient<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>, context: Types["Context"]): PrismaClient;
35
- export declare function getDMMF<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>): DMMF;
36
- export {};
49
+ export declare function getDMMF<Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>): DMMF["datamodel"] | RuntimeDataModel;
37
50
  //# sourceMappingURL=get-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../src/util/get-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,IAAI;IACZ,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,CAAC;YACpB,UAAU,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI,CAAC;YAC7D,aAAa,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,EAAE,CAAC;YAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,EAAE,CAAC;KACL,CAAC;CACH;AAWD,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,EACjD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GACxB,YAAY,CAMd;AAED,wBAAgB,OAAO,CAAC,KAAK,SAAS,WAAW,EAC/C,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,IAAI,CAWN"}
1
+ {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../src/util/get-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,SAAS,EAAE,CAAC;YACpB,UAAU,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI,CAAC;YAC7D,aAAa,EAAE;gBAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,EAAE,CAAA;aAAE,EAAE,CAAC;YAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,EAAE,CAAC;KACL,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,MAAM,EAAE,SAAS,EAAE,CAAC;QACpB,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,IAAI,CAAC;QAC7D,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAC;QAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CACF,CAAC;CACH;AAWD,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,EACjD,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/C,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GACxB,YAAY,CAMd;AAED,wBAAgB,OAAO,CAAC,KAAK,SAAS,WAAW,EAC/C,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,GAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAYtC"}
@@ -7,11 +7,12 @@ export function getClient(builder, context) {
7
7
  return builder.options.prisma.client;
8
8
  }
9
9
  export function getDMMF(builder) {
10
+ var _client__baseDmmf;
10
11
  if ("dmmf" in builder.options.prisma && builder.options.prisma.dmmf) {
11
- return builder.options.prisma.dmmf;
12
+ return builder.options.prisma.dmmf.datamodel;
12
13
  }
13
14
  const client = builder.options.prisma.client;
14
- var _client__baseDmmf;
15
- return (_client__baseDmmf = client._baseDmmf) !== null && _client__baseDmmf !== void 0 ? _client__baseDmmf : client._dmmf;
15
+ var _client__runtimeDataModel, _ref;
16
+ return (_ref = (_client__runtimeDataModel = client._runtimeDataModel) !== null && _client__runtimeDataModel !== void 0 ? _client__runtimeDataModel : (_client__baseDmmf = client._baseDmmf) === null || _client__baseDmmf === void 0 ? void 0 : _client__baseDmmf.datamodel) !== null && _ref !== void 0 ? _ref : client._dmmf.datamodel;
16
17
  }
17
18
  //# sourceMappingURL=get-client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/get-client.ts"],"names":["createContextCache","prismaClientCache","builder","context","options","prisma","client","getClient","getDMMF","dmmf","_baseDmmf","_dmmf"],"mappings":"AAAA,uCAAuC,GACvC,SAASA,kBAAkB,QAAqB,eAAe;AA8B/D,MAAMC,oBAAoBD,mBACxB,CAA4BE,UAC1BF,mBAAmB,CAACG,UAClB,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,aACrCJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,CAACH,WAC9BD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AAIvC,OAAO,SAASC,UACdL,OAA+C,EAC/CC,OAAyB,EACX;IACd,IAAI,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,YAAY;QACvD,OAAOL,kBAAkBC,SAASC;IACpC,CAAC;IAED,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AACtC,CAAC;AAED,OAAO,SAASE,QACdN,OAA+C,EACzC;IACN,IAAI,UAAUA,QAAQE,OAAO,CAACC,MAAM,IAAIH,QAAQE,OAAO,CAACC,MAAM,CAACI,IAAI,EAAE;QACnE,OAAOP,QAAQE,OAAO,CAACC,MAAM,CAACI,IAAI;IACpC,CAAC;IAED,MAAMH,SAASJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;QAKrCA;IAAP,OAAOA,CAAAA,oBAAAA,OAAOI,SAAS,cAAhBJ,+BAAAA,oBAAoBA,OAAOK,KAAK;AACzC,CAAC"}
1
+ {"version":3,"sources":["../../src/util/get-client.ts"],"names":["createContextCache","prismaClientCache","builder","context","options","prisma","client","getClient","getDMMF","dmmf","datamodel","_runtimeDataModel","_baseDmmf","_dmmf"],"mappings":"AAAA,uCAAuC,GACvC,SAASA,kBAAkB,QAAqB,eAAe;AA0C/D,MAAMC,oBAAoBD,mBACxB,CAA4BE,UAC1BF,mBAAmB,CAACG,UAClB,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,aACrCJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,CAACH,WAC9BD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AAIvC,OAAO,SAASC,UACdL,OAA+C,EAC/CC,OAAyB,EACX;IACd,IAAI,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,YAAY;QACvD,OAAOL,kBAAkBC,SAASC;IACpC,CAAC;IAED,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AACtC,CAAC;AAED,OAAO,SAASE,QACdN,OAA+C,EACT;QAWHI;IAVnC,IAAI,UAAUJ,QAAQE,OAAO,CAACC,MAAM,IAAIH,QAAQE,OAAO,CAACC,MAAM,CAACI,IAAI,EAAE;QACnE,OAAO,AAACP,QAAQE,OAAO,CAACC,MAAM,CAACI,IAAI,CAAUC,SAAS;IACxD,CAAC;IAED,MAAMJ,SAASJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;QAMrCA,2BAAAA;IAAP,OAAOA,CAAAA,OAAAA,CAAAA,4BAAAA,OAAOK,iBAAiB,cAAxBL,uCAAAA,4BAA4BA,CAAAA,oBAAAA,OAAOM,SAAS,cAAhBN,+BAAAA,KAAAA,IAAAA,kBAAkBI,SAAS,cAAvDJ,kBAAAA,OAA2DA,OAAOO,KAAK,CAACH,SAAS;AAC1F,CAAC"}
@@ -1,12 +1,24 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import { DMMF, RuntimeDataModel } from './get-client.js';
2
2
  export interface FieldMap {
3
3
  model: string;
4
4
  relations: Map<string, FieldMap>;
5
5
  }
6
6
  export type RelationMap = Map<string, FieldMap>;
7
7
  export declare const getRelationMap: import("@pothos/core").ContextCache<RelationMap, {
8
- datamodel: unknown;
9
- }, [
8
+ models: {
9
+ name: string;
10
+ fields: import("./get-client.js").DMMFField[];
11
+ primaryKey: {
12
+ name: string | null;
13
+ fields: string[];
14
+ } | null;
15
+ uniqueIndexes: {
16
+ name: string | null;
17
+ fields: string[];
18
+ }[];
19
+ documentation?: string | undefined;
20
+ }[];
21
+ } | RuntimeDataModel, [
10
22
  ]>;
11
- export declare function createRelationMap({ models }: DMMF.Datamodel): RelationMap;
23
+ export declare function createRelationMap({ models }: DMMF["datamodel"] | RuntimeDataModel): RelationMap;
12
24
  //# sourceMappingURL=relation-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-map.d.ts","sourceRoot":"","sources":["../../src/util/relation-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,cAAc;eAA0C,OAAO;MAE3E,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,SAAS,eAkB3D"}
1
+ {"version":3,"file":"relation-map.d.ts","sourceRoot":"","sources":["../../src/util/relation-map.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;yBAE1B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,gBAAgB,eAkCjF"}
@@ -1,21 +1,39 @@
1
1
  import { createContextCache } from '@pothos/core';
2
- export const getRelationMap = createContextCache((dmmf) => createRelationMap(dmmf.datamodel));
2
+ export const getRelationMap = createContextCache((datamodel) => createRelationMap(datamodel));
3
3
  export function createRelationMap({ models }) {
4
4
  const relationMap = new Map();
5
- models.forEach((model) => {
6
- relationMap.set(model.name, {
7
- model: model.name,
8
- relations: new Map()
5
+ if (Array.isArray(models)) {
6
+ models.forEach((model) => {
7
+ relationMap.set(model.name, {
8
+ model: model.name,
9
+ relations: new Map()
10
+ });
9
11
  });
10
- });
11
- models.forEach((model) => {
12
- const map = relationMap.get(model.name).relations;
13
- model.fields.forEach((field) => {
14
- if (field.kind === "object" && relationMap.has(field.type)) {
15
- map.set(field.name, relationMap.get(field.type));
16
- }
12
+ models.forEach((model) => {
13
+ const map = relationMap.get(model.name).relations;
14
+ model.fields.forEach((field) => {
15
+ if (field.kind === "object" && relationMap.has(field.type)) {
16
+ map.set(field.name, relationMap.get(field.type));
17
+ }
18
+ });
17
19
  });
18
- });
20
+ }
21
+ else {
22
+ Object.keys(models).forEach((name) => {
23
+ relationMap.set(name, {
24
+ model: name,
25
+ relations: new Map()
26
+ });
27
+ });
28
+ Object.entries(models).forEach(([name, model]) => {
29
+ const map = relationMap.get(name).relations;
30
+ model.fields.forEach((field) => {
31
+ if (field.kind === "object" && relationMap.has(field.type)) {
32
+ map.set(field.name, relationMap.get(field.type));
33
+ }
34
+ });
35
+ });
36
+ }
19
37
  return relationMap;
20
38
  }
21
39
  //# sourceMappingURL=relation-map.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/relation-map.ts"],"names":["createContextCache","getRelationMap","dmmf","createRelationMap","datamodel","models","relationMap","Map","forEach","model","set","name","relations","map","get","fields","field","kind","has","type"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,eAAe;AAUlD,OAAO,MAAMC,iBAAiBD,mBAAmB,CAACE,OAChDC,kBAAkBD,KAAKE,SAAS,GAChC;AAEF,OAAO,SAASD,kBAAkB,EAAEE,OAAM,EAAkB,EAAE;IAC5D,MAAMC,cAA2B,IAAIC;IAErCF,OAAOG,OAAO,CAAC,CAACC,QAAU;QACxBH,YAAYI,GAAG,CAACD,MAAME,IAAI,EAAE;YAAEF,OAAOA,MAAME,IAAI;YAAEC,WAAW,IAAIL;QAAM;IACxE;IAEAF,OAAOG,OAAO,CAAC,CAACC,QAAU;QACxB,MAAMI,MAAMP,YAAYQ,GAAG,CAACL,MAAME,IAAI,EAAGC,SAAS;QAElDH,MAAMM,MAAM,CAACP,OAAO,CAAC,CAACQ,QAAU;YAC9B,IAAIA,MAAMC,IAAI,KAAK,YAAYX,YAAYY,GAAG,CAACF,MAAMG,IAAI,GAAG;gBAC1DN,IAAIH,GAAG,CAACM,MAAML,IAAI,EAAEL,YAAYQ,GAAG,CAACE,MAAMG,IAAI;YAChD,CAAC;QACH;IACF;IAEA,OAAOb;AACT,CAAC"}
1
+ {"version":3,"sources":["../../src/util/relation-map.ts"],"names":["createContextCache","getRelationMap","datamodel","createRelationMap","models","relationMap","Map","Array","isArray","forEach","model","set","name","relations","map","get","fields","field","kind","has","type","Object","keys","entries"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,eAAe;AAUlD,OAAO,MAAMC,iBAAiBD,mBAC5B,CAACE,YAAoDC,kBAAkBD,YACvE;AAEF,OAAO,SAASC,kBAAkB,EAAEC,OAAM,EAAwC,EAAE;IAClF,MAAMC,cAA2B,IAAIC;IAErC,IAAIC,MAAMC,OAAO,CAACJ,SAAS;QACzBA,OAAOK,OAAO,CAAC,CAACC,QAAU;YACxBL,YAAYM,GAAG,CAACD,MAAME,IAAI,EAAE;gBAAEF,OAAOA,MAAME,IAAI;gBAAEC,WAAW,IAAIP;YAAM;QACxE;QAEAF,OAAOK,OAAO,CAAC,CAACC,QAAU;YACxB,MAAMI,MAAMT,YAAYU,GAAG,CAACL,MAAME,IAAI,EAAGC,SAAS;YAElDH,MAAMM,MAAM,CAACP,OAAO,CAAC,CAACQ,QAAU;gBAC9B,IAAIA,MAAMC,IAAI,KAAK,YAAYb,YAAYc,GAAG,CAACF,MAAMG,IAAI,GAAG;oBAC1DN,IAAIH,GAAG,CAACM,MAAML,IAAI,EAAEP,YAAYU,GAAG,CAACE,MAAMG,IAAI;gBAChD,CAAC;YACH;QACF;IACF,OAAO;QACLC,OAAOC,IAAI,CAAClB,QAAQK,OAAO,CAAC,CAACG,OAAS;YACpCP,YAAYM,GAAG,CAACC,MAAM;gBAAEF,OAAOE;gBAAMC,WAAW,IAAIP;YAAM;QAC5D;QAEAe,OAAOE,OAAO,CAACnB,QAAQK,OAAO,CAAC,CAAC,CAACG,MAAMF,MAAM,GAAK;YAChD,MAAMI,MAAMT,YAAYU,GAAG,CAACH,MAAOC,SAAS;YAE5CH,MAAMM,MAAM,CAACP,OAAO,CAAC,CAACQ,QAAU;gBAC9B,IAAIA,MAAMC,IAAI,KAAK,YAAYb,YAAYc,GAAG,CAACF,MAAMG,IAAI,GAAG;oBAC1DN,IAAIH,GAAG,CAACM,MAAML,IAAI,EAAEP,YAAYU,GAAG,CAACE,MAAMG,IAAI;gBAChD,CAAC;YACH;QACF;IACF,CAAC;IAED,OAAOf;AACT,CAAC"}
@@ -51,7 +51,7 @@ function getFieldData(name, builder, fieldName) {
51
51
  }
52
52
  function getModel(name, builder) {
53
53
  const dmmf = (0, _getClient.getDMMF)(builder);
54
- const modelData = dmmf.datamodel.models.find((model)=>model.name === name);
54
+ const modelData = Array.isArray(dmmf.models) ? dmmf.models.find((model)=>model.name === name) : dmmf.models[name];
55
55
  if (!modelData) {
56
56
  throw new _core.PothosSchemaError(`Model '${name}' not found in DMMF`);
57
57
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/datamodel.ts"],"names":["refMap","findUniqueMap","includeForRefMap","getRefFromModel","getRelation","getFieldData","getModel","getDelegateFromModel","WeakMap","name","builder","has","set","Map","cache","get","PrismaObjectRef","relation","fieldData","kind","PothosSchemaError","fieldName","modelData","fields","find","field","dmmf","getDMMF","datamodel","models","model","client","lowerCase","slice","toLowerCase","delegate"],"mappings":";;;;;;;;;;;IAKaA,MAAM,MAANA;IACAC,aAAa,MAAbA;IAKAC,gBAAgB,MAAhBA;IAKGC,eAAe,MAAfA;IAgBAC,WAAW,MAAXA;IAgBAC,YAAY,MAAZA;IAgBAC,QAAQ,MAARA;IAcAC,oBAAoB,MAApBA;;sBA9E0C;2BAC1B;2BAER;AAEjB,MAAMP,SAAS,IAAIQ;AACnB,MAAMP,gBAAgB,IAAIO;AAK1B,MAAMN,mBAAmB,IAAIM;AAK7B,SAASL,gBACdM,IAAY,EACZC,OAA+C,EACZ;IACnC,IAAI,CAACV,OAAOW,GAAG,CAACD,UAAU;QACxBV,OAAOY,GAAG,CAACF,SAAS,IAAIG;IAC1B,CAAC;IACD,MAAMC,QAAQd,OAAOe,GAAG,CAACL;IAEzB,IAAI,CAACI,MAAMH,GAAG,CAACF,OAAO;QACpBK,MAAMF,GAAG,CAACH,MAAM,IAAIO,0BAAe,CAACP,MAAMA;IAC5C,CAAC;IAED,OAAOK,MAAMC,GAAG,CAACN;AACnB;AAEO,SAASL,YACdK,IAAY,EACZC,OAA+C,EAC/CO,QAAgB,EAChB;IACA,MAAMC,YAAYb,aAAaI,MAAMC,SAASO;IAE9C,IAAIC,UAAUC,IAAI,KAAK,UAAU;QAC/B,MAAM,IAAIC,uBAAiB,CACzB,CAAC,MAAM,EAAEH,SAAS,WAAW,EAAER,KAAK,qBAAqB,EAAES,UAAUC,IAAI,CAAC,CAAC,CAAC,EAC5E;IACJ,CAAC;IAED,OAAOD;AACT;AAEO,SAASb,aACdI,IAAY,EACZC,OAA+C,EAC/CW,SAAiB,EACjB;IACA,MAAMC,YAAYhB,SAASG,MAAMC;IAEjC,MAAMQ,YAAYI,UAAUC,MAAM,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMhB,IAAI,KAAKY;IAElE,IAAI,CAACH,WAAW;QACd,MAAM,IAAIE,uBAAiB,CAAC,CAAC,OAAO,EAAEC,UAAU,sBAAsB,EAAEZ,KAAK,CAAC,CAAC,EAAE;IACnF,CAAC;IAED,OAAOS;AACT;AAEO,SAASZ,SACdG,IAAY,EACZC,OAA+C,EAC/C;IACA,MAAMgB,OAAOC,IAAAA,kBAAO,EAACjB;IACrB,MAAMY,YAAYI,KAAKE,SAAS,CAACC,MAAM,CAACL,IAAI,CAAC,CAACM,QAAUA,MAAMrB,IAAI,KAAKA;IAEvE,IAAI,CAACa,WAAW;QACd,MAAM,IAAIF,uBAAiB,CAAC,CAAC,OAAO,EAAEX,KAAK,mBAAmB,CAAC,EAAE;IACnE,CAAC;IAED,OAAOa;AACT;AAEO,SAASf,qBAAqBwB,MAAoB,EAAED,KAAa,EAAE;IACxE,MAAME,YAAY,CAAC,EAAEF,MAAMG,KAAK,CAAC,GAAG,GAAGC,WAAW,GAAG,EAAEJ,MAAMG,KAAK,CAAC,GAAG,CAAC;IAEvE,MAAME,WACJH,aAAaD,SAAS,AAACA,MAAiD,CAACC,UAAU,GAAG,IAAI;IAE5F,IAAI,CAACG,UAAU;QACb,MAAM,IAAIf,uBAAiB,CAAC,CAAC,kCAAkC,EAAEU,MAAM,CAAC,EAAE;IAC5E,CAAC;IAED,OAAOK;AACT"}
1
+ {"version":3,"sources":["../../src/util/datamodel.ts"],"names":["refMap","findUniqueMap","includeForRefMap","getRefFromModel","getRelation","getFieldData","getModel","getDelegateFromModel","WeakMap","name","builder","has","set","Map","cache","get","PrismaObjectRef","relation","fieldData","kind","PothosSchemaError","fieldName","modelData","fields","find","field","dmmf","getDMMF","Array","isArray","models","model","client","lowerCase","slice","toLowerCase","delegate"],"mappings":";;;;;;;;;;;IAKaA,MAAM,MAANA;IACAC,aAAa,MAAbA;IAKAC,gBAAgB,MAAhBA;IAKGC,eAAe,MAAfA;IAgBAC,WAAW,MAAXA;IAgBAC,YAAY,MAAZA;IAgBAC,QAAQ,MAARA;IAiBAC,oBAAoB,MAApBA;;sBAjF0C;2BAC1B;2BAER;AAEjB,MAAMP,SAAS,IAAIQ;AACnB,MAAMP,gBAAgB,IAAIO;AAK1B,MAAMN,mBAAmB,IAAIM;AAK7B,SAASL,gBACdM,IAAY,EACZC,OAA+C,EACZ;IACnC,IAAI,CAACV,OAAOW,GAAG,CAACD,UAAU;QACxBV,OAAOY,GAAG,CAACF,SAAS,IAAIG;IAC1B,CAAC;IACD,MAAMC,QAAQd,OAAOe,GAAG,CAACL;IAEzB,IAAI,CAACI,MAAMH,GAAG,CAACF,OAAO;QACpBK,MAAMF,GAAG,CAACH,MAAM,IAAIO,0BAAe,CAACP,MAAMA;IAC5C,CAAC;IAED,OAAOK,MAAMC,GAAG,CAACN;AACnB;AAEO,SAASL,YACdK,IAAY,EACZC,OAA+C,EAC/CO,QAAgB,EAChB;IACA,MAAMC,YAAYb,aAAaI,MAAMC,SAASO;IAE9C,IAAIC,UAAUC,IAAI,KAAK,UAAU;QAC/B,MAAM,IAAIC,uBAAiB,CACzB,CAAC,MAAM,EAAEH,SAAS,WAAW,EAAER,KAAK,qBAAqB,EAAES,UAAUC,IAAI,CAAC,CAAC,CAAC,EAC5E;IACJ,CAAC;IAED,OAAOD;AACT;AAEO,SAASb,aACdI,IAAY,EACZC,OAA+C,EAC/CW,SAAiB,EACjB;IACA,MAAMC,YAAYhB,SAASG,MAAMC;IAEjC,MAAMQ,YAAYI,UAAUC,MAAM,CAACC,IAAI,CAAC,CAACC,QAAUA,MAAMhB,IAAI,KAAKY;IAElE,IAAI,CAACH,WAAW;QACd,MAAM,IAAIE,uBAAiB,CAAC,CAAC,OAAO,EAAEC,UAAU,sBAAsB,EAAEZ,KAAK,CAAC,CAAC,EAAE;IACnF,CAAC;IAED,OAAOS;AACT;AAEO,SAASZ,SACdG,IAAY,EACZC,OAA+C,EAC/C;IACA,MAAMgB,OAAOC,IAAAA,kBAAO,EAACjB;IAErB,MAAMY,YAAYM,MAAMC,OAAO,CAACH,KAAKI,MAAM,IACvCJ,KAAKI,MAAM,CAACN,IAAI,CAAC,CAACO,QAAUA,MAAMtB,IAAI,KAAKA,QAC3CiB,KAAKI,MAAM,CAACrB,KAAK;IAErB,IAAI,CAACa,WAAW;QACd,MAAM,IAAIF,uBAAiB,CAAC,CAAC,OAAO,EAAEX,KAAK,mBAAmB,CAAC,EAAE;IACnE,CAAC;IAED,OAAOa;AACT;AAEO,SAASf,qBAAqByB,MAAoB,EAAED,KAAa,EAAE;IACxE,MAAME,YAAY,CAAC,EAAEF,MAAMG,KAAK,CAAC,GAAG,GAAGC,WAAW,GAAG,EAAEJ,MAAMG,KAAK,CAAC,GAAG,CAAC;IAEvE,MAAME,WACJH,aAAaD,SAAS,AAACA,MAAiD,CAACC,UAAU,GAAG,IAAI;IAE5F,IAAI,CAACG,UAAU;QACb,MAAM,IAAIhB,uBAAiB,CAAC,CAAC,kCAAkC,EAAEW,MAAM,CAAC,EAAE;IAC5E,CAAC;IAED,OAAOK;AACT"}
@@ -21,12 +21,13 @@ function getClient(builder, context) {
21
21
  return builder.options.prisma.client;
22
22
  }
23
23
  function getDMMF(builder) {
24
+ var _client__baseDmmf;
24
25
  if ('dmmf' in builder.options.prisma && builder.options.prisma.dmmf) {
25
- return builder.options.prisma.dmmf;
26
+ return builder.options.prisma.dmmf.datamodel;
26
27
  }
27
28
  const client = builder.options.prisma.client;
28
- var _client__baseDmmf;
29
- return (_client__baseDmmf = client._baseDmmf) !== null && _client__baseDmmf !== void 0 ? _client__baseDmmf : client._dmmf;
29
+ var _client__runtimeDataModel, _ref;
30
+ return (_ref = (_client__runtimeDataModel = client._runtimeDataModel) !== null && _client__runtimeDataModel !== void 0 ? _client__runtimeDataModel : (_client__baseDmmf = client._baseDmmf) === null || _client__baseDmmf === void 0 ? void 0 : _client__baseDmmf.datamodel) !== null && _ref !== void 0 ? _ref : client._dmmf.datamodel;
30
31
  }
31
32
 
32
33
  //# sourceMappingURL=get-client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/get-client.ts"],"names":["getClient","getDMMF","prismaClientCache","createContextCache","builder","context","options","prisma","client","dmmf","_baseDmmf","_dmmf"],"mappings":"AAAA,uCAAuC;;;;;;;;;;;IAwCvBA,SAAS,MAATA;IAWAC,OAAO,MAAPA;;sBAlDgC;AA8BhD,MAAMC,oBAAoBC,IAAAA,wBAAkB,EAC1C,CAA4BC,UAC1BD,IAAAA,wBAAkB,EAAC,CAACE,UAClB,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,aACrCJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,CAACH,WAC9BD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AAIhC,SAASR,UACdI,OAA+C,EAC/CC,OAAyB,EACX;IACd,IAAI,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,YAAY;QACvD,OAAON,kBAAkBE,SAASC;IACpC,CAAC;IAED,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AACtC;AAEO,SAASP,QACdG,OAA+C,EACzC;IACN,IAAI,UAAUA,QAAQE,OAAO,CAACC,MAAM,IAAIH,QAAQE,OAAO,CAACC,MAAM,CAACE,IAAI,EAAE;QACnE,OAAOL,QAAQE,OAAO,CAACC,MAAM,CAACE,IAAI;IACpC,CAAC;IAED,MAAMD,SAASJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;QAKrCA;IAAP,OAAOA,CAAAA,oBAAAA,OAAOE,SAAS,cAAhBF,+BAAAA,oBAAoBA,OAAOG,KAAK;AACzC"}
1
+ {"version":3,"sources":["../../src/util/get-client.ts"],"names":["getClient","getDMMF","prismaClientCache","createContextCache","builder","context","options","prisma","client","dmmf","datamodel","_runtimeDataModel","_baseDmmf","_dmmf"],"mappings":"AAAA,uCAAuC;;;;;;;;;;;IAoDvBA,SAAS,MAATA;IAWAC,OAAO,MAAPA;;sBA9DgC;AA0ChD,MAAMC,oBAAoBC,IAAAA,wBAAkB,EAC1C,CAA4BC,UAC1BD,IAAAA,wBAAkB,EAAC,CAACE,UAClB,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,aACrCJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,CAACH,WAC9BD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AAIhC,SAASR,UACdI,OAA+C,EAC/CC,OAAyB,EACX;IACd,IAAI,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM,KAAK,YAAY;QACvD,OAAON,kBAAkBE,SAASC;IACpC,CAAC;IAED,OAAOD,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;AACtC;AAEO,SAASP,QACdG,OAA+C,EACT;QAWHI;IAVnC,IAAI,UAAUJ,QAAQE,OAAO,CAACC,MAAM,IAAIH,QAAQE,OAAO,CAACC,MAAM,CAACE,IAAI,EAAE;QACnE,OAAO,AAACL,QAAQE,OAAO,CAACC,MAAM,CAACE,IAAI,CAAUC,SAAS;IACxD,CAAC;IAED,MAAMF,SAASJ,QAAQE,OAAO,CAACC,MAAM,CAACC,MAAM;QAMrCA,2BAAAA;IAAP,OAAOA,CAAAA,OAAAA,CAAAA,4BAAAA,OAAOG,iBAAiB,cAAxBH,uCAAAA,4BAA4BA,CAAAA,oBAAAA,OAAOI,SAAS,cAAhBJ,+BAAAA,KAAAA,IAAAA,kBAAkBE,SAAS,cAAvDF,kBAAAA,OAA2DA,OAAOK,KAAK,CAACH,SAAS;AAC1F"}
@@ -13,23 +13,40 @@ _export(exports, {
13
13
  createRelationMap: ()=>createRelationMap
14
14
  });
15
15
  const _core = require("@pothos/core");
16
- const getRelationMap = (0, _core.createContextCache)((dmmf)=>createRelationMap(dmmf.datamodel));
16
+ const getRelationMap = (0, _core.createContextCache)((datamodel)=>createRelationMap(datamodel));
17
17
  function createRelationMap({ models }) {
18
18
  const relationMap = new Map();
19
- models.forEach((model)=>{
20
- relationMap.set(model.name, {
21
- model: model.name,
22
- relations: new Map()
19
+ if (Array.isArray(models)) {
20
+ models.forEach((model)=>{
21
+ relationMap.set(model.name, {
22
+ model: model.name,
23
+ relations: new Map()
24
+ });
23
25
  });
24
- });
25
- models.forEach((model)=>{
26
- const map = relationMap.get(model.name).relations;
27
- model.fields.forEach((field)=>{
28
- if (field.kind === 'object' && relationMap.has(field.type)) {
29
- map.set(field.name, relationMap.get(field.type));
30
- }
26
+ models.forEach((model)=>{
27
+ const map = relationMap.get(model.name).relations;
28
+ model.fields.forEach((field)=>{
29
+ if (field.kind === 'object' && relationMap.has(field.type)) {
30
+ map.set(field.name, relationMap.get(field.type));
31
+ }
32
+ });
31
33
  });
32
- });
34
+ } else {
35
+ Object.keys(models).forEach((name)=>{
36
+ relationMap.set(name, {
37
+ model: name,
38
+ relations: new Map()
39
+ });
40
+ });
41
+ Object.entries(models).forEach(([name, model])=>{
42
+ const map = relationMap.get(name).relations;
43
+ model.fields.forEach((field)=>{
44
+ if (field.kind === 'object' && relationMap.has(field.type)) {
45
+ map.set(field.name, relationMap.get(field.type));
46
+ }
47
+ });
48
+ });
49
+ }
33
50
  return relationMap;
34
51
  }
35
52
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/relation-map.ts"],"names":["getRelationMap","createRelationMap","createContextCache","dmmf","datamodel","models","relationMap","Map","forEach","model","set","name","relations","map","get","fields","field","kind","has","type"],"mappings":";;;;;;;;;;;IAUaA,cAAc,MAAdA;IAIGC,iBAAiB,MAAjBA;;sBAdmB;AAU5B,MAAMD,iBAAiBE,IAAAA,wBAAkB,EAAC,CAACC,OAChDF,kBAAkBE,KAAKC,SAAS;AAG3B,SAASH,kBAAkB,EAAEI,OAAM,EAAkB,EAAE;IAC5D,MAAMC,cAA2B,IAAIC;IAErCF,OAAOG,OAAO,CAAC,CAACC,QAAU;QACxBH,YAAYI,GAAG,CAACD,MAAME,IAAI,EAAE;YAAEF,OAAOA,MAAME,IAAI;YAAEC,WAAW,IAAIL;QAAM;IACxE;IAEAF,OAAOG,OAAO,CAAC,CAACC,QAAU;QACxB,MAAMI,MAAMP,YAAYQ,GAAG,CAACL,MAAME,IAAI,EAAGC,SAAS;QAElDH,MAAMM,MAAM,CAACP,OAAO,CAAC,CAACQ,QAAU;YAC9B,IAAIA,MAAMC,IAAI,KAAK,YAAYX,YAAYY,GAAG,CAACF,MAAMG,IAAI,GAAG;gBAC1DN,IAAIH,GAAG,CAACM,MAAML,IAAI,EAAEL,YAAYQ,GAAG,CAACE,MAAMG,IAAI;YAChD,CAAC;QACH;IACF;IAEA,OAAOb;AACT"}
1
+ {"version":3,"sources":["../../src/util/relation-map.ts"],"names":["getRelationMap","createRelationMap","createContextCache","datamodel","models","relationMap","Map","Array","isArray","forEach","model","set","name","relations","map","get","fields","field","kind","has","type","Object","keys","entries"],"mappings":";;;;;;;;;;;IAUaA,cAAc,MAAdA;IAIGC,iBAAiB,MAAjBA;;sBAdmB;AAU5B,MAAMD,iBAAiBE,IAAAA,wBAAkB,EAC9C,CAACC,YAAoDF,kBAAkBE;AAGlE,SAASF,kBAAkB,EAAEG,OAAM,EAAwC,EAAE;IAClF,MAAMC,cAA2B,IAAIC;IAErC,IAAIC,MAAMC,OAAO,CAACJ,SAAS;QACzBA,OAAOK,OAAO,CAAC,CAACC,QAAU;YACxBL,YAAYM,GAAG,CAACD,MAAME,IAAI,EAAE;gBAAEF,OAAOA,MAAME,IAAI;gBAAEC,WAAW,IAAIP;YAAM;QACxE;QAEAF,OAAOK,OAAO,CAAC,CAACC,QAAU;YACxB,MAAMI,MAAMT,YAAYU,GAAG,CAACL,MAAME,IAAI,EAAGC,SAAS;YAElDH,MAAMM,MAAM,CAACP,OAAO,CAAC,CAACQ,QAAU;gBAC9B,IAAIA,MAAMC,IAAI,KAAK,YAAYb,YAAYc,GAAG,CAACF,MAAMG,IAAI,GAAG;oBAC1DN,IAAIH,GAAG,CAACM,MAAML,IAAI,EAAEP,YAAYU,GAAG,CAACE,MAAMG,IAAI;gBAChD,CAAC;YACH;QACF;IACF,OAAO;QACLC,OAAOC,IAAI,CAAClB,QAAQK,OAAO,CAAC,CAACG,OAAS;YACpCP,YAAYM,GAAG,CAACC,MAAM;gBAAEF,OAAOE;gBAAMC,WAAW,IAAIP;YAAM;QAC5D;QAEAe,OAAOE,OAAO,CAACnB,QAAQK,OAAO,CAAC,CAAC,CAACG,MAAMF,MAAM,GAAK;YAChD,MAAMI,MAAMT,YAAYU,GAAG,CAACH,MAAOC,SAAS;YAE5CH,MAAMM,MAAM,CAACP,OAAO,CAAC,CAACQ,QAAU;gBAC9B,IAAIA,MAAMC,IAAI,KAAK,YAAYb,YAAYc,GAAG,CAACF,MAAMG,IAAI,GAAG;oBAC1DN,IAAIH,GAAG,CAACM,MAAML,IAAI,EAAEP,YAAYU,GAAG,CAACE,MAAMG,IAAI;gBAChD,CAAC;YACH;QACF;IACF,CAAC;IAED,OAAOf;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-prisma",
3
- "version": "3.50.1",
3
+ "version": "3.51.0",
4
4
  "description": "A Pothos plugin for more efficient integration with prisma",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./dts/index.d.ts",
@@ -64,11 +64,11 @@
64
64
  "typescript": ">=4.7.2"
65
65
  },
66
66
  "devDependencies": {
67
- "@prisma/client": "^4.11.0",
67
+ "@prisma/client": "^4.14.0",
68
68
  "graphql": "16.6.0",
69
69
  "graphql-scalars": "^1.20.4",
70
70
  "graphql-tag": "^2.12.6",
71
- "prisma": "^4.11.0",
71
+ "prisma": "^4.14.0",
72
72
  "@pothos/core": "3.30.0",
73
73
  "@pothos/plugin-complexity": "3.12.1",
74
74
  "@pothos/plugin-errors": "3.11.1",
@@ -67,7 +67,10 @@ export function getModel<Types extends SchemaTypes>(
67
67
  builder: PothosSchemaTypes.SchemaBuilder<Types>,
68
68
  ) {
69
69
  const dmmf = getDMMF(builder);
70
- const modelData = dmmf.datamodel.models.find((model) => model.name === name);
70
+
71
+ const modelData = Array.isArray(dmmf.models)
72
+ ? dmmf.models.find((model) => model.name === name)
73
+ : dmmf.models[name];
71
74
 
72
75
  if (!modelData) {
73
76
  throw new PothosSchemaError(`Model '${name}' not found in DMMF`);
@@ -17,7 +17,7 @@ export interface DMMFField {
17
17
  isUpdatedAt?: boolean;
18
18
  }
19
19
 
20
- interface DMMF {
20
+ export interface DMMF {
21
21
  datamodel: {
22
22
  models: {
23
23
  name: string;
@@ -29,6 +29,18 @@ interface DMMF {
29
29
  };
30
30
  }
31
31
 
32
+ export interface RuntimeDataModel {
33
+ models: Record<
34
+ string,
35
+ {
36
+ fields: DMMFField[];
37
+ primaryKey: { name: string | null; fields: string[] } | null;
38
+ uniqueIndexes: { name: string | null; fields: string[] }[];
39
+ documentation?: string;
40
+ }
41
+ >;
42
+ }
43
+
32
44
  const prismaClientCache = createContextCache(
33
45
  <Types extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<Types>) =>
34
46
  createContextCache((context: object) =>
@@ -51,15 +63,16 @@ export function getClient<Types extends SchemaTypes>(
51
63
 
52
64
  export function getDMMF<Types extends SchemaTypes>(
53
65
  builder: PothosSchemaTypes.SchemaBuilder<Types>,
54
- ): DMMF {
66
+ ): DMMF['datamodel'] | RuntimeDataModel {
55
67
  if ('dmmf' in builder.options.prisma && builder.options.prisma.dmmf) {
56
- return builder.options.prisma.dmmf as DMMF;
68
+ return (builder.options.prisma.dmmf as DMMF).datamodel;
57
69
  }
58
70
 
59
71
  const client = builder.options.prisma.client as unknown as {
60
72
  _baseDmmf?: DMMF;
61
73
  _dmmf: DMMF;
74
+ _runtimeDataModel: RuntimeDataModel;
62
75
  };
63
76
 
64
- return client._baseDmmf ?? client._dmmf;
77
+ return client._runtimeDataModel ?? client._baseDmmf?.datamodel ?? client._dmmf.datamodel;
65
78
  }
@@ -1,5 +1,5 @@
1
1
  import { createContextCache } from '@pothos/core';
2
- import { DMMF } from '@prisma/generator-helper';
2
+ import { DMMF, RuntimeDataModel } from './get-client';
3
3
 
4
4
  export interface FieldMap {
5
5
  model: string;
@@ -8,26 +8,42 @@ export interface FieldMap {
8
8
 
9
9
  export type RelationMap = Map<string, FieldMap>;
10
10
 
11
- export const getRelationMap = createContextCache((dmmf: { datamodel: unknown }) =>
12
- createRelationMap(dmmf.datamodel as DMMF.Datamodel),
11
+ export const getRelationMap = createContextCache(
12
+ (datamodel: DMMF['datamodel'] | RuntimeDataModel) => createRelationMap(datamodel),
13
13
  );
14
14
 
15
- export function createRelationMap({ models }: DMMF.Datamodel) {
15
+ export function createRelationMap({ models }: DMMF['datamodel'] | RuntimeDataModel) {
16
16
  const relationMap: RelationMap = new Map();
17
17
 
18
- models.forEach((model) => {
19
- relationMap.set(model.name, { model: model.name, relations: new Map() });
20
- });
18
+ if (Array.isArray(models)) {
19
+ models.forEach((model) => {
20
+ relationMap.set(model.name, { model: model.name, relations: new Map() });
21
+ });
22
+
23
+ models.forEach((model) => {
24
+ const map = relationMap.get(model.name)!.relations;
25
+
26
+ model.fields.forEach((field) => {
27
+ if (field.kind === 'object' && relationMap.has(field.type)) {
28
+ map.set(field.name, relationMap.get(field.type)!);
29
+ }
30
+ });
31
+ });
32
+ } else {
33
+ Object.keys(models).forEach((name) => {
34
+ relationMap.set(name, { model: name, relations: new Map() });
35
+ });
21
36
 
22
- models.forEach((model) => {
23
- const map = relationMap.get(model.name)!.relations;
37
+ Object.entries(models).forEach(([name, model]) => {
38
+ const map = relationMap.get(name)!.relations;
24
39
 
25
- model.fields.forEach((field) => {
26
- if (field.kind === 'object' && relationMap.has(field.type)) {
27
- map.set(field.name, relationMap.get(field.type)!);
28
- }
40
+ model.fields.forEach((field) => {
41
+ if (field.kind === 'object' && relationMap.has(field.type)) {
42
+ map.set(field.name, relationMap.get(field.type)!);
43
+ }
44
+ });
29
45
  });
30
- });
46
+ }
31
47
 
32
48
  return relationMap;
33
49
  }