prisma-generator-express 1.56.4 → 1.58.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.
Files changed (44) hide show
  1. package/README.md +286 -29
  2. package/dist/copy/misc.js +25 -6
  3. package/dist/copy/misc.js.map +1 -1
  4. package/dist/generators/generateFastifyHandler.js +11 -0
  5. package/dist/generators/generateFastifyHandler.js.map +1 -1
  6. package/dist/generators/generateHonoHandler.js +14 -20
  7. package/dist/generators/generateHonoHandler.js.map +1 -1
  8. package/dist/generators/generateImportPrismaStatement.js +43 -0
  9. package/dist/generators/generateImportPrismaStatement.js.map +1 -1
  10. package/dist/generators/generateOperationCore.js +58 -17
  11. package/dist/generators/generateOperationCore.js.map +1 -1
  12. package/dist/generators/generateRouteConfigType.js +44 -15
  13. package/dist/generators/generateRouteConfigType.js.map +1 -1
  14. package/dist/generators/generateRouter.d.ts +2 -1
  15. package/dist/generators/generateRouter.js +60 -34
  16. package/dist/generators/generateRouter.js.map +1 -1
  17. package/dist/generators/generateRouterFastify.d.ts +2 -1
  18. package/dist/generators/generateRouterFastify.js +238 -193
  19. package/dist/generators/generateRouterFastify.js.map +1 -1
  20. package/dist/generators/generateRouterHono.d.ts +2 -1
  21. package/dist/generators/generateRouterHono.js +124 -89
  22. package/dist/generators/generateRouterHono.js.map +1 -1
  23. package/dist/index.js +22 -4
  24. package/dist/index.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/copy/autoIncludeRuntime.ts +9 -5
  27. package/src/copy/buildModelOpenApi.ts +96 -0
  28. package/src/copy/docsRenderer.ts +577 -174
  29. package/src/copy/materializedRouter.ts +40 -1
  30. package/src/copy/misc.ts +23 -6
  31. package/src/copy/operationDefinitions.ts +10 -0
  32. package/src/copy/operationRuntime.ts +28 -9
  33. package/src/copy/routeConfig.express.ts +9 -9
  34. package/src/copy/routeConfig.hono.ts +63 -5
  35. package/src/copy/routeConfig.ts +44 -20
  36. package/src/generators/generateFastifyHandler.ts +12 -0
  37. package/src/generators/generateHonoHandler.ts +15 -20
  38. package/src/generators/generateImportPrismaStatement.ts +13 -0
  39. package/src/generators/generateOperationCore.ts +58 -17
  40. package/src/generators/generateRouteConfigType.ts +52 -17
  41. package/src/generators/generateRouter.ts +61 -33
  42. package/src/generators/generateRouterFastify.ts +239 -192
  43. package/src/generators/generateRouterHono.ts +125 -88
  44. package/src/index.ts +25 -5
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateRouterFunction = generateRouterFunction;
4
4
  const generateRouteConfigType_1 = require("./generateRouteConfigType");
5
5
  const importExt_1 = require("../utils/importExt");
