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.
- package/README.md +286 -29
- package/dist/copy/misc.js +25 -6
- package/dist/copy/misc.js.map +1 -1
- package/dist/generators/generateFastifyHandler.js +11 -0
- package/dist/generators/generateFastifyHandler.js.map +1 -1
- package/dist/generators/generateHonoHandler.js +14 -20
- package/dist/generators/generateHonoHandler.js.map +1 -1
- package/dist/generators/generateImportPrismaStatement.js +43 -0
- package/dist/generators/generateImportPrismaStatement.js.map +1 -1
- package/dist/generators/generateOperationCore.js +58 -17
- package/dist/generators/generateOperationCore.js.map +1 -1
- package/dist/generators/generateRouteConfigType.js +44 -15
- package/dist/generators/generateRouteConfigType.js.map +1 -1
- package/dist/generators/generateRouter.d.ts +2 -1
- package/dist/generators/generateRouter.js +60 -34
- package/dist/generators/generateRouter.js.map +1 -1
- package/dist/generators/generateRouterFastify.d.ts +2 -1
- package/dist/generators/generateRouterFastify.js +238 -193
- package/dist/generators/generateRouterFastify.js.map +1 -1
- package/dist/generators/generateRouterHono.d.ts +2 -1
- package/dist/generators/generateRouterHono.js +124 -89
- package/dist/generators/generateRouterHono.js.map +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/copy/autoIncludeRuntime.ts +9 -5
- package/src/copy/buildModelOpenApi.ts +96 -0
- package/src/copy/docsRenderer.ts +577 -174
- package/src/copy/materializedRouter.ts +40 -1
- package/src/copy/misc.ts +23 -6
- package/src/copy/operationDefinitions.ts +10 -0
- package/src/copy/operationRuntime.ts +28 -9
- package/src/copy/routeConfig.express.ts +9 -9
- package/src/copy/routeConfig.hono.ts +63 -5
- package/src/copy/routeConfig.ts +44 -20
- package/src/generators/generateFastifyHandler.ts +12 -0
- package/src/generators/generateHonoHandler.ts +15 -20
- package/src/generators/generateImportPrismaStatement.ts +13 -0
- package/src/generators/generateOperationCore.ts +58 -17
- package/src/generators/generateRouteConfigType.ts +52 -17
- package/src/generators/generateRouter.ts +61 -33
- package/src/generators/generateRouterFastify.ts +239 -192
- package/src/generators/generateRouterHono.ts +125 -88
- package/src/index.ts +25 -5
|
@@ -41,7 +41,7 @@ function generateHonoHandler(options) {
|
|
|
41
41
|
const readHandlers = READ_OPS.map((op) => {
|
|
42
42
|
const exportName = `${modelName}${op.charAt(0).toUpperCase() + op.slice(1)}`;
|
|
43
43
|
return `
|
|
44
|
-
export async function ${exportName}(c:
|
|
44
|
+
export async function ${exportName}(c: HandlerContext): Promise<void> {
|
|
45
45
|
const data = await core.${coreFnName(op)}(buildContext(c))
|
|
46
46
|
c.set('resultData', data)
|
|
47
47
|
}`;
|
|
@@ -50,33 +50,27 @@ export async function ${exportName}(c: Context<HonoEnv>): Promise<void> {
|
|
|
50
50
|
const exportName = `${modelName}${op.charAt(0).toUpperCase() + op.slice(1)}`;
|
|
51
51
|
const statusCode = CREATED_OPS.has(op) ? 201 : 200;
|
|
52
52
|
return `
|
|
53
|
-
export async function ${exportName}(c:
|
|
53
|
+
export async function ${exportName}(c: HandlerContext): Promise<void> {
|
|
54
54
|
const data = await core.${coreFnName(op)}(buildContext(c))
|
|
55
55
|
c.set('resultData', data)
|
|
56
56
|
c.set('resultStatus', ${statusCode})
|
|
57
57
|
}`;
|
|
58
58
|
}).join('\n');
|
|
59
|
+
const updateEachExportName = `${modelName}UpdateEach`;
|
|
60
|
+
const updateEachHandler = `
|
|
61
|
+
export async function ${updateEachExportName}(c: HandlerContext): Promise<void> {
|
|
62
|
+
const atomic = c.req.header('x-batch-atomic') === 'true'
|
|
63
|
+
const data = await core.updateEach(buildContext(c), atomic)
|
|
64
|
+
c.set('resultData', data)
|
|
65
|
+
}`;
|
|
59
66
|
return `import type { Context } from 'hono'
|
|
60
67
|
import * as core from './${modelName}Core${ext}'
|
|
61
|
-
import type { OperationContext
|
|
62
|
-
|
|
63
|
-
type HonoVariables = {
|
|
64
|
-
prisma: unknown
|
|
65
|
-
postgres?: unknown
|
|
66
|
-
sqlite?: unknown
|
|
67
|
-
parsedQuery?: Record<string, unknown>
|
|
68
|
-
body?: unknown
|
|
69
|
-
routeConfig?: { pagination?: OperationContext['paginationConfig'] }
|
|
70
|
-
guardShape?: Record<string, unknown>
|
|
71
|
-
guardCaller?: string
|
|
72
|
-
findManyPaginatedMode?: FindManyPaginatedMode
|
|
73
|
-
resultData?: unknown
|
|
74
|
-
resultStatus?: number
|
|
75
|
-
}
|
|
68
|
+
import type { OperationContext } from '../operationRuntime${ext}'
|
|
69
|
+
import type { HonoInternalVariables } from '../routeConfig.target${ext}'
|
|
76
70
|
|
|
77
|
-
type
|
|
71
|
+
type HandlerContext = Context<{ Variables: HonoInternalVariables }>
|
|
78
72
|
|
|
79
|
-
function buildContext(c:
|
|
73
|
+
function buildContext(c: HandlerContext): OperationContext {
|
|
80
74
|
return {
|
|
81
75
|
prisma: c.get('prisma'),
|
|
82
76
|
postgres: c.get('postgres'),
|
|
@@ -86,11 +80,11 @@ function buildContext(c: Context<HonoEnv>): OperationContext {
|
|
|
86
80
|
guardShape: c.get('guardShape'),
|
|
87
81
|
guardCaller: c.get('guardCaller'),
|
|
88
82
|
paginationConfig: c.get('routeConfig')?.pagination,
|
|
89
|
-
findManyPaginatedMode: c.get('findManyPaginatedMode'),
|
|
90
83
|
}
|
|
91
84
|
}
|
|
92
85
|
${readHandlers}
|
|
93
86
|
${writeHandlers}
|
|
87
|
+
${updateEachHandler}
|
|
94
88
|
`;
|
|
95
89
|
}
|
|
96
90
|
//# sourceMappingURL=generateHonoHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateHonoHandler.js","sourceRoot":"","sources":["../../src/generators/generateHonoHandler.ts"],"names":[],"mappings":";;AA0CA,
|
|
1
|
+
{"version":3,"file":"generateHonoHandler.js","sourceRoot":"","sources":["../../src/generators/generateHonoHandler.ts"],"names":[],"mappings":";;AA0CA,kDA2DC;AAnGD,kDAA8C;AAE9C,MAAM,aAAa,GAA2B;IAC5C,MAAM,EAAE,cAAc;CACvB,CAAA;AAED,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,QAAQ,GAAG;IACf,UAAU;IACV,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,WAAW;IACX,OAAO;IACP,SAAS;CACV,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,QAAQ;IACR,YAAY;IACZ,qBAAqB;IACrB,QAAQ;IACR,YAAY;IACZ,qBAAqB;IACrB,QAAQ;IACR,QAAQ;IACR,YAAY;CACb,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ;IACR,YAAY;IACZ,qBAAqB;CACtB,CAAC,CAAA;AAEF,SAAgB,mBAAmB,CAAC,OAGnC;IACC,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IAEpC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACvC,MAAM,UAAU,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5E,OAAO;wBACa,UAAU;4BACN,UAAU,CAAC,EAAE,CAAC;;EAExC,CAAA;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACzC,MAAM,UAAU,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5E,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAElD,OAAO;wBACa,UAAU;4BACN,UAAU,CAAC,EAAE,CAAC;;0BAEhB,UAAU;EAClC,CAAA;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,oBAAoB,GAAG,GAAG,SAAS,YAAY,CAAA;IACrD,MAAM,iBAAiB,GAAG;wBACJ,oBAAoB;;;;EAI1C,CAAA;IAEA,OAAO;2BACkB,SAAS,OAAO,GAAG;4DACc,GAAG;mEACI,GAAG;;;;;;;;;;;;;;;;EAgBpE,YAAY;EACZ,aAAa;EACb,iBAAiB;CAClB,CAAA;AACD,CAAC"}
|
|
@@ -1,10 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.getRelativeClientPath = getRelativeClientPath;
|
|
7
40
|
exports.getGuardShapesImport = getGuardShapesImport;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
8
42
|
const path_1 = __importDefault(require("path"));
|
|
9
43
|
function findClientGenerator(options) {
|
|
10
44
|
const byName = options.otherGenerators.find((gen) => gen.name === 'client');
|
|
@@ -54,6 +88,15 @@ function getGuardShapesImport(options, modelName) {
|
|
|
54
88
|
const outputValue = options.generator.output?.value;
|
|
55
89
|
if (!outputValue)
|
|
56
90
|
return null;
|
|
91
|
+
const shapesFilePath = path_1.default.join(guard.output.value, 'shapes.ts');
|
|
92
|
+
if (!fs.existsSync(shapesFilePath)) {
|
|
93
|
+
console.warn('[prisma-generator-express] prisma-guard generator detected but "' +
|
|
94
|
+
shapesFilePath +
|
|
95
|
+
'" was not found. Guard shapes will not be imported for model "' +
|
|
96
|
+
modelName +
|
|
97
|
+
'". Declare the "guard" generator before "express" in schema.prisma and re-run prisma generate.');
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
57
100
|
const fromDir = path_1.default.join(outputValue, modelName);
|
|
58
101
|
const shapesPath = path_1.default.join(guard.output.value, 'shapes');
|
|
59
102
|
return getRelativeImportPath(fromDir, shapesPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateImportPrismaStatement.js","sourceRoot":"","sources":["../../src/generators/generateImportPrismaStatement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generateImportPrismaStatement.js","sourceRoot":"","sources":["../../src/generators/generateImportPrismaStatement.ts"],"names":[],"mappings":"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"}
|
|
@@ -158,7 +158,7 @@ ${paginatedBody}
|
|
|
158
158
|
const skip = (typeof query.skip === 'number' ? query.skip : 0)
|
|
159
159
|
const takeRaw = (typeof query.take === 'number' ? query.take : items.length)
|
|
160
160
|
const absTake = Math.abs(takeRaw)
|
|
161
|
-
const hasMore = items.length >= absTake && skip + items.length < total
|
|
161
|
+
const hasMore = absTake > 0 && items.length >= absTake && skip + items.length < total
|
|
162
162
|
|
|
163
163
|
return { data: items, total, hasMore }
|
|
164
164
|
}
|
|
@@ -167,35 +167,76 @@ export async function updateEach(
|
|
|
167
167
|
ctx: OperationContext,
|
|
168
168
|
atomic: boolean,
|
|
169
169
|
): Promise<unknown> {
|
|
170
|
-
const
|
|
171
|
-
if (!Array.isArray(
|
|
170
|
+
const rawBody = ctx.body
|
|
171
|
+
if (!Array.isArray(rawBody)) {
|
|
172
172
|
throw new HttpError(400, 'updateEach body must be an array of { where, data } items')
|
|
173
173
|
}
|
|
174
|
-
|
|
175
|
-
const
|
|
174
|
+
|
|
175
|
+
const MAX_ITEMS_NON_ATOMIC = 1000
|
|
176
|
+
const MAX_ITEMS_ATOMIC = 100
|
|
177
|
+
|
|
178
|
+
if (atomic && rawBody.length > MAX_ITEMS_ATOMIC) {
|
|
179
|
+
throw new HttpError(
|
|
180
|
+
400,
|
|
181
|
+
'atomic updateEach body exceeds max size of ' + MAX_ITEMS_ATOMIC + ' items',
|
|
182
|
+
)
|
|
183
|
+
}
|
|
184
|
+
if (!atomic && rawBody.length > MAX_ITEMS_NON_ATOMIC) {
|
|
185
|
+
throw new HttpError(
|
|
186
|
+
400,
|
|
187
|
+
'updateEach body exceeds max size of ' + MAX_ITEMS_NON_ATOMIC + ' items',
|
|
188
|
+
)
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const items = rawBody.map((item, index) => {
|
|
192
|
+
const sanitized = validateBody(item)
|
|
193
|
+
if (!('where' in sanitized) || sanitized.where === undefined) {
|
|
194
|
+
throw new HttpError(400, 'updateEach item at index ' + index + ' is missing "where"')
|
|
195
|
+
}
|
|
196
|
+
if (!('data' in sanitized) || sanitized.data === undefined) {
|
|
197
|
+
throw new HttpError(400, 'updateEach item at index ' + index + ' is missing "data"')
|
|
198
|
+
}
|
|
199
|
+
return sanitized
|
|
200
|
+
})
|
|
201
|
+
const extended = await getExtendedClient(ctx)
|
|
176
202
|
|
|
177
203
|
if (atomic) {
|
|
178
|
-
|
|
204
|
+
const txClient = extended as PrismaClientLike
|
|
205
|
+
if (typeof txClient.$transaction !== 'function') {
|
|
179
206
|
throw new HttpError(500, 'Atomic updateEach requires transaction support on the Prisma client')
|
|
180
207
|
}
|
|
181
|
-
const runInteractive =
|
|
208
|
+
const runInteractive = txClient.$transaction as unknown as <T>(
|
|
182
209
|
fn: (tx: unknown) => Promise<T>,
|
|
183
210
|
) => Promise<T>
|
|
184
211
|
return runInteractive(async (tx) => {
|
|
185
212
|
const txDelegate = getDelegate(tx, '${modelNameLower}')
|
|
186
|
-
|
|
213
|
+
const out: unknown[] = new Array(items.length)
|
|
214
|
+
for (let i = 0; i < items.length; i++) {
|
|
215
|
+
out[i] = await txDelegate.update(items[i])
|
|
216
|
+
}
|
|
217
|
+
return out
|
|
187
218
|
})
|
|
188
219
|
}
|
|
189
220
|
|
|
190
|
-
const delegate = getDelegate(
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
221
|
+
const delegate = getDelegate(extended, '${modelNameLower}')
|
|
222
|
+
const CONCURRENCY = 8
|
|
223
|
+
const results: Array<{ status: 'ok'; data: unknown } | { status: 'error'; error: string }> =
|
|
224
|
+
new Array(items.length)
|
|
225
|
+
let cursor = 0
|
|
226
|
+
const workerCount = Math.min(CONCURRENCY, items.length)
|
|
227
|
+
const workers = Array.from({ length: workerCount }, async () => {
|
|
228
|
+
for (;;) {
|
|
229
|
+
const i = cursor++
|
|
230
|
+
if (i >= items.length) return
|
|
231
|
+
try {
|
|
232
|
+
results[i] = { status: 'ok', data: await delegate.update(items[i]) }
|
|
233
|
+
} catch (err) {
|
|
234
|
+
results[i] = { status: 'error', error: mapError(err).message }
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
})
|
|
238
|
+
await Promise.all(workers)
|
|
239
|
+
return results
|
|
199
240
|
}
|
|
200
241
|
`;
|
|
201
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":";;AAyEA,
|
|
1
|
+
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,35 @@ exports.generateRouteConfigType = generateRouteConfigType;
|
|
|
4
4
|
const importExt_1 = require("../utils/importExt");
|
|
5
5
|
const strings_1 = require("../utils/strings");
|
|
6
6
|
const ROUTER_OPERATIONS = [
|
|
7
|
-
'findUnique',
|
|
8
|
-
'
|
|
9
|
-
'
|
|
10
|
-
'
|
|
11
|
-
'
|
|
7
|
+
'findUnique',
|
|
8
|
+
'findUniqueOrThrow',
|
|
9
|
+
'findFirst',
|
|
10
|
+
'findFirstOrThrow',
|
|
11
|
+
'findMany',
|
|
12
|
+
'findManyPaginated',
|
|
13
|
+
'count',
|
|
14
|
+
'aggregate',
|
|
15
|
+
'groupBy',
|
|
16
|
+
'create',
|
|
17
|
+
'createMany',
|
|
18
|
+
'createManyAndReturn',
|
|
19
|
+
'update',
|
|
20
|
+
'updateMany',
|
|
21
|
+
'updateManyAndReturn',
|
|
22
|
+
'upsert',
|
|
23
|
+
'delete',
|
|
24
|
+
'deleteMany',
|
|
12
25
|
];
|
|
13
26
|
const READ_OPERATIONS = new Set([
|
|
14
|
-
'findUnique',
|
|
15
|
-
'
|
|
27
|
+
'findUnique',
|
|
28
|
+
'findUniqueOrThrow',
|
|
29
|
+
'findFirst',
|
|
30
|
+
'findFirstOrThrow',
|
|
31
|
+
'findMany',
|
|
32
|
+
'findManyPaginated',
|
|
33
|
+
'count',
|
|
34
|
+
'aggregate',
|
|
35
|
+
'groupBy',
|
|
16
36
|
]);
|
|
17
37
|
const ROUTER_OP_TO_SHAPE_OP = {
|
|
18
38
|
findUnique: 'findUnique',
|
|
@@ -56,9 +76,14 @@ function routeConfigBaseFor(target) {
|
|
|
56
76
|
}
|
|
57
77
|
return `RouteConfig<Record<string, unknown>, TCtx>`;
|
|
58
78
|
}
|
|
59
|
-
function
|
|
79
|
+
function beforeHookRef(target, hookHandlerType) {
|
|
60
80
|
if (target === 'hono')
|
|
61
|
-
return
|
|
81
|
+
return `HonoBeforeHook<TEnv>`;
|
|
82
|
+
return hookHandlerType;
|
|
83
|
+
}
|
|
84
|
+
function afterHookRef(target, hookHandlerType) {
|
|
85
|
+
if (target === 'hono')
|
|
86
|
+
return `HonoAfterHook<TEnv>`;
|
|
62
87
|
return hookHandlerType;
|
|
63
88
|
}
|
|
64
89
|
function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport, importStyle, target) {
|
|
@@ -67,23 +92,27 @@ function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport,
|
|
|
67
92
|
const supportsProgressive = target === 'express';
|
|
68
93
|
const generics = configGenericsFor(target);
|
|
69
94
|
const baseConfig = routeConfigBaseFor(target);
|
|
70
|
-
const
|
|
95
|
+
const beforeRef = beforeHookRef(target, hookHandlerType);
|
|
96
|
+
const afterRef = afterHookRef(target, hookHandlerType);
|
|
71
97
|
const requestType = requestTypeFor(target);
|
|
72
98
|
const progressiveTypeImport = supportsProgressive
|
|
73
99
|
? `import type { ProgressiveVariantConfig, ProgressiveStage } from '../routeConfig.target${ext}'\n`
|
|
74
100
|
: '';
|
|
75
101
|
if (!guardShapesImport) {
|
|
76
|
-
return progressiveTypeImport +
|
|
102
|
+
return (progressiveTypeImport +
|
|
103
|
+
`export type ${m}RouteConfig${generics} = ${baseConfig}\n`);
|
|
77
104
|
}
|
|
78
105
|
const shapeOps = Object.values(ROUTER_OP_TO_SHAPE_OP).filter((v, i, a) => a.indexOf(v) === i);
|
|
79
|
-
const opShapeImports = shapeOps
|
|
106
|
+
const opShapeImports = shapeOps
|
|
107
|
+
.map((op) => `${m}${(0, strings_1.capitalize)(op)}ShapeInput`)
|
|
108
|
+
.join(',\n ');
|
|
80
109
|
const overrides = ROUTER_OPERATIONS.map((routerOp) => {
|
|
81
110
|
const shapeOp = ROUTER_OP_TO_SHAPE_OP[routerOp];
|
|
82
111
|
const c = (0, strings_1.capitalize)(shapeOp);
|
|
83
112
|
const isRead = READ_OPERATIONS.has(routerOp);
|
|
84
113
|
const lines = [
|
|
85
|
-
` before?: ${
|
|
86
|
-
` after?: ${
|
|
114
|
+
` before?: ${beforeRef}[]`,
|
|
115
|
+
` after?: ${afterRef}[]`,
|
|
87
116
|
` shape?: ${m}${c}ShapeInput<TCtx>`,
|
|
88
117
|
` pagination?: Partial<PaginationConfig>`,
|
|
89
118
|
];
|
|
@@ -91,7 +120,7 @@ function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport,
|
|
|
91
120
|
lines.push(` progressive?: Record<string, ProgressiveVariantConfig>`);
|
|
92
121
|
lines.push(` progressiveStages?: Record<string, ProgressiveStage<TCtx, TPrisma>>`);
|
|
93
122
|
}
|
|
94
|
-
return ` ${routerOp}?: {\n${lines.join('\n')}\n }`;
|
|
123
|
+
return ` ${routerOp}?: {\n${lines.join('\n')}\n } | false`;
|
|
95
124
|
}).join('\n');
|
|
96
125
|
const omitKeys = ROUTER_OPERATIONS.map((k) => `'${k}'`).join('\n | ');
|
|
97
126
|
return (progressiveTypeImport +
|
|
@@ -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,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 generateRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }: {
|
|
4
|
+
export declare function generateRouterFunction({ 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;
|