@pothos/plugin-drizzle 0.18.1 → 0.19.1
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 +357 -0
- package/README.md +1199 -563
- package/dts/connection-helpers.d.ts +18 -8
- package/dts/connection-helpers.d.ts.map +1 -1
- package/dts/drizzle-field-builder.d.ts +4 -11
- package/dts/drizzle-field-builder.d.ts.map +1 -1
- package/dts/global-types.d.ts.map +1 -1
- package/dts/index.d.ts.map +1 -1
- package/dts/model-loader.d.ts +18 -17
- package/dts/model-loader.d.ts.map +1 -1
- package/dts/types.d.ts +82 -22
- package/dts/types.d.ts.map +1 -1
- package/dts/utils/adapter.d.ts +39 -0
- package/dts/utils/adapter.d.ts.map +1 -0
- package/dts/utils/await-selections.d.ts +12 -0
- package/dts/utils/await-selections.d.ts.map +1 -0
- package/dts/utils/config.d.ts +23 -3
- package/dts/utils/config.d.ts.map +1 -1
- package/dts/utils/cursors.d.ts +6 -6
- package/dts/utils/cursors.d.ts.map +1 -1
- package/dts/utils/map-query.d.ts +22 -21
- package/dts/utils/map-query.d.ts.map +1 -1
- package/dts/utils/path-info.d.ts +13 -0
- package/dts/utils/path-info.d.ts.map +1 -0
- package/dts/utils/relation-filter.d.ts +48 -0
- package/dts/utils/relation-filter.d.ts.map +1 -0
- package/dts/utils/selections.d.ts +2 -21
- package/dts/utils/selections.d.ts.map +1 -1
- package/esm/connection-helpers.d.ts +18 -8
- package/esm/connection-helpers.d.ts.map +1 -1
- package/esm/connection-helpers.js +52 -19
- package/esm/connection-helpers.js.map +1 -1
- package/esm/drizzle-field-builder.d.ts +4 -11
- package/esm/drizzle-field-builder.d.ts.map +1 -1
- package/esm/drizzle-field-builder.js +138 -96
- package/esm/drizzle-field-builder.js.map +1 -1
- package/esm/field-builder.js +61 -47
- package/esm/field-builder.js.map +1 -1
- package/esm/global-types.d.ts.map +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +37 -61
- package/esm/index.js.map +1 -1
- package/esm/model-loader.d.ts +18 -17
- package/esm/model-loader.d.ts.map +1 -1
- package/esm/model-loader.js +76 -45
- package/esm/model-loader.js.map +1 -1
- package/esm/schema-builder.js +40 -149
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +82 -22
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js.map +1 -1
- package/esm/utils/adapter.d.ts +39 -0
- package/esm/utils/adapter.d.ts.map +1 -0
- package/esm/utils/adapter.js +137 -0
- package/esm/utils/adapter.js.map +1 -0
- package/esm/utils/await-selections.d.ts +12 -0
- package/esm/utils/await-selections.d.ts.map +1 -0
- package/esm/utils/await-selections.js +19 -0
- package/esm/utils/await-selections.js.map +1 -0
- package/esm/utils/config.d.ts +23 -3
- package/esm/utils/config.d.ts.map +1 -1
- package/esm/utils/config.js +1 -4
- package/esm/utils/config.js.map +1 -1
- package/esm/utils/cursors.d.ts +6 -6
- package/esm/utils/cursors.d.ts.map +1 -1
- package/esm/utils/cursors.js +75 -92
- package/esm/utils/cursors.js.map +1 -1
- package/esm/utils/map-query.d.ts +22 -21
- package/esm/utils/map-query.d.ts.map +1 -1
- package/esm/utils/map-query.js +40 -354
- package/esm/utils/map-query.js.map +1 -1
- package/esm/utils/path-info.d.ts +13 -0
- package/esm/utils/path-info.d.ts.map +1 -0
- package/esm/utils/path-info.js +37 -0
- package/esm/utils/path-info.js.map +1 -0
- package/esm/utils/relation-filter.d.ts +48 -0
- package/esm/utils/relation-filter.d.ts.map +1 -0
- package/esm/utils/relation-filter.js +92 -0
- package/esm/utils/relation-filter.js.map +1 -0
- package/esm/utils/selections.d.ts +2 -21
- package/esm/utils/selections.d.ts.map +1 -1
- package/esm/utils/selections.js +1 -133
- package/esm/utils/selections.js.map +1 -1
- package/lib/connection-helpers.js +51 -18
- package/lib/connection-helpers.js.map +1 -1
- package/lib/drizzle-field-builder.js +136 -94
- package/lib/drizzle-field-builder.js.map +1 -1
- package/lib/field-builder.js +58 -44
- package/lib/field-builder.js.map +1 -1
- package/lib/index.js +36 -60
- package/lib/index.js.map +1 -1
- package/lib/model-loader.js +76 -45
- package/lib/model-loader.js.map +1 -1
- package/lib/schema-builder.js +40 -149
- package/lib/schema-builder.js.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/adapter.js +147 -0
- package/lib/utils/adapter.js.map +1 -0
- package/lib/utils/await-selections.js +20 -0
- package/lib/utils/await-selections.js.map +1 -0
- package/lib/utils/config.js +1 -4
- package/lib/utils/config.js.map +1 -1
- package/lib/utils/cursors.js +67 -90
- package/lib/utils/cursors.js.map +1 -1
- package/lib/utils/map-query.js +28 -359
- package/lib/utils/map-query.js.map +1 -1
- package/lib/utils/path-info.js +39 -0
- package/lib/utils/path-info.js.map +1 -0
- package/lib/utils/relation-filter.js +91 -0
- package/lib/utils/relation-filter.js.map +1 -0
- package/lib/utils/selections.js +3 -158
- package/lib/utils/selections.js.map +1 -1
- package/package.json +10 -8
- package/src/connection-helpers.ts +168 -54
- package/src/drizzle-field-builder.ts +296 -176
- package/src/field-builder.ts +110 -77
- package/src/global-types.ts +0 -32
- package/src/index.ts +42 -68
- package/src/model-loader.ts +110 -71
- package/src/schema-builder.ts +76 -169
- package/src/types.ts +178 -46
- package/src/utils/adapter.ts +197 -0
- package/src/utils/await-selections.ts +31 -0
- package/src/utils/config.ts +1 -5
- package/src/utils/cursors.ts +84 -83
- package/src/utils/map-query.ts +51 -734
- package/src/utils/path-info.ts +40 -0
- package/src/utils/relation-filter.ts +185 -0
- package/src/utils/selections.ts +2 -207
- package/dts/utils/deep-equal.d.ts +0 -2
- package/dts/utils/deep-equal.d.ts.map +0 -1
- package/dts/utils/drizzle-graphql.d.ts +0 -2
- package/dts/utils/drizzle-graphql.d.ts.map +0 -1
- package/dts/utils/loader-map.d.ts +0 -11
- package/dts/utils/loader-map.d.ts.map +0 -1
- package/dts/utils/usage.d.ts +0 -5
- package/dts/utils/usage.d.ts.map +0 -1
- package/esm/utils/deep-equal.d.ts +0 -2
- package/esm/utils/deep-equal.d.ts.map +0 -1
- package/esm/utils/deep-equal.js +0 -45
- package/esm/utils/deep-equal.js.map +0 -1
- package/esm/utils/drizzle-graphql.d.ts +0 -2
- package/esm/utils/drizzle-graphql.d.ts.map +0 -1
- package/esm/utils/drizzle-graphql.js +0 -232
- package/esm/utils/drizzle-graphql.js.map +0 -1
- package/esm/utils/loader-map.d.ts +0 -11
- package/esm/utils/loader-map.d.ts.map +0 -1
- package/esm/utils/loader-map.js +0 -35
- package/esm/utils/loader-map.js.map +0 -1
- package/esm/utils/usage.d.ts +0 -5
- package/esm/utils/usage.d.ts.map +0 -1
- package/esm/utils/usage.js +0 -59
- package/esm/utils/usage.js.map +0 -1
- package/lib/utils/deep-equal.js +0 -55
- package/lib/utils/deep-equal.js.map +0 -1
- package/lib/utils/drizzle-graphql.js +0 -236
- package/lib/utils/drizzle-graphql.js.map +0 -1
- package/lib/utils/loader-map.js +0 -56
- package/lib/utils/loader-map.js.map +0 -1
- package/lib/utils/usage.js +0 -83
- package/lib/utils/usage.js.map +0 -1
- package/src/utils/deep-equal.ts +0 -57
- package/src/utils/drizzle-graphql.ts +0 -274
- package/src/utils/loader-map.ts +0 -49
- package/src/utils/usage.ts +0 -62
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type CompatibleTypes, type ExposeNullability, type FieldKind, type FieldRef, type InferredFieldOptionKeys, type InputFieldMap, type
|
|
1
|
+
import { type CompatibleTypes, type ExposeNullability, type FieldKind, type FieldRef, type InferredFieldOptionKeys, type InputFieldMap, type InterfaceParam, type NormalizeArgs, ObjectRef, type PluginName, type SchemaTypes, type ShapeFromTypeParam, type TypeParam } from '@pothos/core';
|
|
2
2
|
import { type BuildQueryResult, type DBQueryConfig, type InferSelectModel, type SQL, type TableRelationalConfig } from 'drizzle-orm';
|
|
3
3
|
import type { DrizzleRef } from './interface-ref.js';
|
|
4
|
-
import type { DrizzleConnectionShape, ListRelation, RelatedConnectionOptions, RelatedCountOptions, RelatedFieldOptions, ShapeFromConnection, TypesForRelation, VariantFieldOptions } from './types.js';
|
|
4
|
+
import type { DrizzleConnectionShape, ListRelation, RelatedConnectionOptions, RelatedCountOptions, RelatedFieldOptions, RelatedSelectionFieldOptions, ShapeFromConnection, TypesForRelation, VariantFieldOptions } from './types.js';
|
|
5
5
|
declare const RootBuilder: {
|
|
6
6
|
new <Types extends SchemaTypes, Shape, Kind extends FieldKind>(builder: PothosSchemaTypes.SchemaBuilder<Types>, kind: FieldKind, graphqlKind: PothosSchemaTypes.PothosKindToGraphQLType[FieldKind]): PothosSchemaTypes.RootFieldBuilder<Types, Shape, Kind>;
|
|
7
7
|
};
|
|
@@ -89,15 +89,8 @@ export declare class DrizzleObjectFieldBuilder<Types extends SchemaTypes, TableC
|
|
|
89
89
|
]>): FieldRef<Types, TypesForRelation<Types, TableConfig['relations'][Field]>, 'Object'>;
|
|
90
90
|
relatedField<Field extends keyof TableConfig['relations'], Type extends TypeParam<Types>, Nullable extends boolean, Args extends InputFieldMap, Select extends DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>, ShapeWithSelection = Shape & BuildQueryResult<Types['DrizzleRelations'], TableConfig, Select & {
|
|
91
91
|
columns: {};
|
|
92
|
-
}>>(relationName: Field, options:
|
|
93
|
-
|
|
94
|
-
nullable?: Nullable;
|
|
95
|
-
args?: Args;
|
|
96
|
-
description?: string;
|
|
97
|
-
select: (buildFilter: (parentTable: TableConfig['table']) => SQL, args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {}, ctx: Types['Context'], nestedQuery: (query: DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>) => DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>) => Select;
|
|
98
|
-
resolve: (parent: ShapeWithSelection, args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {}, ctx: Types['Context'], info: unknown) => ShapeFromTypeParam<Types, Type, Nullable>;
|
|
99
|
-
}): FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, 'DrizzleObject'>;
|
|
100
|
-
relatedCount<Field extends keyof TableConfig['relations'], Args extends InputFieldMap, Where extends SQL | undefined>(relationName: Field, ...allArgs: NormalizeArgs<[options: RelatedCountOptions<Types, Shape, Args, Where>]>): FieldRef<Types, number, 'DrizzleObject'>;
|
|
92
|
+
}>>(relationName: Field, options: RelatedSelectionFieldOptions<Types, TableConfig, Type, Nullable, Args, Select, ShapeWithSelection>): FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, 'DrizzleObject'>;
|
|
93
|
+
relatedCount<Field extends ListRelation<TableConfig>, Args extends InputFieldMap, Where extends SQL | undefined>(relationName: Field, ...allArgs: NormalizeArgs<[options: RelatedCountOptions<Types, Shape, Args, Where>]>): FieldRef<Types, number, 'DrizzleObject'>;
|
|
101
94
|
expose<Type extends TypeParam<Types>, Nullable extends boolean, ResolveReturnShape, Name extends CompatibleTypes<Types, ExposableShape, Type, Nullable>>(...args: NormalizeArgs<[
|
|
102
95
|
name: Name,
|
|
103
96
|
options: ExposeNullability<Types, Type, ExposableShape, Name, Nullable> & Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, Type, Nullable, {}, ResolveReturnShape>, 'nullable' | 'select' | InferredFieldOptionKeys>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-field-builder.d.ts","sourceRoot":"","sources":["../src/drizzle-field-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"drizzle-field-builder.d.ts","sourceRoot":"","sources":["../src/drizzle-field-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,13 +11,14 @@ function _define_property(obj, key, value) {
|
|
|
11
11
|
}
|
|
12
12
|
return obj;
|
|
13
13
|
}
|
|
14
|
-
import { isThenable, ObjectRef, PothosSchemaError, RootFieldBuilder } from '@pothos/core';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
14
|
+
import { completeValue, isThenable, ObjectRef, PothosSchemaError, RootFieldBuilder } from '@pothos/core';
|
|
15
|
+
import { getLoaderMapping, selectedFieldNames } from '@pothos/selection-mapper';
|
|
16
|
+
import { and, Many, relationsFilterToSQL } from 'drizzle-orm';
|
|
17
17
|
import { getClient, getSchemaConfig } from './utils/config.js';
|
|
18
18
|
import { drizzleCursorConnectionQuery, getCursorFormatter, wrapConnectionResult } from './utils/cursors.js';
|
|
19
|
+
import { pathInfoFor } from './utils/path-info.js';
|
|
19
20
|
import { getRefFromModel } from './utils/refs.js';
|
|
20
|
-
import {
|
|
21
|
+
import { buildRelationFilter } from './utils/relation-filter.js';
|
|
21
22
|
// Workaround for FieldKind not being extended on Builder classes
|
|
22
23
|
const RootBuilder = RootFieldBuilder;
|
|
23
24
|
export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
@@ -60,18 +61,16 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
60
61
|
}
|
|
61
62
|
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : getRefFromModel(relatedTable.name, this.builder);
|
|
62
63
|
const { query = {}, extensions, ...rest } = options;
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
// Built once per field: the select allocates nothing when the nested selection is sync. The
|
|
65
|
+
// nested selection already carries the field's `query` (it is merged into the child first),
|
|
66
|
+
// so nothing is spread over it.
|
|
67
|
+
const selectRelation = (nested)=>({
|
|
65
68
|
columns: {},
|
|
66
69
|
with: {
|
|
67
|
-
[name]:
|
|
68
|
-
...nestedQuery(query),
|
|
69
|
-
...typeof query === 'function' ? query(args, context, pathInfo) : query
|
|
70
|
-
})
|
|
70
|
+
[name]: nested
|
|
71
71
|
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
};
|
|
72
|
+
});
|
|
73
|
+
const relationSelect = (args, context, nestedQuery, _resolveSelection, pathInfo)=>completeValue(nestedQuery(typeof query === 'function' ? query(args, context, pathInfo) : query), selectRelation);
|
|
75
74
|
return this.field({
|
|
76
75
|
...rest,
|
|
77
76
|
type: relationField instanceof Many ? [
|
|
@@ -79,7 +78,8 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
79
78
|
] : ref,
|
|
80
79
|
extensions: {
|
|
81
80
|
...extensions,
|
|
82
|
-
pothosDrizzleSelect: relationSelect
|
|
81
|
+
pothosDrizzleSelect: relationSelect,
|
|
82
|
+
pothosDrizzleLoaded: (value)=>value[name] !== undefined
|
|
83
83
|
},
|
|
84
84
|
resolve: (parent)=>parent[name]
|
|
85
85
|
});
|
|
@@ -91,25 +91,18 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
91
91
|
if (!relationField) {
|
|
92
92
|
throw new PothosSchemaError(`Could not find relation ${relationName} on table ${this.table}`);
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
};
|
|
94
|
+
// Explicit NOT NULL is required even for primary keys: SQLite permits nullable text and
|
|
95
|
+
// composite primary keys. Without a total identity the relation filter keeps EXISTS.
|
|
96
|
+
const targetKey = relationField.throughTable ? schemaConfig.getUniqueConstraints(relationField.targetTableName).find((columns)=>columns.every((column)=>column.notNull)) : undefined;
|
|
98
97
|
const relationSelect = (args, context, nestedQuery)=>{
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return {
|
|
102
|
-
columns: (_selection_columns = selection.columns) !== null && _selection_columns !== void 0 ? _selection_columns : {},
|
|
103
|
-
extras: selection.extras,
|
|
104
|
-
with: selection.with
|
|
105
|
-
};
|
|
98
|
+
const buildFilter = (parentTable)=>buildRelationFilter(getClient(this.builder, context), relationField, parentTable, targetKey).filter;
|
|
99
|
+
return completeValue(options.select(buildFilter, args, context, nestedQuery), pickSelection);
|
|
106
100
|
};
|
|
101
|
+
const { select: _select, extensions, ...fieldOptions } = options;
|
|
107
102
|
return this.field({
|
|
108
|
-
|
|
109
|
-
nullable: options.nullable,
|
|
110
|
-
args: options.args,
|
|
111
|
-
description: options.description,
|
|
103
|
+
...fieldOptions,
|
|
112
104
|
extensions: {
|
|
105
|
+
...extensions,
|
|
113
106
|
pothosDrizzleSelect: relationSelect
|
|
114
107
|
},
|
|
115
108
|
resolve: options.resolve
|
|
@@ -122,17 +115,34 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
122
115
|
const schemaConfig = getSchemaConfig(this.builder);
|
|
123
116
|
const relationField = (_schemaConfig_relations = schemaConfig.relations) === null || _schemaConfig_relations === void 0 ? void 0 : _schemaConfig_relations[this.table].relations[relationName];
|
|
124
117
|
const relatedTable = schemaConfig.relations[relationField.targetTableName];
|
|
118
|
+
// A related row counts once however many junction rows lead to it, which the count needs a
|
|
119
|
+
// column identifying a target row to say. Without one it falls back to counting the target
|
|
120
|
+
// table filtered by the relation, which says the same thing more slowly.
|
|
121
|
+
const targetKey = schemaConfig.findPrimaryKey(relationField.targetTableName);
|
|
122
|
+
const distinctBy = (targetKey === null || targetKey === void 0 ? void 0 : targetKey.length) === 1 && targetKey[0].notNull ? targetKey[0] : undefined;
|
|
123
|
+
// Built once per field; the `extras` function it returns is what the plan carried before.
|
|
124
|
+
const countExtras = (whereClause, ctx, buildFilter)=>({
|
|
125
|
+
extras: {
|
|
126
|
+
[countKey]: (parent)=>{
|
|
127
|
+
const client = getClient(this.builder, ctx);
|
|
128
|
+
if (!distinctBy) {
|
|
129
|
+
return client.$count(relatedTable.table, whereClause ? and(buildFilter(parent), whereClause) : buildFilter(parent));
|
|
130
|
+
}
|
|
131
|
+
return buildRelationFilter(client, relationField, parent).countDistinctRows(distinctBy, whereClause);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
});
|
|
125
135
|
return this.relatedField(relationName, {
|
|
126
136
|
...options,
|
|
127
137
|
type: 'Int',
|
|
128
138
|
nullable: false,
|
|
139
|
+
extensions: {
|
|
140
|
+
...options.extensions,
|
|
141
|
+
pothosDrizzleLoaded: (value)=>value[countKey] !== undefined
|
|
142
|
+
},
|
|
129
143
|
select: (buildFilter, args, ctx)=>{
|
|
130
144
|
const whereClause = typeof where === 'function' ? where(args, ctx) : where;
|
|
131
|
-
return
|
|
132
|
-
extras: {
|
|
133
|
-
[countKey]: (parent)=>getClient(this.builder, ctx).$count(relatedTable.table, whereClause ? and(buildFilter(parent), whereClause) : buildFilter(parent))
|
|
134
|
-
}
|
|
135
|
-
};
|
|
145
|
+
return isThenable(whereClause) ? whereClause.then((resolved)=>countExtras(resolved, ctx, buildFilter)) : countExtras(whereClause, ctx, buildFilter);
|
|
136
146
|
},
|
|
137
147
|
resolve: (parent)=>parent[countKey]
|
|
138
148
|
});
|
|
@@ -176,9 +186,9 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
176
186
|
'ID'
|
|
177
187
|
])), _define_property(this, "exposeStringList", this.createExpose([
|
|
178
188
|
'String'
|
|
179
|
-
])), _define_property(this, "table", void 0), _define_property(this, "typename", void 0), _define_property(this, "relatedConnection", function relatedConnection(name, { maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, query,
|
|
189
|
+
])), _define_property(this, "table", void 0), _define_property(this, "typename", void 0), _define_property(this, "relatedConnection", function relatedConnection(name, { maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, query, extensions, description, totalCount, ...options } = {}, connectionOptions = {}, edgeOptions = {}) {
|
|
180
190
|
var _options_type;
|
|
181
|
-
var _schemaConfig_relations;
|
|
191
|
+
var _schemaConfig_relations, _this_builder_options_drizzle2;
|
|
182
192
|
const schemaConfig = getSchemaConfig(this.builder);
|
|
183
193
|
const relationField = (_schemaConfig_relations = schemaConfig.relations) === null || _schemaConfig_relations === void 0 ? void 0 : _schemaConfig_relations[this.table].relations[name];
|
|
184
194
|
const relatedTable = schemaConfig.relations[relationField.targetTableName];
|
|
@@ -187,19 +197,31 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
187
197
|
}
|
|
188
198
|
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : getRefFromModel(relationField.targetTableName, this.builder);
|
|
189
199
|
let typeName;
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
200
|
+
const filterTotalCount = ((_this_builder_options_drizzle2 = this.builder.options.drizzle) === null || _this_builder_options_drizzle2 === void 0 ? void 0 : _this_builder_options_drizzle2.filterConnectionTotalCount) !== false;
|
|
201
|
+
// The count for `totalCount` matches the connection's own filter: what the relation selects
|
|
202
|
+
// (including a `through` join and the relation's own `where`) plus the `where` from the
|
|
203
|
+
// field's `query`, so the count agrees with the rows being paginated. The `where` goes
|
|
204
|
+
// through the same `relationsFilterToSQL` the relational query builder puts it through, and
|
|
205
|
+
// `countRows` combines the two in the same order, so the count's predicate is the page
|
|
206
|
+
// query's predicate less the limit and the keyset clauses.
|
|
207
|
+
const buildCount = (client, parentTable, where)=>{
|
|
208
|
+
const { countRows } = buildRelationFilter(client, relationField, parentTable);
|
|
209
|
+
if (!where || !filterTotalCount) {
|
|
210
|
+
return countRows();
|
|
211
|
+
}
|
|
212
|
+
return countRows(relationsFilterToSQL(relatedTable.table, where, relatedTable.relations, schemaConfig.relations));
|
|
193
213
|
};
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
214
|
+
// The field's `query` may be async, so the result is a promise when it is. The `PathInfo` is
|
|
215
|
+
// provided by the adapter, and only read for a callback that takes one.
|
|
216
|
+
const resolveFieldQuery = (args, ctx, pathInfo)=>completeValue(typeof query === 'function' ? query(args, ctx, pathInfo) : query, orEmpty);
|
|
217
|
+
const getQuery = (args, ctx, { limit, orderBy, where, ...fieldQuery })=>{
|
|
218
|
+
var _ref;
|
|
197
219
|
const { cursorFields, columns, ...connectionQuery } = drizzleCursorConnectionQuery({
|
|
198
220
|
ctx,
|
|
199
221
|
maxSize,
|
|
200
222
|
defaultSize,
|
|
201
223
|
args,
|
|
202
|
-
orderBy: (
|
|
224
|
+
orderBy: (_ref = typeof orderBy === 'function' ? orderBy(relatedTable.table) : orderBy) !== null && _ref !== void 0 ? _ref : getSchemaConfig(this.builder).getPrimaryKey(relationField.targetTableName),
|
|
203
225
|
extras: fieldQuery.extras,
|
|
204
226
|
where,
|
|
205
227
|
config: schemaConfig,
|
|
@@ -218,23 +240,30 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
218
240
|
cursorFields
|
|
219
241
|
};
|
|
220
242
|
};
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
243
|
+
const countKey = `_${name}_count`;
|
|
244
|
+
// What the document asks of this connection, read the way the planner reads it (through
|
|
245
|
+
// fragments, directives, and a wrapping type), so the resolve side agrees with the plan. The
|
|
246
|
+
// selection is read once per request and shared by every parent row.
|
|
247
|
+
const connectionSelectionFromNames = (selected)=>{
|
|
248
|
+
const hasTotalCount = !!totalCount && selected.has('totalCount');
|
|
249
|
+
for (const field of selected){
|
|
250
|
+
if (field !== 'totalCount' && field !== '__typename') {
|
|
251
|
+
return {
|
|
252
|
+
hasTotalCount,
|
|
253
|
+
totalCountOnly: false
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
hasTotalCount,
|
|
259
|
+
totalCountOnly: hasTotalCount
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
const connectionSelection = (context, info)=>connectionSelectionFromNames(selectedFieldNames(context, info));
|
|
263
|
+
// Built once per field, so a synchronous plan allocates nothing beyond the map itself.
|
|
264
|
+
const selectConnection = (fieldQuery, nested, context, hasTotalCount, totalCountOnly)=>{
|
|
236
265
|
const countSelection = {
|
|
237
|
-
[
|
|
266
|
+
[countKey]: (parent)=>buildCount(getClient(this.builder, context), parent, fieldQuery.where)
|
|
238
267
|
};
|
|
239
268
|
if (totalCountOnly) {
|
|
240
269
|
return {
|
|
@@ -243,7 +272,21 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
243
272
|
extras: countSelection
|
|
244
273
|
};
|
|
245
274
|
}
|
|
246
|
-
|
|
275
|
+
return {
|
|
276
|
+
columns: {},
|
|
277
|
+
with: {
|
|
278
|
+
[name]: nested
|
|
279
|
+
},
|
|
280
|
+
extras: hasTotalCount ? countSelection : {}
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
const relationSelect = (args, context, nestedQuery, getSelection, pathInfo)=>{
|
|
284
|
+
typeName !== null && typeName !== void 0 ? typeName : typeName = this.builder.configStore.getTypeConfig(ref).name;
|
|
285
|
+
const { hasTotalCount, totalCountOnly } = connectionSelectionFromNames(getSelection());
|
|
286
|
+
const fieldQuery = resolveFieldQuery(args, context, pathInfo);
|
|
287
|
+
// The nested plan starts now, with a query that waits for the field's `query` when that is
|
|
288
|
+
// async, so every callback beneath the connection runs in the same tick.
|
|
289
|
+
const nested = totalCountOnly ? undefined : nestedQuery(isThenable(fieldQuery) ? fieldQuery.then((resolved)=>getQuery(args, context, resolved).select) : getQuery(args, context, fieldQuery).select, {
|
|
247
290
|
getType: ()=>typeName,
|
|
248
291
|
paths: [
|
|
249
292
|
[
|
|
@@ -261,27 +304,34 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
261
304
|
]
|
|
262
305
|
]
|
|
263
306
|
});
|
|
264
|
-
return
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
307
|
+
return isThenable(fieldQuery) || isThenable(nested) ? Promise.all([
|
|
308
|
+
fieldQuery,
|
|
309
|
+
nested
|
|
310
|
+
]).then(([resolvedQuery, resolvedNested])=>selectConnection(resolvedQuery, resolvedNested, context, hasTotalCount, totalCountOnly)) : selectConnection(fieldQuery, nested, context, hasTotalCount, totalCountOnly);
|
|
311
|
+
};
|
|
312
|
+
// The loaded path, per parent row: the rows are on the parent, only the page is needed.
|
|
313
|
+
const resolveLoaded = (fieldQuery, parent, args, context, countValue)=>{
|
|
314
|
+
const { select, cursorFields } = getQuery(args, context, fieldQuery);
|
|
315
|
+
return wrapConnectionResult(parent[name], args, select.limit, getCursorFormatter(cursorFields, schemaConfig), undefined, parent, countValue);
|
|
271
316
|
};
|
|
272
317
|
const fieldRef = this.connection({
|
|
273
318
|
...options,
|
|
274
319
|
extensions: {
|
|
275
320
|
...extensions,
|
|
276
|
-
pothosDrizzleSelect: relationSelect
|
|
321
|
+
pothosDrizzleSelect: relationSelect,
|
|
322
|
+
pothosDrizzleLoaded: (value, info, context)=>{
|
|
323
|
+
const { hasTotalCount, totalCountOnly } = connectionSelection(context, info);
|
|
324
|
+
return (!hasTotalCount || value[countKey] !== undefined) && (totalCountOnly || value[name] !== undefined);
|
|
325
|
+
}
|
|
277
326
|
},
|
|
278
327
|
description,
|
|
279
328
|
type: ref,
|
|
280
329
|
resolve: (parent, args, context, info)=>{
|
|
281
|
-
|
|
330
|
+
var _getLoaderMapping;
|
|
282
331
|
const parentRecord = parent;
|
|
283
332
|
const countValue = totalCount ? parentRecord[countKey] : undefined;
|
|
284
|
-
|
|
333
|
+
// Only totalCount was requested: the relation was never selected, so skip the cursors.
|
|
334
|
+
if (connectionSelection(context, info).totalCountOnly) {
|
|
285
335
|
return {
|
|
286
336
|
parent,
|
|
287
337
|
args,
|
|
@@ -295,32 +345,13 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
295
345
|
}
|
|
296
346
|
};
|
|
297
347
|
}
|
|
298
|
-
//
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
return s.kind === GraphQLKind.FIELD && (((_fields_s_name_value = fields[s.name.value]) === null || _fields_s_name_value === void 0 ? void 0 : (_fields_s_name_value_extensions = _fields_s_name_value.extensions) === null || _fields_s_name_value_extensions === void 0 ? void 0 : _fields_s_name_value_extensions.pothosDrizzleTotalCount) || s.name.value === '__typename');
|
|
306
|
-
});
|
|
307
|
-
});
|
|
308
|
-
if (totalCountOnly) {
|
|
309
|
-
return {
|
|
310
|
-
parent,
|
|
311
|
-
args,
|
|
312
|
-
totalCount: countValue,
|
|
313
|
-
edges: [],
|
|
314
|
-
pageInfo: {
|
|
315
|
-
startCursor: null,
|
|
316
|
-
endCursor: null,
|
|
317
|
-
hasPreviousPage: false,
|
|
318
|
-
hasNextPage: false
|
|
319
|
-
}
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
const { select, cursorFields } = getQuery(args, context);
|
|
323
|
-
return wrapConnectionResult(parentRecord[name], args, select.limit, getCursorFormatter(cursorFields, schemaConfig), undefined, parent, countValue);
|
|
348
|
+
// The same position the select path planned this field at, recorded alongside its
|
|
349
|
+
// loader mapping, so a `query` that branches on its path pages the rows it selected.
|
|
350
|
+
// Asked of `parent`, because that is whose rows are being paged: a sibling row of the
|
|
351
|
+
// same list may have been loaded by a different plan, at a different position.
|
|
352
|
+
const position = (_getLoaderMapping = getLoaderMapping(context, info.path, info.parentType.name, parent)) === null || _getLoaderMapping === void 0 ? void 0 : _getLoaderMapping.position;
|
|
353
|
+
const fieldQuery = resolveFieldQuery(args, context, pathInfoFor(position));
|
|
354
|
+
return isThenable(fieldQuery) ? fieldQuery.then((resolved)=>resolveLoaded(resolved, parent, args, context, countValue)) : resolveLoaded(fieldQuery, parent, args, context, countValue);
|
|
324
355
|
}
|
|
325
356
|
}, connectionOptions instanceof ObjectRef ? connectionOptions : {
|
|
326
357
|
...connectionOptions,
|
|
@@ -344,5 +375,16 @@ export class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
344
375
|
this.typename = typename;
|
|
345
376
|
}
|
|
346
377
|
}
|
|
378
|
+
/** A relation `query` callback may return nothing; the connection then adds no filter. */ function orEmpty(query) {
|
|
379
|
+
return query !== null && query !== void 0 ? query : {};
|
|
380
|
+
}
|
|
381
|
+
/** A `relatedField` select's map, with the columns it may have left out defaulted. */ function pickSelection(selection) {
|
|
382
|
+
var _ref;
|
|
383
|
+
return {
|
|
384
|
+
columns: (_ref = selection === null || selection === void 0 ? void 0 : selection.columns) !== null && _ref !== void 0 ? _ref : {},
|
|
385
|
+
extras: selection === null || selection === void 0 ? void 0 : selection.extras,
|
|
386
|
+
with: selection === null || selection === void 0 ? void 0 : selection.with
|
|
387
|
+
};
|
|
388
|
+
}
|
|
347
389
|
|
|
348
390
|
//# sourceMappingURL=drizzle-field-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["isThenable","ObjectRef","PothosSchemaError","RootFieldBuilder","and","eq","Many","Kind","GraphQLKind","getNamedType","isInterfaceType","isObjectType","getClient","getSchemaConfig","drizzleCursorConnectionQuery","getCursorFormatter","wrapConnectionResult","getRefFromModel","omitUndefinedKeys","RootBuilder","DrizzleObjectFieldBuilder","variant","allArgs","isNull","nullable","options","ref","builder","selfSelect","_args","_context","nestedQuery","select","field","type","extensions","pothosDrizzleSelect","resolve","parent","args","context","info","parentIsNull","then","resolved","relation","name","schemaConfig","relationField","relations","table","relatedTable","targetTableName","query","rest","relationSelect","_resolveSelection","pathInfo","relQuery","columns","with","relatedField","relationName","buildFilter","parentTable","sourceColumns","targetColumns","map","sourceCol","i","selection","extras","description","relatedCount","where","countKey","ctx","whereClause","$count","expose","typeConfig","configStore","getTypeConfig","typename","graphqlKind","usingSelect","exposeField","pothosDrizzleVariant","createExpose","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","relatedConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","_","totalCount","connectionOptions","edgeOptions","typeName","buildCountFilter","getQuery","limit","orderBy","fieldQuery","cursorFields","connectionQuery","getPrimaryKey","config","Math","abs","getSelection","hasTotalCount","hasEdges","hasNodes","hasPageInfo","totalCountOnly","countSelection","nested","getType","paths","fieldRef","connection","parentRecord","countValue","undefined","edges","pageInfo","startCursor","endCursor","hasPreviousPage","hasNextPage","returnType","fields","getFields","fieldNodes","every","selectionSet","selections","s","kind","FIELD","value","pothosDrizzleTotalCount","t","int"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["completeValue","isThenable","ObjectRef","PothosSchemaError","RootFieldBuilder","getLoaderMapping","selectedFieldNames","and","Many","relationsFilterToSQL","getClient","getSchemaConfig","drizzleCursorConnectionQuery","getCursorFormatter","wrapConnectionResult","pathInfoFor","getRefFromModel","buildRelationFilter","RootBuilder","DrizzleObjectFieldBuilder","variant","allArgs","isNull","nullable","options","ref","builder","selfSelect","_args","_context","nestedQuery","select","field","type","extensions","pothosDrizzleSelect","resolve","parent","args","context","info","parentIsNull","then","resolved","relation","name","schemaConfig","relationField","relations","table","relatedTable","targetTableName","query","rest","selectRelation","nested","columns","with","relationSelect","_resolveSelection","pathInfo","pothosDrizzleLoaded","value","undefined","relatedField","relationName","targetKey","throughTable","getUniqueConstraints","find","every","column","notNull","buildFilter","parentTable","filter","pickSelection","_select","fieldOptions","relatedCount","where","countKey","findPrimaryKey","distinctBy","length","countExtras","whereClause","ctx","extras","client","$count","countDistinctRows","expose","typeConfig","configStore","getTypeConfig","typename","graphqlKind","usingSelect","exposeField","pothosDrizzleVariant","createExpose","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","relatedConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","description","totalCount","connectionOptions","edgeOptions","typeName","filterTotalCount","filterConnectionTotalCount","buildCount","countRows","resolveFieldQuery","orEmpty","getQuery","limit","orderBy","fieldQuery","cursorFields","connectionQuery","getPrimaryKey","config","Math","abs","connectionSelectionFromNames","selected","hasTotalCount","has","totalCountOnly","connectionSelection","selectConnection","countSelection","getSelection","getType","paths","Promise","all","resolvedQuery","resolvedNested","resolveLoaded","countValue","fieldRef","connection","parentRecord","edges","pageInfo","startCursor","endCursor","hasPreviousPage","hasNextPage","position","path","parentType","fields","t","int","pothosDrizzleTotalCount","selection"],"mappings":"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"}
|