6
- function generateRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }) {
6
+ function generateRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }) {
7
7
  const ext = (0, importExt_1.importExt)(importStyle);
8
8
  const modelName = model.name;
9
9
  const modelNameLower = modelName.toLowerCase();
@@ -61,6 +61,7 @@ import type {
61
61
  import { parseQueryParams } from '../parseQueryParams${ext}'
62
62
  import { sanitizeKeys, normalizePrefix, getEnv } from '../misc${ext}'
63
63
  import { buildModelOpenApi } from '../buildModelOpenApi${ext}'
64
+ import { validateCountSourceWhere } from '../routeConfig${ext}'
64
65
  import type { OperationContext } from '../operationRuntime${ext}'
65
66
  import {
66
67
  transformResult,
@@ -81,6 +82,7 @@ const _env = getEnv()
81
82
 
82
83
  const WRITE_STRATEGY: WriteStrategy = '${writeStrategy}'
83
84
  const FIND_MANY_PAGINATED_MODE: FindManyPaginatedMode = '${findManyPaginatedMode}'
85
+ const DROP_GUARD = ${dropGuard} || _env.E2E === 'true'
84
86
 
85
87
  const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
86
88
  const MODEL_ENUMS = ${JSON.stringify(enumsMeta, null, 2)} as const
@@ -131,8 +133,16 @@ function readLocals(res: Response): LocalsBag {
131
133
  }
132
134
 
133
135
  export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${modelName}RouteConfig<TCtx, TPrisma> = {}) {
136
+ validateCountSourceWhere(config.pagination?.countSource, '${modelName} pagination')
137
+ validateCountSourceWhere(
138
+ (config.findManyPaginated && typeof config.findManyPaginated === 'object' ? config.findManyPaginated : undefined)?.pagination?.countSource,
139
+ '${modelName} findManyPaginated pagination',
140
+ )
141
+
134
142
  const router = express.Router()
135
143
 
144
+ const isEnabled = (value: unknown): boolean => value !== false && !!(config.enableAll || value)
145
+
136
146
  const customPrefix = normalizePrefix(config.customUrlPrefix || '')
137
147
  const modelPrefix = config.addModelPrefix !== false ? '/${modelNameLower}' : ''
138
148
  const basePath = customPrefix + modelPrefix
@@ -142,24 +152,32 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
142
152
 
143
153
  const postReadsEnabled = !config.disablePostReads
144
154
 
145
- const openApiJsonSpec = openApiDisabled
146
- ? null
147
- : buildModelOpenApi(
155
+ let _openApiJsonCache: unknown = undefined
156
+ const getOpenApiJson = (): unknown => {
157
+ if (_openApiJsonCache === undefined) {
158
+ _openApiJsonCache = buildModelOpenApi(
148
159
  '${modelName}',
149
160
  MODEL_FIELDS as unknown as Parameters<typeof buildModelOpenApi>[1],
150
161
  MODEL_ENUMS as unknown as Parameters<typeof buildModelOpenApi>[2],
151
162
  config as unknown as Parameters<typeof buildModelOpenApi>[3],
152
163
  { format: 'json', writeStrategy: WRITE_STRATEGY },
153
164
  )
154
- const openApiYamlSpec = openApiDisabled
155
- ? null
156
- : buildModelOpenApi(
165
+ }
166
+ return _openApiJsonCache
167
+ }
168
+ let _openApiYamlCache: string | undefined = undefined
169
+ const getOpenApiYaml = (): string => {
170
+ if (_openApiYamlCache === undefined) {
171
+ _openApiYamlCache = buildModelOpenApi(
157
172
  '${modelName}',
158
173
  MODEL_FIELDS as unknown as Parameters<typeof buildModelOpenApi>[1],
159
174
  MODEL_ENUMS as unknown as Parameters<typeof buildModelOpenApi>[2],
160
175
  config as unknown as Parameters<typeof buildModelOpenApi>[3],
161
176
  { format: 'yaml', writeStrategy: WRITE_STRATEGY },
162
- )
177
+ ) as string
178
+ }
179
+ return _openApiYamlCache
180
+ }
163
181
 
164
182
  const qbEnabled = isQueryBuilderEnabled(config)
165
183
  if (qbEnabled) {
@@ -200,7 +218,7 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
200
218
 
201
219
  const parseBodyAsQuery: RequestHandler = (req, res, next) => {
202
220
  if (!req.body || typeof req.body !== 'object' || Array.isArray(req.body)) {
203
- return next({ status: 400, message: 'Request body must be a JSON object' })
221
+ return next(new HttpError(400, 'Request body must be a JSON object'))
204
222
  }
205
223
  readLocals(res).parsedQuery = sanitizeKeys(req.body as Record<string, unknown>)
206
224
  next()
@@ -217,7 +235,7 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
217
235
  const headerValue = req.get(headerName)
218
236
  const caller = config.guard?.resolveVariant?.(req) ?? headerValue ?? undefined
219
237
  if (caller) locals.guardCaller = caller
220
- if (opConfig.shape) locals.guardShape = opConfig.shape
238
+ if (opConfig.shape && !DROP_GUARD) locals.guardShape = opConfig.shape
221
239
  next()
222
240
  }
223
241
  }
@@ -304,11 +322,13 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
304
322
  (name: string) => typeof stageRegistry[name] !== 'function',
305
323
  )
306
324
  if (missingStage) {
307
- return next({ status: 500, message: 'Missing progressive stage: ' + missingStage })
325
+ emitTerminalSSEError(res, 'Missing progressive stage: ' + missingStage)
326
+ return
308
327
  }
309
328
 
310
329
  if (typeof config.resolveContext !== 'function') {
311
- return next({ status: 500, message: 'Progressive endpoint requires config.resolveContext' })
330
+ emitTerminalSSEError(res, 'Progressive endpoint requires config.resolveContext')
331
+ return
312
332
  }
313
333
 
314
334
  const ctx = await config.resolveContext(req)
@@ -323,8 +343,8 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
323
343
  })
324
344
  } catch (err) {
325
345
  console.error('[progressive] dispatch error:', err)
326
- if (!res.headersSent) {
327
- return next({ status: 500, message: 'Internal server error' })
346
+ if (!res.headersSent && !res.writableEnded) {
347
+ emitTerminalSSEError(res, 'Internal server error')
328
348
  }
329
349
  }
330
350
  }
