@pothos/plugin-drizzle 0.16.1 → 0.17.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/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["DrizzleObjectFieldBuilder","PothosDrizzlePlugin","drizzleClientCache","drizzleConnectionHelpers","drizzleTableName","pluginName","BasePlugin","onTypeConfig","typeConfig","kind","model","extensions","pothosDrizzleModel","iface","interfaces","interfaceModel","buildCache","getTypeConfig","PothosSchemaError","name","onOutputFieldConfig","fieldConfig","pothosOptions","select","pothosDrizzleSelect","args","ctx","nestedQuery","columns","wrapResolve","resolver","parentConfig","parentType","parentTypes","Set","interfaceConfig","add","modelLoader","pothosDrizzleLoader","Error","parent","context","info","mapping","getLoaderMapping","path","setLoaderMappings","loadSelection","then","result","SchemaBuilder","registerPlugin"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["DrizzleObjectFieldBuilder","PothosDrizzlePlugin","drizzleClientCache","drizzleConnectionHelpers","drizzleTableName","pluginName","BasePlugin","onTypeConfig","typeConfig","kind","model","extensions","pothosDrizzleModel","iface","interfaces","interfaceModel","buildCache","getTypeConfig","PothosSchemaError","name","onOutputFieldConfig","fieldConfig","pothosOptions","select","pothosDrizzleSelect","args","ctx","nestedQuery","_resolveSelection","pathInfo","nestedQueryWithPath","Object","assign","path","segments","columns","wrapResolve","resolver","parentConfig","parentType","parentTypes","Set","interfaceConfig","add","modelLoader","pothosDrizzleLoader","Error","parent","context","info","mapping","getLoaderMapping","setLoaderMappings","loadSelection","then","result","SchemaBuilder","registerPlugin"],"mappings":"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"}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":["DrizzleObjectRef","drizzleTableName","Symbol","for"],"mappings":";;;;;;;;;;;QAssBSA;eAAAA,2BAAgB;;QAnnBZC;eAAAA;;;2BAmnBoB;AAnnB1B,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC"}
1
+ {"version":3,"sources":["../src/types.ts"],"names":["DrizzleObjectRef","drizzleTableName","Symbol","for"],"mappings":";;;;;;;;;;;QAkuBSA;eAAAA,2BAAgB;;QA3nBZC;eAAAA;;;2BA2nBoB;AA3nB1B,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC"}
@@ -30,7 +30,7 @@ const _graphql = require("graphql");
30
30
  const _loadermap = require("./loader-map");
31
31
  const _selections = require("./selections");
32
32
  const _usage = require("./usage");
33
- function addTypeSelectionsForField(config, type, context, info, state, selection, indirectPath, deferred) {
33
+ function addTypeSelectionsForField(config, type, context, info, state, selection, indirectPath, deferred, segments = []) {
34
34
  if (selection.name.value.startsWith('__')) {
35
35
  return;
36
36
  }
@@ -41,10 +41,10 @@ function addTypeSelectionsForField(config, type, context, info, state, selection
41
41
  resolveIndirectIncludePaths(type, info, selection, [], (_pothosIndirectInclude_paths = pothosIndirectInclude.paths) !== null && _pothosIndirectInclude_paths !== void 0 ? _pothosIndirectInclude_paths : [
42
42
  pothosIndirectInclude.path
43
43
  ], indirectPath, (resolvedType, field, path)=>{
44
- addTypeSelectionsForField(config, resolvedType, context, info, state, field, path, deferred);
44
+ addTypeSelectionsForField(config, resolvedType, context, info, state, field, path, deferred, segments);
45
45
  }, deferred);
46
46
  } else if (pothosIndirectInclude) {
47
- addTypeSelectionsForField(config, info.schema.getType(pothosIndirectInclude.getType()), context, info, state, selection, indirectPath, deferred);
47
+ addTypeSelectionsForField(config, info.schema.getType(pothosIndirectInclude.getType()), context, info, state, selection, indirectPath, deferred, segments);
48
48
  return;
49
49
  }
50
50
  if (!((0, _graphql.isObjectType)(type) || (0, _graphql.isInterfaceType)(type))) {
@@ -56,7 +56,7 @@ function addTypeSelectionsForField(config, type, context, info, state, selection
56
56
  });
57
57
  }
58
58
  if (selection.selectionSet && (!deferred || !state.skipDeferredFragments)) {
59
- addNestedSelections(config, type, context, info, state, selection.selectionSet, indirectPath);
59
+ addNestedSelections(config, type, context, info, state, selection.selectionSet, indirectPath, segments);
60
60
  }
61
61
  }
