@pothos/plugin-prisma 3.50.0 → 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 +13 -0
- package/dts/util/datamodel.d.ts +0 -1
- package/dts/util/datamodel.d.ts.map +1 -1
- package/dts/util/get-client.d.ts +16 -3
- package/dts/util/get-client.d.ts.map +1 -1
- package/dts/util/relation-map.d.ts +16 -4
- package/dts/util/relation-map.d.ts.map +1 -1
- package/esm/generator.js +2 -1
- package/esm/generator.js.map +1 -1
- package/esm/util/datamodel.d.ts +0 -1
- package/esm/util/datamodel.d.ts.map +1 -1
- package/esm/util/datamodel.js +1 -1
- package/esm/util/datamodel.js.map +1 -1
- package/esm/util/get-client.d.ts +16 -3
- package/esm/util/get-client.d.ts.map +1 -1
- package/esm/util/get-client.js +4 -3
- package/esm/util/get-client.js.map +1 -1
- package/esm/util/relation-map.d.ts +16 -4
- package/esm/util/relation-map.d.ts.map +1 -1
- package/esm/util/relation-map.js +31 -13
- package/esm/util/relation-map.js.map +1 -1
- package/lib/generator.js +2 -1
- package/lib/generator.js.map +1 -1
- package/lib/util/datamodel.js +1 -1
- package/lib/util/datamodel.js.map +1 -1
- package/lib/util/get-client.js +4 -3
- package/lib/util/get-client.js.map +1 -1
- package/lib/util/relation-map.js +30 -13
- package/lib/util/relation-map.js.map +1 -1
- package/package.json +3 -3
- package/src/generator.ts +7 -1
- package/src/util/datamodel.ts +4 -1
- package/src/util/get-client.ts +17 -4
- package/src/util/relation-map.ts +30 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 3.51.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- dbdb6f03: Fix compatability with prisma@4.13.*
|
|
8
|
+
|
|
9
|
+
## 3.50.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 5b6007cd: Prevent unavailable prisma CreateInput types from being referenced by pothos generated
|
|
14
|
+
types.
|
|
15
|
+
|
|
3
16
|
## 3.50.0
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
package/dts/util/datamodel.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
package/dts/util/get-client.d.ts
CHANGED
|
@@ -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,
|
|
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 '
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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,
|
|
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"}
|
package/esm/generator.js
CHANGED
|
@@ -98,6 +98,7 @@ function buildTypes(dmmf, config) {
|
|
|
98
98
|
const modelTypes = dmmf.datamodel.models.map((model) => {
|
|
99
99
|
const relations = model.fields.filter((field) => !!field.relationName);
|
|
100
100
|
const listRelations = model.fields.filter((field) => !!field.relationName && field.isList);
|
|
101
|
+
const createInputUnavailable = !dmmf.schema.inputObjectTypes.prisma.some((input) => input.name === `${model.name}CreateInput`);
|
|
101
102
|
return ts.factory.createPropertySignature([], model.name, undefined, ts.factory.createTypeLiteralNode([
|
|
102
103
|
ts.factory.createPropertySignature([], "Name", undefined, ts.factory.createLiteralTypeNode(ts.factory.createStringLiteral(model.name))),
|
|
103
104
|
ts.factory.createPropertySignature([], "Shape", undefined, ts.factory.createTypeReferenceNode(model.name)),
|
|
@@ -107,7 +108,7 @@ function buildTypes(dmmf, config) {
|
|
|
107
108
|
ts.factory.createPropertySignature([], "WhereUnique", undefined, ts.factory.createTypeReferenceNode(`Prisma.${model.name}WhereUniqueInput`)),
|
|
108
109
|
ts.factory.createPropertySignature([], "Where", undefined, ts.factory.createTypeReferenceNode(`Prisma.${model.name}WhereInput`)),
|
|
109
110
|
...prismaUtils ? [
|
|
110
|
-
ts.factory.createPropertySignature([], "Create", undefined, ts.factory.createTypeReferenceNode(`Prisma.${model.name}CreateInput`)),
|
|
111
|
+
ts.factory.createPropertySignature([], "Create", undefined, createInputUnavailable ? ts.factory.createTypeLiteralNode([]) : ts.factory.createTypeReferenceNode(`Prisma.${model.name}CreateInput`)),
|
|
111
112
|
ts.factory.createPropertySignature([], "Update", undefined, ts.factory.createTypeReferenceNode(`Prisma.${model.name}UpdateInput`))
|
|
112
113
|
] : [
|
|
113
114
|
ts.factory.createPropertySignature([], "Create", undefined, ts.factory.createTypeLiteralNode([])),
|
package/esm/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generator.ts"],"names":["mkdir","writeFile","dirname","join","resolve","resolvePath","ts","ListFormat","ScriptKind","ScriptTarget","SyntaxKind","version","generatorHandler","MIN_TS_VERSION","versionParts","split","map","part","Number","parseInt","modifiersArg","checkTSVersion","i","Error","defaultOutput","__dirname","onManifest","prettyName","requiresGenerators","onGenerate","options","config","generator","prismaLocation","clientOutput","otherGenerators","find","gen","provider","value","output","outputLocation","prismaTypes","buildTypes","dmmf","generateOutput","replace","importStatement","factory","createImportDeclaration","createImportClause","undefined","createNamedImports","createImportSpecifier","createIdentifier","datamodel","models","model","name","createStringLiteral","printer","createPrinter","sourcefile","createSourceFile","ESNext","TS","nodes","createNodeArray","result","printList","SourceFileStatements","Promise","reject","fileName","recursive","err","getOrderByTypeName","type","possibleTypes","orderBy","schema","inputObjectTypes","prisma","inputType","includes","prismaUtils","modelTypes","relations","fields","filter","field","relationName","listRelations","isList","createPropertySignature","createTypeLiteralNode","createLiteralTypeNode","createTypeReferenceNode","length","createUnionTypeNode","typeName","createArrayTypeNode","isRequired","createNull","createInterfaceDeclaration","createModifier","ExportKeyword","DefaultKeyword"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/generator.ts"],"names":["mkdir","writeFile","dirname","join","resolve","resolvePath","ts","ListFormat","ScriptKind","ScriptTarget","SyntaxKind","version","generatorHandler","MIN_TS_VERSION","versionParts","split","map","part","Number","parseInt","modifiersArg","checkTSVersion","i","Error","defaultOutput","__dirname","onManifest","prettyName","requiresGenerators","onGenerate","options","config","generator","prismaLocation","clientOutput","otherGenerators","find","gen","provider","value","output","outputLocation","prismaTypes","buildTypes","dmmf","generateOutput","replace","importStatement","factory","createImportDeclaration","createImportClause","undefined","createNamedImports","createImportSpecifier","createIdentifier","datamodel","models","model","name","createStringLiteral","printer","createPrinter","sourcefile","createSourceFile","ESNext","TS","nodes","createNodeArray","result","printList","SourceFileStatements","Promise","reject","fileName","recursive","err","getOrderByTypeName","type","possibleTypes","orderBy","schema","inputObjectTypes","prisma","inputType","includes","prismaUtils","modelTypes","relations","fields","filter","field","relationName","listRelations","isList","createInputUnavailable","some","input","createPropertySignature","createTypeLiteralNode","createLiteralTypeNode","createTypeReferenceNode","length","createUnionTypeNode","typeName","createArrayTypeNode","isRequired","createNull","createInterfaceDeclaration","createModifier","ExportKeyword","DefaultKeyword"],"mappings":"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"}
|
package/esm/util/datamodel.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
package/esm/util/datamodel.js
CHANGED
|
@@ -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.
|
|
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","
|
|
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"}
|
package/esm/util/get-client.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/esm/util/get-client.js
CHANGED
|
@@ -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
|
|
15
|
-
return (_client__baseDmmf = client._baseDmmf) !== null &&
|
|
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;
|
|
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 '
|
|
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
|
-
|
|
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
|
|
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,
|
|
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"}
|
package/esm/util/relation-map.js
CHANGED
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
import { createContextCache } from '@pothos/core';
|
|
2
|
-
export const getRelationMap = createContextCache((
|
|
2
|
+
export const getRelationMap = createContextCache((datamodel) => createRelationMap(datamodel));
|
|
3
3
|
export function createRelationMap({ models }) {
|
|
4
4
|
const relationMap = new Map();
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
model
|
|
8
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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","
|
|
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"}
|
package/lib/generator.js
CHANGED
|
@@ -139,6 +139,7 @@ function buildTypes(dmmf, config) {
|
|
|
139
139
|
const modelTypes = dmmf.datamodel.models.map((model)=>{
|
|
140
140
|
const relations = model.fields.filter((field)=>!!field.relationName);
|
|
141
141
|
const listRelations = model.fields.filter((field)=>!!field.relationName && field.isList);
|
|
142
|
+
const createInputUnavailable = !dmmf.schema.inputObjectTypes.prisma.some((input)=>input.name === `${model.name}CreateInput`);
|
|
142
143
|
return _typescript.default.factory.createPropertySignature([], model.name, undefined, _typescript.default.factory.createTypeLiteralNode([
|
|
143
144
|
_typescript.default.factory.createPropertySignature([], 'Name', undefined, _typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createStringLiteral(model.name))),
|
|
144
145
|
_typescript.default.factory.createPropertySignature([], 'Shape', undefined, _typescript.default.factory.createTypeReferenceNode(model.name)),
|
|
@@ -148,7 +149,7 @@ function buildTypes(dmmf, config) {
|
|
|
148
149
|
_typescript.default.factory.createPropertySignature([], 'WhereUnique', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}WhereUniqueInput`)),
|
|
149
150
|
_typescript.default.factory.createPropertySignature([], 'Where', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}WhereInput`)),
|
|
150
151
|
...prismaUtils ? [
|
|
151
|
-
_typescript.default.factory.createPropertySignature([], 'Create', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}CreateInput`)),
|
|
152
|
+
_typescript.default.factory.createPropertySignature([], 'Create', undefined, createInputUnavailable ? _typescript.default.factory.createTypeLiteralNode([]) : _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}CreateInput`)),
|
|
152
153
|
_typescript.default.factory.createPropertySignature([], 'Update', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}UpdateInput`))
|
|
153
154
|
] : [
|
|
154
155
|
_typescript.default.factory.createPropertySignature([], 'Create', undefined, _typescript.default.factory.createTypeLiteralNode([])),
|
package/lib/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generator.ts"],"names":["MIN_TS_VERSION","versionParts","version","split","map","part","Number","parseInt","modifiersArg","checkTSVersion","i","Error","join","defaultOutput","resolvePath","__dirname","generatorHandler","onManifest","prettyName","requiresGenerators","onGenerate","options","config","generator","prismaLocation","clientOutput","otherGenerators","find","gen","provider","value","output","outputLocation","prismaTypes","buildTypes","dmmf","generateOutput","replace","importStatement","ts","factory","createImportDeclaration","createImportClause","undefined","createNamedImports","createImportSpecifier","createIdentifier","datamodel","models","model","name","createStringLiteral","printer","createPrinter","sourcefile","createSourceFile","ScriptTarget","ESNext","ScriptKind","TS","nodes","createNodeArray","result","printList","ListFormat","SourceFileStatements","Promise","resolve","reject","mkdir","dirname","fileName","recursive","err","writeFile","getOrderByTypeName","type","possibleTypes","orderBy","schema","inputObjectTypes","prisma","inputType","includes","prismaUtils","modelTypes","relations","fields","filter","field","relationName","listRelations","isList","createPropertySignature","createTypeLiteralNode","createLiteralTypeNode","createTypeReferenceNode","length","createUnionTypeNode","typeName","createArrayTypeNode","isRequired","createNull","createInterfaceDeclaration","createModifier","SyntaxKind","ExportKeyword","DefaultKeyword"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/generator.ts"],"names":["MIN_TS_VERSION","versionParts","version","split","map","part","Number","parseInt","modifiersArg","checkTSVersion","i","Error","join","defaultOutput","resolvePath","__dirname","generatorHandler","onManifest","prettyName","requiresGenerators","onGenerate","options","config","generator","prismaLocation","clientOutput","otherGenerators","find","gen","provider","value","output","outputLocation","prismaTypes","buildTypes","dmmf","generateOutput","replace","importStatement","ts","factory","createImportDeclaration","createImportClause","undefined","createNamedImports","createImportSpecifier","createIdentifier","datamodel","models","model","name","createStringLiteral","printer","createPrinter","sourcefile","createSourceFile","ScriptTarget","ESNext","ScriptKind","TS","nodes","createNodeArray","result","printList","ListFormat","SourceFileStatements","Promise","resolve","reject","mkdir","dirname","fileName","recursive","err","writeFile","getOrderByTypeName","type","possibleTypes","orderBy","schema","inputObjectTypes","prisma","inputType","includes","prismaUtils","modelTypes","relations","fields","filter","field","relationName","listRelations","isList","createInputUnavailable","some","input","createPropertySignature","createTypeLiteralNode","createLiteralTypeNode","createTypeReferenceNode","length","createUnionTypeNode","typeName","createArrayTypeNode","isRequired","createNull","createInterfaceDeclaration","createModifier","SyntaxKind","ExportKeyword","DefaultKeyword"],"mappings":"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"}
|
package/lib/util/datamodel.js
CHANGED
|
@@ -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.
|
|
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","
|
|
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"}
|
package/lib/util/get-client.js
CHANGED
|
@@ -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
|
|
29
|
-
return (_client__baseDmmf = client._baseDmmf) !== null &&
|
|
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;;;;;;;;;;;
|
|
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"}
|
package/lib/util/relation-map.js
CHANGED
|
@@ -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)((
|
|
16
|
+
const getRelationMap = (0, _core.createContextCache)((datamodel)=>createRelationMap(datamodel));
|
|
17
17
|
function createRelationMap({ models }) {
|
|
18
18
|
const relationMap = new Map();
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
model
|
|
22
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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","
|
|
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.
|
|
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.
|
|
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.
|
|
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",
|
package/src/generator.ts
CHANGED
|
@@ -144,6 +144,10 @@ function buildTypes(dmmf: DMMF.Document, config: { prismaUtils?: string }) {
|
|
|
144
144
|
const relations = model.fields.filter((field) => !!field.relationName);
|
|
145
145
|
const listRelations = model.fields.filter((field) => !!field.relationName && field.isList);
|
|
146
146
|
|
|
147
|
+
const createInputUnavailable = !dmmf.schema.inputObjectTypes.prisma.some(
|
|
148
|
+
(input) => input.name === `${model.name}CreateInput`,
|
|
149
|
+
);
|
|
150
|
+
|
|
147
151
|
return ts.factory.createPropertySignature(
|
|
148
152
|
[],
|
|
149
153
|
model.name,
|
|
@@ -200,7 +204,9 @@ function buildTypes(dmmf: DMMF.Document, config: { prismaUtils?: string }) {
|
|
|
200
204
|
[],
|
|
201
205
|
'Create',
|
|
202
206
|
undefined,
|
|
203
|
-
|
|
207
|
+
createInputUnavailable
|
|
208
|
+
? ts.factory.createTypeLiteralNode([])
|
|
209
|
+
: ts.factory.createTypeReferenceNode(`Prisma.${model.name}CreateInput`),
|
|
204
210
|
),
|
|
205
211
|
ts.factory.createPropertySignature(
|
|
206
212
|
[],
|
package/src/util/datamodel.ts
CHANGED
|
@@ -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
|
-
|
|
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`);
|
package/src/util/get-client.ts
CHANGED
|
@@ -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
|
}
|
package/src/util/relation-map.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createContextCache } from '@pothos/core';
|
|
2
|
-
import { DMMF } from '
|
|
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(
|
|
12
|
-
|
|
11
|
+
export const getRelationMap = createContextCache(
|
|
12
|
+
(datamodel: DMMF['datamodel'] | RuntimeDataModel) => createRelationMap(datamodel),
|
|
13
13
|
);
|
|
14
14
|
|
|
15
|
-
export function createRelationMap({ models }: DMMF
|
|
15
|
+
export function createRelationMap({ models }: DMMF['datamodel'] | RuntimeDataModel) {
|
|
16
16
|
const relationMap: RelationMap = new Map();
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
23
|
-
|
|
37
|
+
Object.entries(models).forEach(([name, model]) => {
|
|
38
|
+
const map = relationMap.get(name)!.relations;
|
|
24
39
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
}
|