prisma-generator-express 1.14.3 → 1.15.1
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 +17 -7
- package/dist/generator.js +5 -0
- package/dist/generator.js.map +1 -1
- package/dist/helpers/generateAggregate.js +4 -9
- package/dist/helpers/generateAggregate.js.map +1 -1
- package/dist/helpers/generateCount.js +4 -9
- package/dist/helpers/generateCount.js.map +1 -1
- package/dist/helpers/generateCreate.js +4 -9
- package/dist/helpers/generateCreate.js.map +1 -1
- package/dist/helpers/generateCreateMany.js +4 -9
- package/dist/helpers/generateCreateMany.js.map +1 -1
- package/dist/helpers/generateDelete.js +4 -9
- package/dist/helpers/generateDelete.js.map +1 -1
- package/dist/helpers/generateDeleteMany.js +4 -9
- package/dist/helpers/generateDeleteMany.js.map +1 -1
- package/dist/helpers/generateFindFirst.js +4 -9
- package/dist/helpers/generateFindFirst.js.map +1 -1
- package/dist/helpers/generateFindMany.js +4 -9
- package/dist/helpers/generateFindMany.js.map +1 -1
- package/dist/helpers/generateFindUnique.js +4 -9
- package/dist/helpers/generateFindUnique.js.map +1 -1
- package/dist/helpers/generateGroupBy.js +4 -9
- package/dist/helpers/generateGroupBy.js.map +1 -1
- package/dist/helpers/generateRouteFile.js +30 -34
- package/dist/helpers/generateRouteFile.js.map +1 -1
- package/dist/helpers/generateUpdate.js +4 -9
- package/dist/helpers/generateUpdate.js.map +1 -1
- package/dist/helpers/generateUpdateMany.js +4 -9
- package/dist/helpers/generateUpdateMany.js.map +1 -1
- package/dist/helpers/generateUpsert.js +4 -9
- package/dist/helpers/generateUpsert.js.map +1 -1
- package/dist/utils/strings.js +3 -3
- package/dist/utils/strings.js.map +1 -1
- package/package.json +7 -7
- package/src/generator.ts +10 -0
- package/src/helpers/generateAggregate.ts +5 -10
- package/src/helpers/generateCount.ts +5 -10
- package/src/helpers/generateCreate.ts +5 -10
- package/src/helpers/generateCreateMany.ts +5 -10
- package/src/helpers/generateDelete.ts +5 -10
- package/src/helpers/generateDeleteMany.ts +5 -10
- package/src/helpers/generateFindFirst.ts +5 -10
- package/src/helpers/generateFindMany.ts +5 -10
- package/src/helpers/generateFindUnique.ts +5 -10
- package/src/helpers/generateGroupBy.ts +5 -10
- package/src/helpers/generateRouteFile.ts +30 -34
- package/src/helpers/generateUpdate.ts +5 -10
- package/src/helpers/generateUpdateMany.ts +5 -10
- package/src/helpers/generateUpsert.ts +5 -10
- package/src/utils/strings.ts +1 -1
package/README.md
CHANGED
|
@@ -133,7 +133,6 @@ const addPrisma: RequestHandler = (
|
|
|
133
133
|
next: NextFunction,
|
|
134
134
|
) => {
|
|
135
135
|
req.prisma = prisma
|
|
136
|
-
// req.omitOutputValidation = true (output validation is not required if you use `select` instead of `include`)
|
|
137
136
|
next()
|
|
138
137
|
}
|
|
139
138
|
|
|
@@ -205,12 +204,11 @@ app.listen(3000, () => {
|
|
|
205
204
|
|
|
206
205
|
The following properties can be attached to the `req` object to control the behavior of generated middleware:
|
|
207
206
|
|
|
208
|
-
| Property | Type | Description
|
|
209
|
-
| ---------------------- | ------------ |
|
|
210
|
-
| `prisma` | PrismaClient | An instance of PrismaClient that allows the middleware to interact with your database.
|
|
211
|
-
| `passToNext` | boolean | Optional, if `true` - the result of a Prisma request will be passed to the next middleware as `if (req.locals) req.locals.data`
|
|
212
|
-
| `outputValidation` | ZodTypeAny | (Optional) A Zod schema used to validate the data returned from the Prisma query before sending it to the client.
|
|
213
|
-
| `omitOutputValidation` | Boolean | (Optional) A flag that, if set to `true`, disables output validation even if a Zod schema is provided. |
|
|
207
|
+
| Property | Type | Description |
|
|
208
|
+
| ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
209
|
+
| `prisma` | PrismaClient | An instance of PrismaClient that allows the middleware to interact with your database. |
|
|
210
|
+
| `passToNext` | boolean | Optional, if `true` - the result of a Prisma request will be passed to the next middleware as `if (req.locals) req.locals.data` |
|
|
211
|
+
| `outputValidation` | ZodTypeAny | (Optional) A Zod schema used to validate the data returned from the Prisma query before sending it to the client. |
|
|
214
212
|
|
|
215
213
|
## Router Schema
|
|
216
214
|
|
|
@@ -230,6 +228,18 @@ The following properties can be attached to the `req` object to control the beha
|
|
|
230
228
|
| `delete` | `DELETE` | `/` |
|
|
231
229
|
| `deleteMany` | `DELETE` | `/many` |
|
|
232
230
|
|
|
231
|
+
## Skip generation
|
|
232
|
+
|
|
233
|
+
```prisma
|
|
234
|
+
/// generator off
|
|
235
|
+
model UserAccount {
|
|
236
|
+
ID Int @id @default(autoincrement())
|
|
237
|
+
full_name String
|
|
238
|
+
emailAddress String @unique
|
|
239
|
+
createdAt DateTime @default(now())
|
|
240
|
+
orders orderItem[]
|
|
241
|
+
}
|
|
242
|
+
```
|
|
233
243
|
|
|
234
244
|
## Helper functions
|
|
235
245
|
|
package/dist/generator.js
CHANGED
|
@@ -33,6 +33,11 @@ const { version } = require('../package.json');
|
|
|
33
33
|
onGenerate: async (options) => {
|
|
34
34
|
const prismaImportStatement = (0, generateImportPrismaStatement_1.generateImportPrismaStatement)(options);
|
|
35
35
|
for await (const model of options.dmmf.datamodel.models) {
|
|
36
|
+
if (model.documentation &&
|
|
37
|
+
model.documentation.includes('generator off')) {
|
|
38
|
+
sdk_1.logger.info(`Skipping generation for model ${model.name} as it is marked with 'generator off'.`);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
36
41
|
await (0, writeFileSafely_1.writeFileSafely)({
|
|
37
42
|
content: (0, generateFindUnique_1.generateFindUniqueFunction)({
|
|
38
43
|
model,
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,6 @@ interface AggregateRequest extends Request {
|
|
|
19
19
|
prisma: PrismaClient;
|
|
20
20
|
query: Partial<${argsTypeName}> & ParsedQs;
|
|
21
21
|
outputValidation?: ZodTypeAny;
|
|
22
|
-
omitOutputValidation?: boolean;
|
|
23
22
|
locals?: {
|
|
24
23
|
outputValidator?: ValidatorConfig;
|
|
25
24
|
};
|
|
@@ -31,13 +30,9 @@ export async function ${functionName}(req: AggregateRequest, res: Response, next
|
|
|
31
30
|
try {
|
|
32
31
|
const outputValidator = res.locals.outputValidator?.schema || req.outputValidation;
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const result = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.aggregate(req.query as ${argsTypeName});
|
|
33
|
+
const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.aggregate(req.query as ${argsTypeName});
|
|
39
34
|
|
|
40
|
-
if (
|
|
35
|
+
if (outputValidator) {
|
|
41
36
|
const validationResult = outputValidator.safeParse(result);
|
|
42
37
|
if (validationResult.success) {
|
|
43
38
|
return res.status(200).json(validationResult.data);
|
|
@@ -47,8 +42,8 @@ export async function ${functionName}(req: AggregateRequest, res: Response, next
|
|
|
47
42
|
} else {
|
|
48
43
|
return res.status(200).json(result);
|
|
49
44
|
}
|
|
50
|
-
} catch
|
|
51
|
-
|
|
45
|
+
} catch(error: unknown) {
|
|
46
|
+
next(error)
|
|
52
47
|
}
|
|
53
48
|
}`;
|
|
54
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateAggregate.js","sourceRoot":"","sources":["../../src/helpers/generateAggregate.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateAggregate.js","sourceRoot":"","sources":["../../src/helpers/generateAggregate.ts"],"names":[],"mappings":";;;AACA,8CAA2D;AASpD,MAAM,yBAAyB,GAAG,CAAC,OAGzC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,WAAW,CAAA;IAC5C,MAAM,YAAY,GAAG,UAAU,IAAA,oBAAU,EAAC,SAAS,CAAC,eAAe,CAAA;IAEnE,OAAO;EACP,qBAAqB;;;;;;;;;mBASJ,YAAY;;;;;;;kFAOmD,YAAY;;wBAEtE,YAAY;;;;sCAIE,IAAA,sBAAY,EAAC,SAAS,CAAC,2BAA2B,YAAY;;;;;;;;;;;;;;;EAelG,CAAA;AACF,CAAC,CAAA;AAhDY,QAAA,yBAAyB,6BAgDrC"}
|
|
@@ -18,7 +18,6 @@ interface CountRequest extends Request {
|
|
|
18
18
|
prisma: PrismaClient;
|
|
19
19
|
query: Partial<${argsTypeName}> & ParsedQs;
|
|
20
20
|
outputValidation?: ZodTypeAny;
|
|
21
|
-
omitOutputValidation?: boolean;
|
|
22
21
|
locals?: {
|
|
23
22
|
outputValidator?: ZodTypeAny;
|
|
24
23
|
};
|
|
@@ -30,13 +29,9 @@ export async function ${functionName}(req: CountRequest, res: Response, next: Ne
|
|
|
30
29
|
try {
|
|
31
30
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const result = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.count(req.query as ${argsTypeName});
|
|
32
|
+
const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.count(req.query as ${argsTypeName});
|
|
38
33
|
|
|
39
|
-
if (
|
|
34
|
+
if (outputValidator) {
|
|
40
35
|
const validationResult = outputValidator.safeParse(result);
|
|
41
36
|
if (validationResult.success) {
|
|
42
37
|
return res.status(200).json(validationResult.data);
|
|
@@ -46,8 +41,8 @@ export async function ${functionName}(req: CountRequest, res: Response, next: Ne
|
|
|
46
41
|
} else {
|
|
47
42
|
return res.status(200).json(result);
|
|
48
43
|
}
|
|
49
|
-
} catch
|
|
50
|
-
|
|
44
|
+
} catch(error: unknown) {
|
|
45
|
+
next(error)
|
|
51
46
|
}
|
|
52
47
|
}`;
|
|
53
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateCount.js","sourceRoot":"","sources":["../../src/helpers/generateCount.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateCount.js","sourceRoot":"","sources":["../../src/helpers/generateCount.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AASxC,MAAM,qBAAqB,GAAG,CAAC,OAGrC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,OAAO,CAAA;IACxC,MAAM,YAAY,GAAG,UAAU,SAAS,WAAW,CAAA;IAEnD,OAAO;EACP,qBAAqB;;;;;;;;mBAQJ,YAAY;;;;;;;;;wBASP,YAAY;;;;sCAIE,IAAA,sBAAY,EAAC,SAAS,CAAC,uBAAuB,YAAY;;;;;;;;;;;;;;;EAe9F,CAAA;AACF,CAAC,CAAA;AA/CY,QAAA,qBAAqB,yBA+CjC"}
|
|
@@ -17,7 +17,6 @@ interface CreateRequest extends Request {
|
|
|
17
17
|
prisma: PrismaClient;
|
|
18
18
|
body: ${argsTypeName};
|
|
19
19
|
outputValidation?: ZodTypeAny;
|
|
20
|
-
omitOutputValidation?: boolean;
|
|
21
20
|
locals?: {
|
|
22
21
|
outputValidator?: ZodTypeAny;
|
|
23
22
|
};
|
|
@@ -29,13 +28,9 @@ export async function ${functionName}(req: CreateRequest, res: Response, next: N
|
|
|
29
28
|
try {
|
|
30
29
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.create(req.body);
|
|
31
|
+
const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.create(req.body);
|
|
37
32
|
|
|
38
|
-
if (
|
|
33
|
+
if (outputValidator) {
|
|
39
34
|
const validationResult = outputValidator.safeParse(data);
|
|
40
35
|
if (validationResult.success) {
|
|
41
36
|
return res.status(201).json(validationResult.data);
|
|
@@ -45,8 +40,8 @@ export async function ${functionName}(req: CreateRequest, res: Response, next: N
|
|
|
45
40
|
} else {
|
|
46
41
|
return res.status(201).json(data);
|
|
47
42
|
}
|
|
48
|
-
} catch
|
|
49
|
-
|
|
43
|
+
} catch(error: unknown) {
|
|
44
|
+
next(error)
|
|
50
45
|
}
|
|
51
46
|
}`;
|
|
52
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateCreate.js","sourceRoot":"","sources":["../../src/helpers/generateCreate.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateCreate.js","sourceRoot":"","sources":["../../src/helpers/generateCreate.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAQxC,MAAM,sBAAsB,GAAG,CAAC,OAGtC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,QAAQ,CAAA;IACzC,MAAM,YAAY,GAAG,UAAU,SAAS,YAAY,CAAA;IAEpD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;uEAOiD,YAAY;;wBAE3D,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAezD,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,sBAAsB,0BA8ClC"}
|
|
@@ -17,7 +17,6 @@ interface CreateManyRequest extends Request {
|
|
|
17
17
|
prisma: PrismaClient;
|
|
18
18
|
body: ${argsTypeName};
|
|
19
19
|
outputValidation?: ZodTypeAny;
|
|
20
|
-
omitOutputValidation?: boolean;
|
|
21
20
|
locals?: {
|
|
22
21
|
outputValidator?: ZodTypeAny;
|
|
23
22
|
};
|
|
@@ -29,13 +28,9 @@ export async function ${functionName}(req: CreateManyRequest, res: Response, nex
|
|
|
29
28
|
try {
|
|
30
29
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.createMany(req.body);
|
|
31
|
+
const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.createMany(req.body);
|
|
37
32
|
|
|
38
|
-
if (
|
|
33
|
+
if (outputValidator) {
|
|
39
34
|
const validationResult = outputValidator.safeParse(data);
|
|
40
35
|
if (validationResult.success) {
|
|
41
36
|
return res.status(201).json(validationResult.data);
|
|
@@ -45,8 +40,8 @@ export async function ${functionName}(req: CreateManyRequest, res: Response, nex
|
|
|
45
40
|
} else {
|
|
46
41
|
return res.status(201).json(data);
|
|
47
42
|
}
|
|
48
|
-
} catch
|
|
49
|
-
|
|
43
|
+
} catch(error: unknown) {
|
|
44
|
+
next(error)
|
|
50
45
|
}
|
|
51
46
|
}`;
|
|
52
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateCreateMany.js","sourceRoot":"","sources":["../../src/helpers/generateCreateMany.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateCreateMany.js","sourceRoot":"","sources":["../../src/helpers/generateCreateMany.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,YAAY,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAExD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;2EAOqD,YAAY;;wBAE/D,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAezD,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,0BAA0B,8BA8CtC"}
|
|
@@ -17,7 +17,6 @@ interface DeleteRequest extends Request {
|
|
|
17
17
|
prisma: PrismaClient;
|
|
18
18
|
body: ${argsTypeName};
|
|
19
19
|
outputValidation?: ZodTypeAny;
|
|
20
|
-
omitOutputValidation?: boolean;
|
|
21
20
|
locals?: {
|
|
22
21
|
outputValidator?: ZodTypeAny;
|
|
23
22
|
};
|
|
@@ -29,13 +28,9 @@ export async function ${functionName}(req: DeleteRequest, res: Response, next: N
|
|
|
29
28
|
try {
|
|
30
29
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.delete(req.body);
|
|
31
|
+
const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.delete(req.body);
|
|
37
32
|
|
|
38
|
-
if (
|
|
33
|
+
if (outputValidator) {
|
|
39
34
|
const validationResult = outputValidator.safeParse(data);
|
|
40
35
|
if (validationResult.success) {
|
|
41
36
|
return res.status(200).json(validationResult.data);
|
|
@@ -45,8 +40,8 @@ export async function ${functionName}(req: DeleteRequest, res: Response, next: N
|
|
|
45
40
|
} else {
|
|
46
41
|
return res.status(200).json(data);
|
|
47
42
|
}
|
|
48
|
-
} catch
|
|
49
|
-
|
|
43
|
+
} catch(error: unknown) {
|
|
44
|
+
next(error)
|
|
50
45
|
}
|
|
51
46
|
}`;
|
|
52
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDelete.js","sourceRoot":"","sources":["../../src/helpers/generateDelete.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateDelete.js","sourceRoot":"","sources":["../../src/helpers/generateDelete.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AASxC,MAAM,sBAAsB,GAAG,CAAC,OAGtC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,QAAQ,CAAA;IACzC,MAAM,YAAY,GAAG,UAAU,SAAS,YAAY,CAAA;IAEpD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;uEAOiD,YAAY;;wBAE3D,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAezD,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,sBAAsB,0BA8ClC"}
|
|
@@ -17,7 +17,6 @@ interface DeleteManyRequest extends Request {
|
|
|
17
17
|
prisma: PrismaClient;
|
|
18
18
|
body: ${argsTypeName};
|
|
19
19
|
outputValidation?: ZodTypeAny;
|
|
20
|
-
omitOutputValidation?: boolean;
|
|
21
20
|
locals?: {
|
|
22
21
|
outputValidator?: ZodTypeAny;
|
|
23
22
|
};
|
|
@@ -29,13 +28,9 @@ export async function ${functionName}(req: DeleteManyRequest, res: Response, nex
|
|
|
29
28
|
try {
|
|
30
29
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const result = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.deleteMany(req.body);
|
|
31
|
+
const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.deleteMany(req.body);
|
|
37
32
|
|
|
38
|
-
if (
|
|
33
|
+
if (outputValidator) {
|
|
39
34
|
const validationResult = outputValidator.safeParse(result);
|
|
40
35
|
if (validationResult.success) {
|
|
41
36
|
return res.status(200).json(validationResult.data);
|
|
@@ -45,8 +40,8 @@ export async function ${functionName}(req: DeleteManyRequest, res: Response, nex
|
|
|
45
40
|
} else {
|
|
46
41
|
return res.status(200).json(result);
|
|
47
42
|
}
|
|
48
|
-
} catch
|
|
49
|
-
|
|
43
|
+
} catch(error: unknown) {
|
|
44
|
+
next(error)
|
|
50
45
|
}
|
|
51
46
|
}`;
|
|
52
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDeleteMany.js","sourceRoot":"","sources":["../../src/helpers/generateDeleteMany.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateDeleteMany.js","sourceRoot":"","sources":["../../src/helpers/generateDeleteMany.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AASxC,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,YAAY,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAExD,OAAO;EACP,qBAAqB;;;;;;;UAOb,YAAY;;;;;;;2EAOqD,YAAY;;wBAE/D,YAAY;;;;sCAIE,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAe3D,CAAA;AACF,CAAC,CAAA;AA9CY,QAAA,0BAA0B,8BA8CtC"}
|
|
@@ -21,7 +21,6 @@ export interface FindFirstRequest extends Request {
|
|
|
21
21
|
prisma: PrismaClient;
|
|
22
22
|
query: ${queryTypeName} & ParsedQs;
|
|
23
23
|
outputValidation?: ZodTypeAny;
|
|
24
|
-
omitOutputValidation?: boolean;
|
|
25
24
|
passToNext?: boolean;
|
|
26
25
|
locals?: {
|
|
27
26
|
data?: ${modelName} | null
|
|
@@ -34,15 +33,11 @@ export async function ${functionName}(req: FindFirstRequest, res: Response, next
|
|
|
34
33
|
try {
|
|
35
34
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.findFirst(req.query as ${queryTypeName});
|
|
36
|
+
const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.findFirst(req.query as ${queryTypeName});
|
|
42
37
|
if (req.passToNext) {
|
|
43
38
|
if (req.locals) req.locals.data = data;
|
|
44
39
|
next();
|
|
45
|
-
} else if (
|
|
40
|
+
} else if (outputValidator) {
|
|
46
41
|
const validationResult = outputValidator.safeParse(data);
|
|
47
42
|
if (validationResult.success) {
|
|
48
43
|
return res.status(200).json(validationResult.data);
|
|
@@ -52,8 +47,8 @@ export async function ${functionName}(req: FindFirstRequest, res: Response, next
|
|
|
52
47
|
} else {
|
|
53
48
|
return res.status(200).json(data);
|
|
54
49
|
}
|
|
55
|
-
} catch
|
|
56
|
-
|
|
50
|
+
} catch(error: unknown) {
|
|
51
|
+
next(error)
|
|
57
52
|
}
|
|
58
53
|
}`;
|
|
59
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFindFirst.js","sourceRoot":"","sources":["../../src/helpers/generateFindFirst.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateFindFirst.js","sourceRoot":"","sources":["../../src/helpers/generateFindFirst.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,yBAAyB,GAAG,CAAC,OAGzC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,WAAW,CAAA;IAC5C,MAAM,aAAa,GAAG,UAAU,SAAS,eAAe,CAAA;IAExD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;aAIX,SAAS;;;;+EAIyD,aAAa;;wBAEpE,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC,2BAA2B,aAAa;;;;;;;;;;;;;;;;;EAiBjG,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,yBAAyB,6BAqDrC"}
|
|
@@ -21,7 +21,6 @@ export interface FindManyRequest extends Request {
|
|
|
21
21
|
prisma: PrismaClient;
|
|
22
22
|
query: ${queryTypeName} & ParsedQs;
|
|
23
23
|
outputValidation?: ZodTypeAny;
|
|
24
|
-
omitOutputValidation?: boolean;
|
|
25
24
|
passToNext?: boolean;
|
|
26
25
|
locals?: {
|
|
27
26
|
data?: ${modelName}[]
|
|
@@ -34,15 +33,11 @@ export async function ${functionName}(req: FindManyRequest, res: Response, next:
|
|
|
34
33
|
try {
|
|
35
34
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.findMany(req.query as ${queryTypeName});
|
|
36
|
+
const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.findMany(req.query as ${queryTypeName});
|
|
42
37
|
if (req.passToNext) {
|
|
43
38
|
if (req.locals) req.locals.data = data;
|
|
44
39
|
next();
|
|
45
|
-
} else if (
|
|
40
|
+
} else if (outputValidator) {
|
|
46
41
|
const validationResult = outputValidator.safeParse(data);
|
|
47
42
|
if (validationResult.success) {
|
|
48
43
|
return res.status(200).json(validationResult.data);
|
|
@@ -52,8 +47,8 @@ export async function ${functionName}(req: FindManyRequest, res: Response, next:
|
|
|
52
47
|
} else {
|
|
53
48
|
return res.status(200).json(data);
|
|
54
49
|
}
|
|
55
|
-
} catch
|
|
56
|
-
|
|
50
|
+
} catch(error: unknown) {
|
|
51
|
+
next(error)
|
|
57
52
|
}
|
|
58
53
|
}`;
|
|
59
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFindMany.js","sourceRoot":"","sources":["../../src/helpers/generateFindMany.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateFindMany.js","sourceRoot":"","sources":["../../src/helpers/generateFindMany.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,wBAAwB,GAAG,CAAC,OAGxC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,UAAU,CAAA;IAC3C,MAAM,aAAa,GAAG,UAAU,SAAS,cAAc,CAAA;IAEvD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;aAIX,SAAS;;;;8EAIwD,aAAa;;wBAEnE,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC,0BAA0B,aAAa;;;;;;;;;;;;;;;;;EAiBhG,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,wBAAwB,4BAqDpC"}
|
|
@@ -21,7 +21,6 @@ export interface FindUniqueRequest extends Request {
|
|
|
21
21
|
prisma: PrismaClient;
|
|
22
22
|
query: ${queryTypeName} & ParsedQs;
|
|
23
23
|
outputValidation?: ZodTypeAny;
|
|
24
|
-
omitOutputValidation?: boolean;
|
|
25
24
|
passToNext?: boolean;
|
|
26
25
|
locals?: {
|
|
27
26
|
data?: ${modelName} | null
|
|
@@ -34,15 +33,11 @@ export async function ${functionName}(req: FindUniqueRequest, res: Response, nex
|
|
|
34
33
|
try {
|
|
35
34
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const data = await req.prisma.${(0, strings_1.lowercaseFirstLetter)(modelName)}.findUnique(req.query as ${queryTypeName});
|
|
36
|
+
const data = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.findUnique(req.query as ${queryTypeName});
|
|
42
37
|
if (req.passToNext) {
|
|
43
38
|
if (req.locals) req.locals.data = data;
|
|
44
39
|
next();
|
|
45
|
-
} else if (
|
|
40
|
+
} else if (outputValidator) {
|
|
46
41
|
const validationResult = outputValidator.safeParse(data);
|
|
47
42
|
if (validationResult.success) {
|
|
48
43
|
return res.status(200).json(validationResult.data);
|
|
@@ -52,8 +47,8 @@ export async function ${functionName}(req: FindUniqueRequest, res: Response, nex
|
|
|
52
47
|
} else {
|
|
53
48
|
return res.status(200).json(data);
|
|
54
49
|
}
|
|
55
|
-
} catch
|
|
56
|
-
|
|
50
|
+
} catch(error: unknown) {
|
|
51
|
+
next(error)
|
|
57
52
|
}
|
|
58
53
|
}`;
|
|
59
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFindUnique.js","sourceRoot":"","sources":["../../src/helpers/generateFindUnique.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateFindUnique.js","sourceRoot":"","sources":["../../src/helpers/generateFindUnique.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAOxC,MAAM,0BAA0B,GAAG,CAAC,OAG1C,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,YAAY,CAAA;IAC7C,MAAM,aAAa,GAAG,UAAU,SAAS,gBAAgB,CAAA;IAEzD,OAAO;EACP,qBAAqB,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,SAAS,IAAI,CAAC;;;;;;;;;;;WAW9D,aAAa;;;;aAIX,SAAS;;;;gFAI0D,aAAa;;wBAErE,YAAY;;;;oCAIA,IAAA,sBAAY,EAAC,SAAS,CAAC,4BAA4B,aAAa;;;;;;;;;;;;;;;;;EAiBlG,CAAA;AACF,CAAC,CAAA;AArDY,QAAA,0BAA0B,8BAqDtC"}
|
|
@@ -18,7 +18,6 @@ interface GroupByRequest extends Request {
|
|
|
18
18
|
prisma: PrismaClient;
|
|
19
19
|
query: Partial<${argsTypeName}> & ParsedQs;
|
|
20
20
|
outputValidation?: ZodTypeAny;
|
|
21
|
-
omitOutputValidation?: boolean;
|
|
22
21
|
locals?: {
|
|
23
22
|
outputValidator?: ZodTypeAny;
|
|
24
23
|
};
|
|
@@ -30,14 +29,10 @@ export async function ${functionName}(req: GroupByRequest, res: Response, next:
|
|
|
30
29
|
try {
|
|
31
30
|
const outputValidator = req.locals?.outputValidator || req.outputValidation;
|
|
32
31
|
|
|
33
|
-
if (!outputValidator && !req.omitOutputValidation) {
|
|
34
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
35
|
-
}
|
|
36
|
-
|
|
37
32
|
// @ts-ignore
|
|
38
|
-
const result = await req.prisma.${(0, strings_1.
|
|
33
|
+
const result = await req.prisma.${(0, strings_1.toPascalCase)(modelName)}.groupBy(req.query);
|
|
39
34
|
|
|
40
|
-
if (
|
|
35
|
+
if (outputValidator) {
|
|
41
36
|
const validationResult = outputValidator.safeParse(result);
|
|
42
37
|
if (validationResult.success) {
|
|
43
38
|
return res.status(200).json(validationResult.data);
|
|
@@ -47,8 +42,8 @@ export async function ${functionName}(req: GroupByRequest, res: Response, next:
|
|
|
47
42
|
} else {
|
|
48
43
|
return res.status(200).json(result);
|
|
49
44
|
}
|
|
50
|
-
} catch
|
|
51
|
-
|
|
45
|
+
} catch(error: unknown) {
|
|
46
|
+
next(error)
|
|
52
47
|
}
|
|
53
48
|
}`;
|
|
54
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateGroupBy.js","sourceRoot":"","sources":["../../src/helpers/generateGroupBy.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateGroupBy.js","sourceRoot":"","sources":["../../src/helpers/generateGroupBy.ts"],"names":[],"mappings":";;;AACA,8CAA+C;AAUxC,MAAM,uBAAuB,GAAG,CAAC,OAGvC,EAAU,EAAE;IACX,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAA;IAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;IAC5B,MAAM,YAAY,GAAG,GAAG,SAAS,SAAS,CAAA;IAC1C,MAAM,YAAY,GAAG,UAAU,SAAS,aAAa,CAAA;IAErD,OAAO;EACP,qBAAqB;;;;;;;;mBAQJ,YAAY;;;;;;;;;wBASP,YAAY;;;;;sCAKE,IAAA,sBAAY,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;EAe3D,CAAA;AACF,CAAC,CAAA;AAhDY,QAAA,uBAAuB,2BAgDnC"}
|