prisma-generator-express 1.14.3 → 1.15.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.
Files changed (50) hide show
  1. package/README.md +17 -7
  2. package/dist/generator.js +5 -0
  3. package/dist/generator.js.map +1 -1
  4. package/dist/helpers/generateAggregate.js +4 -9
  5. package/dist/helpers/generateAggregate.js.map +1 -1
  6. package/dist/helpers/generateCount.js +4 -9
  7. package/dist/helpers/generateCount.js.map +1 -1
  8. package/dist/helpers/generateCreate.js +4 -9
  9. package/dist/helpers/generateCreate.js.map +1 -1
  10. package/dist/helpers/generateCreateMany.js +4 -9
  11. package/dist/helpers/generateCreateMany.js.map +1 -1
  12. package/dist/helpers/generateDelete.js +4 -9
  13. package/dist/helpers/generateDelete.js.map +1 -1
  14. package/dist/helpers/generateDeleteMany.js +4 -9
  15. package/dist/helpers/generateDeleteMany.js.map +1 -1
  16. package/dist/helpers/generateFindFirst.js +4 -9
  17. package/dist/helpers/generateFindFirst.js.map +1 -1
  18. package/dist/helpers/generateFindMany.js +4 -9
  19. package/dist/helpers/generateFindMany.js.map +1 -1
  20. package/dist/helpers/generateFindUnique.js +4 -9
  21. package/dist/helpers/generateFindUnique.js.map +1 -1
  22. package/dist/helpers/generateGroupBy.js +4 -9
  23. package/dist/helpers/generateGroupBy.js.map +1 -1
  24. package/dist/helpers/generateRouteFile.js +30 -34
  25. package/dist/helpers/generateRouteFile.js.map +1 -1
  26. package/dist/helpers/generateUpdate.js +4 -9
  27. package/dist/helpers/generateUpdate.js.map +1 -1
  28. package/dist/helpers/generateUpdateMany.js +4 -9
  29. package/dist/helpers/generateUpdateMany.js.map +1 -1
  30. package/dist/helpers/generateUpsert.js +4 -9
  31. package/dist/helpers/generateUpsert.js.map +1 -1
  32. package/dist/utils/strings.js +3 -3
  33. package/dist/utils/strings.js.map +1 -1
  34. package/package.json +7 -7
  35. package/src/generator.ts +10 -0
  36. package/src/helpers/generateAggregate.ts +5 -10
  37. package/src/helpers/generateCount.ts +5 -10
  38. package/src/helpers/generateCreate.ts +5 -10
  39. package/src/helpers/generateCreateMany.ts +5 -10
  40. package/src/helpers/generateDelete.ts +5 -10
  41. package/src/helpers/generateDeleteMany.ts +5 -10
  42. package/src/helpers/generateFindFirst.ts +5 -10
  43. package/src/helpers/generateFindMany.ts +5 -10
  44. package/src/helpers/generateFindUnique.ts +5 -10
  45. package/src/helpers/generateGroupBy.ts +5 -10
  46. package/src/helpers/generateRouteFile.ts +30 -34
  47. package/src/helpers/generateUpdate.ts +5 -10
  48. package/src/helpers/generateUpdateMany.ts +5 -10
  49. package/src/helpers/generateUpsert.ts +5 -10
  50. package/src/utils/strings.ts +1 -1
package/README.md CHANGED
@@ -133,7 +133,6 @@ const addPrisma: RequestHandler = (
133
133
  next: NextFunction,
134
134
  ) => {
135
135
  req.prisma = prisma
136
- // req.omitOutputValidation = true (output validation is not required if you use `select` instead of `include`)
137
136
  next()
138
137
  }
139
138
 
