@k0lyan/nestjs-prisma-graphql-generator 0.5.1 → 0.5.2

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.
@@ -28,8 +28,8 @@ function generateHelpersFile(sourceFile, _config) {
28
28
  import type { GraphQLResolveInfo } from 'graphql';
29
29
  import {
30
30
  parseResolveInfo,
31
- simplifyParsedResolveInfoFragmentWithType,
32
31
  ResolveTree,
32
+ FieldsByTypeName,
33
33
  } from 'graphql-parse-resolve-info';
34
34
 
35
35
  /**
@@ -41,184 +41,66 @@ export interface PrismaSelect {
41
41
  }
42
42
 
43
43
  /**
44
- * Context type that should contain the Prisma client
44
+ * Prisma aggregate arguments type
45
+ *
46
+ * For aggregate operations, Prisma expects _count, _avg, etc. at the top level,
47
+ * NOT wrapped in a select object.
45
48
  */
46
- export interface GraphQLContext<PrismaClient = unknown> {
47
- prisma: PrismaClient;
48
- [key: string]: unknown;
49
+ export interface PrismaAggregateArgs {
50
+ _count?: boolean | Record<string, boolean>;
51
+ _avg?: Record<string, boolean>;
52
+ _sum?: Record<string, boolean>;
53
+ _min?: Record<string, boolean>;
54
+ _max?: Record<string, boolean>;
49
55
  }
50
56
 
51
57
  /**
52
- * Fields that should be excluded from selection
53
- */
54
- const EXCLUDED_FIELDS = new Set([
55
- '__typename',
56
- '_count',
57
- '_avg',
58
- '_sum',
59
- '_min',
60
- '_max',
61
- ]);
62
-
63
- /**
64
- * Transform GraphQL resolve info into Prisma select/include arguments
58
+ * Context type that should contain the Prisma client.
59
+ * Extend this interface in your app to add custom properties.
65
60
  *
66
- * This is the core optimization function that analyzes the GraphQL query
67
- * and builds an optimal Prisma query with only the requested fields.
68
- *
69
- * @param info - GraphQL resolve info from the resolver
70
- * @returns Prisma select object
61
+ * @example
62
+ * // In your app
63
+ * interface AppContext extends GraphQLContext {
64
+ * req: Request;
65
+ * user?: User;
66
+ * }
71
67
  */
72
- export function transformInfoIntoPrismaArgs(info: GraphQLResolveInfo): PrismaSelect {
73
- const parsedInfo = parseResolveInfo(info);
74
-
75
- if (!parsedInfo) {
76
- return {};
77
- }
78
-
79
- const simplifiedInfo = simplifyParsedResolveInfoFragmentWithType(
80
- parsedInfo as ResolveTree,
81
- info.returnType,
82
- );
83
-
84
- return buildPrismaSelect(simplifiedInfo.fields);
68
+ export interface GraphQLContext<PrismaClient = unknown> {
69
+ prisma: PrismaClient;
70
+ [key: string]: unknown;
85
71
  }
86
72
 
87
- /**
88
- * Build Prisma select object from parsed GraphQL fields
89
- */
90
- function buildPrismaSelect(fields: Record<string, ResolveTree>): PrismaSelect {
91
- const select: Record<string, boolean | PrismaSelect> = {};
92
-
93
- for (const [fieldName, fieldInfo] of Object.entries(fields)) {
94
- if (EXCLUDED_FIELDS.has(fieldName)) {
95
- continue;
96
- }
97
-
98
- const nestedFields = fieldInfo.fieldsByTypeName;
99
- const nestedTypes = Object.keys(nestedFields);
100
-
101
- if (nestedTypes.length > 0) {
102
- // Relation field
103
- const allNestedFields: Record<string, ResolveTree> = {};
104
- for (const typeName of nestedTypes) {
105
- Object.assign(allNestedFields, nestedFields[typeName]);
106
- }
107
-
108
- const nestedSelect = buildPrismaSelect(allNestedFields);
109
-
110
- if (Object.keys(nestedSelect).length > 0) {
111
- select[fieldName] = nestedSelect;
112
- } else {
113
- select[fieldName] = true;
114
- }
115
- } else {
116
- select[fieldName] = true;
117
- }
118
- }
119
-
120
- if (Object.keys(select).length === 0) {
121
- return {};
122
- }
73
+ export function transformInfoIntoPrismaArgs(info: GraphQLResolveInfo): PrismaSelect {
74
+ const parsedInfo = parseResolveInfo(info) as ResolveTree | null;
75
+ if (!parsedInfo) return {};
123
76
 
124
- return { select };
77
+ const select = buildPrismaSelect(parsedInfo.fieldsByTypeName);
78
+ return Object.keys(select).length > 0 ? { select } : {};
125
79
  }
126
80
 
127
- /**
128
- * Get Prisma client from GraphQL context
129
- */
130
- export function getPrismaFromContext<PrismaClient = unknown>(
131
- context: GraphQLContext<PrismaClient>,
132
- ): PrismaClient {
133
- const prismaClient = context.prisma;
134
- if (!prismaClient) {
135
- throw new Error(
136
- 'Unable to find Prisma Client in GraphQL context. ' +
137
- 'Please provide it under the \`context["prisma"]\` key.'
138
- );
139
- }
140
- return prismaClient;
141
- }
81
+ function buildPrismaSelect(fieldsByTypeName: FieldsByTypeName): Record<string, any> {
82
+ const result: Record<string, any> = {};
142
83
 
143
- /**
144
- * Transform count fields into Prisma _count select
145
- */
146
- export function transformCountFieldIntoSelectRelationsCount(
147
- fields: Record<string, ResolveTree>,
148
- ): { _count?: { select: Record<string, boolean> } } {
149
- const countField = fields['_count'];
150
-
151
- if (!countField) {
152
- return {};
153
- }
84
+ for (const typeName in fieldsByTypeName) {
85
+ const fields = fieldsByTypeName[typeName];
86
+ for (const fieldName in fields) {
87
+ if (fieldName.startsWith('__') || fieldName.startsWith('_count') || fieldName.startsWith('_avg') || fieldName.startsWith('_sum') || fieldName.startsWith('_min') || fieldName.startsWith('_max')) continue;
154
88
 
155
- const countNestedFields = countField.fieldsByTypeName;
156
- const countTypes = Object.keys(countNestedFields);
157
-
158
- if (countTypes.length === 0) {
159
- return {};
160
- }
89
+ const field = fields[fieldName];
90
+ const nestedFields = field.fieldsByTypeName;
161
91
 
162
- const countSelect: Record<string, boolean> = {};
163
-
164
- for (const typeName of countTypes) {
165
- const typeFields = countNestedFields[typeName];
166
- if (typeFields) {
167
- for (const fieldName of Object.keys(typeFields)) {
168
- countSelect[fieldName] = true;
92
+ if (Object.keys(nestedFields).length > 0) {
93
+ const nestedSelect = buildPrismaSelect(nestedFields);
94
+ result[fieldName] = Object.keys(nestedSelect).length > 0 ? { select: nestedSelect } : true;
95
+ } else {
96
+ result[fieldName] = true;
169
97
  }
170
98
  }
171
99
  }
172
100
 
173
- if (Object.keys(countSelect).length === 0) {
174
- return {};
175
- }
176
-
177
- return {
178
- _count: {
179
- select: countSelect,
180
- },
181
- };
182
- }
183
-
184
- /**
185
- * Merge multiple Prisma select objects
186
- */
187
- export function mergePrismaSelects(...selects: PrismaSelect[]): PrismaSelect {
188
- const result: PrismaSelect = {};
189
-
190
- for (const select of selects) {
191
- if (select.select) {
192
- result.select = {
193
- ...result.select,
194
- ...select.select,
195
- };
196
- }
197
- if (select.include) {
198
- result.include = {
199
- ...result.include,
200
- ...select.include,
201
- };
202
- }
203
- }
204
-
205
101
  return result;
206
102
  }
207
103
 
208
- /**
209
- * Prisma aggregate arguments type
210
- *
211
- * For aggregate operations, Prisma expects _count, _avg, etc. at the top level,
212
- * NOT wrapped in a select object.
213
- */
214
- export interface PrismaAggregateArgs {
215
- _count?: boolean | Record<string, boolean>;
216
- _avg?: Record<string, boolean>;
217
- _sum?: Record<string, boolean>;
218
- _min?: Record<string, boolean>;
219
- _max?: Record<string, boolean>;
220
- }
221
-
222
104
  /**
223
105
  * Aggregate field names that Prisma expects
224
106
  */
@@ -230,60 +112,37 @@ const AGGREGATE_FIELDS = ['_count', '_avg', '_sum', '_min', '_max'] as const;
230
112
  * Unlike transformInfoIntoPrismaArgs, this function returns aggregate fields
231
113
  * directly at the top level (e.g., { _count: true, _avg: { field: true } })
232
114
  * rather than wrapped in a select object.
233
- *
234
- * This is required because Prisma's aggregate() and groupBy() APIs expect
235
- * aggregate fields at the top level, not in a select wrapper.
236
- *
237
- * @param info - GraphQL resolve info from the resolver
238
- * @returns Prisma aggregate arguments
239
115
  */
240
116
  export function transformInfoIntoPrismaAggregateArgs(info: GraphQLResolveInfo): PrismaAggregateArgs {
241
- const parsedInfo = parseResolveInfo(info);
242
-
243
- if (!parsedInfo) {
244
- return {};
245
- }
117
+ const parsedInfo = parseResolveInfo(info) as ResolveTree | null;
118
+ if (!parsedInfo) return {};
246
119
 
247
- const simplifiedInfo = simplifyParsedResolveInfoFragmentWithType(
248
- parsedInfo as ResolveTree,
249
- info.returnType,
250
- );
251
-
252
- return buildPrismaAggregateArgs(simplifiedInfo.fields);
120
+ return buildPrismaAggregateArgs(parsedInfo.fieldsByTypeName);
253
121
  }
254
122
 
255
- /**
256
- * Build Prisma aggregate arguments from parsed GraphQL fields
257
- */
258
- function buildPrismaAggregateArgs(fields: Record<string, ResolveTree>): PrismaAggregateArgs {
123
+ function buildPrismaAggregateArgs(fieldsByTypeName: FieldsByTypeName): PrismaAggregateArgs {
259
124
  const result: PrismaAggregateArgs = {};
260
125
 
261
- for (const aggregateField of AGGREGATE_FIELDS) {
262
- const fieldInfo = fields[aggregateField];
126
+ for (const typeName in fieldsByTypeName) {
127
+ const fields = fieldsByTypeName[typeName];
263
128
 
264
- if (!fieldInfo) {
265
- continue;
266
- }
129
+ for (const aggregateField of AGGREGATE_FIELDS) {
130
+ const fieldInfo = fields[aggregateField];
131
+ if (!fieldInfo) continue;
267
132
 
268
- const nestedFields = fieldInfo.fieldsByTypeName;
269
- const nestedTypes = Object.keys(nestedFields);
133
+ const nestedFields = fieldInfo.fieldsByTypeName;
134
+ const nestedTypes = Object.keys(nestedFields);
270
135
 
271
- if (nestedTypes.length === 0) {
272
- // No nested fields selected, use true to get all
273
- if (aggregateField === '_count') {
274
- result._count = true;
136
+ if (nestedTypes.length === 0) {
137
+ if (aggregateField === '_count') result._count = true;
138
+ continue;
275
139
  }
276
- continue;
277
- }
278
140
 
279
- // Collect all nested field names
280
- const selectedFields: Record<string, boolean> = {};
281
- for (const typeName of nestedTypes) {
282
- const typeFields = nestedFields[typeName];
283
- if (typeFields) {
284
- for (const nestedFieldName of Object.keys(typeFields)) {
141
+ const selectedFields: Record<string, boolean> = {};
142
+ for (const nestedTypeName of nestedTypes) {
143
+ const typeFields = nestedFields[nestedTypeName];
144
+ for (const nestedFieldName in typeFields) {
285
145
  if (nestedFieldName === '_all') {
286
- // Special case: _all means count all records
287
146
  if (aggregateField === '_count') {
288
147
  result._count = true;
289
148
  break;
@@ -293,17 +152,45 @@ function buildPrismaAggregateArgs(fields: Record<string, ResolveTree>): PrismaAg
293
152
  }
294
153
  }
295
154
  }
296
- }
297
155
 
298
- if (Object.keys(selectedFields).length > 0) {
299
- (result as Record<string, unknown>)[aggregateField] = selectedFields;
300
- } else if (aggregateField === '_count') {
301
- result._count = true;
156
+ if (Object.keys(selectedFields).length > 0) {
157
+ (result as Record<string, unknown>)[aggregateField] = selectedFields;
158
+ } else if (aggregateField === '_count') {
159
+ result._count = true;
160
+ }
302
161
  }
303
162
  }
304
163
 
305
164
  return result;
306
165
  }
166
+
167
+ /**
168
+ * Get Prisma client from GraphQL context
169
+ */
170
+ export function getPrismaFromContext<PrismaClient = unknown>(
171
+ context: GraphQLContext<PrismaClient>,
172
+ ): PrismaClient {
173
+ const prismaClient = context.prisma;
174
+ if (!prismaClient) {
175
+ throw new Error(
176
+ 'Unable to find Prisma Client in GraphQL context. ' +
177
+ 'Please provide it under the \\\`context["prisma"]\\\` key.'
178
+ );
179
+ }
180
+ return prismaClient;
181
+ }
182
+
183
+ /**
184
+ * Merge multiple Prisma select objects
185
+ */
186
+ export function mergePrismaSelects(...selects: PrismaSelect[]): PrismaSelect {
187
+ const result: PrismaSelect = {};
188
+ for (const s of selects) {
189
+ if (s.select) result.select = { ...(result.select ?? {}), ...s.select };
190
+ if (s.include) result.include = { ...(result.include ?? {}), ...s.include };
191
+ }
192
+ return result;
193
+ }
307
194
  `);
308
195
  }
309
196
  //# sourceMappingURL=helpers-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers-generator.js","sourceRoot":"","sources":["../../src/generator/helpers-generator.ts"],"names":[],"mappings":";;AAOA,0CAaC;AAhBD;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAAgB,EAChB,MAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,6BAA6B;IAC7B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,UAAsB,EAAE,OAAwB;IAC3E,UAAU,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+R1B,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"helpers-generator.js","sourceRoot":"","sources":["../../src/generator/helpers-generator.ts"],"names":[],"mappings":";;AAOA,0CAaC;AAhBD;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAAgB,EAChB,MAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,6BAA6B;IAC7B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,UAAsB,EAAE,OAAwB;IAC3E,UAAU,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8K1B,CAAC,CAAC;AACH,CAAC"}
@@ -130,7 +130,12 @@ function generateResolverFile(sourceFile, model, _dmmf, config, ops) {
130
130
  // Import runtime helpers
131
131
  sourceFile.addImportDeclaration({
132
132
  moduleSpecifier: '../helpers',
133
- namedImports: ['transformInfoIntoPrismaArgs', 'PrismaSelect', 'GraphQLContext'],
133
+ namedImports: [
134
+ 'transformInfoIntoPrismaArgs',
135
+ 'transformInfoIntoPrismaAggregateArgs',
136
+ 'PrismaSelect',
137
+ 'GraphQLContext',
138
+ ],
134
139
  });
135
140
  // Import AffectedRows type only if needed
136
141
  if (ops.hasCreateManyInput ||
@@ -446,10 +451,10 @@ function generateResolverFile(sourceFile, model, _dmmf, config, ops) {
446
451
  { name: 'info', type: 'GraphQLResolveInfo', decorators: [{ name: 'Info', arguments: [] }] },
447
452
  ],
448
453
  statements: [
449
- `const select = transformInfoIntoPrismaArgs(info);`,
454
+ `const aggregateArgs = transformInfoIntoPrismaAggregateArgs(info);`,
450
455
  `return ctx.prisma.${lowerModelName}.aggregate({`,
451
456
  ` ...args,`,
452
- ` ...select,`,
457
+ ` ...aggregateArgs,`,
453
458
  `} as any);`,
454
459
  ],
455
460
  });
@@ -475,10 +480,10 @@ function generateResolverFile(sourceFile, model, _dmmf, config, ops) {
475
480
  { name: 'info', type: 'GraphQLResolveInfo', decorators: [{ name: 'Info', arguments: [] }] },
476
481
  ],
477
482
  statements: [
478
- `const select = transformInfoIntoPrismaArgs(info);`,
483
+ `const aggregateArgs = transformInfoIntoPrismaAggregateArgs(info);`,
479
484
  `return ctx.prisma.${lowerModelName}.groupBy({`,
480
485
  ` ...args,`,
481
- ` ...select,`,
486
+ ` ...aggregateArgs,`,
482
487
  `} as any);`,
483
488
  ],
484
489
  });
@@ -503,7 +508,11 @@ function generateResolverFile(sourceFile, model, _dmmf, config, ops) {
503
508
  { name: 'ctx', type: contextType, decorators: [{ name: 'Context', arguments: [] }] },
504
509
  { name: 'info', type: 'GraphQLResolveInfo', decorators: [{ name: 'Info', arguments: [] }] },
505
510
  ],
506
- statements: [`return ctx.prisma.${lowerModelName}.count({`, ` where: args.where,`, `} as any);`],
511
+ statements: [
512
+ `return ctx.prisma.${lowerModelName}.count({`,
513
+ ` where: args.where,`,
514
+ `} as any);`,
515
+ ],
507
516
  });
508
517
  }
509
518
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/generator/templates/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/generator/templates/resolver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,5 +22,5 @@
22
22
  */
23
23
  export * from './cli';
24
24
  export * from './generator';
25
- export { transformInfoIntoPrismaArgs, getPrismaFromContext, transformCountFieldIntoSelectRelationsCount, mergePrismaSelects, applyPagination, type PrismaSelect, type GraphQLContext, } from './runtime';
25
+ export { transformInfoIntoPrismaArgs, transformInfoIntoPrismaAggregateArgs, getPrismaFromContext, mergePrismaSelects, type PrismaSelect, type PrismaAggregateArgs, type GraphQLContext, } from './runtime';
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,2CAA2C,EAC3C,kBAAkB,EAClB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,2BAA2B,EAC3B,oCAAoC,EACpC,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -36,14 +36,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.applyPagination = exports.mergePrismaSelects = exports.transformCountFieldIntoSelectRelationsCount = exports.getPrismaFromContext = exports.transformInfoIntoPrismaArgs = void 0;
39
+ exports.mergePrismaSelects = exports.getPrismaFromContext = exports.transformInfoIntoPrismaAggregateArgs = exports.transformInfoIntoPrismaArgs = void 0;
40
40
  __exportStar(require("./cli"), exports);
41
41
  __exportStar(require("./generator"), exports);
42
42
  // Note: runtime helpers are exported separately to avoid conflicts
43
43
  var runtime_1 = require("./runtime");
44
44
  Object.defineProperty(exports, "transformInfoIntoPrismaArgs", { enumerable: true, get: function () { return runtime_1.transformInfoIntoPrismaArgs; } });
45
+ Object.defineProperty(exports, "transformInfoIntoPrismaAggregateArgs", { enumerable: true, get: function () { return runtime_1.transformInfoIntoPrismaAggregateArgs; } });
45
46
  Object.defineProperty(exports, "getPrismaFromContext", { enumerable: true, get: function () { return runtime_1.getPrismaFromContext; } });
46
- Object.defineProperty(exports, "transformCountFieldIntoSelectRelationsCount", { enumerable: true, get: function () { return runtime_1.transformCountFieldIntoSelectRelationsCount; } });
47
47
  Object.defineProperty(exports, "mergePrismaSelects", { enumerable: true, get: function () { return runtime_1.mergePrismaSelects; } });
48
- Object.defineProperty(exports, "applyPagination", { enumerable: true, get: function () { return runtime_1.applyPagination; } });
49
48
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;;;;;;;;;;;;;;AAEH,wCAAsB;AACtB,8CAA4B;AAC5B,mEAAmE;AACnE,qCAQmB;AAPjB,sHAAA,2BAA2B,OAAA;AAC3B,+GAAA,oBAAoB,OAAA;AACpB,sIAAA,2CAA2C,OAAA;AAC3C,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;;;;;;;;;;;;;;AAEH,wCAAsB;AACtB,8CAA4B;AAC5B,mEAAmE;AACnE,qCAQmB;AAPjB,sHAAA,2BAA2B,OAAA;AAC3B,+HAAA,oCAAoC,OAAA;AACpC,+GAAA,oBAAoB,OAAA;AACpB,6GAAA,kBAAkB,OAAA"}
@@ -4,7 +4,6 @@
4
4
  * These helpers are used at runtime to transform GraphQL queries
5
5
  * into optimized Prisma select/include objects.
6
6
  */
7
- import { ResolveTree } from 'graphql-parse-resolve-info';
8
7
  import type { GraphQLResolveInfo } from 'graphql';
9
8
  /**
10
9
  * Prisma select/include object type
@@ -14,7 +13,28 @@ export interface PrismaSelect {
14
13
  include?: Record<string, boolean | PrismaSelect>;
15
14
  }
16
15
  /**
17
- * Context type that should contain the Prisma client
16
+ * Prisma aggregate arguments type
17
+ *
18
+ * For aggregate operations, Prisma expects _count, _avg, etc. at the top level,
19
+ * NOT wrapped in a select object.
20
+ */
21
+ export interface PrismaAggregateArgs {
22
+ _count?: boolean | Record<string, boolean>;
23
+ _avg?: Record<string, boolean>;
24
+ _sum?: Record<string, boolean>;
25
+ _min?: Record<string, boolean>;
26
+ _max?: Record<string, boolean>;
27
+ }
28
+ /**
29
+ * Context type that should contain the Prisma client.
30
+ * Extend this interface in your app to add custom properties.
31
+ *
32
+ * @example
33
+ * // In your app
34
+ * interface AppContext extends GraphQLContext {
35
+ * req: Request;
36
+ * user?: User;
37
+ * }
18
38
  */
19
39
  export interface GraphQLContext<PrismaClient = unknown> {
20
40
  prisma: PrismaClient;
@@ -41,6 +61,26 @@ export interface GraphQLContext<PrismaClient = unknown> {
41
61
  * ```
42
62
  */
43
63
  export declare function transformInfoIntoPrismaArgs(info: GraphQLResolveInfo): PrismaSelect;
64
+ /**
65
+ * Transform GraphQL resolve info into Prisma aggregate arguments
66
+ *
67
+ * Unlike transformInfoIntoPrismaArgs, this function returns aggregate fields
68
+ * directly at the top level (e.g., { _count: true, _avg: { field: true } })
69
+ * rather than wrapped in a select object.
70
+ *
71
+ * @param info - GraphQL resolve info from the resolver
72
+ * @returns Prisma aggregate arguments
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * @Query(() => AggregateUser)
77
+ * async aggregateUser(@Info() info: GraphQLResolveInfo, @Args() args: AggregateUserArgs) {
78
+ * const aggregateArgs = transformInfoIntoPrismaAggregateArgs(info);
79
+ * return prisma.user.aggregate({ ...args, ...aggregateArgs });
80
+ * }
81
+ * ```
82
+ */
83
+ export declare function transformInfoIntoPrismaAggregateArgs(info: GraphQLResolveInfo): PrismaAggregateArgs;
44
84
  /**
45
85
  * Get Prisma client from GraphQL context
46
86
  *
@@ -58,19 +98,6 @@ export declare function transformInfoIntoPrismaArgs(info: GraphQLResolveInfo): P
58
98
  * ```
59
99
  */
60
100
  export declare function getPrismaFromContext<PrismaClient = unknown>(context: GraphQLContext<PrismaClient>): PrismaClient;
61
- /**
62
- * Transform count fields into Prisma _count select
63
- *
64
- * Handles the special _count field that aggregates relation counts
65
- *
66
- * @param fields - Parsed fields containing _count
67
- * @returns Prisma _count select object
68
- */
69
- export declare function transformCountFieldIntoSelectRelationsCount(fields: Record<string, ResolveTree>): {
70
- _count?: {
71
- select: Record<string, boolean>;
72
- };
73
- };
74
101
  /**
75
102
  * Merge multiple Prisma select objects
76
103
  *
@@ -78,57 +105,4 @@ export declare function transformCountFieldIntoSelectRelationsCount(fields: Reco
78
105
  * @returns Merged PrismaSelect object
79
106
  */
80
107
  export declare function mergePrismaSelects(...selects: PrismaSelect[]): PrismaSelect;
81
- /**
82
- * Check if a field is a relation based on Prisma schema info
83
- *
84
- * This is a simple heuristic - in generated code, we have full schema info
85
- *
86
- * @param fieldName - Name of the field
87
- * @param modelFields - Map of field names to their types
88
- * @returns true if the field is a relation
89
- */
90
- export declare function isRelationField(fieldName: string, modelFields: Map<string, {
91
- isRelation: boolean;
92
- }>): boolean;
93
- /**
94
- * Apply pagination to Prisma args
95
- *
96
- * @param args - Existing Prisma args
97
- * @param pagination - Pagination options
98
- * @returns Prisma args with pagination
99
- */
100
- export declare function applyPagination<T extends object>(args: T, pagination?: {
101
- skip?: number;
102
- take?: number;
103
- cursor?: any;
104
- }): T;
105
- /**
106
- * Prisma aggregate arguments type
107
- */
108
- export interface PrismaAggregateArgs {
109
- _count?: boolean | Record<string, boolean>;
110
- _avg?: Record<string, boolean>;
111
- _sum?: Record<string, boolean>;
112
- _min?: Record<string, boolean>;
113
- _max?: Record<string, boolean>;
114
- }
115
- /**
116
- * Transform GraphQL resolve info into Prisma aggregate arguments
117
- *
118
- * Unlike regular queries, Prisma's aggregate() expects _count, _avg, etc.
119
- * directly at the top level, not wrapped in a `select` object.
120
- *
121
- * @param info - GraphQL resolve info from the resolver
122
- * @returns Prisma aggregate arguments
123
- *
124
- * @example
125
- * ```typescript
126
- * @Query(() => AggregateUser)
127
- * async aggregateUser(@Info() info: GraphQLResolveInfo, @Args() args: AggregateUserArgs) {
128
- * const aggregateArgs = transformInfoIntoPrismaAggregateArgs(info);
129
- * return prisma.user.aggregate({ ...args, ...aggregateArgs });
130
- * }
131
- * ```
132
- */
133
- export declare function transformInfoIntoPrismaAggregateArgs(info: GraphQLResolveInfo): PrismaAggregateArgs;
134
108
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/runtime/helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EAGZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,YAAY,GAAG,OAAO;IACpD,MAAM,EAAE,YAAY,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAQD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,CAalF;AAmDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,GAAG,OAAO,EACzD,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,GACpC,YAAY,CASd;AAED;;;;;;;GAOG;AACH,wBAAgB,2CAA2C,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG;IAChG,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC9C,CAkCA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,CAmB3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,GAChD,OAAO,CAGT;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,IAAI,EAAE,CAAC,EACP,UAAU,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAC1D,CAAC,CAWH;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,kBAAkB,GACvB,mBAAmB,CAarB"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/runtime/helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;CAClD;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,YAAY,GAAG,OAAO;IACpD,MAAM,EAAE,YAAY,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,CAMlF;AAsCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,kBAAkB,GACvB,mBAAmB,CAKrB;AA8CD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,GAAG,OAAO,EACzD,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,GACpC,YAAY,CASd;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,CAO3E"}
@@ -7,18 +7,10 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.transformInfoIntoPrismaArgs = transformInfoIntoPrismaArgs;
10
+ exports.transformInfoIntoPrismaAggregateArgs = transformInfoIntoPrismaAggregateArgs;
10
11
  exports.getPrismaFromContext = getPrismaFromContext;
11
- exports.transformCountFieldIntoSelectRelationsCount = transformCountFieldIntoSelectRelationsCount;
12
12
  exports.mergePrismaSelects = mergePrismaSelects;
13
- exports.isRelationField = isRelationField;
14
- exports.applyPagination = applyPagination;
15
- exports.transformInfoIntoPrismaAggregateArgs = transformInfoIntoPrismaAggregateArgs;
16
13
  const graphql_parse_resolve_info_1 = require("graphql-parse-resolve-info");
17
- /**
18
- * Fields that should be excluded from selection
19
- * These are GraphQL internal fields or aggregation fields
20
- */
21
- const EXCLUDED_FIELDS = new Set(['__typename', '_count', '_avg', '_sum', '_min', '_max']);
22
14
  /**
23
15
  * Transform GraphQL resolve info into Prisma select/include arguments
24
16
  *
@@ -41,53 +33,104 @@ const EXCLUDED_FIELDS = new Set(['__typename', '_count', '_avg', '_sum', '_min',
41
33
  */
42
34
  function transformInfoIntoPrismaArgs(info) {
43
35
  const parsedInfo = (0, graphql_parse_resolve_info_1.parseResolveInfo)(info);
44
- if (!parsedInfo) {
36
+ if (!parsedInfo)
45
37
  return {};
38
+ const select = buildPrismaSelect(parsedInfo.fieldsByTypeName);
39
+ return Object.keys(select).length > 0 ? { select } : {};
40
+ }
41
+ function buildPrismaSelect(fieldsByTypeName) {
42
+ const result = {};
43
+ for (const typeName in fieldsByTypeName) {
44
+ const fields = fieldsByTypeName[typeName];
45
+ for (const fieldName in fields) {
46
+ if (fieldName.startsWith('__') ||
47
+ fieldName.startsWith('_count') ||
48
+ fieldName.startsWith('_avg') ||
49
+ fieldName.startsWith('_sum') ||
50
+ fieldName.startsWith('_min') ||
51
+ fieldName.startsWith('_max'))
52
+ continue;
53
+ const field = fields[fieldName];
54
+ const nestedFields = field.fieldsByTypeName;
55
+ if (Object.keys(nestedFields).length > 0) {
56
+ const nestedSelect = buildPrismaSelect(nestedFields);
57
+ result[fieldName] = Object.keys(nestedSelect).length > 0 ? { select: nestedSelect } : true;
58
+ }
59
+ else {
60
+ result[fieldName] = true;
61
+ }
62
+ }
46
63
  }
47
- const simplifiedInfo = (0, graphql_parse_resolve_info_1.simplifyParsedResolveInfoFragmentWithType)(parsedInfo, info.returnType);
48
- return buildPrismaSelect(simplifiedInfo.fields);
64
+ return result;
49
65
  }
50
66
  /**
51
- * Build Prisma select object from parsed GraphQL fields
67
+ * Aggregate field names that Prisma expects
68
+ */
69
+ const AGGREGATE_FIELDS = ['_count', '_avg', '_sum', '_min', '_max'];
70
+ /**
71
+ * Transform GraphQL resolve info into Prisma aggregate arguments
52
72
  *
53
- * @param fields - Parsed fields from graphql-parse-resolve-info
54
- * @returns Prisma select object
73
+ * Unlike transformInfoIntoPrismaArgs, this function returns aggregate fields
74
+ * directly at the top level (e.g., { _count: true, _avg: { field: true } })
75
+ * rather than wrapped in a select object.
76
+ *
77
+ * @param info - GraphQL resolve info from the resolver
78
+ * @returns Prisma aggregate arguments
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * @Query(() => AggregateUser)
83
+ * async aggregateUser(@Info() info: GraphQLResolveInfo, @Args() args: AggregateUserArgs) {
84
+ * const aggregateArgs = transformInfoIntoPrismaAggregateArgs(info);
85
+ * return prisma.user.aggregate({ ...args, ...aggregateArgs });
86
+ * }
87
+ * ```
55
88
  */
56
- function buildPrismaSelect(fields) {
57
- const select = {};
58
- for (const [fieldName, fieldInfo] of Object.entries(fields)) {
59
- // Skip excluded fields
60
- if (EXCLUDED_FIELDS.has(fieldName)) {
61
- continue;
62
- }
63
- // Check if field has nested selections (relation)
64
- const nestedFields = fieldInfo.fieldsByTypeName;
65
- const nestedTypes = Object.keys(nestedFields);
66
- if (nestedTypes.length > 0) {
67
- // This is a relation field - need to use include or nested select
68
- // Merge fields from all possible types (for union/interface types)
69
- const allNestedFields = {};
70
- for (const typeName of nestedTypes) {
71
- Object.assign(allNestedFields, nestedFields[typeName]);
89
+ function transformInfoIntoPrismaAggregateArgs(info) {
90
+ const parsedInfo = (0, graphql_parse_resolve_info_1.parseResolveInfo)(info);
91
+ if (!parsedInfo)
92
+ return {};
93
+ return buildPrismaAggregateArgs(parsedInfo.fieldsByTypeName);
94
+ }
95
+ function buildPrismaAggregateArgs(fieldsByTypeName) {
96
+ const result = {};
97
+ for (const typeName in fieldsByTypeName) {
98
+ const fields = fieldsByTypeName[typeName];
99
+ for (const aggregateField of AGGREGATE_FIELDS) {
100
+ const fieldInfo = fields?.[aggregateField];
101
+ if (!fieldInfo)
102
+ continue;
103
+ const nestedFields = fieldInfo.fieldsByTypeName;
104
+ const nestedTypes = Object.keys(nestedFields);
105
+ if (nestedTypes.length === 0) {
106
+ if (aggregateField === '_count')
107
+ result._count = true;
108
+ continue;
72
109
  }
73
- // Recursively build select for nested fields
74
- const nestedSelect = buildPrismaSelect(allNestedFields);
75
- if (Object.keys(nestedSelect).length > 0) {
76
- select[fieldName] = nestedSelect;
110
+ const selectedFields = {};
111
+ for (const nestedTypeName of nestedTypes) {
112
+ const typeFields = nestedFields[nestedTypeName];
113
+ for (const nestedFieldName in typeFields) {
114
+ if (nestedFieldName === '_all') {
115
+ if (aggregateField === '_count') {
116
+ result._count = true;
117
+ break;
118
+ }
119
+ }
120
+ else {
121
+ selectedFields[nestedFieldName] = true;
122
+ }
123
+ }
77
124
  }
78
- else {
79
- select[fieldName] = true;
125
+ if (Object.keys(selectedFields).length > 0) {
126
+ result[aggregateField] = selectedFields;
127
+ }
128
+ else if (aggregateField === '_count') {
129
+ result._count = true;
80
130
  }
81
- }
82
- else {
83
- // Scalar field
84
- select[fieldName] = true;
85
131
  }
86
132
  }
87
- if (Object.keys(select).length === 0) {
88
- return {};
89
- }
90
- return { select };
133
+ return result;
91
134
  }
92
135
  /**
93
136
  * Get Prisma client from GraphQL context
@@ -113,42 +156,6 @@ function getPrismaFromContext(context) {
113
156
  }
114
157
  return prismaClient;
115
158
  }
116
- /**
117
- * Transform count fields into Prisma _count select
118
- *
119
- * Handles the special _count field that aggregates relation counts
120
- *
121
- * @param fields - Parsed fields containing _count
122
- * @returns Prisma _count select object
123
- */
124
- function transformCountFieldIntoSelectRelationsCount(fields) {
125
- const countField = fields['_count'];
126
- if (!countField) {
127
- return {};
128
- }
129
- const countNestedFields = countField.fieldsByTypeName;
130
- const countTypes = Object.keys(countNestedFields);
131
- if (countTypes.length === 0) {
132
- return {};
133
- }
134
- const countSelect = {};
135
- for (const typeName of countTypes) {
136
- const typeFields = countNestedFields[typeName];
137
- if (typeFields) {
138
- for (const fieldName of Object.keys(typeFields)) {
139
- countSelect[fieldName] = true;
140
- }
141
- }
142
- }
143
- if (Object.keys(countSelect).length === 0) {
144
- return {};
145
- }
146
- return {
147
- _count: {
148
- select: countSelect,
149
- },
150
- };
151
- }
152
159
  /**
153
160
  * Merge multiple Prisma select objects
154
161
  *
@@ -157,126 +164,11 @@ function transformCountFieldIntoSelectRelationsCount(fields) {
157
164
  */
158
165
  function mergePrismaSelects(...selects) {
159
166
  const result = {};
160
- for (const select of selects) {
161
- if (select.select) {
162
- result.select = {
163
- ...result.select,
164
- ...select.select,
165
- };
166
- }
167
- if (select.include) {
168
- result.include = {
169
- ...result.include,
170
- ...select.include,
171
- };
172
- }
173
- }
174
- return result;
175
- }
176
- /**
177
- * Check if a field is a relation based on Prisma schema info
178
- *
179
- * This is a simple heuristic - in generated code, we have full schema info
180
- *
181
- * @param fieldName - Name of the field
182
- * @param modelFields - Map of field names to their types
183
- * @returns true if the field is a relation
184
- */
185
- function isRelationField(fieldName, modelFields) {
186
- const field = modelFields.get(fieldName);
187
- return field?.isRelation ?? false;
188
- }
189
- /**
190
- * Apply pagination to Prisma args
191
- *
192
- * @param args - Existing Prisma args
193
- * @param pagination - Pagination options
194
- * @returns Prisma args with pagination
195
- */
196
- function applyPagination(args, pagination) {
197
- if (!pagination) {
198
- return args;
199
- }
200
- return {
201
- ...args,
202
- ...(pagination.skip !== undefined && { skip: pagination.skip }),
203
- ...(pagination.take !== undefined && { take: pagination.take }),
204
- ...(pagination.cursor !== undefined && { cursor: pagination.cursor }),
205
- };
206
- }
207
- /**
208
- * Transform GraphQL resolve info into Prisma aggregate arguments
209
- *
210
- * Unlike regular queries, Prisma's aggregate() expects _count, _avg, etc.
211
- * directly at the top level, not wrapped in a `select` object.
212
- *
213
- * @param info - GraphQL resolve info from the resolver
214
- * @returns Prisma aggregate arguments
215
- *
216
- * @example
217
- * ```typescript
218
- * @Query(() => AggregateUser)
219
- * async aggregateUser(@Info() info: GraphQLResolveInfo, @Args() args: AggregateUserArgs) {
220
- * const aggregateArgs = transformInfoIntoPrismaAggregateArgs(info);
221
- * return prisma.user.aggregate({ ...args, ...aggregateArgs });
222
- * }
223
- * ```
224
- */
225
- function transformInfoIntoPrismaAggregateArgs(info) {
226
- const parsedInfo = (0, graphql_parse_resolve_info_1.parseResolveInfo)(info);
227
- if (!parsedInfo) {
228
- return {};
229
- }
230
- const simplifiedInfo = (0, graphql_parse_resolve_info_1.simplifyParsedResolveInfoFragmentWithType)(parsedInfo, info.returnType);
231
- return buildPrismaAggregateArgs(simplifiedInfo.fields);
232
- }
233
- /**
234
- * Build Prisma aggregate arguments from parsed GraphQL fields
235
- *
236
- * @param fields - Parsed fields from graphql-parse-resolve-info
237
- * @returns Prisma aggregate arguments
238
- */
239
- function buildPrismaAggregateArgs(fields) {
240
- const result = {};
241
- for (const [fieldName, fieldInfo] of Object.entries(fields)) {
242
- // Only process aggregate fields
243
- if (!['_count', '_avg', '_sum', '_min', '_max'].includes(fieldName)) {
244
- continue;
245
- }
246
- const nestedFields = fieldInfo.fieldsByTypeName;
247
- const nestedTypes = Object.keys(nestedFields);
248
- if (nestedTypes.length === 0) {
249
- // No nested fields specified - select all
250
- if (fieldName === '_count') {
251
- result._count = true;
252
- }
253
- continue;
254
- }
255
- // Merge fields from all possible types
256
- const fieldSelect = {};
257
- for (const typeName of nestedTypes) {
258
- const typeFields = nestedFields[typeName];
259
- if (typeFields) {
260
- for (const nestedFieldName of Object.keys(typeFields)) {
261
- if (nestedFieldName === '_all') {
262
- // Special _all field for _count
263
- if (fieldName === '_count') {
264
- result._count = true;
265
- break;
266
- }
267
- }
268
- else {
269
- fieldSelect[nestedFieldName] = true;
270
- }
271
- }
272
- }
273
- }
274
- if (Object.keys(fieldSelect).length > 0) {
275
- result[fieldName] = fieldSelect;
276
- }
277
- else if (fieldName === '_count' && result._count !== true) {
278
- result._count = true;
279
- }
167
+ for (const s of selects) {
168
+ if (s.select)
169
+ result.select = { ...(result.select ?? {}), ...s.select };
170
+ if (s.include)
171
+ result.include = { ...(result.include ?? {}), ...s.include };
280
172
  }
281
173
  return result;
282
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/runtime/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/runtime/helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k0lyan/nestjs-prisma-graphql-generator",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Prisma generator for NestJS 11 GraphQL with optimized query building from GraphQL selections",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",