62
62
  function resolveIndirectIncludePaths(type, info, selection, pathPrefix, includePaths, path, resolve, deferred) {
@@ -108,12 +108,12 @@ function resolveIndirectInclude(type, info, selection, includePath, path, resolv
108
108
  }
109
109
  }
110
110
  }
111
- function addNestedSelections(config, type, context, info, state, selections, indirectPath) {
111
+ function addNestedSelections(config, type, context, info, state, selections, indirectPath, segments = []) {
112
112
  let parentType = type;
113
113
  for (const selection of selections.selections){
114
114
  switch(selection.kind){
115
115
  case _graphql.Kind.FIELD:
116
- addFieldSelection(config, type, context, info, state, selection, indirectPath);
116
+ addFieldSelection(config, type, context, info, state, selection, indirectPath, segments);
117
117
  continue;
118
118
  case _graphql.Kind.FRAGMENT_SPREAD:
119
119
  var _parentType_extensions;
@@ -124,7 +124,7 @@ function addNestedSelections(config, type, context, info, state, selections, ind
124
124
  if ((0, _graphql.isObjectType)(type) ? parentType.name !== type.name : ((_parentType_extensions = parentType.extensions) === null || _parentType_extensions === void 0 ? void 0 : _parentType_extensions.pothosDrizzleModel) !== type.extensions.pothosDrizzleModel) {
125
125
  continue;
126
126
  }
127
- addNestedSelections(config, parentType, context, info, state, info.fragments[selection.name.value].selectionSet, indirectPath);
127
+ addNestedSelections(config, parentType, context, info, state, info.fragments[selection.name.value].selectionSet, indirectPath, segments);
128
128
  continue;
129
129
  case _graphql.Kind.INLINE_FRAGMENT:
130
130
  var _parentType_extensions1;
@@ -135,15 +135,15 @@ function addNestedSelections(config, type, context, info, state, selections, ind
135
135
  if ((0, _graphql.isObjectType)(type) ? parentType.name !== type.name : ((_parentType_extensions1 = parentType.extensions) === null || _parentType_extensions1 === void 0 ? void 0 : _parentType_extensions1.pothosDrizzleModel) !== type.extensions.pothosDrizzleModel) {
136
136
  continue;
137
137
  }
138
- addNestedSelections(config, parentType, context, info, state, selection.selectionSet, indirectPath);
138
+ addNestedSelections(config, parentType, context, info, state, selection.selectionSet, indirectPath, segments);
139
139
  continue;
140
140
  default:
141
141
  throw new _core.PothosValidationError(`Unsupported selection kind ${selection.kind}`);
142
142
  }
143
143
  }
144
144
  }
145
- function addFieldSelection(config, type, context, info, state, selection, indirectPath) {
146
- var _field_extensions;
145
+ function addFieldSelection(config, type, context, info, state, selection, indirectPath, segments = []) {
146
+ var _selection_alias, _field_extensions;
147
147
  if (selection.name.value.startsWith('__') || fieldSkipped(info, selection)) {
148
148
  return;
149
149
  }
@@ -151,10 +151,24 @@ function addFieldSelection(config, type, context, info, state, selection, indire
151
151
  if (!field) {
152
152
  throw new _core.PothosValidationError(`Unknown field ${selection.name.value} on ${type.name}`);
153
153
  }
154
+ var _selection_alias_value;
155
+ const allSegments = [
156
+ ...segments,
157
+ {
158
+ field: selection.name.value,
159
+ alias: (_selection_alias_value = (_selection_alias = selection.alias) === null || _selection_alias === void 0 ? void 0 : _selection_alias.value) !== null && _selection_alias_value !== void 0 ? _selection_alias_value : selection.name.value,
160
+ parentType: type.name,
161
+ isList: (0, _graphql.isListType)(field.type) || (0, _graphql.isListType)((0, _graphql.getNamedType)(field.type))
162
+ }
163
+ ];
154
164
  const fieldSelect = (_field_extensions = field.extensions) === null || _field_extensions === void 0 ? void 0 : _field_extensions.pothosDrizzleSelect;
155
165
  let fieldSelectionMap;
156
166
  let mappings = {};
157
167
  if (typeof fieldSelect === 'function') {
168
+ const pathInfo = {
169
+ path: allSegments.map((s)=>`${s.parentType}.${s.field}`),
170
+ segments: allSegments
171
+ };
158
172
  const args = (0, _core.getMappedArgumentValues)(field, selection, context, info);
159
173
  fieldSelectionMap = fieldSelect(args, context, (rawQuery, indirectInclude, expectedType)=>{
160
174
  const returnType = (0, _graphql.getNamedType)(field.type);
@@ -173,10 +187,10 @@ function addFieldSelection(config, type, context, info, state, selection, indire
173
187
  resolveIndirectIncludePaths(returnType, info, selection, (_returnType_extensions_pothosIndirectInclude_path = (_returnType_extensions = returnType.extensions) === null || _returnType_extensions === void 0 ? void 0 : (_returnType_extensions_pothosIndirectInclude = _returnType_extensions.pothosIndirectInclude) === null || _returnType_extensions_pothosIndirectInclude === void 0 ? void 0 : _returnType_extensions_pothosIndirectInclude.path) !== null && _returnType_extensions_pothosIndirectInclude_path !== void 0 ? _returnType_extensions_pothosIndirectInclude_path : [], (_normalizedIndirectInclude_paths = normalizedIndirectInclude.paths) !== null && _normalizedIndirectInclude_paths !== void 0 ? _normalizedIndirectInclude_paths : [
174
188
  normalizedIndirectInclude.path
175
189
  ], [], (resolvedType, resolvedField, path, deferred)=>{
176
- addTypeSelectionsForField(config, resolvedType, context, info, fieldState, resolvedField, path, deferred);
190
+ addTypeSelectionsForField(config, resolvedType, context, info, fieldState, resolvedField, path, deferred, allSegments);
177
191
  });
178
192
  }
179
- addTypeSelectionsForField(config, returnType, context, info, fieldState, selection, []);
193
+ addTypeSelectionsForField(config, returnType, context, info, fieldState, selection, [], undefined, allSegments);
180
194
  mappings = fieldState.mappings;
181
195
  return (0, _selections.selectionToQuery)(config, fieldState);
182
196
  }, (path)=>{
@@ -188,16 +202,16 @@ function addFieldSelection(config, type, context, info, state, selection, indire
188
202
  node = resolvedField;
189
203
  });
190
204
  return node;
191
- });
205
+ }, pathInfo);
192
206
  } else {
193
207
  fieldSelectionMap = fieldSelect;
194
208
  }
195
209
  if (fieldSelect && (0, _selections.selectionCompatible)(state, fieldSelectionMap, true)) {
196
- var _selection_alias;
210
+ var _selection_alias1;
197
211
  (0, _selections.mergeSelection)(config, state, fieldSelectionMap);
198
- var _selection_alias_value;
212
+ var _selection_alias_value1;
199
213
  state.mappings = mergeMappings(state.mappings, {
200
- [(_selection_alias_value = (_selection_alias = selection.alias) === null || _selection_alias === void 0 ? void 0 : _selection_alias.value) !== null && _selection_alias_value !== void 0 ? _selection_alias_value : selection.name.value]: {
214
+ [(_selection_alias_value1 = (_selection_alias1 = selection.alias) === null || _selection_alias1 === void 0 ? void 0 : _selection_alias1.value) !== null && _selection_alias_value1 !== void 0 ? _selection_alias_value1 : selection.name.value]: {
201
215
  field: selection.name.value,
202
216
  type: type.name,
203
217
  mappings,
@@ -253,8 +267,21 @@ function stateFromInfo({ config, context, info, typeName, select, path = [], pat
253
267
  }, deferred);
254
268
  });
255
269
  } else {
270
+ var _rootFieldNode_alias;
256
271
  state = createStateForSelection(config, info, type, undefined, initialSelection);
257
- addTypeSelectionsForField(config, type, context, info, state, info.fieldNodes[0], []);
272
+ // Create initial segment for the root query field
273
+ const rootFieldNode = info.fieldNodes[0];
274
+ const rootField = info.parentType.getFields()[rootFieldNode.name.value];
275
+ var _rootFieldNode_alias_value;
276
+ const initialSegments = rootField ? [
277
+ {
278
+ field: rootFieldNode.name.value,
279
+ alias: (_rootFieldNode_alias_value = (_rootFieldNode_alias = rootFieldNode.alias) === null || _rootFieldNode_alias === void 0 ? void 0 : _rootFieldNode_alias.value) !== null && _rootFieldNode_alias_value !== void 0 ? _rootFieldNode_alias_value : rootFieldNode.name.value,
280
+ parentType: info.parentType.name,
281
+ isList: (0, _graphql.isListType)(rootField.type) || (0, _graphql.isListType)((0, _graphql.getNamedType)(rootField.type))
282
+ }
283
+ ] : [];
284
+ addTypeSelectionsForField(config, type, context, info, state, info.fieldNodes[0], [], undefined, initialSegments);
258
285
  }
259
286
  if (!state) {
260
287
  state = createStateForSelection(config, info, type, undefined, initialSelection);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","mergeMappings","existing","incoming","result","key","entries","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","segments","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","allSegments","isList","isListType","fieldSelect","fieldSelectionMap","mappings","pathInfo","map","s","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","_","selectionCompatible","mergeMappings","existing","incoming","result","key","entries","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","rootFieldNode","rootField","initialSegments","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pothos/plugin-drizzle",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "description": "A Pothos plugin for drizzle",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./dts/index.d.ts",
@@ -41,18 +41,18 @@
41
41
  "devDependencies": {
42
42
  "@libsql/client": "^0.15.15",
43
43
  "drizzle-graphql": "^0.8.5",
44
- "drizzle-kit": "1.0.0-beta.2-b705c25",
45
- "drizzle-orm": "1.0.0-beta.2-b705c25",
44
+ "drizzle-kit": "1.0.0-beta.10-42c284e",
45
+ "drizzle-orm": "1.0.0-beta.10-42c284e",
46
46
  "graphql-scalars": "^1.25.0",
47
47
  "graphql-tag": "^2.12.6",
48
48
  "postgres": "^3.4.7",
49
- "@pothos/plugin-add-graphql": "4.2.4",
50
- "@pothos/plugin-relay": "4.6.2",
51
- "@pothos/plugin-with-input": "4.1.4",
49
+ "@pothos/core": "4.12.0",
50
+ "@pothos/plugin-add-graphql": "4.3.0",
51
+ "@pothos/plugin-errors": "4.9.0",
52
+ "@pothos/plugin-relay": "4.7.0",
52
53
  "@pothos/plugin-scope-auth": "4.1.6",
53
- "@pothos/core": "4.10.0",
54
54
  "@pothos/test-utils": "2.1.3",
55
- "@pothos/plugin-errors": "4.8.0"
55
+ "@pothos/plugin-with-input": "4.1.4"
56
56
  },
57
57
  "scripts": {
58
58
  "type": "tsc --project tsconfig.type.json",
@@ -41,6 +41,7 @@ import type { DrizzleRef } from './interface-ref';
41
41
  import type {
42
42
  DrizzleConnectionShape,
43
43
  ListRelation,
44
+ PathInfo,
44
45
  RelatedConnectionOptions,
45
46
  RelatedCountOptions,
46
47
  RelatedFieldOptions,
@@ -219,9 +220,23 @@ export class DrizzleObjectFieldBuilder<
219
220
  )!;
220
221
  };
221
222
 
222
- const getQuery = (args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => {
223
- const { limit, orderBy, where, ...fieldQuery } =
224
- (typeof query === 'function' ? query(args, ctx) : query) ?? {};
223
+ const getQuery = (
224
+ args: PothosSchemaTypes.DefaultConnectionArguments,
225
+ ctx: {},
226
+ pathInfo?: import('./types').PathInfo,
227
+ ) => {
228
+ const { limit, orderBy, where, ...fieldQuery } = ((typeof query === 'function'
229
+ ? (query as (args: {}, ctx: {}, pathInfo?: import('./types').PathInfo) => {})(
230
+ args,
231
+ ctx,
232
+ pathInfo,
233
+ )
234
+ : query) ?? {}) as {
235
+ limit?: number;
236
+ orderBy?: unknown;
237
+ where?: SQL;
238
+ columns?: Record<string, boolean>;
239
+ };
225
240
 
226
241
  const { cursorColumns, columns, ...connectionQuery } = drizzleCursorConnectionQuery({
227
242
  ctx,
@@ -255,6 +270,7 @@ export class DrizzleObjectFieldBuilder<
255
270
  context: object,
256
271
  nestedQuery: (query: unknown, path?: unknown) => { select?: object },
257
272
  getSelection: (path: string[]) => FieldNode | null,
273
+ pathInfo: import('./types').PathInfo,
258
274
  ) => {
259
275
  typeName ??= this.builder.configStore.getTypeConfig(ref).name;
260
276
 
@@ -279,7 +295,7 @@ export class DrizzleObjectFieldBuilder<
279
295
  };
280
296
  }
281
297
 
282
- const nested = nestedQuery(getQuery(args, context).select, {
298
+ const nested = nestedQuery(getQuery(args, context, pathInfo).select, {
283
299
  getType: () => typeName!,
284
300
  paths: [[{ name: 'nodes' }], [{ name: 'edges' }, { name: 'node' }]],
285
301
  }) as SelectionMap;
@@ -500,14 +516,24 @@ export class DrizzleObjectFieldBuilder<
500
516
 
501
517
  const { query = {}, extensions, ...rest } = options;
502
518
 
503
- const relationSelect = (args: object, context: object, nestedQuery: (query: unknown) => {}) => {
519
+ const relationSelect = (
520
+ args: object,
521
+ context: object,
522
+ nestedQuery: (query: unknown) => {},
523
+ _resolveSelection: unknown,
524
+ pathInfo: PathInfo,
525
+ ) => {
504
526
  const relQuery = {
505
527
  columns: {},
506
528
  with: {
507
529
  [name]: {
508
530
  ...nestedQuery(query),
509
531
  ...((typeof query === 'function'
510
- ? (query as (args: {}, context: {}) => {})(args, context)
532
+ ? (query as (args: {}, context: {}, pathInfo: PathInfo) => {})(
533
+ args,
534
+ context,
535
+ pathInfo,
536
+ )
511
537
  : query) as {}),
512
538
  },
513
539
  },
package/src/index.ts CHANGED
@@ -121,14 +121,23 @@ export class PothosDrizzlePlugin<Types extends SchemaTypes> extends BasePlugin<T
121
121
  args: {},
122
122
  ctx: Types['Context'],
123
123
  nestedQuery: (query: unknown, path?: string[]) => never,
124
- ) => ({
125
- columns: {},
126
- ...(select as (args: unknown, ctx: unknown, nestedQuery: unknown) => {})(
127
- args,
128
- ctx,
129
- nestedQuery,
130
- ),
131
- })
124
+ _resolveSelection: unknown,
125
+ pathInfo: import('./types').PathInfo,
126
+ ) => {
127
+ // Attach PathInfo properties to nestedQuery for t.field select callbacks
128
+ const nestedQueryWithPath = Object.assign(nestedQuery, {
129
+ path: pathInfo.path,
130
+ segments: pathInfo.segments,
131
+ });
132
+ return {
133
+ columns: {},
134
+ ...(select as (args: unknown, ctx: unknown, nestedQuery: unknown) => {})(
135
+ args,
136
+ ctx,
137
+ nestedQueryWithPath,
138
+ ),
139
+ };
140
+ }
132
141
  : {
133
142
  columns: {},
134
143
  ...select,
package/src/types.ts CHANGED
@@ -34,6 +34,7 @@ import type {
34
34
  Many,
35
35
  Relation,
36
36
  SQL,
37
+ SQLWrapper,
37
38
  Table,
38
39
  TableRelationalConfig,
39
40
  } from 'drizzle-orm';
@@ -43,7 +44,19 @@ import type { DrizzleRef } from './interface-ref';
43
44
  import type { IndirectInclude } from './utils/map-query';
44
45
  import type { SelectionMap } from './utils/selections';
45
46
 
46
- export type DrizzleClient = {
47
+ export interface FieldPathInfo {
48
+ field: string;
49
+ alias: string;
50
+ parentType: string;
51
+ isList: boolean;
52
+ }
53
+
54
+ export interface PathInfo {
55
+ path: string[];
56
+ segments: FieldPathInfo[];
57
+ }
58
+
59
+ export type DrizzleClient<TCountSource = Table | SQL | SQLWrapper> = {
47
60
  readonly _: {
48
61
  readonly schema: unknown;
49
62
  readonly fullSchema: Record<string, unknown>;
@@ -51,35 +64,42 @@ export type DrizzleClient = {
51
64
  readonly relations: AnyRelations;
52
65
  };
53
66
  query: {};
54
- $count: (table: Table, filter?: SQL) => SQL<number>;
67
+ $count: (source: TCountSource, filter?: SQL) => SQL<number>;
55
68
  };
56
69
 
57
- export type DrizzlePluginOptions<Types extends SchemaTypes> = {
70
+ type GetTableConfigFn<TTable = Table> = (table: TTable) => {
71
+ primaryKeys: {
72
+ readonly columns: Column[];
73
+ }[];
74
+ readonly columns: Column[];
75
+ };
76
+
77
+ type AnyRelationTable<Types extends SchemaTypes> =
78
+ Types['DrizzleRelations'][keyof Types['DrizzleRelations']]['table'];
79
+
80
+ type DrizzleClientForTypes<Types extends SchemaTypes> = DrizzleClient<
81
+ AnyRelationTable<Types> | SQL | SQLWrapper
82
+ >;
83
+
84
+ type DrizzlePluginBaseOptions = {
58
85
  maxConnectionSize?: number;
59
86
  defaultConnectionSize?: number;
60
87
  skipDeferredFragments?: boolean;
61
- } & (
62
- | {
63
- client: DrizzleClient;
64
- getTableConfig: (table: Table) => {
65
- primaryKeys: {
66
- readonly columns: Column[];
67
- }[];
68
- readonly columns: Column[];
69
- };
70
- relations?: Types['DrizzleRelations'];
71
- }
72
- | {
73
- client: (ctx: Types['Context']) => DrizzleClient;
74
- getTableConfig: (table: Table) => {
75
- primaryKeys: {
76
- readonly columns: Column[];
77
- }[];
78
- readonly columns: Column[];
79
- };
80
- relations: Types['DrizzleRelations'];
81
- }
82
- );
88
+ };
89
+
90
+ export type DrizzlePluginOptions<Types extends SchemaTypes> = DrizzlePluginBaseOptions &
91
+ (
92
+ | {
93
+ client: DrizzleClientForTypes<Types>;
94
+ getTableConfig: GetTableConfigFn<AnyRelationTable<Types>>;
95
+ relations?: Types['DrizzleRelations'];
96
+ }
97
+ | {
98
+ client: (ctx: Types['Context']) => DrizzleClientForTypes<Types>;
99
+ getTableConfig: GetTableConfigFn<AnyRelationTable<Types>>;
100
+ relations: Types['DrizzleRelations'];
101
+ }
102
+ );
83
103
 
84
104
  export const drizzleTableName = Symbol.for('Pothos.drizzleTableName');
85
105
 
@@ -315,10 +335,11 @@ export type DrizzleObjectFieldOptions<
315
335
  | ((
316
336
  args: InputShapeFromFields<Args>,
317
337
  ctx: Types['Context'],
318
- nestedSelection: <Selection extends boolean | {}>(
338
+ nestedSelection: (<Selection extends boolean | {}>(
319
339
  selection?: Selection,
320
340
  path?: string[],
321
- ) => Selection,
341
+ ) => Selection) &
342
+ PathInfo,
322
343
  ) => DBQueryConfig<'one', Types['DrizzleRelations'], ExtractTable<Types, ParentShape>>)
323
344
  );
324
345
  };
@@ -337,6 +358,7 @@ export type DrizzleFieldSelection =
337
358
  type?: string,
338
359
  ) => DBQueryConfig<'one'> | boolean,
339
360
  resolveSelection: (path: string[]) => FieldNode | null,
361
+ pathInfo: PathInfo,
340
362
  ) => SelectionMap);
341
363
 
342
364
  export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
@@ -472,7 +494,13 @@ export type QueryForField<
472
494
  'columns' | 'extra' | 'with'
473
495
  >
474
496
  ) extends infer QueryConfig
475
- ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types['Context']) => QueryConfig)
497
+ ?
498
+ | QueryConfig
499
+ | ((
500
+ args: InputShapeFromFields<Args>,
501
+ context: Types['Context'],
502
+ pathInfo: PathInfo,
503
+ ) => QueryConfig)
476
504
  : never;
477
505
 
478
506
  export type QueryForDrizzleField<
@@ -495,7 +523,7 @@ export type QueryForRelatedConnection<
495
523
  > & {
496
524
  orderBy?: ConnectionOrderBy<Table> | ((table: Table) => ConnectionOrderBy<Table>);
497
525
  } extends infer QueryConfig
498
- ? QueryConfig | ((args: Args, context: Types['Context']) => QueryConfig)
526
+ ? QueryConfig | ((args: Args, context: Types['Context'], pathInfo: PathInfo) => QueryConfig)
499
527
  : never;
500
528
 
501
529
  export type QueryForDrizzleConnection<