@pothos/plugin-drizzle 0.16.2 → 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.
@@ -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.2",
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",
@@ -46,13 +46,13 @@
46
46
  "graphql-scalars": "^1.25.0",
47
47
  "graphql-tag": "^2.12.6",
48
48
  "postgres": "^3.4.7",
49
+ "@pothos/core": "4.12.0",
49
50
  "@pothos/plugin-add-graphql": "4.3.0",
50
51
  "@pothos/plugin-errors": "4.9.0",
51
- "@pothos/plugin-relay": "4.6.2",
52
+ "@pothos/plugin-relay": "4.7.0",
52
53
  "@pothos/plugin-scope-auth": "4.1.6",
53
- "@pothos/plugin-with-input": "4.1.4",
54
54
  "@pothos/test-utils": "2.1.3",
55
- "@pothos/core": "4.12.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
@@ -44,6 +44,18 @@ import type { DrizzleRef } from './interface-ref';
44
44
  import type { IndirectInclude } from './utils/map-query';
45
45
  import type { SelectionMap } from './utils/selections';
46
46
 
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
+
47
59
  export type DrizzleClient<TCountSource = Table | SQL | SQLWrapper> = {
48
60
  readonly _: {
49
61
  readonly schema: unknown;
@@ -323,10 +335,11 @@ export type DrizzleObjectFieldOptions<
323
335
  | ((
324
336
  args: InputShapeFromFields<Args>,
325
337
  ctx: Types['Context'],
326
- nestedSelection: <Selection extends boolean | {}>(
338
+ nestedSelection: (<Selection extends boolean | {}>(
327
339
  selection?: Selection,
328
340
  path?: string[],
329
- ) => Selection,
341
+ ) => Selection) &
342
+ PathInfo,
330
343
  ) => DBQueryConfig<'one', Types['DrizzleRelations'], ExtractTable<Types, ParentShape>>)
331
344
  );
332
345
  };
@@ -345,6 +358,7 @@ export type DrizzleFieldSelection =
345
358
  type?: string,
346
359
  ) => DBQueryConfig<'one'> | boolean,
347
360
  resolveSelection: (path: string[]) => FieldNode | null,
361
+ pathInfo: PathInfo,
348
362
  ) => SelectionMap);
349
363
 
350
364
  export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
@@ -480,7 +494,13 @@ export type QueryForField<
480
494
  'columns' | 'extra' | 'with'
481
495
  >
482
496
  ) extends infer QueryConfig
483
- ? 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)
484
504
  : never;
485
505
 
486
506
  export type QueryForDrizzleField<
@@ -503,7 +523,7 @@ export type QueryForRelatedConnection<
503
523
  > & {
504
524
  orderBy?: ConnectionOrderBy<Table> | ((table: Table) => ConnectionOrderBy<Table>);
505
525
  } extends infer QueryConfig
506
- ? QueryConfig | ((args: Args, context: Types['Context']) => QueryConfig)
526
+ ? QueryConfig | ((args: Args, context: Types['Context'], pathInfo: PathInfo) => QueryConfig)
507
527
  : never;
508
528
 
509
529
  export type QueryForDrizzleConnection<
@@ -15,11 +15,12 @@ import {
15
15
  getNamedType,
16
16
  type InlineFragmentNode,
17
17
  isInterfaceType,
18
+ isListType,
18
19
  isObjectType,
19
20
  Kind,
20
21
  type SelectionSetNode,
21
22
  } from 'graphql';
22
- import type { DrizzleFieldSelection } from '../types';
23
+ import type { DrizzleFieldSelection, FieldPathInfo, PathInfo } from '../types';
23
24
  import type { PothosDrizzleSchemaConfig } from './config';
24
25
  import { type LoaderMappings, setLoaderMappings } from './loader-map';
25
26
  import {
@@ -47,6 +48,7 @@ function addTypeSelectionsForField(
47
48
  selection: FieldNode,
48
49
  indirectPath: string[],
49
50
  deferred?: boolean,
51
+ segments: FieldPathInfo[] = [],
50
52
  ) {
51
53
  if (selection.name.value.startsWith('__')) {
52
54
  return;
@@ -78,6 +80,7 @@ function addTypeSelectionsForField(
78
80
  field,
79
81
  path,
80
82
  deferred,
83
+ segments,
81
84
  );
82
85
  },
83
86
  deferred,
@@ -92,6 +95,7 @@ function addTypeSelectionsForField(
92
95
  selection,
93
96
  indirectPath,
94
97
  deferred,
98
+ segments,
95
99
  );
96
100
  return;
97
101
  }
@@ -105,7 +109,16 @@ function addTypeSelectionsForField(
105
109
  }
106
110
 
107
111
  if (selection.selectionSet && (!deferred || !state.skipDeferredFragments)) {
108
- addNestedSelections(config, type, context, info, state, selection.selectionSet, indirectPath);
112
+ addNestedSelections(
113
+ config,
114
+ type,
115
+ context,
116
+ info,
117
+ state,
118
+ selection.selectionSet,
119
+ indirectPath,
120
+ segments,
121
+ );
109
122
  }
110
123
  }
