prisma-generator-express 1.45.1 → 1.47.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/dist/client/encodeQueryParams.js +4 -0
- package/dist/client/encodeQueryParams.js.map +1 -1
- package/dist/copy/misc.d.ts +4 -2
- package/dist/copy/misc.js +35 -24
- package/dist/copy/misc.js.map +1 -1
- package/dist/generators/generateFastifyHandler.js +2 -4
- package/dist/generators/generateFastifyHandler.js.map +1 -1
- package/dist/generators/generateHonoHandler.js +2 -4
- package/dist/generators/generateHonoHandler.js.map +1 -1
- package/dist/generators/generateImportPrismaStatement.d.ts +0 -1
- package/dist/generators/generateImportPrismaStatement.js +2 -20
- package/dist/generators/generateImportPrismaStatement.js.map +1 -1
- package/dist/generators/generateOperationCore.js +37 -1
- package/dist/generators/generateOperationCore.js.map +1 -1
- package/dist/generators/generateQueryBuilderHelper.js +9 -0
- package/dist/generators/generateQueryBuilderHelper.js.map +1 -1
- package/dist/generators/generateRelationMeta.js +0 -10
- package/dist/generators/generateRelationMeta.js.map +1 -1
- package/dist/generators/generateRouteConfigType.js +33 -12
- package/dist/generators/generateRouteConfigType.js.map +1 -1
- package/dist/generators/generateRouter.d.ts +0 -1
- package/dist/generators/generateRouter.js +96 -70
- package/dist/generators/generateRouter.js.map +1 -1
- package/dist/generators/generateRouterFastify.js +83 -89
- package/dist/generators/generateRouterFastify.js.map +1 -1
- package/dist/generators/generateRouterHono.js +257 -237
- package/dist/generators/generateRouterHono.js.map +1 -1
- package/dist/generators/generateUnifiedDocs.d.ts +2 -2
- package/dist/generators/generateUnifiedDocs.js +90 -252
- package/dist/generators/generateUnifiedDocs.js.map +1 -1
- package/dist/generators/generateUnifiedHandler.js +2 -4
- package/dist/generators/generateUnifiedHandler.js.map +1 -1
- package/dist/index.js +16 -8
- package/dist/index.js.map +1 -1
- package/dist/utils/copyFiles.js +3 -2
- package/dist/utils/copyFiles.js.map +1 -1
- package/dist/utils/strings.d.ts +0 -1
- package/dist/utils/strings.js +0 -9
- package/dist/utils/strings.js.map +1 -1
- package/package.json +1 -1
- package/src/client/encodeQueryParams.ts +7 -15
- package/src/copy/autoIncludePlanner.ts +4 -17
- package/src/copy/autoIncludeRuntime.ts +11 -19
- package/src/copy/buildModelOpenApi.ts +11 -14
- package/src/copy/docsRenderer.ts +8 -14
- package/src/copy/misc.ts +28 -23
- package/src/copy/operationRuntime.ts +61 -43
- package/src/copy/parseQueryParams.ts +5 -14
- package/src/copy/routeConfig.express.ts +24 -18
- package/src/copy/routeConfig.fastify.ts +1 -1
- package/src/copy/routeConfig.hono.ts +34 -6
- package/src/copy/routeConfig.ts +3 -2
- package/src/generators/generateFastifyHandler.ts +2 -5
- package/src/generators/generateHonoHandler.ts +2 -5
- package/src/generators/generateImportPrismaStatement.ts +3 -35
- package/src/generators/generateOperationCore.ts +37 -1
- package/src/generators/generateQueryBuilderHelper.ts +9 -0
- package/src/generators/generateRelationMeta.ts +0 -10
- package/src/generators/generateRouteConfigType.ts +34 -10
- package/src/generators/generateRouter.ts +96 -71
- package/src/generators/generateRouterFastify.ts +83 -89
- package/src/generators/generateRouterHono.ts +257 -237
- package/src/generators/generateUnifiedDocs.ts +89 -267
- package/src/generators/generateUnifiedHandler.ts +2 -4
- package/src/index.ts +45 -14
- package/src/utils/copyFiles.ts +2 -2
- package/src/utils/strings.ts +0 -8
- package/src/copy/createOutputValidatorMiddleware.ts +0 -47
- package/src/copy/createValidatorMiddleware.ts +0 -62
- package/src/copy/transformZod.ts +0 -139
|
@@ -21,6 +21,10 @@ const encodeQueryParams = (params) => {
|
|
|
21
21
|
entries.push(`${encodeURIComponent(key)}=${encodeURIComponent(value.toString())}`);
|
|
22
22
|
continue;
|
|
23
23
|
}
|
|
24
|
+
if (typeof value === 'string') {
|
|
25
|
+
entries.push(`${encodeURIComponent(key)}=${encodeURIComponent(JSON.stringify(value))}`);
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
24
28
|
if (Array.isArray(value) || (0, misc_1.isObject)(value)) {
|
|
25
29
|
entries.push(`${encodeURIComponent(key)}=${encodeURIComponent(JSON.stringify(value, replacer))}`);
|
|
26
30
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encodeQueryParams.js","sourceRoot":"","sources":["../../src/client/encodeQueryParams.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;
|
|
1
|
+
{"version":3,"file":"encodeQueryParams.js","sourceRoot":"","sources":["../../src/client/encodeQueryParams.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AAEvC,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAEM,MAAM,iBAAiB,GAAG,CAAC,MAA+B,EAAU,EAAE;IAC3E,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAQ;QAEjC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC/C,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CACV,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CACrE,CAAA;YACD,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CACV,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAC1E,CAAA;YACD,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CACV,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CACpF,CAAA;YACD,SAAQ;QACV,CAAC;QAED,OAAO,CAAC,IAAI,CACV,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAClE,CAAA;IACH,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1B,CAAC,CAAA;AAtCY,QAAA,iBAAiB,qBAsC7B"}
|
package/dist/copy/misc.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export declare function isJsonString(str: string | unknown): boolean;
|
|
2
|
-
export declare function safeJSONparse<T>(data: unknown): T | boolean | undefined | null;
|
|
3
1
|
export declare const isObject: (value: unknown) => value is Record<string, unknown>;
|
|
2
|
+
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
4
3
|
export declare function isSafeKey(key: string): boolean;
|
|
5
4
|
export declare function sanitizeKeys<T>(value: T): T;
|
|
5
|
+
export declare function normalizePrefix(p: string): string;
|
|
6
|
+
export declare function removeTrailingSlash(path: string): string;
|
|
7
|
+
export declare function getEnv(): Record<string, string | undefined>;
|
package/dist/copy/misc.js
CHANGED
|
@@ -1,35 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isObject = void 0;
|
|
4
|
-
exports.
|
|
5
|
-
exports.safeJSONparse = safeJSONparse;
|
|
4
|
+
exports.isPlainObject = isPlainObject;
|
|
6
5
|
exports.isSafeKey = isSafeKey;
|
|
7
6
|
exports.sanitizeKeys = sanitizeKeys;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
JSON.parse(str);
|
|
14
|
-
}
|
|
15
|
-
catch (e) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
function safeJSONparse(data) {
|
|
21
|
-
if (data === 'false')
|
|
22
|
-
return false;
|
|
23
|
-
if (data === 'undefined')
|
|
24
|
-
return undefined;
|
|
25
|
-
if (data === 'null')
|
|
26
|
-
return null;
|
|
27
|
-
return isJsonString(data) ? JSON.parse(data) : data;
|
|
28
|
-
}
|
|
7
|
+
exports.normalizePrefix = normalizePrefix;
|
|
8
|
+
exports.removeTrailingSlash = removeTrailingSlash;
|
|
9
|
+
exports.getEnv = getEnv;
|
|
29
10
|
const isObject = (value) => {
|
|
30
11
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
31
12
|
};
|
|
32
13
|
exports.isObject = isObject;
|
|
14
|
+
function isPlainObject(value) {
|
|
15
|
+
if (value === null || typeof value !== 'object')
|
|
16
|
+
return false;
|
|
17
|
+
if (Array.isArray(value))
|
|
18
|
+
return false;
|
|
19
|
+
const proto = Object.getPrototypeOf(value);
|
|
20
|
+
return proto === Object.prototype || proto === null;
|
|
21
|
+
}
|
|
33
22
|
const UNSAFE_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
34
23
|
function isSafeKey(key) {
|
|
35
24
|
return !UNSAFE_KEYS.has(key);
|
|
@@ -38,7 +27,7 @@ function sanitizeKeys(value) {
|
|
|
38
27
|
if (Array.isArray(value)) {
|
|
39
28
|
return value.map(sanitizeKeys);
|
|
40
29
|
}
|
|
41
|
-
if ((
|
|
30
|
+
if (isPlainObject(value)) {
|
|
42
31
|
const result = {};
|
|
43
32
|
for (const key of Object.keys(value)) {
|
|
44
33
|
if (!isSafeKey(key))
|
|
@@ -49,4 +38,26 @@ function sanitizeKeys(value) {
|
|
|
49
38
|
}
|
|
50
39
|
return value;
|
|
51
40
|
}
|
|
41
|
+
function normalizePrefix(p) {
|
|
42
|
+
if (!p)
|
|
43
|
+
return '';
|
|
44
|
+
let result = p;
|
|
45
|
+
if (!result.startsWith('/'))
|
|
46
|
+
result = '/' + result;
|
|
47
|
+
while (result.length > 1 && result.endsWith('/'))
|
|
48
|
+
result = result.slice(0, -1);
|
|
49
|
+
if (result === '/')
|
|
50
|
+
return '';
|
|
51
|
+
return result;
|
|
52
|
+
}
|
|
53
|
+
function removeTrailingSlash(path) {
|
|
54
|
+
if (path === '/')
|
|
55
|
+
return '';
|
|
56
|
+
return path.endsWith('/') ? path.slice(0, -1) : path;
|
|
57
|
+
}
|
|
58
|
+
function getEnv() {
|
|
59
|
+
return typeof process !== 'undefined' && process.env
|
|
60
|
+
? process.env
|
|
61
|
+
: {};
|
|
62
|
+
}
|
|
52
63
|
//# sourceMappingURL=misc.js.map
|
package/dist/copy/misc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/copy/misc.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/copy/misc.ts"],"names":[],"mappings":";;;AAIA,sCAKC;AAID,8BAEC;AAED,oCAaC;AAED,0CAOC;AAED,kDAGC;AAED,wBAIC;AAlDM,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE;IAC3E,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB;AAED,SAAgB,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC1C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;AAEtE,SAAgB,SAAS,CAAC,GAAW;IACnC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC;AAED,SAAgB,YAAY,CAAI,KAAQ;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAM,CAAA;IACrC,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAA4B,EAAE,CAAA;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAA;QACrE,CAAC;QACD,OAAO,MAAW,CAAA;IACpB,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAgB,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAA;IAClD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9E,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,CAAA;IAC7B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,EAAE,CAAA;IAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACtD,CAAC;AAED,SAAgB,MAAM;IACpB,OAAO,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG;QAClD,CAAC,CAAC,OAAO,CAAC,GAAG;QACb,CAAC,CAAE,EAAyC,CAAA;AAChD,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateFastifyHandler = generateFastifyHandler;
|
|
4
|
-
const strings_1 = require("../utils/strings");
|
|
5
4
|
const importExt_1 = require("../utils/importExt");
|
|
6
5
|
const CORE_NAME_MAP = {
|
|
7
6
|
delete: 'deleteUnique',
|
|
@@ -39,9 +38,8 @@ const CREATED_OPS = new Set([
|
|
|
39
38
|
function generateFastifyHandler(options) {
|
|
40
39
|
const ext = (0, importExt_1.importExt)(options.importStyle);
|
|
41
40
|
const modelName = options.model.name;
|
|
42
|
-
const prefix = (0, strings_1.toCamelCase)(modelName);
|
|
43
41
|
const readHandlers = READ_OPS.map((op) => {
|
|
44
|
-
const exportName = `${
|
|
42
|
+
const exportName = `${modelName}${op.charAt(0).toUpperCase() + op.slice(1)}`;
|
|
45
43
|
return `
|
|
46
44
|
export async function ${exportName}(
|
|
47
45
|
request: FastifyRequest,
|
|
@@ -52,7 +50,7 @@ export async function ${exportName}(
|
|
|
52
50
|
}`;
|
|
53
51
|
}).join('\n');
|
|
54
52
|
const writeHandlers = WRITE_OPS.map((op) => {
|
|
55
|
-
const exportName = `${
|
|
53
|
+
const exportName = `${modelName}${op.charAt(0).toUpperCase() + op.slice(1)}`;
|
|
56
54
|
const statusCode = CREATED_OPS.has(op) ? 201 : 200;
|
|
57
55
|
return `
|
|
58
56
|
export async function ${exportName}(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFastifyHandler.js","sourceRoot":"","sources":["../../src/generators/generateFastifyHandler.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generateFastifyHandler.js","sourceRoot":"","sources":["../../src/generators/generateFastifyHandler.ts"],"names":[],"mappings":";;AA0CA,wDAmEC;AA3GD,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,sBAAsB,CAAC,OAGtC;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;;;;4BAIN,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;;;;4BAIN,UAAU,CAAC,EAAE,CAAC;;;uBAGnB,UAAU;EAC/B,CAAA;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO;2BACkB,SAAS,OAAO,GAAG;4DACc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B7D,YAAY;EACZ,aAAa;CACd,CAAA;AACD,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateHonoHandler = generateHonoHandler;
|
|
4
|
-
const strings_1 = require("../utils/strings");
|
|
5
4
|
const importExt_1 = require("../utils/importExt");
|
|
6
5
|
const CORE_NAME_MAP = {
|
|
7
6
|
delete: 'deleteUnique',
|
|
@@ -39,9 +38,8 @@ const CREATED_OPS = new Set([
|
|
|
39
38
|
function generateHonoHandler(options) {
|
|
40
39
|
const ext = (0, importExt_1.importExt)(options.importStyle);
|
|
41
40
|
const modelName = options.model.name;
|
|
42
|
-
const prefix = (0, strings_1.toCamelCase)(modelName);
|
|
43
41
|
const readHandlers = READ_OPS.map((op) => {
|
|
44
|
-
const exportName = `${
|
|
42
|
+
const exportName = `${modelName}${op.charAt(0).toUpperCase() + op.slice(1)}`;
|
|
45
43
|
return `
|
|
46
44
|
export async function ${exportName}(c: Context<HonoEnv>): Promise<void> {
|
|
47
45
|
const data = await core.${coreFnName(op)}(buildContext(c))
|
|
@@ -49,7 +47,7 @@ export async function ${exportName}(c: Context<HonoEnv>): Promise<void> {
|
|
|
49
47
|
}`;
|
|
50
48
|
}).join('\n');
|
|
51
49
|
const writeHandlers = WRITE_OPS.map((op) => {
|
|
52
|
-
const exportName = `${
|
|
50
|
+
const exportName = `${modelName}${op.charAt(0).toUpperCase() + op.slice(1)}`;
|
|
53
51
|
const statusCode = CREATED_OPS.has(op) ? 201 : 200;
|
|
54
52
|
return `
|
|
55
53
|
export async function ${exportName}(c: Context<HonoEnv>): Promise<void> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateHonoHandler.js","sourceRoot":"","sources":["../../src/generators/generateHonoHandler.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generateHonoHandler.js","sourceRoot":"","sources":["../../src/generators/generateHonoHandler.ts"],"names":[],"mappings":";;AA0CA,kDA8DC;AAtGD,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,OAAO;2BACkB,SAAS,OAAO,GAAG;4DACc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B7D,YAAY;EACZ,aAAa;CACd,CAAA;AACD,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { GeneratorOptions } from '@prisma/generator-helper';
|
|
2
|
-
export declare function generateImportPrismaStatement(generatorOptions: GeneratorOptions): string;
|
|
3
2
|
export declare function getRelativeClientPath(generatorOptions: GeneratorOptions, modelName: string): string;
|
|
4
3
|
export declare function getGuardShapesImport(options: GeneratorOptions, modelName: string): string | null;
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generateImportPrismaStatement = generateImportPrismaStatement;
|
|
7
6
|
exports.getRelativeClientPath = getRelativeClientPath;
|
|
8
7
|
exports.getGuardShapesImport = getGuardShapesImport;
|
|
9
8
|
const path_1 = __importDefault(require("path"));
|
|
@@ -14,11 +13,7 @@ function findClientGenerator(options) {
|
|
|
14
13
|
const byProvider = options.otherGenerators.find((gen) => gen.provider.value === 'prisma-client-js' ||
|
|
15
14
|
gen.provider.value === '@prisma/client' ||
|
|
16
15
|
gen.provider.value === 'prisma-client');
|
|
17
|
-
|
|
18
|
-
return byProvider;
|
|
19
|
-
const withOutput = options.otherGenerators.find((gen) => gen.output?.value?.includes('prisma') ||
|
|
20
|
-
gen.output?.value?.includes('client'));
|
|
21
|
-
return withOutput || null;
|
|
16
|
+
return byProvider || null;
|
|
22
17
|
}
|
|
23
18
|
function getRelativeImportPath(fromDir, clientOutputPath) {
|
|
24
19
|
let relativeImportPath = path_1.default.relative(fromDir, clientOutputPath);
|
|
@@ -28,23 +23,10 @@ function getRelativeImportPath(fromDir, clientOutputPath) {
|
|
|
28
23
|
}
|
|
29
24
|
return relativeImportPath;
|
|
30
25
|
}
|
|
31
|
-
function generateImportPrismaStatement(generatorOptions) {
|
|
32
|
-
const clientGenerator = findClientGenerator(generatorOptions);
|
|
33
|
-
if (!clientGenerator || !clientGenerator.output?.value) {
|
|
34
|
-
throw new Error('Prisma client generator not found. Ensure a generator with provider "prisma-client-js" exists in your schema.');
|
|
35
|
-
}
|
|
36
|
-
const outputValue = generatorOptions.generator.output?.value;
|
|
37
|
-
if (!outputValue) {
|
|
38
|
-
throw new Error('Generator output path not defined.');
|
|
39
|
-
}
|
|
40
|
-
const subDir = path_1.default.join(outputValue, '_relative');
|
|
41
|
-
const outputPath = getRelativeImportPath(subDir, clientGenerator.output.value);
|
|
42
|
-
return `import { Prisma, PrismaClient } from '${outputPath}';\n`;
|
|
43
|
-
}
|
|
44
26
|
function getRelativeClientPath(generatorOptions, modelName) {
|
|
45
27
|
const clientGenerator = findClientGenerator(generatorOptions);
|
|
46
28
|
if (!clientGenerator || !clientGenerator.output?.value) {
|
|
47
|
-
throw new Error('Prisma client generator not found. Ensure a generator with provider
|
|
29
|
+
throw new Error('Prisma client generator not found. Ensure a generator block exists with name "client" or provider one of: prisma-client-js, @prisma/client, prisma-client.');
|
|
48
30
|
}
|
|
49
31
|
const outputValue = generatorOptions.generator.output?.value;
|
|
50
32
|
if (!outputValue) {
|
|
@@ -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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"}
|
|
@@ -51,6 +51,8 @@ ${validationLines}
|
|
|
51
51
|
}).join('\n');
|
|
52
52
|
return `import {
|
|
53
53
|
OperationContext,
|
|
54
|
+
PrismaClientLike,
|
|
55
|
+
HttpError,
|
|
54
56
|
getExtendedClient,
|
|
55
57
|
getDelegate,
|
|
56
58
|
validateBody,
|
|
@@ -58,6 +60,7 @@ ${validationLines}
|
|
|
58
60
|
applyPaginationLimits,
|
|
59
61
|
assertGuard,
|
|
60
62
|
countForPagination,
|
|
63
|
+
mapError,
|
|
61
64
|
} from '../operationRuntime${ext}'
|
|
62
65
|
|
|
63
66
|
export async function findMany(ctx: OperationContext): Promise<unknown> {
|
|
@@ -113,7 +116,7 @@ export async function findManyPaginated(
|
|
|
113
116
|
total = txResult.t
|
|
114
117
|
} catch (txError: unknown) {
|
|
115
118
|
const txe = txError as { message?: string; code?: string }
|
|
116
|
-
if (
|
|
119
|
+
if (txe?.code === 'P2028') {
|
|
117
120
|
console.warn('[prisma-generator-express] Interactive transactions not available, pagination queries are non-atomic')
|
|
118
121
|
items = (await delegate.findMany(query)) as unknown[]
|
|
119
122
|
total = await countForPagination(delegate, query, undefined, undefined, distinctCountLimit)
|
|
@@ -130,6 +133,39 @@ export async function findManyPaginated(
|
|
|
130
133
|
|
|
131
134
|
return { data: items, total, hasMore }
|
|
132
135
|
}
|
|
136
|
+
|
|
137
|
+
export async function updateEach(
|
|
138
|
+
ctx: OperationContext,
|
|
139
|
+
atomic: boolean,
|
|
140
|
+
): Promise<unknown> {
|
|
141
|
+
const body = ctx.body
|
|
142
|
+
if (!Array.isArray(body)) {
|
|
143
|
+
throw new HttpError(400, 'updateEach body must be an array of { where, data } items')
|
|
144
|
+
}
|
|
145
|
+
const items = body as Record<string, unknown>[]
|
|
146
|
+
const client = ctx.prisma as PrismaClientLike
|
|
147
|
+
const delegate = getDelegate(client, '${modelNameLower}')
|
|
148
|
+
|
|
149
|
+
if (atomic) {
|
|
150
|
+
if (typeof client.$transaction !== 'function') {
|
|
151
|
+
throw new HttpError(500, 'Atomic updateEach requires transaction support on the Prisma client')
|
|
152
|
+
}
|
|
153
|
+
const ops = items.map((item) => delegate.update(item))
|
|
154
|
+
const runArray = client.$transaction as unknown as (
|
|
155
|
+
promises: unknown[],
|
|
156
|
+
) => Promise<unknown[]>
|
|
157
|
+
return runArray(ops)
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const settled = await Promise.allSettled(
|
|
161
|
+
items.map((item) => delegate.update(item)),
|
|
162
|
+
)
|
|
163
|
+
return settled.map((result) =>
|
|
164
|
+
result.status === 'fulfilled'
|
|
165
|
+
? { status: 'ok', data: result.value }
|
|
166
|
+
: { status: 'error', error: mapError(result.reason).message },
|
|
167
|
+
)
|
|
168
|
+
}
|
|
133
169
|
`;
|
|
134
170
|
}
|
|
135
171
|
//# sourceMappingURL=generateOperationCore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":";;AASA,
|
|
1
|
+
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":";;AASA,8CA0KC;AAjLD,kDAA8C;AAO9C,SAAgB,iBAAiB,CAAC,OAAyB;IACzD,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IACpC,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE7E,MAAM,eAAe,GAAG;QACtB,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB;QAClE,OAAO,EAAE,WAAW,EAAE,SAAS;KAChC,CAAA;IAED,MAAM,oBAAoB,GAAG,eAAe;SACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;wBACO,EAAE;;;4CAGkB,cAAc;;;6DAGG,EAAE;;oBAE3C,EAAE;EACpB,CAAC;SACE,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,QAAQ,GAAG;QACf,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;QAC9D,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;QACtE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;QACxF,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACvE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QAC/E,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACjG,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;QACvE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;KACpF,CAAA;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACxC,MAAM,eAAe,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAA6B,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3G,OAAO;wBACa,EAAE,CAAC,IAAI;;EAE7B,eAAe;;4CAE2B,cAAc;;;6DAGG,EAAE,CAAC,MAAM;;oBAElD,EAAE,CAAC,MAAM;EAC3B,CAAA;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO;;;;;;;;;;;;6BAYoB,GAAG;;;;;;4CAMY,cAAc;;;;;;;EAOxD,oBAAoB;EACpB,aAAa;;;;;;;;;;;4CAW6B,cAAc;;;;;;;;;;;;;;;;;;;;;8CAqBZ,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAqClB,cAAc;;;;;;;;;;;;;;;;;;;;;;CAsBvD,CAAA;AACD,CAAC"}
|
|
@@ -86,6 +86,15 @@ function doStart(options: QueryBuilderOptions): Promise<void> {
|
|
|
86
86
|
return
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
const schemaByteLength = Buffer.byteLength(schemaContent, 'utf8')
|
|
90
|
+
if (schemaByteLength > 28000) {
|
|
91
|
+
console.warn(
|
|
92
|
+
'[query-builder] Schema size is ' + schemaByteLength + ' bytes. ' +
|
|
93
|
+
'Environment variable size limits may cause spawn failure on Windows (~32KB). ' +
|
|
94
|
+
'If the query builder fails to start, this is the likely cause.',
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
89
98
|
const schemaCwd = dirname(resolve(schemaPath))
|
|
90
99
|
|
|
91
100
|
_process = spawn(process.execPath, [cliPath], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateQueryBuilderHelper.js","sourceRoot":"","sources":["../../src/generators/generateQueryBuilderHelper.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"generateQueryBuilderHelper.js","sourceRoot":"","sources":["../../src/generators/generateQueryBuilderHelper.ts"],"names":[],"mappings":";;AAEA,gEAgKC;AAhKD,SAAgB,0BAA0B,CAAC,OAAyB;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU;QACnC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,gEAAgE,CAAA;IAEpE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA+DsC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FxD,CAAA;AACD,CAAC"}
|
|
@@ -57,7 +57,6 @@ function computeRelation(field, selfModelName, models) {
|
|
|
57
57
|
}
|
|
58
58
|
function buildModelMeta(model, models) {
|
|
59
59
|
const scalarFields = [];
|
|
60
|
-
const idFields = [];
|
|
61
60
|
const relations = {};
|
|
62
61
|
for (const field of model.fields) {
|
|
63
62
|
if (field.kind === 'object') {
|
|
@@ -65,21 +64,12 @@ function buildModelMeta(model, models) {
|
|
|
65
64
|
}
|
|
66
65
|
else if (field.kind === 'scalar' || field.kind === 'enum') {
|
|
67
66
|
scalarFields.push(field.name);
|
|
68
|
-
if (field.isId)
|
|
69
|
-
idFields.push(field.name);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (model.primaryKey && Array.isArray(model.primaryKey.fields)) {
|
|
73
|
-
for (const f of model.primaryKey.fields) {
|
|
74
|
-
if (!idFields.includes(f))
|
|
75
|
-
idFields.push(f);
|
|
76
67
|
}
|
|
77
68
|
}
|
|
78
69
|
return {
|
|
79
70
|
name: model.name,
|
|
80
71
|
delegateKey: model.name.charAt(0).toLowerCase() + model.name.slice(1),
|
|
81
72
|
scalarFields,
|
|
82
|
-
idFields,
|
|
83
73
|
relations,
|
|
84
74
|
};
|
|
85
75
|
}
|
|
@@ -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":";;AAwHA,oDAOC;AAOD,kEAeC;AAnJD,kDAA8C;AAqB9C,SAAS,iBAAiB,CACxB,MAAiC,EACjC,eAAuB,EACvB,YAAgC,EAChC,aAAqB,EACrB,aAAqB;IAErB,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAA;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAA;IAC7D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,MAAM,cAAc,GAAG,eAAe,KAAK,aAAa,CAAA;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,QAAQ;QACnB,CAAC,CAAC,YAAY,KAAK,YAAY;QAC/B,CAAC,CAAC,IAAI,KAAK,aAAa;QACxB,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAChD,IAAI,IAAI,CAAA;AACX,CAAC;AAED,SAAS,eAAe,CACtB,KAAiB,EACjB,aAAqB,EACrB,MAAiC;IAEjC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAa,CAAA;IAC7D,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAa,CAAA;IAEzD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,cAAc;YACzB,gBAAgB,EAAE,QAAQ;YAC1B,eAAe,EAAE,MAAM;SACxB,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IACrG,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAa,CAAA;QAC/D,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAa,CAAA;QAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,aAAa;gBACxB,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,OAAO;aACzB,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,aAAa;QACxB,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,EAAE;KACpB,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAAiB,EACjB,MAAiC;IAEjC,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,SAAS,GAAsC,EAAE,CAAA;IAEvD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACpE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5D,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,YAAY;QACZ,SAAS;KACV,CAAA;AACH,CAAC;AAQD,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7D,OAAO,+DAA+D,GAAG;;eAE5D,OAAO,CAAC,KAAK,CAAC,IAAI,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;CAC9F,CAAA;AACD,CAAC;AAOD,SAAgB,2BAA2B,CAAC,OAA2C;IACrF,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SACxE,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU;SAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;SACpC,IAAI,CAAC,IAAI,CAAC,CAAA;IACb,OAAO,8DAA8D,GAAG;EACxE,OAAO;;;EAGP,OAAO;;CAER,CAAA;AACD,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateRouteConfigType = generateRouteConfigType;
|
|
4
4
|
const importExt_1 = require("../utils/importExt");
|
|
5
|
+
const strings_1 = require("../utils/strings");
|
|
5
6
|
const ROUTER_OPERATIONS = [
|
|
6
7
|
'findUnique', 'findUniqueOrThrow', 'findFirst', 'findFirstOrThrow',
|
|
7
8
|
'findMany', 'findManyPaginated', 'count', 'aggregate', 'groupBy',
|
|
@@ -33,49 +34,69 @@ const ROUTER_OP_TO_SHAPE_OP = {
|
|
|
33
34
|
delete: 'delete',
|
|
34
35
|
deleteMany: 'deleteMany',
|
|
35
36
|
};
|
|
36
|
-
function capitalize(s) {
|
|
37
|
-
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
38
|
-
}
|
|
39
37
|
function requestTypeFor(target) {
|
|
40
38
|
if (target === 'fastify')
|
|
41
39
|
return `import('fastify').FastifyRequest`;
|
|
42
40
|
if (target === 'hono')
|
|
43
|
-
return `import('hono').Context
|
|
41
|
+
return `import('hono').Context<TEnv>`;
|
|
44
42
|
return `import('express').Request`;
|
|
45
43
|
}
|
|
44
|
+
function configGenericsFor(target) {
|
|
45
|
+
if (target === 'hono') {
|
|
46
|
+
return `<TCtx = unknown, TPrisma = any, TEnv extends { Variables: Record<string, unknown> } = { Variables: Record<string, unknown> }>`;
|
|
47
|
+
}
|
|
48
|
+
return `<TCtx = unknown, TPrisma = any>`;
|
|
49
|
+
}
|
|
50
|
+
function routeConfigBaseFor(target) {
|
|
51
|
+
if (target === 'hono') {
|
|
52
|
+
return `RouteConfig<Record<string, unknown>, TCtx, TEnv>`;
|
|
53
|
+
}
|
|
54
|
+
if (target === 'express') {
|
|
55
|
+
return `RouteConfig<Record<string, unknown>, TCtx, TPrisma>`;
|
|
56
|
+
}
|
|
57
|
+
return `RouteConfig<Record<string, unknown>, TCtx>`;
|
|
58
|
+
}
|
|
59
|
+
function hookHandlerTypeRef(target, hookHandlerType) {
|
|
60
|
+
if (target === 'hono')
|
|
61
|
+
return `${hookHandlerType}<TEnv>`;
|
|
62
|
+
return hookHandlerType;
|
|
63
|
+
}
|
|
46
64
|
function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport, importStyle, target) {
|
|
47
65
|
const ext = (0, importExt_1.importExt)(importStyle);
|
|
48
66
|
const m = modelName;
|
|
49
67
|
const supportsProgressive = target === 'express';
|
|
68
|
+
const generics = configGenericsFor(target);
|
|
69
|
+
const baseConfig = routeConfigBaseFor(target);
|
|
70
|
+
const hookRef = hookHandlerTypeRef(target, hookHandlerType);
|
|
50
71
|
const requestType = requestTypeFor(target);
|
|
51
72
|
const progressiveTypeImport = supportsProgressive
|
|
52
73
|
? `import type { ProgressiveVariantConfig, ProgressiveStage } from '../routeConfig.target${ext}'\n\n`
|
|
53
74
|
: '';
|
|
54
75
|
if (!guardShapesImport) {
|
|
55
|
-
return progressiveTypeImport + `export type ${m}RouteConfig
|
|
76
|
+
return progressiveTypeImport + `export type ${m}RouteConfig${generics} = ${baseConfig}\n`;
|
|
56
77
|
}
|
|
57
78
|
const shapeOps = Object.values(ROUTER_OP_TO_SHAPE_OP).filter((v, i, a) => a.indexOf(v) === i);
|
|
58
|
-
const opShapeImports = shapeOps.map((op) => `${m}${capitalize(op)}ShapeInput`).join(',\n ');
|
|
79
|
+
const opShapeImports = shapeOps.map((op) => `${m}${(0, strings_1.capitalize)(op)}ShapeInput`).join(',\n ');
|
|
59
80
|
const overrides = ROUTER_OPERATIONS.map((routerOp) => {
|
|
60
81
|
const shapeOp = ROUTER_OP_TO_SHAPE_OP[routerOp];
|
|
61
|
-
const c = capitalize(shapeOp);
|
|
82
|
+
const c = (0, strings_1.capitalize)(shapeOp);
|
|
62
83
|
const isRead = READ_OPERATIONS.has(routerOp);
|
|
63
84
|
const lines = [
|
|
64
|
-
` before?: ${
|
|
65
|
-
` after?: ${
|
|
85
|
+
` before?: ${hookRef}[]`,
|
|
86
|
+
` after?: ${hookRef}[]`,
|
|
66
87
|
` shape?: ${m}${c}ShapeInput<TCtx>`,
|
|
67
88
|
];
|
|
68
89
|
if (isRead && supportsProgressive) {
|
|
69
90
|
lines.push(` progressive?: Record<string, ProgressiveVariantConfig>`);
|
|
70
|
-
lines.push(` progressiveStages?: Record<string, ProgressiveStage<TCtx>>`);
|
|
91
|
+
lines.push(` progressiveStages?: Record<string, ProgressiveStage<TCtx, TPrisma>>`);
|
|
71
92
|
}
|
|
72
93
|
return ` ${routerOp}?: {\n${lines.join('\n')}\n }`;
|
|
73
94
|
}).join('\n');
|
|
74
95
|
const omitKeys = ROUTER_OPERATIONS.map((k) => `'${k}'`).join('\n | ');
|
|
75
96
|
return (progressiveTypeImport +
|
|
76
97
|
`import type {\n ${opShapeImports}\n} from '${guardShapesImport}${ext}'\n\n` +
|
|
77
|
-
`export type ${m}RouteConfig
|
|
78
|
-
`
|
|
98
|
+
`export type ${m}RouteConfig${generics} = Omit<\n` +
|
|
99
|
+
` ${baseConfig},\n` +
|
|
79
100
|
` | ${omitKeys}\n` +
|
|
80
101
|
` | 'resolveContext'\n` +
|
|
81
102
|
`> & {\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":";;AAsEA,0DAwDC;AA7HD,kDAA8C;AAE9C,8CAA6C;AAE7C,MAAM,iBAAiB,GAAG;IACxB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB;IAClE,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS;IAChE,QAAQ,EAAE,YAAY,EAAE,qBAAqB;IAC7C,QAAQ,EAAE,YAAY,EAAE,qBAAqB;IAC7C,QAAQ,EAAE,QAAQ,EAAE,YAAY;CACxB,CAAA;AAIV,MAAM,eAAe,GAAiC,IAAI,GAAG,CAAkB;IAC7E,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB;IAClE,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS;CACjE,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAoC;IAC7D,UAAU,EAAE,YAAY;IACxB,iBAAiB,EAAE,mBAAmB;IACtC,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,kBAAkB;IACpC,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,mBAAmB;IACtC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;CACzB,CAAA;AAGD,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,kCAAkC,CAAA;IACnE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,8BAA8B,CAAA;IAC5D,OAAO,2BAA2B,CAAA;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,+HAA+H,CAAA;IACxI,CAAC;IACD,OAAO,iCAAiC,CAAA;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,kDAAkD,CAAA;IAC3D,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,qDAAqD,CAAA;IAC9D,CAAC;IACD,OAAO,4CAA4C,CAAA;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,eAAuB;IACjE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,GAAG,eAAe,QAAQ,CAAA;IACxD,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,SAAgB,uBAAuB,CACrC,SAAiB,EACjB,eAAuB,EACvB,iBAAgC,EAChC,WAAwB,EACxB,MAAc;IAEd,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,WAAW,CAAC,CAAA;IAClC,MAAM,CAAC,GAAG,SAAS,CAAA;IACnB,MAAM,mBAAmB,GAAG,MAAM,KAAK,SAAS,CAAA;IAEhD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC3D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAE1C,MAAM,qBAAqB,GAAG,mBAAmB;QAC/C,CAAC,CAAC,yFAAyF,GAAG,OAAO;QACrG,CAAC,CAAC,EAAE,CAAA;IAEN,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,qBAAqB,GAAG,eAAe,CAAC,cAAc,QAAQ,MAAM,UAAU,IAAI,CAAA;IAC3F,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7F,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAA,oBAAU,EAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE5F,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,CAAC,GAAG,IAAA,oBAAU,EAAC,OAAO,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG;YACZ,gBAAgB,OAAO,IAAI;YAC3B,eAAe,OAAO,IAAI;YAC1B,eAAe,CAAC,GAAG,CAAC,kBAAkB;SACvC,CAAA;QACD,IAAI,MAAM,IAAI,mBAAmB,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;YACxE,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;QACvF,CAAC;QACD,OAAO,KAAK,QAAQ,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;IACtD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEtE,OAAO,CACL,qBAAqB;QACrB,oBAAoB,cAAc,aAAa,iBAAiB,GAAG,GAAG,OAAO;QAC7E,eAAe,CAAC,cAAc,QAAQ,YAAY;QAClD,KAAK,UAAU,KAAK;QACpB,OAAO,QAAQ,IAAI;QACnB,wBAAwB;QACxB,SAAS;QACT,gCAAgC,WAAW,6BAA6B;QACxE,GAAG,SAAS,OAAO,CACpB,CAAA;AACH,CAAC"}
|
|
@@ -3,7 +3,6 @@ import { ImportStyle } from '../utils/resolveImportStyle';
|
|
|
3
3
|
export declare function generateRouterFunction({ model, enums, guardShapesImport, importStyle, }: {
|
|
4
4
|
model: DMMF.Model;
|
|
5
5
|
enums: DMMF.DatamodelEnum[];
|
|
6
|
-
relativeClientPath?: string;
|
|
7
6
|
guardShapesImport: string | null;
|
|
8
7
|
importStyle: ImportStyle;
|
|
9
8
|
}): string;
|