prisma-generator-express 1.23.0 → 1.24.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.
@@ -6,7 +6,7 @@ function generateUnifiedDocs(models) {
6
6
  .map((model) => `import { ${model}Docs } from './${model}/${model}Docs'`)
7
7
  .join('\n');
8
8
  return `${imports}
9
- import { Request, Response, RequestHandler } from 'express'
9
+ import { Request, Response } from 'express'
10
10
  import type { RouteConfig } from './routeConfig'
11
11
 
12
12
  const _env = typeof process !== 'undefined' && process.env ? process.env : {} as Record<string, string | undefined>
@@ -111,27 +111,27 @@ export function generateCombinedDocs(config: CombinedDocsConfig) {
111
111
  <tbody>
112
112
  \${registeredModels.map((m) => {
113
113
  const lower = m.toLowerCase()
114
- const docsUrl = \\\`\\\${basePath}/\\\${lower}\\\`
115
- const scalarUrl = \\\`\\\${basePath}/\\\${lower}?ui=scalar\\\`
116
- const jsonUrl = \\\`\\\${basePath}/\\\${lower}?ui=json\\\`
117
- const yamlUrl = \\\`\\\${basePath}/\\\${lower}?ui=yaml\\\`
118
- const playgroundUrl = \\\`\\\${basePath}/\\\${lower}?ui=playground\\\`
114
+ const docsUrl = \`\${basePath}/\${lower}\`
115
+ const scalarUrl = \`\${basePath}/\${lower}?ui=scalar\`
116
+ const jsonUrl = \`\${basePath}/\${lower}?ui=json\`
117
+ const yamlUrl = \`\${basePath}/\${lower}?ui=yaml\`
118
+ const playgroundUrl = \`\${basePath}/\${lower}?ui=playground\`
119
119
  const modelCfg = config.modelConfigs[m]
120
120
  const modelPlayground = isPlaygroundAvailable(modelCfg)
121
121
  const playgroundLink = modelPlayground
122
- ? \\\`, <a href="\\\${playgroundUrl}" class="text-inherit underline">playground</a>\\\`
122
+ ? \`, <a href="\${playgroundUrl}" class="text-inherit underline">playground</a>\`
123
123
  : ''
124
- return \\\`
124
+ return \`
125
125
  <tr>
126
- <td class="text-left py-2 px-2 border-b border-gray-300 align-top">\\\${escapeHtml(m)}</td>
127
- <td class="text-left py-2 px-2 border-b border-gray-300 align-top"><a href="\\\${docsUrl}" class="text-inherit underline">\\\${escapeHtml(docsUrl)}</a></td>
126
+ <td class="text-left py-2 px-2 border-b border-gray-300 align-top">\${escapeHtml(m)}</td>
127
+ <td class="text-left py-2 px-2 border-b border-gray-300 align-top"><a href="\${docsUrl}" class="text-inherit underline">\${escapeHtml(docsUrl)}</a></td>
128
128
  <td class="text-left py-2 px-2 border-b border-gray-300 align-top">
129
- <a href="\\\${scalarUrl}" class="text-inherit underline">scalar</a>,
130
- <a href="\\\${jsonUrl}" class="text-inherit underline">json</a>,
131
- <a href="\\\${yamlUrl}" class="text-inherit underline">yaml</a>\\\${playgroundLink}
129
+ <a href="\${scalarUrl}" class="text-inherit underline">scalar</a>,
130
+ <a href="\${jsonUrl}" class="text-inherit underline">json</a>,
131
+ <a href="\${yamlUrl}" class="text-inherit underline">yaml</a>\${playgroundLink}
132
132
  </td>
133
133
  </tr>
134
- \\\`
134
+ \`
135
135
  }).join('')}
136
136
  </tbody>
137
137
  </table>
@@ -161,8 +161,8 @@ export function registerModelDocs(
161
161
  registeredModels.forEach((model) => {
162
162
  const handler = docsHandlers[model]
163
163
  const cfg = configs[model] || {}
164
- const path = \\\`\\\${normalizedBase}/\\\${model.toLowerCase()}\\\`
165
- console.log(\\\` Registered docs: \\\${path}\\\`)
164
+ const path = \`\${normalizedBase}/\${model.toLowerCase()}\`
165
+ console.log(\` Registered docs: \${path}\`)
166
166
  app.get(path, handler(cfg))
167
167
  })
168
168
  }
@@ -7,7 +7,7 @@ function generateUnifiedHandler(options) {
7
7
  const modelNameLower = modelName.charAt(0).toLowerCase() + modelName.slice(1);
8
8
  const importPath = prismaImportStatement.match(/from ['"](.+?)['"]/)?.[1] || '';
9
9
  return `
10
- import { Prisma, PrismaClient } from '${importPath}'
10
+ import { PrismaClient } from '${importPath}'
11
11
  import { Request, Response, NextFunction } from 'express'
12
12
  import { sanitizeKeys } from '../misc'
13
13
 
@@ -326,10 +326,14 @@ export async function ${modelName}FindMany(
326
326
  }
327
327
  function generateWriteHandlers(modelName, modelNameLower) {
328
328
  const writeOps = [
329
- { name: 'Create', method: 'create' },
330
- { name: 'CreateMany', method: 'createMany' },
331
- { name: 'CreateManyAndReturn', method: 'createManyAndReturn' },
332
- { name: 'Update', method: 'update' },
329
+ { name: 'Create', method: 'create', requiredFields: ['data'] },
330
+ { name: 'CreateMany', method: 'createMany', requiredFields: ['data'] },
331
+ {
332
+ name: 'CreateManyAndReturn',
333
+ method: 'createManyAndReturn',
334
+ requiredFields: ['data'],
335
+ },
336
+ { name: 'Update', method: 'update', requiredFields: ['where', 'data'] },
333
337
  {
334
338
  name: 'UpdateMany',
335
339
  method: 'updateMany',
@@ -340,9 +344,13 @@ function generateWriteHandlers(modelName, modelNameLower) {
340
344
  method: 'updateManyAndReturn',
341
345
  requiredFields: ['where', 'data'],
342
346
  },
343
- { name: 'Delete', method: 'delete' },
347
+ { name: 'Delete', method: 'delete', requiredFields: ['where'] },
344
348
  { name: 'DeleteMany', method: 'deleteMany', requiredFields: ['where'] },
345
- { name: 'Upsert', method: 'upsert' },
349
+ {
350
+ name: 'Upsert',
351
+ method: 'upsert',
352
+ requiredFields: ['where', 'create', 'update'],
353
+ },
346
354
  ];
347
355
  return (writeOps
348
356
  .map((op) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generateUnifiedHandler.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateUnifiedHandler.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedHandler.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ function generateScalarUIHandler(options) {
66
66
  name: idx.name || idx.fields.join('_'),
67
67
  fields: idx.fields,
68
68
  }));
69
- return `import type { Context } from 'hono'
69
+ return `import { Request, Response } from 'express'
70
70
  import { buildModelOpenApi } from '../buildModelOpenApi'
71
71
  import type { RouteConfig } from '../routeConfig'
72
72
  import { OPERATION_DEFS, isOperationEnabled } from '../operationDefinitions'
@@ -1339,19 +1339,19 @@ function renderDocs(modelName: string, config: DocsConfig) {
1339
1339
  }
1340
1340
 
1341
1341
  export function ${modelName}Docs(config: DocsConfig = {}) {
1342
- return (c: Context) => {
1342
+ return (req: Request, res: Response) => {
1343
1343
  const disabled = isOpenApiDisabled(config.disableOpenApi)
1344
- if (disabled) return c.text('OpenAPI documentation is disabled in production', 404)
1344
+ if (disabled) return res.status(404).send('OpenAPI documentation is disabled in production')
1345
1345
 
1346
- const rawUi = c.req.query('ui') || config.docsUi || 'docs'
1346
+ const rawUi = (req.query['ui'] as string | undefined) || config.docsUi || 'docs'
1347
1347
  const validUis: DocsUI[] = ['docs', 'scalar', 'json', 'yaml', 'playground']
1348
1348
  const ui: DocsUI = validUis.includes(rawUi as DocsUI) ? (rawUi as DocsUI) : 'docs'
1349
1349
 
1350
1350
  if (ui === 'playground') {
1351
1351
  if (!isPlaygroundAvailable(config)) {
1352
- return c.text('Query builder is disabled', 404)
1352
+ return res.status(404).send('Query builder is disabled')
1353
1353
  }
1354
- return c.html(renderPlayground('${modelName}', config))
1354
+ return res.type('html').send(renderPlayground('${modelName}', config))
1355
1355
  }
1356
1356
 
1357
1357
  if (ui === 'yaml') {
@@ -1362,7 +1362,7 @@ export function ${modelName}Docs(config: DocsConfig = {}) {
1362
1362
  config,
1363
1363
  { format: 'yaml' }
1364
1364
  )
1365
- return c.text(yaml as string, 200, { 'Content-Type': 'application/yaml' })
1365
+ return res.type('application/yaml').send(yaml as string)
1366
1366
  }
1367
1367
 
1368
1368
  const spec = buildModelOpenApi(
@@ -1373,16 +1373,16 @@ export function ${modelName}Docs(config: DocsConfig = {}) {
1373
1373
  { format: 'json' }
1374
1374
  )
1375
1375
 
1376
- if (ui === 'json') return c.json(spec)
1376
+ if (ui === 'json') return res.json(spec)
1377
1377
 
1378
1378
  const pageTitle = config.docsTitle || \`${modelName} API\`
1379
1379
 
1380
1380
  if (ui === 'scalar') {
1381
- return c.html(renderScalar('${modelName}', spec, pageTitle, config.scalarCdnUrl))
1381
+ return res.type('html').send(renderScalar('${modelName}', spec, pageTitle, config.scalarCdnUrl))
1382
1382
  }
1383
1383
 
1384
1384
  const html = renderDocs('${modelName}', config)
1385
- return c.html(html)
1385
+ return res.type('html').send(html)
1386
1386
  }
1387
1387
  }
1388
1388
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"generateUnifiedScalarUI.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedScalarUI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateUnifiedScalarUI.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedScalarUI.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,2 @@
1
1
  import { GeneratorOptions } from '@prisma/generator-helper';
2
- export interface CopyFilesConfig {
3
- includeCacheUtils?: boolean;
4
- includeValidatorUtils?: boolean;
5
- }
6
- export declare function copyFiles(options: GeneratorOptions, config?: CopyFilesConfig): Promise<void>;
2
+ export declare function copyFiles(options: GeneratorOptions): Promise<void>;
@@ -36,8 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.copyFiles = copyFiles;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
- async function copyFiles(options, config) {
40
- const copyConfig = config || {};
39
+ async function copyFiles(options) {
41
40
  const outputPath = options.generator.output?.value;
42
41
  if (!outputPath)
43
42
  return;
@@ -56,20 +55,6 @@ async function copyFiles(options, config) {
56
55
  if (!ok)
57
56
  allCopied = false;
58
57
  }
59
- if (copyConfig.includeCacheUtils) {
60
- const ok = await copyFile(srcDir, outputPath, 'cacheManager.ts', {
61
- required: true,
62
- });
63
- if (!ok)
64
- allCopied = false;
65
- }
66
- if (copyConfig.includeValidatorUtils) {
67
- const ok = await copyFile(srcDir, outputPath, 'inputValidator.ts', {
68
- required: true,
69
- });
70
- if (!ok)
71
- allCopied = false;
72
- }
73
58
  const clientDir = path.join(outputPath, 'client');
74
59
  if (!fs.existsSync(clientDir)) {
75
60
  fs.mkdirSync(clientDir, { recursive: true });
@@ -77,7 +62,7 @@ async function copyFiles(options, config) {
77
62
  const clientSrcDir = path.join(__dirname, '..', '..', 'src', 'client');
78
63
  const clientOk = await copyFile(clientSrcDir, clientDir, 'encodeQueryParams.ts', {
79
64
  required: true,
80
- importRewrites: [{ from: '../copy/misc', to: '../misc' }],
65
+ importRewrites: [{ from: '../copy/misc.js', to: '../misc.js' }],
81
66
  });
82
67
  if (!clientOk)
83
68
  allCopied = false;
@@ -1 +1 @@
1
- {"version":3,"file":"copyFiles.js","sourceRoot":"","sources":["../../src/utils/copyFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copyFiles.js","sourceRoot":"","sources":["../../src/utils/copyFiles.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const capitalize: (str: string) => string;
2
- export declare function toPascalCase(str: string): string;
2
+ export declare function toCamelCase(str: string): string;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.capitalize = void 0;
4
- exports.toPascalCase = toPascalCase;
4
+ exports.toCamelCase = toCamelCase;
5
5
  const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
6
6
  exports.capitalize = capitalize;
7
- function toPascalCase(str) {
7
+ function toCamelCase(str) {
8
8
  if (!str)
9
9
  return str;
10
10
  return str.charAt(0).toLowerCase() + str.slice(1);
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/utils/strings.ts"],"names":[],"mappings":";;;AAGA,oCAGC;AANM,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACxC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAD/B,QAAA,UAAU,cACqB;AAE5C,SAAgB,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAA;IACpB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/utils/strings.ts"],"names":[],"mappings":";;;AAGA,kCAGC;AANM,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACxC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAD/B,QAAA,UAAU,cACqB;AAE5C,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAA;IACpB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "prisma-generator-express",
3
3
  "description": "Prisma generator for Hono CRUD API with OpenAPI documentation",
4
- "version": "1.23.0",
4
+ "version": "1.24.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "MIT",
@@ -214,13 +214,20 @@ function generateOperationSchemas(
214
214
  }
215
215
  })
216
216
 
217
+ const relationFkFields = new Set(
218
+ fields
219
+ .filter((f) => f.kind === 'object' && f.relationFromFields?.length)
220
+ .flatMap((f) => f.relationFromFields!),
221
+ )
222
+
217
223
  const requiredScalars = fields
218
224
  .filter(
219
225
  (f) =>
220
226
  (f.kind === 'scalar' || f.kind === 'enum') &&
221
227
  f.isRequired &&
222
228
  !f.hasDefaultValue &&
223
- !f.isUpdatedAt,
229
+ !f.isUpdatedAt &&
230
+ !relationFkFields.has(f.name),
224
231
  )
225
232
  .map((f) => f.name)
226
233
 
@@ -48,7 +48,7 @@ export const parseQueryParams = (params: QueryParams): unknown => {
48
48
  if (typeof raw === 'string') {
49
49
  parsedParams[key] = parseQueryValue(raw, key)
50
50
  } else {
51
- parsedParams[key] = raw
51
+ parsedParams[key] = sanitizeKeys(raw)
52
52
  }
53
53
  }
54
54
  return parsedParams
@@ -4,7 +4,7 @@ export function generateUnifiedDocs(models: string[]): string {
4
4
  .join('\n')
5
5
 
6
6
  return `${imports}
7
- import { Request, Response, RequestHandler } from 'express'
7
+ import { Request, Response } from 'express'
8
8
  import type { RouteConfig } from './routeConfig'
9
9
 
10
10
  const _env = typeof process !== 'undefined' && process.env ? process.env : {} as Record<string, string | undefined>
@@ -109,27 +109,27 @@ export function generateCombinedDocs(config: CombinedDocsConfig) {
109
109
  <tbody>
110
110
  \${registeredModels.map((m) => {
111
111
  const lower = m.toLowerCase()
112
- const docsUrl = \\\`\\\${basePath}/\\\${lower}\\\`
113
- const scalarUrl = \\\`\\\${basePath}/\\\${lower}?ui=scalar\\\`
114
- const jsonUrl = \\\`\\\${basePath}/\\\${lower}?ui=json\\\`
115
- const yamlUrl = \\\`\\\${basePath}/\\\${lower}?ui=yaml\\\`
116
- const playgroundUrl = \\\`\\\${basePath}/\\\${lower}?ui=playground\\\`
112
+ const docsUrl = \`\${basePath}/\${lower}\`
113
+ const scalarUrl = \`\${basePath}/\${lower}?ui=scalar\`
114
+ const jsonUrl = \`\${basePath}/\${lower}?ui=json\`
115
+ const yamlUrl = \`\${basePath}/\${lower}?ui=yaml\`
116
+ const playgroundUrl = \`\${basePath}/\${lower}?ui=playground\`
117
117
  const modelCfg = config.modelConfigs[m]
118
118
  const modelPlayground = isPlaygroundAvailable(modelCfg)
119
119
  const playgroundLink = modelPlayground
120
- ? \\\`, <a href="\\\${playgroundUrl}" class="text-inherit underline">playground</a>\\\`
120
+ ? \`, <a href="\${playgroundUrl}" class="text-inherit underline">playground</a>\`
121
121
  : ''
122
- return \\\`
122
+ return \`
123
123
  <tr>
124
- <td class="text-left py-2 px-2 border-b border-gray-300 align-top">\\\${escapeHtml(m)}</td>
125
- <td class="text-left py-2 px-2 border-b border-gray-300 align-top"><a href="\\\${docsUrl}" class="text-inherit underline">\\\${escapeHtml(docsUrl)}</a></td>
124
+ <td class="text-left py-2 px-2 border-b border-gray-300 align-top">\${escapeHtml(m)}</td>
125
+ <td class="text-left py-2 px-2 border-b border-gray-300 align-top"><a href="\${docsUrl}" class="text-inherit underline">\${escapeHtml(docsUrl)}</a></td>
126
126
  <td class="text-left py-2 px-2 border-b border-gray-300 align-top">
127
- <a href="\\\${scalarUrl}" class="text-inherit underline">scalar</a>,
128
- <a href="\\\${jsonUrl}" class="text-inherit underline">json</a>,
129
- <a href="\\\${yamlUrl}" class="text-inherit underline">yaml</a>\\\${playgroundLink}
127
+ <a href="\${scalarUrl}" class="text-inherit underline">scalar</a>,
128
+ <a href="\${jsonUrl}" class="text-inherit underline">json</a>,
129
+ <a href="\${yamlUrl}" class="text-inherit underline">yaml</a>\${playgroundLink}
130
130
  </td>
131
131
  </tr>
132
- \\\`
132
+ \`
133
133
  }).join('')}
134
134
  </tbody>
135
135
  </table>
@@ -159,8 +159,8 @@ export function registerModelDocs(
159
159
  registeredModels.forEach((model) => {
160
160
  const handler = docsHandlers[model]
161
161
  const cfg = configs[model] || {}
162
- const path = \\\`\\\${normalizedBase}/\\\${model.toLowerCase()}\\\`
163
- console.log(\\\` Registered docs: \\\${path}\\\`)
162
+ const path = \`\${normalizedBase}/\${model.toLowerCase()}\`
163
+ console.log(\` Registered docs: \${path}\`)
164
164
  app.get(path, handler(cfg))
165
165
  })
166
166
  }
@@ -13,7 +13,7 @@ export function generateUnifiedHandler(options: UnifiedHandlerOptions): string {
13
13
  prismaImportStatement.match(/from ['"](.+?)['"]/)?.[1] || ''
14
14
 
15
15
  return `
16
- import { Prisma, PrismaClient } from '${importPath}'
16
+ import { PrismaClient } from '${importPath}'
17
17
  import { Request, Response, NextFunction } from 'express'
18
18
  import { sanitizeKeys } from '../misc'
19
19
 
@@ -348,10 +348,14 @@ function generateWriteHandlers(
348
348
  method: string
349
349
  requiredFields?: string[]
350
350
  }[] = [
351
- { name: 'Create', method: 'create' },
352
- { name: 'CreateMany', method: 'createMany' },
353
- { name: 'CreateManyAndReturn', method: 'createManyAndReturn' },
354
- { name: 'Update', method: 'update' },
351
+ { name: 'Create', method: 'create', requiredFields: ['data'] },
352
+ { name: 'CreateMany', method: 'createMany', requiredFields: ['data'] },
353
+ {
354
+ name: 'CreateManyAndReturn',
355
+ method: 'createManyAndReturn',
356
+ requiredFields: ['data'],
357
+ },
358
+ { name: 'Update', method: 'update', requiredFields: ['where', 'data'] },
355
359
  {
356
360
  name: 'UpdateMany',
357
361
  method: 'updateMany',
@@ -362,9 +366,13 @@ function generateWriteHandlers(
362
366
  method: 'updateManyAndReturn',
363
367
  requiredFields: ['where', 'data'],
364
368
  },
365
- { name: 'Delete', method: 'delete' },
369
+ { name: 'Delete', method: 'delete', requiredFields: ['where'] },
366
370
  { name: 'DeleteMany', method: 'deleteMany', requiredFields: ['where'] },
367
- { name: 'Upsert', method: 'upsert' },
371
+ {
372
+ name: 'Upsert',
373
+ method: 'upsert',
374
+ requiredFields: ['where', 'create', 'update'],
375
+ },
368
376
  ]
369
377
 
370
378
  return (
@@ -505,4 +513,4 @@ export async function ${modelName}FindManyPaginated(req: Request, res: Response,
505
513
  }
506
514
  `
507
515
  )
508
- }
516
+ }
@@ -86,7 +86,7 @@ export function generateScalarUIHandler(options: {
86
86
  fields: idx.fields,
87
87
  }))
88
88
 
89
- return `import type { Context } from 'hono'
89
+ return `import { Request, Response } from 'express'
90
90
  import { buildModelOpenApi } from '../buildModelOpenApi'
91
91
  import type { RouteConfig } from '../routeConfig'
92
92
  import { OPERATION_DEFS, isOperationEnabled } from '../operationDefinitions'
@@ -1359,19 +1359,19 @@ function renderDocs(modelName: string, config: DocsConfig) {
1359
1359
  }
1360
1360
 
1361
1361
  export function ${modelName}Docs(config: DocsConfig = {}) {
1362
- return (c: Context) => {
1362
+ return (req: Request, res: Response) => {
1363
1363
  const disabled = isOpenApiDisabled(config.disableOpenApi)
1364
- if (disabled) return c.text('OpenAPI documentation is disabled in production', 404)
1364
+ if (disabled) return res.status(404).send('OpenAPI documentation is disabled in production')
1365
1365
 
1366
- const rawUi = c.req.query('ui') || config.docsUi || 'docs'
1366
+ const rawUi = (req.query['ui'] as string | undefined) || config.docsUi || 'docs'
1367
1367
  const validUis: DocsUI[] = ['docs', 'scalar', 'json', 'yaml', 'playground']
1368
1368
  const ui: DocsUI = validUis.includes(rawUi as DocsUI) ? (rawUi as DocsUI) : 'docs'
1369
1369
 
1370
1370
  if (ui === 'playground') {
1371
1371
  if (!isPlaygroundAvailable(config)) {
1372
- return c.text('Query builder is disabled', 404)
1372
+ return res.status(404).send('Query builder is disabled')
1373
1373
  }
1374
- return c.html(renderPlayground('${modelName}', config))
1374
+ return res.type('html').send(renderPlayground('${modelName}', config))
1375
1375
  }
1376
1376
 
1377
1377
  if (ui === 'yaml') {
@@ -1382,7 +1382,7 @@ export function ${modelName}Docs(config: DocsConfig = {}) {
1382
1382
  config,
1383
1383
  { format: 'yaml' }
1384
1384
  )
1385
- return c.text(yaml as string, 200, { 'Content-Type': 'application/yaml' })
1385
+ return res.type('application/yaml').send(yaml as string)
1386
1386
  }
1387
1387
 
1388
1388
  const spec = buildModelOpenApi(
@@ -1393,16 +1393,16 @@ export function ${modelName}Docs(config: DocsConfig = {}) {
1393
1393
  { format: 'json' }
1394
1394
  )
1395
1395
 
1396
- if (ui === 'json') return c.json(spec)
1396
+ if (ui === 'json') return res.json(spec)
1397
1397
 
1398
1398
  const pageTitle = config.docsTitle || \`${modelName} API\`
1399
1399
 
1400
1400
  if (ui === 'scalar') {
1401
- return c.html(renderScalar('${modelName}', spec, pageTitle, config.scalarCdnUrl))
1401
+ return res.type('html').send(renderScalar('${modelName}', spec, pageTitle, config.scalarCdnUrl))
1402
1402
  }
1403
1403
 
1404
1404
  const html = renderDocs('${modelName}', config)
1405
- return c.html(html)
1405
+ return res.type('html').send(html)
1406
1406
  }
1407
1407
  }
1408
1408
  `
@@ -2,16 +2,7 @@ import { GeneratorOptions } from '@prisma/generator-helper'
2
2
  import * as fs from 'fs'
3
3
  import * as path from 'path'
4
4
 
5
- export interface CopyFilesConfig {
6
- includeCacheUtils?: boolean
7
- includeValidatorUtils?: boolean
8
- }
9
-
10
- export async function copyFiles(
11
- options: GeneratorOptions,
12
- config?: CopyFilesConfig,
13
- ): Promise<void> {
14
- const copyConfig = config || {}
5
+ export async function copyFiles(options: GeneratorOptions): Promise<void> {
15
6
  const outputPath = options.generator.output?.value
16
7
  if (!outputPath) return
17
8
 
@@ -34,20 +25,6 @@ export async function copyFiles(
34
25
  if (!ok) allCopied = false
35
26
  }
36
27
 
37
- if (copyConfig.includeCacheUtils) {
38
- const ok = await copyFile(srcDir, outputPath, 'cacheManager.ts', {
39
- required: true,
40
- })
41
- if (!ok) allCopied = false
42
- }
43
-
44
- if (copyConfig.includeValidatorUtils) {
45
- const ok = await copyFile(srcDir, outputPath, 'inputValidator.ts', {
46
- required: true,
47
- })
48
- if (!ok) allCopied = false
49
- }
50
-
51
28
  const clientDir = path.join(outputPath, 'client')
52
29
  if (!fs.existsSync(clientDir)) {
53
30
  fs.mkdirSync(clientDir, { recursive: true })
@@ -60,7 +37,7 @@ export async function copyFiles(
60
37
  'encodeQueryParams.ts',
61
38
  {
62
39
  required: true,
63
- importRewrites: [{ from: '../copy/misc', to: '../misc' }],
40
+ importRewrites: [{ from: '../copy/misc.js', to: '../misc.js' }],
64
41
  },
65
42
  )
66
43
  if (!clientOk) allCopied = false
@@ -1,7 +1,7 @@
1
1
  export const capitalize = (str: string) =>
2
2
  str.charAt(0).toUpperCase() + str.slice(1)
3
3
 
4
- export function toPascalCase(str: string) {
4
+ export function toCamelCase(str: string) {
5
5
  if (!str) return str
6
6
  return str.charAt(0).toLowerCase() + str.slice(1)
7
- }
7
+ }