@@ -205,12 +204,11 @@ app.listen(3000, () => {
205
204
 
206
205
  The following properties can be attached to the `req` object to control the behavior of generated middleware:
207
206
 
208
- | Property | Type | Description |
209
- | ---------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
210
- | `prisma` | PrismaClient | An instance of PrismaClient that allows the middleware to interact with your database. |
211
- | `passToNext` | boolean | Optional, if `true` - the result of a Prisma request will be passed to the next middleware as `if (req.locals) req.locals.data` |
212
- | `outputValidation` | ZodTypeAny | (Optional) A Zod schema used to validate the data returned from the Prisma query before sending it to the client. |
213
- | `omitOutputValidation` | Boolean | (Optional) A flag that, if set to `true`, disables output validation even if a Zod schema is provided. |
207
+ | Property | Type | Description |
208
+ | ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------- |
209
+ | `prisma` | PrismaClient | An instance of PrismaClient that allows the middleware to interact with your database. |
210
+ | `passToNext` | boolean | Optional, if `true` - the result of a Prisma request will be passed to the next middleware as `if (req.locals) req.locals.data` |
211
+ | `outputValidation` | ZodTypeAny | (Optional) A Zod schema used to validate the data returned from the Prisma query before sending it to the client. |
214
212
 
215
213
  ## Router Schema
216
214
 
@@ -230,6 +228,18 @@ The following properties can be attached to the `req` object to control the beha
230
228
  | `delete` | `DELETE` | `/` |
231
229
  | `deleteMany` | `DELETE` | `/many` |
232
230
 
231
+ ## Skip generation
232
+
233
+ ```prisma
234
+ /// generator off
235
+ model UserAccount {
236
+ ID Int @id @default(autoincrement())
237
+ full_name String
238
+ emailAddress String @unique
239
+ createdAt DateTime @default(now())
240
+ orders orderItem[]
241
+ }
242
+ ```
233
243
 
234
244
  ## Helper functions
235
245
 
package/dist/generator.js CHANGED
@@ -33,6 +33,11 @@ const { version } = require('../package.json');
33
33
  onGenerate: async (options) => {
34
34
  const prismaImportStatement = (0, generateImportPrismaStatement_1.generateImportPrismaStatement)(options);
35
35
  for await (const model of options.dmmf.datamodel.models) {
36
+ if (model.documentation &&
37
+ model.documentation.includes('generator off')) {
38
+ sdk_1.logger.info(`Skipping generation for model ${model.name} as it is marked with 'generator off'.`);
39
+ continue;
40
+ }
36
41
  await (0, writeFileSafely_1.writeFileSafely)({
37
42
  content: (0, generateFindUnique_1.generateFindUniqueFunction)({
38
43
  model,
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;AAAA,+DAA6E;AAC7E,qCAAoC;AACpC,2CAA4C;AAC5C,6DAAyD;AACzD,qEAAyE;AACzE,2FAAuF;AACvF,iEAAqE;AACrE,mEAAuE;AACvE,6DAAiE;AACjE,mEAAoE;AACpE,qEAAyE;AACzE,6DAAiE;AACjE,qEAAyE;AACzE,6DAAiE;AACjE,6DAAiE;AACjE,qEAAyE;AACzE,mEAAuE;AACvE,2DAA+D;AAC/D,+DAAmE;AAEnE,iDAA6C;AAE7C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAE9C,IAAA,mCAAgB,EAAC;IACf,UAAU;QACR,YAAM,CAAC,IAAI,CAAC,GAAG,0BAAc,aAAa,CAAC,CAAA;QAC3C,OAAO;YACL,OAAO;YACP,aAAa,EAAE,cAAc;YAC7B,UAAU,EAAE,0BAAc;SAC3B,CAAA;IACH,CAAC;IACD,UAAU,EAAE,KAAK,EAAE,OAAyB,EAAE,EAAE;QAC9C,MAAM,qBAAqB,GAAG,IAAA,6DAA6B,EAAC,OAAO,CAAC,CAAA;QAEpE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,+CAA0B,EAAC;oBAClC,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,YAAY;aACxB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,6CAAyB,EAAC;oBACjC,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,WAAW;aACvB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,2CAAwB,EAAC;oBAChC,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,UAAU;aACtB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,uCAAsB,EAAC;oBAC9B,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,+CAA0B,EAAC;oBAClC,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,YAAY;aACxB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,uCAAsB,EAAC;oBAC9B,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,+CAA0B,EAAC;oBAClC,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,YAAY;aACxB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,uCAAsB,EAAC;oBAC9B,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,uCAAsB,EAAC;oBAC9B,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,+CAA0B,EAAC;oBAClC,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,YAAY;aACxB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,6CAAyB,EAAC;oBACjC,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,WAAW;aACvB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,qCAAqB,EAAC;oBAC7B,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,OAAO;aACnB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,yCAAuB,EAAC;oBAC/B,KAAK;oBACL,qBAAqB;iBACtB,CAAC;gBACF,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,SAAS;aACrB,CAAC,CAAA;YAEF,MAAM,IAAA,iCAAe,EAAC;gBACpB,OAAO,EAAE,IAAA,0CAAsB,EAAC,EAAE,KAAK,EAAE,CAAC;gBAC1C,OAAO;gBACP,KAAK;gBACL,SAAS,EAAE,OAAO;aACnB,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,IAAA,qBAAS,EAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,6 @@ interface AggregateRequest extends Request {
19
19
  prisma: PrismaClient;
20
20
  query: Partial<${argsTypeName}> & ParsedQs;
21
21
  outputValidation?: ZodTypeAny;
22
- omitOutputValidation?: boolean;
23
22
  locals?: {
24
23
  outputValidator?: ValidatorConfig;
25
24
  };
@@ -31,13 +30,9 @@ export async function ${functionName}(req: AggregateRequest, res: Response, next
31
30
  try {
32
31
  const outputValidator = res.locals.outputValidator?.schema || req.outputValidation;
33
32
 
34
- if (!outputValidator && !req.omitOutputValidation) {
35
- throw new Error('Output validation schema or omission flag must be provided.');
36
- }
37
-
38
- const result = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.aggregate(req.query as ${argsTypeName});
33
+ const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.aggregate(req.query as ${argsTypeName});
39
34
 
40
- if (!req.omitOutputValidation && outputValidator) {
35
+ if (outputValidator) {
41
36
  const validationResult = outputValidator.safeParse(result);
42
37
  if (validationResult.success) {
43
38
  return res.status(200).json(validationResult.data);
@@ -47,8 +42,8 @@ export async function ${functionName}(req: AggregateRequest, res: Response, next
47
42
  } else {
48
43
  return res.status(200).json(result);
49
44
  }
50
- } catch (error: unknown) {
51
- return next(error);
45
+ } catch(error: unknown) {
46
+ next(error)
52
47
  }
53
48
  }`;
54
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateAggregate.js","sourceRoot":"","sources":["../../src/helpers/generateAggregate.ts"],"names":[],"mappings":";;;AACA,8CAAmE;AAS5D,MAAM,yBAAyB,GAAG,CAAC,OAGzC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,WAAW,CAAA;IAC5C,MAAM,YAAY,GAAG,UAAU,IAAA,oBAAU,EAAC,SAAS,CAAC,eAAe,CAAA;IAEnE,OAAO;EACP,qBAAqB;;;;;;;;;mBASJ,YAAY;;;;;;;;kFAQmD,YAAY;;wBAEtE,YAAY;;;;;;;;sCAQE,IAAA,8BAAoB,EAAC,SAAS,CAAC,2BAA2B,YAAY;;;;;;;;;;;;;;;EAe1G,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,yBAAyB,6BAqDrC"}
1
+ {"version":3,"file":"generateAggregate.js","sourceRoot":"","sources":["../../src/helpers/generateAggregate.ts"],"names":[],"mappings":";;;AACA,8CAA2D;AASpD,MAAM,yBAAyB,GAAG,CAAC,OAGzC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,WAAW,CAAA;IAC5C,MAAM,YAAY,GAAG,UAAU,IAAA,oBAAU,EAAC,SAAS,CAAC,eAAe,CAAA;IAEnE,OAAO;EACP,qBAAqB;;;;;;;;;mBASJ,YAAY;;;;;;;kFAOmD,YAAY;;wBAEtE,YAAY;;;;sCAIE,IAAA,sBAAY,EAAC,SAAS,CAAC,2BAA2B,YAAY;;;;;;;;;;;;;;;EAelG,CAAA;AACF,CAAC,CAAA;AAhDY,QAAA,yBAAyB,6BAgDrC"}
@@ -18,7 +18,6 @@ interface CountRequest extends Request {
18
18
  prisma: PrismaClient;
19
19
  query: Partial<${argsTypeName}> & ParsedQs;
20
20
  outputValidation?: ZodTypeAny;
21
- omitOutputValidation?: boolean;
22
21
  locals?: {
23
22
  outputValidator?: ZodTypeAny;
24
23
  };
@@ -30,13 +29,9 @@ export async function ${functionName}(req: CountRequest, res: Response, next: Ne
30
29
  try {
31
30
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
32
31
 
33
- if (!outputValidator && !req.omitOutputValidation) {
34
- throw new Error('Output validation schema or omission flag must be provided.');
35
- }
36
-
37
- const result = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.count(req.query as ${argsTypeName});
32
+ const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.count(req.query as ${argsTypeName});
38
33
 
39
- if (!req.omitOutputValidation && outputValidator) {
34
+ if (outputValidator) {
40
35
  const validationResult = outputValidator.safeParse(result);
41
36
  if (validationResult.success) {
42
37
  return res.status(200).json(validationResult.data);
@@ -46,8 +41,8 @@ export async function ${functionName}(req: CountRequest, res: Response, next: Ne
46
41
  } else {
47
42
  return res.status(200).json(result);
48
43
  }
49
- } catch (error: unknown) {
50
- return next(error);
44
+ } catch(error: unknown) {
45
+ next(error)
51
46
  }
52
47
  }`;
53
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateCount.js","sourceRoot":"","sources":["../../src/helpers/generateCount.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAShD,MAAM,qBAAqB,GAAG,CAAC,OAGrC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,OAAO,CAAA;IACxC,MAAM,YAAY,GAAG,UAAU,SAAS,WAAW,CAAA;IAEnD,OAAO;EACP,qBAAqB;;;;;;;;mBAQJ,YAAY;;;;;;;;;;wBAUP,YAAY;;;;;;;;sCAQE,IAAA,8BAAoB,EAAC,SAAS,CAAC,uBAAuB,YAAY;;;;;;;;;;;;;;;EAetG,CAAA;AACF,CAAC,CAAA;AApDY,QAAA,qBAAqB,yBAoDjC"}
1
+ {"version":3,"file":"generateCount.js","sourceRoot":"","sources":["../../src/helpers/generateCount.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AASxC,MAAM,qBAAqB,GAAG,CAAC,OAGrC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,OAAO,CAAA;IACxC,MAAM,YAAY,GAAG,UAAU,SAAS,WAAW,CAAA;IAEnD,OAAO;EACP,qBAAqB;;;;;;;;mBAQJ,YAAY;;;;;;;;;wBASP,YAAY;;;;sCAIE,IAAA,sBAAY,EAAC,SAAS,CAAC,uBAAuB,YAAY;;;;;;;;;;;;;;;EAe9F,CAAA;AACF,CAAC,CAAA;AA/CY,QAAA,qBAAqB,yBA+CjC"}
@@ -17,7 +17,6 @@ interface CreateRequest extends Request {
17
17
  prisma: PrismaClient;
18
18
  body: ${argsTypeName};
19
19
  outputValidation?: ZodTypeAny;
20
- omitOutputValidation?: boolean;
21
20
  locals?: {
22
21
  outputValidator?: ZodTypeAny;
23
22
  };
@@ -29,13 +28,9 @@ export async function ${functionName}(req: CreateRequest, res: Response, next: N
29
28
  try {
30
29
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
31
30
 
32
- if (!outputValidator && !req.omitOutputValidation) {
33
- throw new Error('Output validation schema or omission flag must be provided.');
34
- }
35
-
36
- const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.create(req.body);
31
+ const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.create(req.body);
37
32
 
38
- if (!req.omitOutputValidation && outputValidator) {
33
+ if (outputValidator) {
39
34
  const validationResult = outputValidator.safeParse(data);
40
35
  if (validationResult.success) {
41
36
  return res.status(201).json(validationResult.data);
@@ -45,8 +40,8 @@ export async function ${functionName}(req: CreateRequest, res: Response, next: N
45
40
  } else {
46
41
  return res.status(201).json(data);
47
42
  }
48
- } catch (error: unknown) {
49
- return next(error);
43
+ } catch(error: unknown) {
44
+ next(error)
50
45
  }
51
46
  }`;
52
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateCreate.js","sourceRoot":"","sources":["../../src/helpers/generateCreate.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAQhD,MAAM,sBAAsB,GAAG,CAAC,OAGtC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,QAAQ,CAAA;IACzC,MAAM,YAAY,GAAG,UAAU,SAAS,YAAY,CAAA;IAEpD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;;uEAQiD,YAAY;;wBAE3D,YAAY;;;;;;;;oCAQA,IAAA,8BAAoB,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAejE,CAAA;AACF,CAAC,CAAA;AAnDY,QAAA,sBAAsB,0BAmDlC"}
1
+ {"version":3,"file":"generateCreate.js","sourceRoot":"","sources":["../../src/helpers/generateCreate.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAQxC,MAAM,sBAAsB,GAAG,CAAC,OAGtC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,QAAQ,CAAA;IACzC,MAAM,YAAY,GAAG,UAAU,SAAS,YAAY,CAAA;IAEpD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;uEAOiD,YAAY;;wBAE3D,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAezD,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,sBAAsB,0BA8ClC"}
@@ -17,7 +17,6 @@ interface CreateManyRequest extends Request {
17
17
  prisma: PrismaClient;
18
18
  body: ${argsTypeName};
19
19
  outputValidation?: ZodTypeAny;
20
- omitOutputValidation?: boolean;
21
20
  locals?: {
22
21
  outputValidator?: ZodTypeAny;
23
22
  };
@@ -29,13 +28,9 @@ export async function ${functionName}(req: CreateManyRequest, res: Response, nex
29
28
  try {
30
29
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
31
30
 
32
- if (!outputValidator && !req.omitOutputValidation) {
33
- throw new Error('Output validation schema or omission flag must be provided.');
34
- }
35
-
36
- const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.createMany(req.body);
31
+ const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.createMany(req.body);
37
32
 
38
- if (!req.omitOutputValidation && outputValidator) {
33
+ if (outputValidator) {
39
34
  const validationResult = outputValidator.safeParse(data);
40
35
  if (validationResult.success) {
41
36
  return res.status(201).json(validationResult.data);
@@ -45,8 +40,8 @@ export async function ${functionName}(req: CreateManyRequest, res: Response, nex
45
40
  } else {
46
41
  return res.status(201).json(data);
47
42
  }
48
- } catch (error: unknown) {
49
- return next(error);
43
+ } catch(error: unknown) {
44
+ next(error)
50
45
  }
51
46
  }`;
52
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateCreateMany.js","sourceRoot":"","sources":["../../src/helpers/generateCreateMany.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAOhD,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,YAAY,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAExD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;;2EAQqD,YAAY;;wBAE/D,YAAY;;;;;;;;oCAQA,IAAA,8BAAoB,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAejE,CAAA;AACF,CAAC,CAAA;AAnDY,QAAA,0BAA0B,8BAmDtC"}
1
+ {"version":3,"file":"generateCreateMany.js","sourceRoot":"","sources":["../../src/helpers/generateCreateMany.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,YAAY,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAExD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;2EAOqD,YAAY;;wBAE/D,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAezD,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,0BAA0B,8BA8CtC"}
@@ -17,7 +17,6 @@ interface DeleteRequest extends Request {
17
17
  prisma: PrismaClient;
18
18
  body: ${argsTypeName};
19
19
  outputValidation?: ZodTypeAny;
20
- omitOutputValidation?: boolean;
21
20
  locals?: {
22
21
  outputValidator?: ZodTypeAny;
23
22
  };
@@ -29,13 +28,9 @@ export async function ${functionName}(req: DeleteRequest, res: Response, next: N
29
28
  try {
30
29
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
31
30
 
32
- if (!outputValidator && !req.omitOutputValidation) {
33
- throw new Error('Output validation schema or omission flag must be provided.');
34
- }
35
-
36
- const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.delete(req.body);
31
+ const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.delete(req.body);
37
32
 
38
- if (!req.omitOutputValidation && outputValidator) {
33
+ if (outputValidator) {
39
34
  const validationResult = outputValidator.safeParse(data);
40
35
  if (validationResult.success) {
41
36
  return res.status(200).json(validationResult.data);
@@ -45,8 +40,8 @@ export async function ${functionName}(req: DeleteRequest, res: Response, next: N
45
40
  } else {
46
41
  return res.status(200).json(data);
47
42
  }
48
- } catch (error: unknown) {
49
- return next(error);
43
+ } catch(error: unknown) {
44
+ next(error)
50
45
  }
51
46
  }`;
52
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateDelete.js","sourceRoot":"","sources":["../../src/helpers/generateDelete.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAShD,MAAM,sBAAsB,GAAG,CAAC,OAGtC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,QAAQ,CAAA;IACzC,MAAM,YAAY,GAAG,UAAU,SAAS,YAAY,CAAA;IAEpD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;;uEAQiD,YAAY;;wBAE3D,YAAY;;;;;;;;oCAQA,IAAA,8BAAoB,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAejE,CAAA;AACF,CAAC,CAAA;AAnDY,QAAA,sBAAsB,0BAmDlC"}
1
+ {"version":3,"file":"generateDelete.js","sourceRoot":"","sources":["../../src/helpers/generateDelete.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AASxC,MAAM,sBAAsB,GAAG,CAAC,OAGtC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,QAAQ,CAAA;IACzC,MAAM,YAAY,GAAG,UAAU,SAAS,YAAY,CAAA;IAEpD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;uEAOiD,YAAY;;wBAE3D,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAezD,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,sBAAsB,0BA8ClC"}
@@ -17,7 +17,6 @@ interface DeleteManyRequest extends Request {
17
17
  prisma: PrismaClient;
18
18
  body: ${argsTypeName};
19
19
  outputValidation?: ZodTypeAny;
20
- omitOutputValidation?: boolean;
21
20
  locals?: {
22
21
  outputValidator?: ZodTypeAny;
23
22
  };
@@ -29,13 +28,9 @@ export async function ${functionName}(req: DeleteManyRequest, res: Response, nex
29
28
  try {
30
29
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
31
30
 
32
- if (!outputValidator && !req.omitOutputValidation) {
33
- throw new Error('Output validation schema or omission flag must be provided.');
34
- }
35
-
36
- const result = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.deleteMany(req.body);
31
+ const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.deleteMany(req.body);
37
32
 
38
- if (!req.omitOutputValidation && outputValidator) {
33
+ if (outputValidator) {
39
34
  const validationResult = outputValidator.safeParse(result);
40
35
  if (validationResult.success) {
41
36
  return res.status(200).json(validationResult.data);
@@ -45,8 +40,8 @@ export async function ${functionName}(req: DeleteManyRequest, res: Response, nex
45
40
  } else {
46
41
  return res.status(200).json(result);
47
42
  }
48
- } catch (error: unknown) {
49
- return next(error);
43
+ } catch(error: unknown) {
44
+ next(error)
50
45
  }
51
46
  }`;
52
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateDeleteMany.js","sourceRoot":"","sources":["../../src/helpers/generateDeleteMany.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAShD,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,YAAY,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAExD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;;2EAQqD,YAAY;;wBAE/D,YAAY;;;;;;;;sCAQE,IAAA,8BAAoB,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAenE,CAAA;AACF,CAAC,CAAA;AAnDY,QAAA,0BAA0B,8BAmDtC"}
1
+ {"version":3,"file":"generateDeleteMany.js","sourceRoot":"","sources":["../../src/helpers/generateDeleteMany.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AASxC,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,YAAY,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAExD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;2EAOqD,YAAY;;wBAE/D,YAAY;;;;sCAIE,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAe3D,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,0BAA0B,8BA8CtC"}
@@ -21,7 +21,6 @@ export interface FindFirstRequest extends Request {
21
21
  prisma: PrismaClient;
22
22
  query: ${queryTypeName} & ParsedQs;
23
23
  outputValidation?: ZodTypeAny;
24
- omitOutputValidation?: boolean;
25
24
  passToNext?: boolean;
26
25
  locals?: {
27
26
  data?: ${modelName} | null
@@ -34,15 +33,11 @@ export async function ${functionName}(req: FindFirstRequest, res: Response, next
34
33
  try {
35
34
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
36
35
 
37
- if (!outputValidator && !req.omitOutputValidation) {
38
- throw new Error('Output validation schema or omission flag must be provided.');
39
- }
40
-
41
- const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.findFirst(req.query as ${queryTypeName});
36
+ const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.findFirst(req.query as ${queryTypeName});
42
37
  if (req.passToNext) {
43
38
  if (req.locals) req.locals.data = data;
44
39
  next();
45
- } else if (!req.omitOutputValidation && outputValidator) {
40
+ } else if (outputValidator) {
46
41
  const validationResult = outputValidator.safeParse(data);
47
42
  if (validationResult.success) {
48
43
  return res.status(200).json(validationResult.data);
@@ -52,8 +47,8 @@ export async function ${functionName}(req: FindFirstRequest, res: Response, next
52
47
  } else {
53
48
  return res.status(200).json(data);
54
49
  }
55
- } catch (error: unknown) {
56
- return next(error);
50
+ } catch(error: unknown) {
51
+ next(error)
57
52
  }
58
53
  }`;
59
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateFindFirst.js","sourceRoot":"","sources":["../../src/helpers/generateFindFirst.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAOhD,MAAM,yBAAyB,GAAG,CAAC,OAGzC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,WAAW,CAAA;IAC5C,MAAM,aAAa,GAAG,UAAU,SAAS,eAAe,CAAA;IAExD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;;aAKX,SAAS;;;;+EAIyD,aAAa;;wBAEpE,YAAY;;;;;;;;oCAQA,IAAA,8BAAoB,EAAC,SAAS,CAAC,2BAA2B,aAAa;;;;;;;;;;;;;;;;;EAiBzG,CAAA;AACF,CAAC,CAAA;AA1DY,QAAA,yBAAyB,6BA0DrC"}
1
+ {"version":3,"file":"generateFindFirst.js","sourceRoot":"","sources":["../../src/helpers/generateFindFirst.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,yBAAyB,GAAG,CAAC,OAGzC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,WAAW,CAAA;IAC5C,MAAM,aAAa,GAAG,UAAU,SAAS,eAAe,CAAA;IAExD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;aAIX,SAAS;;;;+EAIyD,aAAa;;wBAEpE,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC,2BAA2B,aAAa;;;;;;;;;;;;;;;;;EAiBjG,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,yBAAyB,6BAqDrC"}
@@ -21,7 +21,6 @@ export interface FindManyRequest extends Request {
21
21
  prisma: PrismaClient;
22
22
  query: ${queryTypeName} & ParsedQs;
23
23
  outputValidation?: ZodTypeAny;
24
- omitOutputValidation?: boolean;
25
24
  passToNext?: boolean;
26
25
  locals?: {
27
26
  data?: ${modelName}[]
@@ -34,15 +33,11 @@ export async function ${functionName}(req: FindManyRequest, res: Response, next:
34
33
  try {
35
34
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
36
35
 
37
- if (!outputValidator && !req.omitOutputValidation) {
38
- throw new Error('Output validation schema or omission flag must be provided.');
39
- }
40
-
41
- const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.findMany(req.query as ${queryTypeName});
36
+ const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.findMany(req.query as ${queryTypeName});
42
37
  if (req.passToNext) {
43
38
  if (req.locals) req.locals.data = data;
44
39
  next();
45
- } else if (!req.omitOutputValidation && outputValidator) {
40
+ } else if (outputValidator) {
46
41
  const validationResult = outputValidator.safeParse(data);
47
42
  if (validationResult.success) {
48
43
  return res.status(200).json(validationResult.data);
@@ -52,8 +47,8 @@ export async function ${functionName}(req: FindManyRequest, res: Response, next:
52
47
  } else {
53
48
  return res.status(200).json(data);
54
49
  }
55
- } catch (error: unknown) {
56
- return next(error);
50
+ } catch(error: unknown) {
51
+ next(error)
57
52
  }
58
53
  }`;
59
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateFindMany.js","sourceRoot":"","sources":["../../src/helpers/generateFindMany.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAOhD,MAAM,wBAAwB,GAAG,CAAC,OAGxC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,UAAU,CAAA;IAC3C,MAAM,aAAa,GAAG,UAAU,SAAS,cAAc,CAAA;IAEvD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;;aAKX,SAAS;;;;8EAIwD,aAAa;;wBAEnE,YAAY;;;;;;;;oCAQA,IAAA,8BAAoB,EAAC,SAAS,CAAC,0BAA0B,aAAa;;;;;;;;;;;;;;;;;EAiBxG,CAAA;AACF,CAAC,CAAA;AA1DY,QAAA,wBAAwB,4BA0DpC"}
1
+ {"version":3,"file":"generateFindMany.js","sourceRoot":"","sources":["../../src/helpers/generateFindMany.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,wBAAwB,GAAG,CAAC,OAGxC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,UAAU,CAAA;IAC3C,MAAM,aAAa,GAAG,UAAU,SAAS,cAAc,CAAA;IAEvD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;aAIX,SAAS;;;;8EAIwD,aAAa;;wBAEnE,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC,0BAA0B,aAAa;;;;;;;;;;;;;;;;;EAiBhG,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,wBAAwB,4BAqDpC"}
@@ -21,7 +21,6 @@ export interface FindUniqueRequest extends Request {
21
21
  prisma: PrismaClient;
22
22
  query: ${queryTypeName} & ParsedQs;
23
23
  outputValidation?: ZodTypeAny;
24
- omitOutputValidation?: boolean;
25
24
  passToNext?: boolean;
26
25
  locals?: {
27
26
  data?: ${modelName} | null
@@ -34,15 +33,11 @@ export async function ${functionName}(req: FindUniqueRequest, res: Response, nex
34
33
  try {
35
34
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
36
35
 
37
- if (!outputValidator && !req.omitOutputValidation) {
38
- throw new Error('Output validation schema or omission flag must be provided.');
39
- }
40
-
41
- const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.findUnique(req.query as ${queryTypeName});
36
+ const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.findUnique(req.query as ${queryTypeName});
42
37
  if (req.passToNext) {
43
38
  if (req.locals) req.locals.data = data;
44
39
  next();
45
- } else if (!req.omitOutputValidation && outputValidator) {
40
+ } else if (outputValidator) {
46
41
  const validationResult = outputValidator.safeParse(data);
47
42
  if (validationResult.success) {
48
43
  return res.status(200).json(validationResult.data);
@@ -52,8 +47,8 @@ export async function ${functionName}(req: FindUniqueRequest, res: Response, nex
52
47
  } else {
53
48
  return res.status(200).json(data);
54
49
  }
55
- } catch (error: unknown) {
56
- return next(error);
50
+ } catch(error: unknown) {
51
+ next(error)
57
52
  }
58
53
  }`;
59
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateFindUnique.js","sourceRoot":"","sources":["../../src/helpers/generateFindUnique.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAOhD,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,aAAa,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAEzD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;;aAKX,SAAS;;;;gFAI0D,aAAa;;wBAErE,YAAY;;;;;;;;oCAQA,IAAA,8BAAoB,EAAC,SAAS,CAAC,4BAA4B,aAAa;;;;;;;;;;;;;;;;;EAiB1G,CAAA;AACF,CAAC,CAAA;AA1DY,QAAA,0BAA0B,8BA0DtC"}
1
+ {"version":3,"file":"generateFindUnique.js","sourceRoot":"","sources":["../../src/helpers/generateFindUnique.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,aAAa,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAEzD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;aAIX,SAAS;;;;gFAI0D,aAAa;;wBAErE,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC,4BAA4B,aAAa;;;;;;;;;;;;;;;;;EAiBlG,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,0BAA0B,8BAqDtC"}
@@ -18,7 +18,6 @@ interface GroupByRequest extends Request {
18
18
  prisma: PrismaClient;
19
19
  query: Partial<${argsTypeName}> & ParsedQs;
20
20
  outputValidation?: ZodTypeAny;
21
- omitOutputValidation?: boolean;
22
21
  locals?: {
23
22
  outputValidator?: ZodTypeAny;
24
23
  };
@@ -30,14 +29,10 @@ export async function ${functionName}(req: GroupByRequest, res: Response, next:
30
29
  try {
31
30
  const outputValidator = req.locals?.outputValidator || req.outputValidation;
32
31
 
33
- if (!outputValidator && !req.omitOutputValidation) {
34
- throw new Error('Output validation schema or omission flag must be provided.');
35
- }
36
-
37
32
  // @ts-ignore
38
- const result = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.groupBy(req.query);
33
+ const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.groupBy(req.query);
39
34
 
40
- if (!req.omitOutputValidation && outputValidator) {
35
+ if (outputValidator) {
41
36
  const validationResult = outputValidator.safeParse(result);
42
37
  if (validationResult.success) {
43
38
  return res.status(200).json(validationResult.data);
@@ -47,8 +42,8 @@ export async function ${functionName}(req: GroupByRequest, res: Response, next:
47
42
  } else {
48
43
  return res.status(200).json(result);
49
44
  }
50
- } catch (error: unknown) {
51
- return next(error);
45
+ } catch(error: unknown) {
46
+ next(error)
52
47
  }
53
48
  }`;
54
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateGroupBy.js","sourceRoot":"","sources":["../../src/helpers/generateGroupBy.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAUhD,MAAM,uBAAuB,GAAG,CAAC,OAGvC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,SAAS,CAAA;IAC1C,MAAM,YAAY,GAAG,UAAU,SAAS,aAAa,CAAA;IAErD,OAAO;EACP,qBAAqB;;;;;;;;mBAQJ,YAAY;;;;;;;;;;wBAUP,YAAY;;;;;;;;;sCASE,IAAA,8BAAoB,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAenE,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,uBAAuB,2BAqDnC"}
1
+ {"version":3,"file":"generateGroupBy.js","sourceRoot":"","sources":["../../src/helpers/generateGroupBy.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAUxC,MAAM,uBAAuB,GAAG,CAAC,OAGvC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,SAAS,CAAA;IAC1C,MAAM,YAAY,GAAG,UAAU,SAAS,aAAa,CAAA;IAErD,OAAO;EACP,qBAAqB;;;;;;;;mBAQJ,YAAY;;;;;;;;;wBASP,YAAY;;;;;sCAKE,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAe3D,CAAA;AACF,CAAC,CAAA;AAhDY,QAAA,uBAAuB,2BAgDnC"}