prisma-generator-express 1.65.2 → 1.67.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.
- package/README.md +51 -3480
- package/dist/client/encodeQueryParams.js +3 -1
- package/dist/client/encodeQueryParams.js.map +1 -1
- package/dist/copy/misc.d.ts +1 -0
- package/dist/copy/misc.js +14 -0
- package/dist/copy/misc.js.map +1 -1
- package/dist/copy/operationDefinitions.js +69 -6
- package/dist/copy/operationDefinitions.js.map +1 -1
- package/dist/generators/generateFastifyHandler.d.ts +2 -2
- package/dist/generators/generateFastifyHandler.js +15 -5
- package/dist/generators/generateFastifyHandler.js.map +1 -1
- package/dist/generators/generateHonoHandler.d.ts +2 -2
- package/dist/generators/generateHonoHandler.js +12 -5
- package/dist/generators/generateHonoHandler.js.map +1 -1
- package/dist/generators/generateImportPrismaStatement.d.ts +1 -0
- package/dist/generators/generateImportPrismaStatement.js +6 -0
- package/dist/generators/generateImportPrismaStatement.js.map +1 -1
- package/dist/generators/generateModelMetadata.js +20 -10
- package/dist/generators/generateModelMetadata.js.map +1 -1
- package/dist/generators/generateOperationCore.d.ts +3 -3
- package/dist/generators/generateOperationCore.js +51 -16
- package/dist/generators/generateOperationCore.js.map +1 -1
- package/dist/generators/generateQueryBuilderHelper.d.ts +1 -1
- package/dist/generators/generateQueryBuilderHelper.js +2 -4
- package/dist/generators/generateQueryBuilderHelper.js.map +1 -1
- package/dist/generators/generateRelationMeta.js +2 -2
- package/dist/generators/generateRelationMeta.js.map +1 -1
- package/dist/generators/generateRouteConfigType.d.ts +2 -2
- package/dist/generators/generateRouteConfigType.js +29 -11
- package/dist/generators/generateRouteConfigType.js.map +1 -1
- package/dist/generators/generateRouter.d.ts +7 -4
- package/dist/generators/generateRouter.js +107 -14
- package/dist/generators/generateRouter.js.map +1 -1
- package/dist/generators/generateRouterFastify.d.ts +7 -4
- package/dist/generators/generateRouterFastify.js +56 -28
- package/dist/generators/generateRouterFastify.js.map +1 -1
- package/dist/generators/generateRouterHono.d.ts +7 -4
- package/dist/generators/generateRouterHono.js +84 -53
- package/dist/generators/generateRouterHono.js.map +1 -1
- package/dist/generators/generateUnifiedDocs.d.ts +1 -1
- package/dist/generators/generateUnifiedDocs.js +15 -8
- package/dist/generators/generateUnifiedDocs.js.map +1 -1
- package/dist/generators/generateUnifiedHandler.d.ts +2 -2
- package/dist/generators/generateUnifiedHandler.js +11 -3
- package/dist/generators/generateUnifiedHandler.js.map +1 -1
- package/dist/guardOptions.js +12 -7
- package/dist/guardOptions.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/copyFiles.js +22 -6
- package/dist/utils/copyFiles.js.map +1 -1
- package/dist/utils/importExt.d.ts +1 -1
- package/dist/utils/pathCasing.d.ts +4 -0
- package/dist/utils/pathCasing.js +40 -0
- package/dist/utils/pathCasing.js.map +1 -0
- package/dist/utils/resolveImportStyle.js +13 -5
- package/dist/utils/resolveImportStyle.js.map +1 -1
- package/dist/utils/writeFileSafely.js.map +1 -1
- package/package.json +16 -3
- package/src/bin.ts +1 -1
- package/src/client/encodeQueryParams.ts +39 -35
- package/src/constants.ts +1 -1
- package/src/copy/autoIncludePlanner.ts +93 -27
- package/src/copy/autoIncludePlannerGuarded.ts +171 -48
- package/src/copy/autoIncludeRuntimeGuarded.ts +25 -7
- package/src/copy/buildModelOpenApi.ts +153 -50
- package/src/copy/concurrency.ts +10 -8
- package/src/copy/errorMapper.ts +68 -19
- package/src/copy/guardHelpers.ts +30 -9
- package/src/copy/materializedCount.ts +17 -5
- package/src/copy/misc.ts +88 -68
- package/src/copy/ndjson.ts +72 -0
- package/src/copy/operationDefinitions.ts +99 -21
- package/src/copy/operationRuntime.ts +100 -12
- package/src/copy/pagination.ts +25 -11
- package/src/copy/parseQueryParams.ts +47 -48
- package/src/copy/projectionDefaults.ts +6 -4
- package/src/copy/routeConfig.express.ts +16 -4
- package/src/copy/routeConfig.fastify.ts +16 -2
- package/src/copy/routeConfig.hono.ts +19 -9
- package/src/copy/routeConfig.ts +174 -39
- package/src/copy/scalarTypes.ts +7 -2
- package/src/copy/sse.ts +72 -19
- package/src/generators/generateFastifyHandler.ts +24 -13
- package/src/generators/generateHonoHandler.ts +21 -13
- package/src/generators/generateImportPrismaStatement.ts +93 -81
- package/src/generators/generateModelMetadata.ts +24 -12
- package/src/generators/generateOperationCore.ts +81 -33
- package/src/generators/generateQueryBuilderHelper.ts +20 -4
- package/src/generators/generateRelationMeta.ts +23 -11
- package/src/generators/generateRouteConfigType.ts +39 -13
- package/src/generators/generateRouter.ts +114 -17
- package/src/generators/generateRouterFastify.ts +67 -31
- package/src/generators/generateRouterHono.ts +108 -60
- package/src/generators/generateUnifiedDocs.ts +29 -8
- package/src/generators/generateUnifiedHandler.ts +16 -8
- package/src/generators/generateUnifiedScalarUI.ts +1 -1
- package/src/guardOptions.ts +105 -92
- package/src/index.ts +46 -4
- package/src/utils/copyFiles.ts +199 -168
- package/src/utils/importExt.ts +2 -2
- package/src/utils/pathCasing.ts +42 -0
- package/src/utils/resolveImportStyle.ts +37 -15
- package/src/utils/strings.ts +2 -2
- package/src/utils/writeFileSafely.ts +6 -2
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateModelCore = generateModelCore;
|
|
4
|
+
const operationDefinitions_1 = require("../copy/operationDefinitions");
|
|
4
5
|
const importExt_1 = require("../utils/importExt");
|
|
5
6
|
function decideWriteOp(name, defaultMethod, strategy) {
|
|
6
|
-
if (strategy === 'throwOnNonReturning' &&
|
|
7
|
+
if (strategy === 'throwOnNonReturning' &&
|
|
8
|
+
(name === 'createMany' || name === 'updateMany')) {
|
|
7
9
|
return { throw: true, method: defaultMethod };
|
|
8
10
|
}
|
|
9
11
|
if (strategy === 'forceReturn') {
|
|
@@ -56,12 +58,17 @@ function generateModelCore(options) {
|
|
|
56
58
|
const writeStrategy = options.writeStrategy;
|
|
57
59
|
const paginatedBody = renderPaginatedBody(modelNameLower, options.findManyPaginatedMode);
|
|
58
60
|
const standardReadOps = [
|
|
59
|
-
'findFirst',
|
|
60
|
-
'
|
|
61
|
+
'findFirst',
|
|
62
|
+
'findUnique',
|
|
63
|
+
'findUniqueOrThrow',
|
|
64
|
+
'findFirstOrThrow',
|
|
65
|
+
'count',
|
|
66
|
+
'aggregate',
|
|
67
|
+
'groupBy',
|
|
61
68
|
];
|
|
62
69
|
const standardReadHandlers = standardReadOps
|
|
63
70
|
.map((op) => `
|
|
64
|
-
|
|
71
|
+
async function default_${op}(ctx: OperationContext): Promise<unknown> {
|
|
65
72
|
const query = ctx.parsedQuery || {}
|
|
66
73
|
const extended = await getExtendedClient(ctx)
|
|
67
74
|
const delegate = getDelegate(extended, '${modelNameLower}')
|
|
@@ -75,19 +82,36 @@ export async function ${op}(ctx: OperationContext): Promise<unknown> {
|
|
|
75
82
|
const writeOps = [
|
|
76
83
|
{ name: 'create', method: 'create', requiredFields: ['data'] },
|
|
77
84
|
{ name: 'createMany', method: 'createMany', requiredFields: ['data'] },
|
|
78
|
-
{
|
|
85
|
+
{
|
|
86
|
+
name: 'createManyAndReturn',
|
|
87
|
+
method: 'createManyAndReturn',
|
|
88
|
+
requiredFields: ['data'],
|
|
89
|
+
},
|
|
79
90
|
{ name: 'update', method: 'update', requiredFields: ['where', 'data'] },
|
|
80
|
-
{
|
|
81
|
-
|
|
91
|
+
{
|
|
92
|
+
name: 'updateMany',
|
|
93
|
+
method: 'updateMany',
|
|
94
|
+
requiredFields: ['where', 'data'],
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: 'updateManyAndReturn',
|
|
98
|
+
method: 'updateManyAndReturn',
|
|
99
|
+
requiredFields: ['where', 'data'],
|
|
100
|
+
},
|
|
82
101
|
{ name: 'deleteUnique', method: 'delete', requiredFields: ['where'] },
|
|
83
102
|
{ name: 'deleteMany', method: 'deleteMany', requiredFields: ['where'] },
|
|
84
|
-
{
|
|
103
|
+
{
|
|
104
|
+
name: 'upsert',
|
|
105
|
+
method: 'upsert',
|
|
106
|
+
requiredFields: ['where', 'create', 'update'],
|
|
107
|
+
},
|
|
85
108
|
];
|
|
86
|
-
const writeHandlers = writeOps
|
|
109
|
+
const writeHandlers = writeOps
|
|
110
|
+
.map((op) => {
|
|
87
111
|
const decision = decideWriteOp(op.name, op.method, writeStrategy);
|
|
88
112
|
if (decision.throw) {
|
|
89
113
|
return `
|
|
90
|
-
|
|
114
|
+
async function default_${op.name}(_ctx: OperationContext): Promise<unknown> {
|
|
91
115
|
throw new HttpError(501, '${op.name} is disabled by writeStrategy="${writeStrategy}"')
|
|
92
116
|
}`;
|
|
93
117
|
}
|
|
@@ -96,7 +120,7 @@ export async function ${op.name}(_ctx: OperationContext): Promise<unknown> {
|
|
|
96
120
|
.map((field) => ` requireBodyField(body, '${field}')`)
|
|
97
121
|
.join('\n');
|
|
98
122
|
return `
|
|
99
|
-
|
|
123
|
+
async function default_${op.name}(ctx: OperationContext): Promise<unknown> {
|
|
100
124
|
const body = validateBody(ctx.body)
|
|
101
125
|
${validationLines}
|
|
102
126
|
const extended = await getExtendedClient(ctx)
|
|
@@ -107,10 +131,20 @@ ${validationLines}
|
|
|
107
131
|
}
|
|
108
132
|
return delegate.${method}(body)
|
|
109
133
|
}`;
|
|
110
|
-
})
|
|
134
|
+
})
|
|
135
|
+
.join('\n');
|
|
136
|
+
const wrappers = operationDefinitions_1.OPERATION_METADATA.filter((op) => op.name !== 'updateEach')
|
|
137
|
+
.map((op) => `
|
|
138
|
+
export async function ${op.coreName}(ctx: OperationContext): Promise<${op.name === 'findManyPaginated' ? '{ data: unknown[]; total: number; hasMore: boolean }' : 'unknown'}> {
|
|
139
|
+
const input = ${op.kind === 'read' ? 'ctx.parsedQuery || {}' : 'validateBody(ctx.body)'}
|
|
140
|
+
${op.requiredBodyFields.map((field) => ` requireBodyField(input, '${field}')`).join('\n')}
|
|
141
|
+
return executeOperationOverride(ctx, '${modelNameLower}', '${op.name}', input, () => default_${op.coreName}(ctx))
|
|
142
|
+
}`)
|
|
143
|
+
.join('\n');
|
|
111
144
|
return `import {
|
|
112
|
-
OperationContext,
|
|
113
|
-
|
|
145
|
+
type OperationContext,
|
|
146
|
+
executeOperationOverride,
|
|
147
|
+
type PrismaClientLike,
|
|
114
148
|
getExtendedClient,
|
|
115
149
|
getDelegate,
|
|
116
150
|
validateBody,
|
|
@@ -121,7 +155,7 @@ import { applyPaginationLimits, countForPagination } from '../pagination${ext}'
|
|
|
121
155
|
import { assertGuard } from '../guardHelpers${ext}'
|
|
122
156
|
import { mapLimited } from '../concurrency${ext}'
|
|
123
157
|
|
|
124
|
-
|
|
158
|
+
async function default_findMany(ctx: OperationContext): Promise<unknown> {
|
|
125
159
|
const rawQuery = ctx.parsedQuery || {}
|
|
126
160
|
const query = applyPaginationLimits(rawQuery, ctx.paginationConfig, !!ctx.guardShape)
|
|
127
161
|
const extended = await getExtendedClient(ctx)
|
|
@@ -132,10 +166,11 @@ export async function findMany(ctx: OperationContext): Promise<unknown> {
|
|
|
132
166
|
}
|
|
133
167
|
return delegate.findMany(query)
|
|
134
168
|
}
|
|
169
|
+
${wrappers}
|
|
135
170
|
${standardReadHandlers}
|
|
136
171
|
${writeHandlers}
|
|
137
172
|
|
|
138
|
-
|
|
173
|
+
async function default_findManyPaginated(
|
|
139
174
|
ctx: OperationContext,
|
|
140
175
|
): Promise<{ data: unknown[]; total: number; hasMore: boolean }> {
|
|
141
176
|
const rawQuery = ctx.parsedQuery || {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { GeneratorOptions } from '@prisma/generator-helper';
|
|
2
|
-
export declare function generateQueryBuilderHelper(
|
|
2
|
+
export declare function generateQueryBuilderHelper(_options?: Partial<Pick<GeneratorOptions, 'schemaPath'>>): string;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateQueryBuilderHelper = generateQueryBuilderHelper;
|
|
4
|
-
function generateQueryBuilderHelper(
|
|
5
|
-
const schemaPath =
|
|
6
|
-
? JSON.stringify(options.schemaPath)
|
|
7
|
-
: "resolve(process.cwd(), 'prisma/schema.prisma')";
|
|
4
|
+
function generateQueryBuilderHelper(_options) {
|
|
5
|
+
const schemaPath = "resolve(process.cwd(), 'prisma/schema.prisma')";
|
|
8
6
|
return `import { spawn } from 'child_process'
|
|
9
7
|
import { resolve, join, dirname } from 'path'
|
|
10
8
|
import { existsSync, readFileSync } from 'fs'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateQueryBuilderHelper.js","sourceRoot":"","sources":["../../src/generators/generateQueryBuilderHelper.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generateQueryBuilderHelper.js","sourceRoot":"","sources":["../../src/generators/generateQueryBuilderHelper.ts"],"names":[],"mappings":";;AAoBA,gEAiKC;AAjKD,SAAgB,0BAA0B,CACxC,QAAwD;IAExD,MAAM,UAAU,GAAG,gDAAgD,CAAA;IAEnE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA+DsC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FxD,CAAA;AACD,CAAC"}
|
|
@@ -10,10 +10,10 @@ function findOppositeField(models, targetModelName, relationName, selfModelName,
|
|
|
10
10
|
if (!target)
|
|
11
11
|
return null;
|
|
12
12
|
const isSelfRelation = targetModelName === selfModelName;
|
|
13
|
-
return target.fields.find((f) => f.kind === 'object' &&
|
|
13
|
+
return (target.fields.find((f) => f.kind === 'object' &&
|
|
14
14
|
f.relationName === relationName &&
|
|
15
15
|
f.type === selfModelName &&
|
|
16
|
-
!(isSelfRelation && f.name === selfFieldName)) || null;
|
|
16
|
+
!(isSelfRelation && f.name === selfFieldName)) || null);
|
|
17
17
|
}
|
|
18
18
|
function computeRelation(field, selfModelName, models) {
|
|
19
19
|
const selfFrom = (field.relationFromFields ?? []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateRelationMeta.js","sourceRoot":"","sources":["../../src/generators/generateRelationMeta.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generateRelationMeta.js","sourceRoot":"","sources":["../../src/generators/generateRelationMeta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ImportStyle } from '../utils/resolveImportStyle';
|
|
1
|
+
import type { ImportStyle } from '../utils/resolveImportStyle';
|
|
2
2
|
import type { Target } from '../constants';
|
|
3
|
-
export declare function generateRouteConfigType(modelName: string, hookHandlerType: string, guardShapesImport: string | null, importStyle: ImportStyle, target: Target): string;
|
|
3
|
+
export declare function generateRouteConfigType(modelName: string, hookHandlerType: string, guardShapesImport: string | null, importStyle: ImportStyle, target: Target, clientImport?: string): string;
|
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateRouteConfigType = generateRouteConfigType;
|
|
4
4
|
const importExt_1 = require("../utils/importExt");
|
|
5
5
|
const operationDefinitions_1 = require("../copy/operationDefinitions");
|
|
6
|
-
const ROUTER_OPERATIONS = operationDefinitions_1.OPERATION_METADATA
|
|
7
|
-
.filter((m) => m.name !== 'updateEach')
|
|
8
|
-
.map((m) => m.name);
|
|
6
|
+
const ROUTER_OPERATIONS = operationDefinitions_1.OPERATION_METADATA.filter((m) => m.name !== 'updateEach').map((m) => m.name);
|
|
9
7
|
function capitalize(str) {
|
|
10
8
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
11
9
|
}
|
|
@@ -13,14 +11,14 @@ function requestTypeFor(target) {
|
|
|
13
11
|
if (target === 'fastify')
|
|
14
12
|
return `import('fastify').FastifyRequest`;
|
|
15
13
|
if (target === 'hono')
|
|
16
|
-
return `import('hono').Context<TEnv
|
|
14
|
+
return `import('hono').Context<GeneratedHonoEnv<TEnv>>`;
|
|
17
15
|
return `import('express').Request`;
|
|
18
16
|
}
|
|
19
17
|
function configGenericsFor(target) {
|
|
20
18
|
if (target === 'hono') {
|
|
21
|
-
return `<TCtx = unknown, TPrisma =
|
|
19
|
+
return `<TCtx = unknown, TPrisma extends PrismaClientLike = PrismaClientLike, TEnv extends { Variables: Record<string, unknown> } = { Variables: Record<string, unknown> }>`;
|
|
22
20
|
}
|
|
23
|
-
return `<TCtx = unknown, TPrisma =
|
|
21
|
+
return `<TCtx = unknown, TPrisma extends PrismaClientLike = PrismaClientLike>`;
|
|
24
22
|
}
|
|
25
23
|
function routeConfigBaseFor(target) {
|
|
26
24
|
if (target === 'hono') {
|
|
@@ -41,7 +39,7 @@ function afterHookRef(target, hookHandlerType) {
|
|
|
41
39
|
return `HonoAfterHook<TEnv>`;
|
|
42
40
|
return hookHandlerType;
|
|
43
41
|
}
|
|
44
|
-
function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport, importStyle, target) {
|
|
42
|
+
function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport, importStyle, target, clientImport) {
|
|
45
43
|
const ext = (0, importExt_1.importExt)(importStyle);
|
|
46
44
|
const m = modelName;
|
|
47
45
|
const supportsProgressive = target === 'express';
|
|
@@ -50,12 +48,29 @@ function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport,
|
|
|
50
48
|
const beforeRef = beforeHookRef(target, hookHandlerType);
|
|
51
49
|
const afterRef = afterHookRef(target, hookHandlerType);
|
|
52
50
|
const requestType = requestTypeFor(target);
|
|
53
|
-
const
|
|
51
|
+
const clientPath = clientImport ? `${clientImport}${ext}` : '@prisma/client';
|
|
52
|
+
const delegate = `${m.charAt(0).toLowerCase() + m.slice(1)}`;
|
|
53
|
+
const modelDelegate = clientImport
|
|
54
|
+
? `PrismaClient['${delegate}']`
|
|
55
|
+
: `(TPrisma extends Record<'${delegate}', infer D> ? D : never)`;
|
|
56
|
+
const overrideImports = `import type { Prisma${clientImport ? ', PrismaClient' : ''} } from '${clientPath}'\nimport type { OperationOverride } from '../operationRuntime${ext}'\n`;
|
|
57
|
+
const overrideType = (op) => {
|
|
58
|
+
const method = op === 'findManyPaginated' ? 'findMany' : op;
|
|
59
|
+
const args = `Prisma.Args<${modelDelegate}, '${method}'>`;
|
|
60
|
+
const result = `Prisma.Result<${modelDelegate}, ${args}, '${method}'>`;
|
|
61
|
+
const output = op === 'findManyPaginated'
|
|
62
|
+
? `{ data: ${result}; total: number; hasMore: boolean }`
|
|
63
|
+
: result;
|
|
64
|
+
const methods = op === 'findManyPaginated' ? "'findMany' | 'count'" : `'${method}'`;
|
|
65
|
+
return `OperationOverride<${args}, ${output}, TCtx, Readonly<{ ${delegate}: Pick<${modelDelegate}, Extract<keyof ${modelDelegate}, ${methods}>> }>>`;
|
|
66
|
+
};
|
|
67
|
+
const typeImports = supportsProgressive
|
|
54
68
|
? `import type { ProgressiveVariantConfig, ProgressiveStage } from '../routeConfig.target${ext}'\n`
|
|
55
69
|
: '';
|
|
56
70
|
if (!guardShapesImport) {
|
|
57
|
-
return (
|
|
58
|
-
|
|
71
|
+
return (overrideImports +
|
|
72
|
+
typeImports +
|
|
73
|
+
`export type ${m}RouteConfig${generics} = Omit<${baseConfig}, ${ROUTER_OPERATIONS.map((op) => `'${op}'`).join(' | ')}> & {\n${ROUTER_OPERATIONS.map((op) => ` ${op}?: (Omit<Exclude<${baseConfig}['${op}'], false | undefined>, 'override'> & { override?: ${overrideType(op)} }) | false`).join('\n')}\n}\n`);
|
|
59
74
|
}
|
|
60
75
|
const shapeOps = Array.from(new Set(ROUTER_OPERATIONS));
|
|
61
76
|
const opShapeImports = shapeOps
|
|
@@ -76,6 +91,8 @@ function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport,
|
|
|
76
91
|
const c = capitalize(routerOp);
|
|
77
92
|
const isRead = operationDefinitions_1.READ_OPERATION_NAMES.has(routerOp);
|
|
78
93
|
const commonLines = [
|
|
94
|
+
` override?: ${overrideType(routerOp)}`,
|
|
95
|
+
` authorize?: ${beforeRef}`,
|
|
79
96
|
` before?: ${beforeRef}[]`,
|
|
80
97
|
` after?: ${afterRef}[]`,
|
|
81
98
|
` pagination?: Partial<PaginationConfig>`,
|
|
@@ -97,7 +114,8 @@ function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport,
|
|
|
97
114
|
` )) | false`);
|
|
98
115
|
}).join('\n');
|
|
99
116
|
const omitKeys = ROUTER_OPERATIONS.map((k) => `'${k}'`).join('\n | ');
|
|
100
|
-
return (
|
|
117
|
+
return (overrideImports +
|
|
118
|
+
typeImports +
|
|
101
119
|
`import type {\n ${opShapeImports}\n} from '${guardShapesImport}${ext}'\n\n` +
|
|
102
120
|
`${shapeOrFnAliases}\n\n` +
|
|
103
121
|
`export type ${m}RouteConfig${generics} = Omit<\n` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateRouteConfigType.js","sourceRoot":"","sources":["../../src/generators/generateRouteConfigType.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generateRouteConfigType.js","sourceRoot":"","sources":["../../src/generators/generateRouteConfigType.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { DMMF } from '@prisma/generator-helper';
|
|
2
|
-
import { ImportStyle } from '../utils/resolveImportStyle';
|
|
3
|
-
import { WriteStrategy, FindManyPaginatedMode } from '../constants';
|
|
4
|
-
|
|
1
|
+
import type { DMMF } from '@prisma/generator-helper';
|
|
2
|
+
import type { ImportStyle } from '../utils/resolveImportStyle';
|
|
3
|
+
import type { WriteStrategy, FindManyPaginatedMode } from '../constants';
|
|
4
|
+
import { type PathCase } from '../utils/pathCasing';
|
|
5
|
+
export declare function generateRouterFunction({ model, enums, guardShapesImport, clientImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, pathCase, }: {
|
|
5
6
|
model: DMMF.Model;
|
|
6
7
|
enums: DMMF.DatamodelEnum[];
|
|
7
8
|
guardShapesImport: string | null;
|
|
9
|
+
clientImport?: string;
|
|
8
10
|
importStyle: ImportStyle;
|
|
9
11
|
writeStrategy: WriteStrategy;
|
|
10
12
|
findManyPaginatedMode: FindManyPaginatedMode;
|
|
11
13
|
dropGuard: boolean;
|
|
14
|
+
pathCase: PathCase;
|
|
12
15
|
}): string;
|