@@ -346,70 +366,70 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
346
366
  const openapiJsonPath = basePath ? \`\${basePath}/openapi.json\` : '/openapi.json'
347
367
  const openapiYamlPath = basePath ? \`\${basePath}/openapi.yaml\` : '/openapi.yaml'
348
368
  router.get(openapiJsonPath, (_req, res) => {
349
- res.json(openApiJsonSpec)
369
+ res.json(getOpenApiJson())
350
370
  })
351
371
  router.get(openapiYamlPath, (_req, res) => {
352
- res.type('application/yaml').send(openApiYamlSpec as string)
372
+ res.type('application/yaml').send(getOpenApiYaml())
353
373
  })
354
374
  }
355
375
 
356
- if (config.enableAll || config.findFirst) {
376
+ if (isEnabled(config.findFirst)) {
357
377
  const opConfig: OperationConfigLike = (config.findFirst as OperationConfigLike | undefined) ?? defaultOpConfig
358
378
  const { before = [], after = [] } = opConfig
359
379
  const path = basePath ? \`\${basePath}/first\` : '/first'
360
380
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.findFirst, 'findFirst'), ${modelName}FindFirst as RequestHandler, ...after, respond)
361
381
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}FindFirst as RequestHandler, ...after, respond)
362
382
  }
363
- if (config.enableAll || config.findFirstOrThrow) {
383
+ if (isEnabled(config.findFirstOrThrow)) {
364
384
  const opConfig: OperationConfigLike = (config.findFirstOrThrow as OperationConfigLike | undefined) ?? defaultOpConfig
365
385
  const { before = [], after = [] } = opConfig
366
386
  const path = basePath ? \`\${basePath}/first/strict\` : '/first/strict'
367
387
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.findFirstOrThrow, 'findFirstOrThrow'), ${modelName}FindFirstOrThrow as RequestHandler, ...after, respond)
368
388
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}FindFirstOrThrow as RequestHandler, ...after, respond)
369
389
  }
370
- if (config.enableAll || config.findManyPaginated) {
390
+ if (isEnabled(config.findManyPaginated)) {
371
391
  const opConfig: OperationConfigLike = (config.findManyPaginated as OperationConfigLike | undefined) ?? defaultOpConfig
372
392
  const { before = [], after = [] } = opConfig
373
393
  const path = basePath ? \`\${basePath}/paginated\` : '/paginated'
374
394
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.findManyPaginated, 'findManyPaginated'), ${modelName}FindManyPaginated as RequestHandler, ...after, respond)
375
395
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}FindManyPaginated as RequestHandler, ...after, respond)
376
396
  }
377
- if (config.enableAll || config.aggregate) {
397
+ if (isEnabled(config.aggregate)) {
378
398
  const opConfig: OperationConfigLike = (config.aggregate as OperationConfigLike | undefined) ?? defaultOpConfig
379
399
  const { before = [], after = [] } = opConfig
380
400
  const path = basePath ? \`\${basePath}/aggregate\` : '/aggregate'
381
401
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.aggregate, 'aggregate'), ${modelName}Aggregate as RequestHandler, ...after, respond)
382
402
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}Aggregate as RequestHandler, ...after, respond)
383
403
  }
384
- if (config.enableAll || config.count) {
404
+ if (isEnabled(config.count)) {
385
405
  const opConfig: OperationConfigLike = (config.count as OperationConfigLike | undefined) ?? defaultOpConfig
386
406
  const { before = [], after = [] } = opConfig
387
407
  const path = basePath ? \`\${basePath}/count\` : '/count'
388
408
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.count, 'count'), ${modelName}Count as RequestHandler, ...after, respond)
389
409
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}Count as RequestHandler, ...after, respond)
390
410
  }
391
- if (config.enableAll || config.groupBy) {
411
+ if (isEnabled(config.groupBy)) {
392
412
  const opConfig: OperationConfigLike = (config.groupBy as OperationConfigLike | undefined) ?? defaultOpConfig
393
413
  const { before = [], after = [] } = opConfig
394
414
  const path = basePath ? \`\${basePath}/groupby\` : '/groupby'
395
415
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.groupBy, 'groupBy'), ${modelName}GroupBy as RequestHandler, ...after, respond)
396
416
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}GroupBy as RequestHandler, ...after, respond)
397
417
  }
398
- if (config.enableAll || config.findUniqueOrThrow) {
418
+ if (isEnabled(config.findUniqueOrThrow)) {
399
419
  const opConfig: OperationConfigLike = (config.findUniqueOrThrow as OperationConfigLike | undefined) ?? defaultOpConfig
400
420
  const { before = [], after = [] } = opConfig
401
421
  const path = basePath ? \`\${basePath}/unique/strict\` : '/unique/strict'
402
422
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.findUniqueOrThrow, 'findUniqueOrThrow'), ${modelName}FindUniqueOrThrow as RequestHandler, ...after, respond)
403
423
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}FindUniqueOrThrow as RequestHandler, ...after, respond)
404
424
  }
405
- if (config.enableAll || config.findUnique) {
425
+ if (isEnabled(config.findUnique)) {
406
426
  const opConfig: OperationConfigLike = (config.findUnique as OperationConfigLike | undefined) ?? defaultOpConfig
407
427
  const { before = [], after = [] } = opConfig
408
428
  const path = basePath ? \`\${basePath}/unique\` : '/unique'
409
429
  router.get(path, parseQuery, setShape(opConfig), ...before, maybeProgressiveSSE(opConfig, core.findUnique, 'findUnique'), ${modelName}FindUnique as RequestHandler, ...after, respond)
410
430
  if (postReadsEnabled) router.post(path, parseBodyAsQuery, setShape(opConfig), ...before, ${modelName}FindUnique as RequestHandler, ...after, respond)
411
431
  }
412
- if (config.enableAll || config.findMany) {
432
+ if (isEnabled(config.findMany)) {
413
433
  const opConfig: OperationConfigLike = (config.findMany as OperationConfigLike | undefined) ?? defaultOpConfig
414
434
  const { before = [], after = [] } = opConfig
415
435
  const path = basePath || '/'
@@ -420,55 +440,55 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
420
440
  }
421
441
  }
422
442
 
423
- if (config.enableAll || config.createManyAndReturn) {
443
+ if (isEnabled(config.createManyAndReturn)) {
424
444
  const opConfig: OperationConfigLike = (config.createManyAndReturn as OperationConfigLike | undefined) ?? defaultOpConfig
425
445
  const { before = [], after = [] } = opConfig
426
446
  const path = basePath ? \`\${basePath}/many/return\` : '/many/return'
427
447
  router.post(path, setShape(opConfig), ...before, ${modelName}CreateManyAndReturn as RequestHandler, ...after, respondCreated)
428
448
  }
429
- if (config.enableAll || config.createMany) {
449
+ if (isEnabled(config.createMany)) {
430
450
  const opConfig: OperationConfigLike = (config.createMany as OperationConfigLike | undefined) ?? defaultOpConfig
431
451
  const { before = [], after = [] } = opConfig
432
452
  const path = basePath ? \`\${basePath}/many\` : '/many'
433
453
  router.post(path, setShape(opConfig), ...before, ${modelName}CreateMany as RequestHandler, ...after, respondCreated)
434
454
  }
435
- if (config.enableAll || config.create) {
455
+ if (isEnabled(config.create)) {
436
456
  const opConfig: OperationConfigLike = (config.create as OperationConfigLike | undefined) ?? defaultOpConfig
437
457
  const { before = [], after = [] } = opConfig
438
458
  const path = basePath || '/'
439
459
  router.post(path, setShape(opConfig), ...before, ${modelName}Create as RequestHandler, ...after, respondCreated)
440
460
  }
441
- if (config.enableAll || config.updateManyAndReturn) {
461
+ if (isEnabled(config.updateManyAndReturn)) {
442
462
  const opConfig: OperationConfigLike = (config.updateManyAndReturn as OperationConfigLike | undefined) ?? defaultOpConfig
443
463
  const { before = [], after = [] } = opConfig
444
464
  const path = basePath ? \`\${basePath}/many/return\` : '/many/return'
445
465
  router.put(path, setShape(opConfig), ...before, ${modelName}UpdateManyAndReturn as RequestHandler, ...after, respond)
446
466
  }
447
- if (config.enableAll || config.updateMany) {
467
+ if (isEnabled(config.updateMany)) {
448
468
  const opConfig: OperationConfigLike = (config.updateMany as OperationConfigLike | undefined) ?? defaultOpConfig
449
469
  const { before = [], after = [] } = opConfig
450
470
  const path = basePath ? \`\${basePath}/many\` : '/many'
451
471
  router.put(path, setShape(opConfig), ...before, ${modelName}UpdateMany as RequestHandler, ...after, respond)
452
472
  }
453
- if (config.enableAll || config.update) {
473
+ if (isEnabled(config.update)) {
454
474
  const opConfig: OperationConfigLike = (config.update as OperationConfigLike | undefined) ?? defaultOpConfig
455
475
  const { before = [], after = [] } = opConfig
456
476
  const path = basePath || '/'
457
477
  router.put(path, setShape(opConfig), ...before, ${modelName}Update as RequestHandler, ...after, respond)
458
478
  }
459
- if (config.enableAll || config.upsert) {
479
+ if (isEnabled(config.upsert)) {
460
480
  const opConfig: OperationConfigLike = (config.upsert as OperationConfigLike | undefined) ?? defaultOpConfig
461
481
  const { before = [], after = [] } = opConfig
462
482
  const path = basePath || '/'
463
483
  router.patch(path, setShape(opConfig), ...before, ${modelName}Upsert as RequestHandler, ...after, respond)
464
484
  }
465
- if (config.enableAll || config.deleteMany) {
485
+ if (isEnabled(config.deleteMany)) {
466
486
  const opConfig: OperationConfigLike = (config.deleteMany as OperationConfigLike | undefined) ?? defaultOpConfig
467
487
  const { before = [], after = [] } = opConfig
468
488
  const path = basePath ? \`\${basePath}/many\` : '/many'
469
489
  router.delete(path, setShape(opConfig), ...before, ${modelName}DeleteMany as RequestHandler, ...after, respond)
470
490
  }
471
- if (config.enableAll || config.delete) {
491
+ if (isEnabled(config.delete)) {
472
492
  const opConfig: OperationConfigLike = (config.delete as OperationConfigLike | undefined) ?? defaultOpConfig
473
493
  const { before = [], after = [] } = opConfig
474
494
  const path = basePath || '/'
@@ -476,6 +496,12 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
476
496
  }
477
497
  if (config.updateEach) {
478
498
  const opConfig: OperationConfigLike = (config.updateEach as OperationConfigLike | undefined) ?? defaultOpConfig
499
+ if ((!opConfig.before || opConfig.before.length === 0) && _env.NODE_ENV !== 'production') {
500
+ console.warn(
501
+ '[${modelName}Router] updateEach is enabled without a before hook. ' +
502
+ 'This endpoint bypasses guard shapes and should be protected by authentication middleware.',
503
+ )
504
+ }
479
505
  const { before = [], after = [] } = opConfig
480
506
  const path = basePath ? \`\${basePath}/each\` : '/each'
481
507
  router.post(
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouter.js","sourceRoot":"","sources":["../../src/generators/generateRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateRouter.js","sourceRoot":"","sources":["../../src/generators/generateRouter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { DMMF } from '@prisma/generator-helper';
2
2
  import { ImportStyle } from '../utils/resolveImportStyle';
3
3
  import { WriteStrategy, FindManyPaginatedMode } from '../constants';
4
- export declare function generateFastifyRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }: {
4
+ export declare function generateFastifyRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }: {
5
5
  model: DMMF.Model;
6
6
  enums: DMMF.DatamodelEnum[];
7
7
  guardShapesImport: string | null;
8
8
  importStyle: ImportStyle;
9
9
  writeStrategy: WriteStrategy;
10
10
  findManyPaginatedMode: FindManyPaginatedMode;
11
+ dropGuard: boolean;
11
12
  }): string;