111
124
 
@@ -225,12 +238,13 @@ function addNestedSelections(
225
238
  state: SelectionState,
226
239
  selections: SelectionSetNode,
227
240
  indirectPath: string[],
241
+ segments: FieldPathInfo[] = [],
228
242
  ) {
229
243
  let parentType = type;
230
244
  for (const selection of selections.selections) {
231
245
  switch (selection.kind) {
232
246
  case Kind.FIELD:
233
- addFieldSelection(config, type, context, info, state, selection, indirectPath);
247
+ addFieldSelection(config, type, context, info, state, selection, indirectPath, segments);
234
248
 
235
249
  continue;
236
250
  case Kind.FRAGMENT_SPREAD:
@@ -257,6 +271,7 @@ function addNestedSelections(
257
271
  state,
258
272
  info.fragments[selection.name.value].selectionSet,
259
273
  indirectPath,
274
+ segments,
260
275
  );
261
276
 
262
277
  continue;
@@ -285,6 +300,7 @@ function addNestedSelections(
285
300
  state,
286
301
  selection.selectionSet,
287
302
  indirectPath,
303
+ segments,
288
304
  );
289
305
 
290
306
  continue;
@@ -305,6 +321,7 @@ function addFieldSelection(
305
321
  state: SelectionState,
306
322
  selection: FieldNode,
307
323
  indirectPath: string[],
324
+ segments: FieldPathInfo[] = [],
308
325
  ) {
309
326
  if (selection.name.value.startsWith('__') || fieldSkipped(info, selection)) {
310
327
  return;
@@ -314,11 +331,26 @@ function addFieldSelection(
314
331
  throw new PothosValidationError(`Unknown field ${selection.name.value} on ${type.name}`);
315
332
  }
316
333
 
334
+ const allSegments = [
335
+ ...segments,
336
+ {
337
+ field: selection.name.value,
338
+ alias: selection.alias?.value ?? selection.name.value,
339
+ parentType: type.name,
340
+ isList: isListType(field.type) || isListType(getNamedType(field.type)),
341
+ },
342
+ ];
343
+
317
344
  const fieldSelect = field.extensions?.pothosDrizzleSelect as DrizzleFieldSelection | undefined;
318
345
 
319
346
  let fieldSelectionMap: DBQueryConfig<'one'> | undefined;
320
347
  let mappings: LoaderMappings = {};
321
348
  if (typeof fieldSelect === 'function') {
349
+ const pathInfo: PathInfo = {
350
+ path: allSegments.map((s) => `${s.parentType}.${s.field}`),
351
+ segments: allSegments,
352
+ };
353
+
322
354
  const args = getMappedArgumentValues(field, selection, context, info) as Record<
323
355
  string,
324
356
  unknown
@@ -369,11 +401,22 @@ function addFieldSelection(
369
401
  resolvedField,
370
402
  path,
371
403
  deferred,
404
+ allSegments,
372
405
  );
373
406
  },
374
407
  );
375
408
  }
376
- addTypeSelectionsForField(config, returnType, context, info, fieldState, selection, []);
409
+ addTypeSelectionsForField(
410
+ config,
411
+ returnType,
412
+ context,
413
+ info,
414
+ fieldState,
415
+ selection,
416
+ [],
417
+ undefined,
418
+ allSegments,
419
+ );
377
420
  mappings = fieldState.mappings;
378
421
  return selectionToQuery(config, fieldState);
379
422
  },
@@ -394,6 +437,7 @@ function addFieldSelection(
394
437
  );
395
438
  return node;
396
439
  },
440
+ pathInfo,
397
441
  );
398
442
  } else {
399
443
  fieldSelectionMap = fieldSelect!;
@@ -522,7 +566,31 @@ export function stateFromInfo<T extends SelectionMap>({
522
566
  } else {
523
567
  state = createStateForSelection(config, info, type, undefined, initialSelection);
524
568
 
525
- addTypeSelectionsForField(config, type, context, info, state, info.fieldNodes[0], []);
569
+ // Create initial segment for the root query field
570
+ const rootFieldNode = info.fieldNodes[0];
571
+ const rootField = info.parentType.getFields()[rootFieldNode.name.value];
572
+ const initialSegments: FieldPathInfo[] = rootField
573
+ ? [
574
+ {
575
+ field: rootFieldNode.name.value,
576
+ alias: rootFieldNode.alias?.value ?? rootFieldNode.name.value,
577
+ parentType: info.parentType.name,
578
+ isList: isListType(rootField.type) || isListType(getNamedType(rootField.type)),
579
+ },
580
+ ]
581
+ : [];
582
+
583
+ addTypeSelectionsForField(
584
+ config,
585
+ type,
586
+ context,
587
+ info,
588
+ state,
589
+ info.fieldNodes[0],
590
+ [],
591
+ undefined,
592
+ initialSegments,
593
+ );
526
594
  }
527
595
 
528
596
  if (!state) {