@pothos/plugin-prisma 0.18.0 → 0.19.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 +6 -0
- package/README.md +403 -308
- package/esm/field-builder.js +3 -3
- package/esm/field-builder.js.map +1 -1
- package/esm/generator.js +4 -0
- package/esm/generator.js.map +1 -1
- package/esm/global-types.d.ts +23 -5
- package/esm/global-types.d.ts.map +1 -1
- package/esm/index.d.ts +4 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +46 -1
- package/esm/index.js.map +1 -1
- package/esm/model-loader.d.ts +5 -6
- package/esm/model-loader.d.ts.map +1 -1
- package/esm/model-loader.js +12 -69
- package/esm/model-loader.js.map +1 -1
- package/esm/prisma-field-builder.d.ts +25 -6
- package/esm/prisma-field-builder.d.ts.map +1 -1
- package/esm/prisma-field-builder.js +83 -116
- package/esm/prisma-field-builder.js.map +1 -1
- package/esm/schema-builder.js +14 -4
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +73 -77
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js +1 -0
- package/esm/types.js.map +1 -1
- package/esm/{cursors.d.ts → util/cursors.d.ts} +1 -1
- package/esm/util/cursors.d.ts.map +1 -0
- package/esm/{cursors.js → util/cursors.js} +0 -0
- package/esm/util/cursors.js.map +1 -0
- package/{lib/refs.d.ts → esm/util/datamodel.d.ts} +4 -8
- package/esm/util/datamodel.d.ts.map +1 -0
- package/esm/{refs.js → util/datamodel.js} +2 -25
- package/esm/util/datamodel.js.map +1 -0
- package/esm/util/deep-equal.d.ts +2 -0
- package/esm/util/deep-equal.d.ts.map +1 -0
- package/esm/util/deep-equal.js +39 -0
- package/esm/util/deep-equal.js.map +1 -0
- package/esm/util/loader-map.d.ts +6 -0
- package/esm/util/loader-map.d.ts.map +1 -0
- package/esm/{loader-map.js → util/loader-map.js} +10 -12
- package/esm/util/loader-map.js.map +1 -0
- package/esm/util/map-query.d.ts +6 -0
- package/esm/util/map-query.d.ts.map +1 -0
- package/esm/util/map-query.js +169 -0
- package/esm/util/map-query.js.map +1 -0
- package/esm/util/relation-map.d.ts +9 -0
- package/esm/util/relation-map.d.ts.map +1 -0
- package/esm/util/relation-map.js +20 -0
- package/esm/util/relation-map.js.map +1 -0
- package/esm/util/selections.d.ts +20 -0
- package/esm/util/selections.d.ts.map +1 -0
- package/esm/util/selections.js +139 -0
- package/esm/util/selections.js.map +1 -0
- package/lib/field-builder.js +9 -9
- package/lib/field-builder.js.map +1 -1
- package/lib/generator.js +4 -0
- package/lib/generator.js.map +1 -1
- package/lib/global-types.d.ts +23 -5
- package/lib/global-types.d.ts.map +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +45 -0
- package/lib/index.js.map +1 -1
- package/lib/model-loader.d.ts +5 -6
- package/lib/model-loader.d.ts.map +1 -1
- package/lib/model-loader.js +13 -70
- package/lib/model-loader.js.map +1 -1
- package/lib/prisma-field-builder.d.ts +25 -6
- package/lib/prisma-field-builder.d.ts.map +1 -1
- package/lib/prisma-field-builder.js +89 -122
- package/lib/prisma-field-builder.js.map +1 -1
- package/lib/schema-builder.js +17 -7
- package/lib/schema-builder.js.map +1 -1
- package/lib/types.d.ts +73 -77
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -1
- package/lib/{cursors.d.ts → util/cursors.d.ts} +1 -1
- package/lib/util/cursors.d.ts.map +1 -0
- package/lib/{cursors.js → util/cursors.js} +0 -0
- package/lib/util/cursors.js.map +1 -0
- package/{esm/refs.d.ts → lib/util/datamodel.d.ts} +4 -8
- package/lib/util/datamodel.d.ts.map +1 -0
- package/lib/{refs.js → util/datamodel.js} +3 -29
- package/lib/util/datamodel.js.map +1 -0
- package/lib/util/deep-equal.d.ts +2 -0
- package/lib/util/deep-equal.d.ts.map +1 -0
- package/lib/util/deep-equal.js +43 -0
- package/lib/util/deep-equal.js.map +1 -0
- package/lib/util/loader-map.d.ts +6 -0
- package/lib/util/loader-map.d.ts.map +1 -0
- package/lib/{loader-map.js → util/loader-map.js} +10 -12
- package/lib/util/loader-map.js.map +1 -0
- package/lib/util/map-query.d.ts +6 -0
- package/lib/util/map-query.d.ts.map +1 -0
- package/lib/util/map-query.js +175 -0
- package/lib/util/map-query.js.map +1 -0
- package/lib/util/relation-map.d.ts +9 -0
- package/lib/util/relation-map.d.ts.map +1 -0
- package/lib/util/relation-map.js +24 -0
- package/lib/util/relation-map.js.map +1 -0
- package/lib/util/selections.d.ts +20 -0
- package/lib/util/selections.d.ts.map +1 -0
- package/lib/util/selections.js +148 -0
- package/lib/util/selections.js.map +1 -0
- package/package.json +5 -5
- package/src/field-builder.ts +3 -3
- package/src/generator.ts +18 -0
- package/src/global-types.ts +59 -12
- package/src/index.ts +75 -1
- package/src/model-loader.ts +19 -92
- package/src/prisma-field-builder.ts +194 -152
- package/src/schema-builder.ts +28 -7
- package/src/types.ts +138 -102
- package/src/{cursors.ts → util/cursors.ts} +1 -1
- package/src/{refs.ts → util/datamodel.ts} +3 -44
- package/src/util/deep-equal.ts +51 -0
- package/src/{loader-map.ts → util/loader-map.ts} +13 -13
- package/src/util/map-query.ts +327 -0
- package/src/util/relation-map.ts +36 -0
- package/src/util/selections.ts +192 -0
- package/esm/cursors.d.ts.map +0 -1
- package/esm/cursors.js.map +0 -1
- package/esm/loader-map.d.ts +0 -6
- package/esm/loader-map.d.ts.map +0 -1
- package/esm/loader-map.js.map +0 -1
- package/esm/refs.d.ts.map +0 -1
- package/esm/refs.js.map +0 -1
- package/esm/util/index.d.ts +0 -5
- package/esm/util/index.d.ts.map +0 -1
- package/esm/util/index.js +0 -16
- package/esm/util/index.js.map +0 -1
- package/esm/util/map-includes.d.ts +0 -6
- package/esm/util/map-includes.d.ts.map +0 -1
- package/esm/util/map-includes.js +0 -184
- package/esm/util/map-includes.js.map +0 -1
- package/esm/util/merge-includes.d.ts +0 -3
- package/esm/util/merge-includes.d.ts.map +0 -1
- package/esm/util/merge-includes.js +0 -91
- package/esm/util/merge-includes.js.map +0 -1
- package/lib/cursors.d.ts.map +0 -1
- package/lib/cursors.js.map +0 -1
- package/lib/loader-map.d.ts +0 -6
- package/lib/loader-map.d.ts.map +0 -1
- package/lib/loader-map.js.map +0 -1
- package/lib/refs.d.ts.map +0 -1
- package/lib/refs.js.map +0 -1
- package/lib/util/index.d.ts +0 -5
- package/lib/util/index.d.ts.map +0 -1
- package/lib/util/index.js +0 -30
- package/lib/util/index.js.map +0 -1
- package/lib/util/map-includes.d.ts +0 -6
- package/lib/util/map-includes.d.ts.map +0 -1
- package/lib/util/map-includes.js +0 -189
- package/lib/util/map-includes.js.map +0 -1
- package/lib/util/merge-includes.d.ts +0 -3
- package/lib/util/merge-includes.d.ts.map +0 -1
- package/lib/util/merge-includes.js +0 -96
- package/lib/util/merge-includes.js.map +0 -1
- package/src/util/index.ts +0 -26
- package/src/util/map-includes.ts +0 -328
- package/src/util/merge-includes.ts +0 -121
|
@@ -1,17 +1,30 @@
|
|
|
1
|
-
import { FieldRef, InputFieldMap, NormalizeArgs,
|
|
1
|
+
import { CompatibleTypes, FieldKind, FieldRef, InputFieldMap, NormalizeArgs, ObjectRef, PluginName, SchemaTypes, TypeParam } from '@pothos/core';
|
|
2
2
|
import { PrismaObjectRef } from './object-ref';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import { PrismaModelTypes, RelatedConnectionOptions, RelatedFieldOptions, RelationCountOptions, ShapeFromConnection, VariantFieldOptions } from './types';
|
|
4
|
+
import { FieldMap } from './util/relation-map';
|
|
5
|
+
declare const RootBuilder: {
|
|
6
|
+
new <Types extends SchemaTypes, Shape, Kind extends FieldKind>(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, kind: FieldKind, graphqlKind: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]): PothosSchemaTypes.RootFieldBuilder<Types, Shape, Kind>;
|
|
7
|
+
};
|
|
8
|
+
export declare class PrismaObjectFieldBuilder<Types extends SchemaTypes, Model extends PrismaModelTypes, NeedsResolve extends boolean, Shape extends object = Model['Shape']> extends RootBuilder<Types, Shape, 'PrismaObject'> {
|
|
7
9
|
model: string;
|
|
10
|
+
prismaFieldMap: FieldMap;
|
|
11
|
+
exposeBoolean: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], "Boolean", Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, "Boolean", Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").FieldNullability<"Boolean"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Boolean" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Boolean"] : never) | null | undefined : "Boolean" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Boolean"] : never : Nullable extends true ? ("Boolean" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Boolean"] : never) | null | undefined : "Boolean" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Boolean"] : never, "PrismaObject">;
|
|
12
|
+
exposeFloat: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], "Float", Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, "Float", Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").FieldNullability<"Float"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Float" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Float"] : never) | null | undefined : "Float" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Float"] : never : Nullable extends true ? ("Float" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Float"] : never) | null | undefined : "Float" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Float"] : never, "PrismaObject">;
|
|
13
|
+
exposeInt: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], "Int", Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, "Int", Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").FieldNullability<"Int"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Int" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Int"] : never) | null | undefined : "Int" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Int"] : never : Nullable extends true ? ("Int" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Int"] : never) | null | undefined : "Int" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "Int"] : never, "PrismaObject">;
|
|
14
|
+
exposeID: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], "ID", Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, "ID", Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").FieldNullability<"ID"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("ID" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "ID"] : never) | null | undefined : "ID" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "ID"] : never : Nullable extends true ? ("ID" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "ID"] : never) | null | undefined : "ID" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "ID"] : never, "PrismaObject">;
|
|
15
|
+
exposeString: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], "String", Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, "String", Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").FieldNullability<"String"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("String" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "String"] : never) | null | undefined : "String" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "String"] : never : Nullable extends true ? ("String" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "String"] : never) | null | undefined : "String" extends keyof Types["outputShapes"] ? Types["outputShapes"][keyof Types["outputShapes"] & "String"] : never, "PrismaObject">;
|
|
16
|
+
exposeBooleanList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], ["Boolean"], Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ["Boolean"], Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").ShapeFromTypeParam<Types, ["Boolean"], Nullable>, "PrismaObject">;
|
|
17
|
+
exposeFloatList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], ["Float"], Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ["Float"], Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").ShapeFromTypeParam<Types, ["Float"], Nullable>, "PrismaObject">;
|
|
18
|
+
exposeIntList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], ["Int"], Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ["Int"], Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").ShapeFromTypeParam<Types, ["Int"], Nullable>, "PrismaObject">;
|
|
19
|
+
exposeIDList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], ["ID"], Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ["ID"], Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").ShapeFromTypeParam<Types, ["ID"], Nullable>, "PrismaObject">;
|
|
20
|
+
exposeStringList: <Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model["Shape"], ["String"], Nullable>>(...args: NormalizeArgs<[name: Name, options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ["String"], Nullable, {}, ResolveReturnShape>, "type" | "resolve" | "select"> | undefined]>) => FieldRef<import("@pothos/core").ShapeFromTypeParam<Types, ["String"], Nullable>, "PrismaObject">;
|
|
8
21
|
relatedConnection: 'relay' extends PluginName ? <Field extends Model['ListRelations'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(...args: NormalizeArgs<[
|
|
9
22
|
field: Field,
|
|
10
23
|
options: RelatedConnectionOptions<Types, Model, Field, Nullable, Args, NeedsResolve>,
|
|
11
24
|
connectionOptions?: PothosSchemaTypes.ConnectionObjectOptions<Types, ObjectRef<Shape>, false, false, ResolveReturnShape>,
|
|
12
25
|
edgeOptions?: PothosSchemaTypes.ConnectionEdgeObjectOptions<Types, ObjectRef<Shape>, false, ResolveReturnShape>
|
|
13
26
|
]>) => FieldRef<ShapeFromConnection<PothosSchemaTypes.ConnectionShapeHelper<Types, Shape, Nullable>>> : '@pothos/plugin-relay is required to use this method';
|
|
14
|
-
constructor(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, model: string);
|
|
27
|
+
constructor(name: string, builder: PothosSchemaTypes.SchemaBuilder<Types>, model: string, fieldMap: FieldMap);
|
|
15
28
|
relation<Field extends Model['Fields'], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape>(...allArgs: NormalizeArgs<[
|
|
16
29
|
name: Field,
|
|
17
30
|
options?: RelatedFieldOptions<Types, Model, Field, Nullable, Args, ResolveReturnShape, NeedsResolve, Shape>
|
|
@@ -24,5 +37,11 @@ export declare class PrismaObjectFieldBuilder<Types extends SchemaTypes, Model e
|
|
|
24
37
|
variant: Variant,
|
|
25
38
|
options?: VariantFieldOptions<Types, Model, Variant extends PrismaObjectRef<Model> ? Variant : PrismaObjectRef<Model>>
|
|
26
39
|
]>): FieldRef<Model['Shape'], 'Object'>;
|
|
40
|
+
expose<Type extends TypeParam<Types>, Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, Model['Shape'], Type, Nullable>>(...args: NormalizeArgs<[
|
|
41
|
+
name: Name,
|
|
42
|
+
options?: Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, Type, Nullable, {}, ResolveReturnShape>, 'resolve' | 'select'>
|
|
43
|
+
]>): FieldRef<import("@pothos/core").ShapeFromTypeParam<Types, Type, Nullable>, "PrismaObject">;
|
|
44
|
+
private createExpose;
|
|
27
45
|
}
|
|
46
|
+
export {};
|
|
28
47
|
//# sourceMappingURL=prisma-field-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,aAAa,EAEb,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"prisma-field-builder.d.ts","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,24 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PrismaObjectFieldBuilder = void 0;
|
|
4
4
|
const core_1 = require("@pothos/core");
|
|
5
|
-
const cursors_1 = require("./cursors");
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
const cursors_1 = require("./util/cursors");
|
|
6
|
+
const datamodel_1 = require("./util/datamodel");
|
|
7
|
+
// Workaround for FieldKind not being extended on Builder classes
|
|
8
|
+
const RootBuilder = core_1.RootFieldBuilder;
|
|
9
|
+
class PrismaObjectFieldBuilder extends RootBuilder {
|
|
10
|
+
constructor(name, builder, model, fieldMap) {
|
|
11
|
+
super(name, builder, 'PrismaObject', 'Object');
|
|
12
|
+
this.exposeBoolean = this.createExpose('Boolean');
|
|
13
|
+
this.exposeFloat = this.createExpose('Float');
|
|
14
|
+
this.exposeInt = this.createExpose('Int');
|
|
15
|
+
this.exposeID = this.createExpose('ID');
|
|
16
|
+
this.exposeString = this.createExpose('String');
|
|
17
|
+
this.exposeBooleanList = this.createExpose(['Boolean']);
|
|
18
|
+
this.exposeFloatList = this.createExpose(['Float']);
|
|
19
|
+
this.exposeIntList = this.createExpose(['Int']);
|
|
20
|
+
this.exposeIDList = this.createExpose(['ID']);
|
|
21
|
+
this.exposeStringList = this.createExpose(['String']);
|
|
13
22
|
this.relatedConnection = function relatedConnection(name, { maxSize, defaultSize, cursor, query, resolve, extensions, totalCount, ...options }, connectionOptions = {}, edgeOptions = {}) {
|
|
14
23
|
var _a, _b;
|
|
15
|
-
const relationField = (0,
|
|
16
|
-
const
|
|
17
|
-
const ref = (_a = options.type) !== null && _a !== void 0 ? _a : (0, refs_1.getRefFromModel)(relationField.type, this.builder);
|
|
18
|
-
const findUnique = (0, refs_1.getFindUniqueForRef)(parentRef, this.builder);
|
|
19
|
-
const loaderCache = model_loader_1.ModelLoader.forModel(this.model, this.builder);
|
|
24
|
+
const relationField = (0, datamodel_1.getRelation)(this.model, this.builder, name);
|
|
25
|
+
const ref = (_a = options.type) !== null && _a !== void 0 ? _a : (0, datamodel_1.getRefFromModel)(relationField.type, this.builder);
|
|
20
26
|
let typeName;
|
|
21
|
-
const formatCursor = (0,
|
|
22
|
-
const parseCursor = (0,
|
|
27
|
+
const formatCursor = (0, datamodel_1.getCursorFormatter)(relationField.type, this.builder, cursor);
|
|
28
|
+
const parseCursor = (0, datamodel_1.getCursorParser)(relationField.type, this.builder, cursor);
|
|
23
29
|
const getQuery = (args, ctx) => ({
|
|
24
30
|
...(typeof query === 'function' ? query(args, ctx) : query),
|
|
25
31
|
...(0, cursors_1.prismaCursorConnectionQuery)({
|
|
@@ -29,40 +35,36 @@ class PrismaObjectFieldBuilder extends core_1.ObjectFieldBuilder {
|
|
|
29
35
|
args,
|
|
30
36
|
}),
|
|
31
37
|
});
|
|
38
|
+
const relationSelect = (args, context, nestedQuery) => ({
|
|
39
|
+
select: {
|
|
40
|
+
[name]: nestedQuery({
|
|
41
|
+
...(typeof query === 'function' ? query(args, context) : query),
|
|
42
|
+
...(0, cursors_1.prismaCursorConnectionQuery)({
|
|
43
|
+
parseCursor,
|
|
44
|
+
maxSize,
|
|
45
|
+
defaultSize,
|
|
46
|
+
args,
|
|
47
|
+
}),
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
});
|
|
32
51
|
const fieldRef = this.connection({
|
|
33
52
|
...options,
|
|
34
53
|
extensions: {
|
|
35
54
|
...extensions,
|
|
36
|
-
|
|
37
|
-
|
|
55
|
+
pothosPrismaLoaded: (value) => value[name] !== undefined,
|
|
56
|
+
pothosPrismaFallback: resolve &&
|
|
57
|
+
((q, parent, args, context, info) => Promise.resolve(resolve({
|
|
58
|
+
...q,
|
|
59
|
+
...(typeof query === 'function' ? query(args, context) : query),
|
|
60
|
+
}, parent, args, context, info)).then((result) => (0, cursors_1.wrapConnectionResult)(result, args, q.take, formatCursor))),
|
|
38
61
|
},
|
|
39
62
|
type: ref,
|
|
40
|
-
|
|
63
|
+
select: relationSelect,
|
|
64
|
+
resolve: (parent, args, context) => {
|
|
41
65
|
var _a;
|
|
42
66
|
const connectionQuery = getQuery(args, context);
|
|
43
|
-
|
|
44
|
-
const mapping = (0, loader_map_1.getLoaderMapping)(context, info.path);
|
|
45
|
-
const loadedValue = parent[name];
|
|
46
|
-
if (
|
|
47
|
-
// if we attempted to load the relation, and its missing it will be null
|
|
48
|
-
// undefined means that the query was not constructed in a way that requested the relation
|
|
49
|
-
loadedValue !== undefined &&
|
|
50
|
-
mapping) {
|
|
51
|
-
if (loadedValue !== null && loadedValue !== undefined) {
|
|
52
|
-
(0, loader_map_1.setLoaderMappings)(context, info.path, mapping);
|
|
53
|
-
}
|
|
54
|
-
return loadedValue;
|
|
55
|
-
}
|
|
56
|
-
if (!resolve && !findUnique) {
|
|
57
|
-
throw new Error(`Missing findUnique for Prisma type ${this.model}`);
|
|
58
|
-
}
|
|
59
|
-
const mergedQuery = { ...(0, util_1.queryFromInfo)(context, info), ...connectionQuery };
|
|
60
|
-
if (resolve) {
|
|
61
|
-
return resolve(mergedQuery, parent, args, context, info);
|
|
62
|
-
}
|
|
63
|
-
return loaderCache(parent).loadRelation(name, mergedQuery, context);
|
|
64
|
-
};
|
|
65
|
-
return (0, cursors_1.wrapConnectionResult)(await getResult(), args, connectionQuery.take, formatCursor, (_a = parent._count) === null || _a === void 0 ? void 0 : _a[name]);
|
|
67
|
+
return (0, cursors_1.wrapConnectionResult)(parent[name], args, connectionQuery.take, formatCursor, (_a = parent._count) === null || _a === void 0 ? void 0 : _a[name]);
|
|
66
68
|
},
|
|
67
69
|
}, {
|
|
68
70
|
...connectionOptions,
|
|
@@ -72,15 +74,9 @@ class PrismaObjectFieldBuilder extends core_1.ObjectFieldBuilder {
|
|
|
72
74
|
return ({
|
|
73
75
|
totalCount: t.int({
|
|
74
76
|
extensions: {
|
|
75
|
-
|
|
76
|
-
},
|
|
77
|
-
resolve: (parent, args, context) => {
|
|
78
|
-
const loadedValue = parent.totalCount;
|
|
79
|
-
if (loadedValue !== undefined) {
|
|
80
|
-
return loadedValue;
|
|
81
|
-
}
|
|
82
|
-
return loaderCache(parent).loadCount(name, context);
|
|
77
|
+
pothosPrismaParentSelect: { _count: { select: { [name]: true } } },
|
|
83
78
|
},
|
|
79
|
+
resolve: (parent, args, context) => parent.totalCount,
|
|
84
80
|
}),
|
|
85
81
|
...(_b = (_a = connectionOptions).fields) === null || _b === void 0 ? void 0 : _b.call(_a, t),
|
|
86
82
|
});
|
|
@@ -102,109 +98,80 @@ class PrismaObjectFieldBuilder extends core_1.ObjectFieldBuilder {
|
|
|
102
98
|
return fieldRef;
|
|
103
99
|
};
|
|
104
100
|
this.model = model;
|
|
105
|
-
this.
|
|
101
|
+
this.prismaFieldMap = fieldMap;
|
|
106
102
|
}
|
|
107
103
|
relation(...allArgs) {
|
|
108
104
|
var _a;
|
|
109
105
|
const [name, options = {}] = allArgs;
|
|
110
|
-
const relationField = (0,
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
const
|
|
114
|
-
const loaderCache = model_loader_1.ModelLoader.forModel(this.model, this.builder);
|
|
115
|
-
const { query = {}, resolve, ...rest } = options;
|
|
106
|
+
const relationField = (0, datamodel_1.getRelation)(this.model, this.builder, name);
|
|
107
|
+
const ref = (_a = options.type) !== null && _a !== void 0 ? _a : (0, datamodel_1.getRefFromModel)(relationField.type, this.builder);
|
|
108
|
+
const { query = {}, resolve, extensions, ...rest } = options;
|
|
109
|
+
const relationSelect = (args, context, nestedQuery) => ({ select: { [name]: nestedQuery(query) } });
|
|
116
110
|
return this.field({
|
|
117
111
|
...rest,
|
|
118
112
|
type: relationField.isList ? [ref] : ref,
|
|
119
113
|
extensions: {
|
|
120
|
-
...
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
resolve: (parent, args, context, info) => {
|
|
125
|
-
const mapping = (0, loader_map_1.getLoaderMapping)(context, info.path);
|
|
126
|
-
const loadedValue = parent[name];
|
|
127
|
-
if (
|
|
128
|
-
// if we attempted to load the relation, and its missing it will be null
|
|
129
|
-
// undefined means that the query was not constructed in a way that requested the relation
|
|
130
|
-
loadedValue !== undefined &&
|
|
131
|
-
mapping) {
|
|
132
|
-
if (loadedValue !== null && loadedValue !== undefined) {
|
|
133
|
-
(0, loader_map_1.setLoaderMappings)(context, info.path, mapping);
|
|
134
|
-
}
|
|
135
|
-
return loadedValue;
|
|
136
|
-
}
|
|
137
|
-
const queryOptions = {
|
|
138
|
-
...(typeof query === 'function' ? query(args, context) : query),
|
|
139
|
-
...(0, util_1.queryFromInfo)(context, info),
|
|
140
|
-
};
|
|
141
|
-
if (resolve) {
|
|
142
|
-
return resolve(queryOptions, parent, args, context, info);
|
|
143
|
-
}
|
|
144
|
-
if (!findUnique) {
|
|
145
|
-
throw new Error(`Missing findUnique for Prisma type ${this.model}`);
|
|
146
|
-
}
|
|
147
|
-
return loaderCache(parent).loadRelation(name, queryOptions, context);
|
|
114
|
+
...extensions,
|
|
115
|
+
pothosPrismaLoaded: (value) => value[name] !== undefined,
|
|
116
|
+
pothosPrismaFallback: resolve &&
|
|
117
|
+
((q, parent, args, context, info) => resolve({ ...q, ...(typeof query === 'function' ? query(args, context) : query) }, parent, args, context, info)),
|
|
148
118
|
},
|
|
119
|
+
select: relationSelect,
|
|
120
|
+
resolve: (parent) => parent[name],
|
|
149
121
|
});
|
|
150
122
|
}
|
|
151
123
|
relationCount(...allArgs) {
|
|
152
124
|
const [name, options = {}] = allArgs;
|
|
153
|
-
const parentRef = (0, refs_1.getRefFromModel)(this.model, this.builder);
|
|
154
|
-
const findUnique = (0, refs_1.getFindUniqueForRef)(parentRef, this.builder);
|
|
155
|
-
const loaderCache = model_loader_1.ModelLoader.forModel(this.model, this.builder);
|
|
156
125
|
const { resolve, ...rest } = options;
|
|
126
|
+
const countSelect = {
|
|
127
|
+
_count: {
|
|
128
|
+
select: { [name]: true },
|
|
129
|
+
},
|
|
130
|
+
};
|
|
157
131
|
return this.field({
|
|
158
132
|
...rest,
|
|
159
133
|
type: 'Int',
|
|
160
134
|
nullable: false,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
pothosPrismaRelationCount: name,
|
|
164
|
-
},
|
|
165
|
-
resolve: (parent, args, context, info) => {
|
|
166
|
-
var _a;
|
|
167
|
-
const loadedValue = (_a = parent._count) === null || _a === void 0 ? void 0 : _a[name];
|
|
168
|
-
if (loadedValue !== undefined) {
|
|
169
|
-
return loadedValue;
|
|
170
|
-
}
|
|
171
|
-
if (resolve) {
|
|
172
|
-
return resolve(parent, args, context, info);
|
|
173
|
-
}
|
|
174
|
-
if (!findUnique) {
|
|
175
|
-
throw new Error(`Missing findUnique for Prisma type ${this.model}`);
|
|
176
|
-
}
|
|
177
|
-
return loaderCache(parent).loadCount(name, context);
|
|
178
|
-
},
|
|
135
|
+
select: countSelect,
|
|
136
|
+
resolve: (parent, args, context, info) => { var _a; return (_a = parent._count) === null || _a === void 0 ? void 0 : _a[name]; },
|
|
179
137
|
});
|
|
180
138
|
}
|
|
181
139
|
variant(...allArgs) {
|
|
182
140
|
const [variant, options = {}] = allArgs;
|
|
183
|
-
const ref = typeof variant === 'string' ? (0,
|
|
184
|
-
const
|
|
185
|
-
const findUnique = (0, refs_1.getFindUniqueForRef)(parentRef, this.builder);
|
|
186
|
-
const loaderCache = model_loader_1.ModelLoader.forModel(this.model, this.builder);
|
|
141
|
+
const ref = typeof variant === 'string' ? (0, datamodel_1.getRefFromModel)(variant, this.builder) : variant;
|
|
142
|
+
const selfSelect = (args, context, nestedQuery) => nestedQuery({});
|
|
187
143
|
return this.field({
|
|
188
144
|
...options,
|
|
189
145
|
type: ref,
|
|
146
|
+
select: selfSelect,
|
|
147
|
+
resolve: (parent, args, context, info) => parent,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
expose(...args) {
|
|
151
|
+
var _a;
|
|
152
|
+
const [name, options = {}] = args;
|
|
153
|
+
const typeConfig = this.builder.configStore.getTypeConfig(this.typename, 'Object');
|
|
154
|
+
const usingSelect = !!((_a = typeConfig.extensions) === null || _a === void 0 ? void 0 : _a.pothosPrismaSelect);
|
|
155
|
+
return this.exposeField(name, {
|
|
156
|
+
...options,
|
|
190
157
|
extensions: {
|
|
191
158
|
...options.extensions,
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
if (mapping) {
|
|
197
|
-
(0, loader_map_1.setLoaderMappings)(context, info.path, mapping);
|
|
198
|
-
return parent;
|
|
199
|
-
}
|
|
200
|
-
const queryOptions = (0, util_1.queryFromInfo)(context, info);
|
|
201
|
-
if (!findUnique) {
|
|
202
|
-
throw new Error(`Missing findUnique for Prisma type ${this.model}`);
|
|
203
|
-
}
|
|
204
|
-
return loaderCache(parent).loadSelf(queryOptions, context);
|
|
159
|
+
pothosPrismaVariant: name,
|
|
160
|
+
pothosPrismaSelect: usingSelect && {
|
|
161
|
+
[name]: true,
|
|
162
|
+
},
|
|
205
163
|
},
|
|
206
164
|
});
|
|
207
165
|
}
|
|
166
|
+
createExpose(type) {
|
|
167
|
+
return (...args) => {
|
|
168
|
+
const [name, options = {}] = args;
|
|
169
|
+
return this.expose(name, {
|
|
170
|
+
...options,
|
|
171
|
+
type,
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
}
|
|
208
175
|
}
|
|
209
176
|
exports.PrismaObjectFieldBuilder = PrismaObjectFieldBuilder;
|
|
210
177
|
//# sourceMappingURL=prisma-field-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"prisma-field-builder.js","sourceRoot":"","sources":["../src/prisma-field-builder.ts"],"names":[],"mappings":"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"}
|
package/lib/schema-builder.js
CHANGED
|
@@ -25,25 +25,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
require("./global-types");
|
|
26
26
|
const core_1 = __importStar(require("@pothos/core"));
|
|
27
27
|
const field_builder_1 = require("./field-builder");
|
|
28
|
+
const model_loader_1 = require("./model-loader");
|
|
28
29
|
const node_ref_1 = __importDefault(require("./node-ref"));
|
|
29
|
-
const
|
|
30
|
-
const
|
|
30
|
+
const datamodel_1 = require("./util/datamodel");
|
|
31
|
+
const map_query_1 = require("./util/map-query");
|
|
32
|
+
const relation_map_1 = require("./util/relation-map");
|
|
31
33
|
const schemaBuilderProto = core_1.default.prototype;
|
|
32
34
|
schemaBuilderProto.prismaObject = function prismaObject(type, { fields, findUnique, ...options }) {
|
|
33
35
|
var _a, _b;
|
|
34
|
-
const ref = options.variant ? this.objectRef(options.variant) : (0,
|
|
36
|
+
const ref = options.variant ? this.objectRef(options.variant) : (0, datamodel_1.getRefFromModel)(type, this);
|
|
35
37
|
const name = (_b = (_a = options.variant) !== null && _a !== void 0 ? _a : options.name) !== null && _b !== void 0 ? _b : type;
|
|
38
|
+
const fieldMap = (0, relation_map_1.getRelationMap)(this.options.prisma.client).get(type);
|
|
36
39
|
ref.name = name;
|
|
37
|
-
(0, refs_1.setFindUniqueForRef)(ref, this, findUnique);
|
|
38
40
|
this.objectType(ref, {
|
|
39
41
|
...options,
|
|
40
42
|
extensions: {
|
|
41
43
|
...options.extensions,
|
|
42
44
|
pothosPrismaInclude: options.include,
|
|
43
45
|
pothosPrismaModel: type,
|
|
46
|
+
pothosPrismaFieldMap: fieldMap,
|
|
47
|
+
pothosPrismaSelect: options.select,
|
|
48
|
+
pothosPrismaLoader: model_loader_1.ModelLoader.forRef(type, findUnique ||
|
|
49
|
+
(() => {
|
|
50
|
+
throw new Error(`Missing findUnique for ${ref.name}`);
|
|
51
|
+
}), this),
|
|
44
52
|
},
|
|
45
53
|
name,
|
|
46
|
-
fields: fields
|
|
54
|
+
fields: fields
|
|
55
|
+
? () => fields(new field_builder_1.PrismaObjectFieldBuilder(name, this, type, (0, relation_map_1.getRelationMap)(this.options.prisma.client).get(type)))
|
|
56
|
+
: undefined,
|
|
47
57
|
});
|
|
48
58
|
return ref;
|
|
49
59
|
};
|
|
@@ -54,7 +64,7 @@ schemaBuilderProto.prismaNode = function prismaNode(type, { findUnique, name, va
|
|
|
54
64
|
throw new TypeError('builder.prismaNode requires @pothos/plugin-relay to be installed');
|
|
55
65
|
}
|
|
56
66
|
const typeName = (_b = variant !== null && variant !== void 0 ? variant : name) !== null && _b !== void 0 ? _b : type;
|
|
57
|
-
const delegate = (0,
|
|
67
|
+
const delegate = (0, datamodel_1.getDelegateFromModel)(this.options.prisma.client, type);
|
|
58
68
|
const nodeRef = new node_ref_1.default(typeName);
|
|
59
69
|
const extendedOptions = {
|
|
60
70
|
...options,
|
|
@@ -62,7 +72,7 @@ schemaBuilderProto.prismaNode = function prismaNode(type, { findUnique, name, va
|
|
|
62
72
|
interfaces: [interfaceRef, ...((_c = options.interfaces) !== null && _c !== void 0 ? _c : [])],
|
|
63
73
|
findUnique: (parent, context) => findUnique(options.id.resolve(parent, context), context),
|
|
64
74
|
loadWithoutCache: async (id, context, info) => {
|
|
65
|
-
const query = (0,
|
|
75
|
+
const query = (0, map_query_1.queryFromInfo)(context, info, typeName);
|
|
66
76
|
const record = await delegate.findUnique({
|
|
67
77
|
...query,
|
|
68
78
|
rejectOnNotFound: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,0BAAwB;AAExB,qDAQsB;AACtB,mDAA2D;AAC3D,0DAAuC;
|
|
1
|
+
{"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":"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"}
|