prisma-generator-express 1.0.2 → 1.0.4
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/package.json +6 -2
- package/CHANGELOG.md +0 -6
- package/LICENSE +0 -21
- package/README.md +0 -179
- package/dist/bin.js.map +0 -1
- package/dist/constants.js +0 -5
- package/dist/constants.js.map +0 -1
- package/dist/generator.js.map +0 -1
- package/dist/helpers/genEnum.js +0 -9
- package/dist/helpers/genEnum.js.map +0 -1
- package/dist/helpers/generateAggregate.js +0 -50
- package/dist/helpers/generateAggregate.js.map +0 -1
- package/dist/helpers/generateCount.js +0 -50
- package/dist/helpers/generateCount.js.map +0 -1
- package/dist/helpers/generateCreate.js +0 -51
- package/dist/helpers/generateCreate.js.map +0 -1
- package/dist/helpers/generateCreateMany.js +0 -51
- package/dist/helpers/generateCreateMany.js.map +0 -1
- package/dist/helpers/generateDelete.js +0 -52
- package/dist/helpers/generateDelete.js.map +0 -1
- package/dist/helpers/generateDeleteMany.js +0 -50
- package/dist/helpers/generateDeleteMany.js.map +0 -1
- package/dist/helpers/generateFindFirst.js +0 -61
- package/dist/helpers/generateFindFirst.js.map +0 -1
- package/dist/helpers/generateFindMany.js +0 -61
- package/dist/helpers/generateFindMany.js.map +0 -1
- package/dist/helpers/generateFindUnique copy.js +0 -49
- package/dist/helpers/generateFindUnique copy.js.map +0 -1
- package/dist/helpers/generateFindUnique.js +0 -61
- package/dist/helpers/generateFindUnique.js.map +0 -1
- package/dist/helpers/generateGroupBy.js +0 -50
- package/dist/helpers/generateGroupBy.js.map +0 -1
- package/dist/helpers/generateImportPrismaStatement.js +0 -26
- package/dist/helpers/generateImportPrismaStatement.js.map +0 -1
- package/dist/helpers/generatePrismaImport.js +0 -2
- package/dist/helpers/generatePrismaImport.js.map +0 -1
- package/dist/helpers/generateRouteFile.js +0 -181
- package/dist/helpers/generateRouteFile.js.map +0 -1
- package/dist/helpers/generateUpdate.js +0 -55
- package/dist/helpers/generateUpdate.js.map +0 -1
- package/dist/helpers/generateUpdateMany.js +0 -52
- package/dist/helpers/generateUpdateMany.js.map +0 -1
- package/dist/helpers/generateUpsert.js +0 -52
- package/dist/helpers/generateUpsert.js.map +0 -1
- package/dist/utils/formatFile.js +0 -26
- package/dist/utils/formatFile.js.map +0 -1
- package/dist/utils/getGeneratorOptions.js +0 -14
- package/dist/utils/getGeneratorOptions.js.map +0 -1
- package/dist/utils/writeFileSafely.js +0 -21
- package/dist/utils/writeFileSafely.js.map +0 -1
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateUpsertFunction = void 0;
|
|
4
|
-
const generateUpsertFunction = (options) => {
|
|
5
|
-
const { model, prismaImportStatement } = options;
|
|
6
|
-
const modelName = model.name;
|
|
7
|
-
const functionName = `${modelName}Upsert`;
|
|
8
|
-
const argsTypeName = `Prisma.${modelName}UpsertArgs`;
|
|
9
|
-
return `
|
|
10
|
-
${prismaImportStatement}
|
|
11
|
-
import { Request, Response, NextFunction } from 'express';
|
|
12
|
-
import { RequestHandler, ParamsDictionary } from 'express-serve-static-core';
|
|
13
|
-
import { ZodTypeAny } from 'zod';
|
|
14
|
-
|
|
15
|
-
interface UpsertRequest extends Request {
|
|
16
|
-
prisma: PrismaClient;
|
|
17
|
-
body: ${argsTypeName};
|
|
18
|
-
outputValidation?: ZodTypeAny;
|
|
19
|
-
omitOutputValidation?: boolean;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export type UpsertMiddleware = RequestHandler<ParamsDictionary, any, ${argsTypeName}, Record<string, any>>
|
|
23
|
-
|
|
24
|
-
export async function ${functionName}(req: UpsertRequest, res: Response, next: NextFunction) {
|
|
25
|
-
try {
|
|
26
|
-
if (!req.outputValidation && !req.omitOutputValidation) {
|
|
27
|
-
throw new Error('Output validation schema or omission flag must be provided.');
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const data = await req.prisma.${modelName.toLowerCase()}.upsert(req.body);
|
|
31
|
-
|
|
32
|
-
if (!req.omitOutputValidation && req.outputValidation) {
|
|
33
|
-
const validationResult = req.outputValidation.safeParse(data);
|
|
34
|
-
if (validationResult.success) {
|
|
35
|
-
res.status(200).json(validationResult.data);
|
|
36
|
-
} else {
|
|
37
|
-
res.status(400).json({ error: 'Invalid data format', details: validationResult.error });
|
|
38
|
-
}
|
|
39
|
-
} else if (!req.omitOutputValidation) {
|
|
40
|
-
throw new Error('Output validation schema must be provided unless explicitly omitted.');
|
|
41
|
-
} else {
|
|
42
|
-
res.status(200).json(data);
|
|
43
|
-
}
|
|
44
|
-
} catch (error) {
|
|
45
|
-
console.error('Error in handling upsert request:', error);
|
|
46
|
-
res.status(500).json({ error: error.message });
|
|
47
|
-
next(error);
|
|
48
|
-
}
|
|
49
|
-
}`;
|
|
50
|
-
};
|
|
51
|
-
exports.generateUpsertFunction = generateUpsertFunction;
|
|
52
|
-
//# sourceMappingURL=generateUpsert.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateUpsert.js","sourceRoot":"","sources":["../../src/helpers/generateUpsert.ts"],"names":[],"mappings":";;;AASO,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;;;;;uEAKiD,YAAY;;wBAE3D,YAAY;;;;;;oCAMA,SAAS,CAAC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;EAmBzD,CAAA;AACF,CAAC,CAAA;AAlDY,QAAA,sBAAsB,0BAkDlC"}
|
package/dist/utils/formatFile.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.formatFile = void 0;
|
|
7
|
-
const prettier_1 = __importDefault(require("prettier"));
|
|
8
|
-
const formatFile = (content) => {
|
|
9
|
-
return new Promise((res, rej) => prettier_1.default.resolveConfig(process.cwd()).then((options) => {
|
|
10
|
-
if (!options) {
|
|
11
|
-
res(content);
|
|
12
|
-
}
|
|
13
|
-
try {
|
|
14
|
-
const formatted = prettier_1.default.format(content, {
|
|
15
|
-
...options,
|
|
16
|
-
parser: 'typescript',
|
|
17
|
-
});
|
|
18
|
-
res(formatted);
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
rej(error);
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
24
|
-
};
|
|
25
|
-
exports.formatFile = formatFile;
|
|
26
|
-
//# sourceMappingURL=formatFile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatFile.js","sourceRoot":"","sources":["../../src/utils/formatFile.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA+B;AAExB,MAAM,UAAU,GAAG,CAAC,OAAe,EAAmB,EAAE;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAC9B,kBAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,CAAC,CAAA;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,kBAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;gBACzC,GAAG,OAAO;gBACV,MAAM,EAAE,YAAY;aACrB,CAAC,CAAA;YAEF,GAAG,CAAC,SAAS,CAAC,CAAA;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,CAAA;QACZ,CAAC;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,UAAU,cAmBtB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getGeneratorOptions = void 0;
|
|
4
|
-
function getGeneratorOptions(options) {
|
|
5
|
-
var _a;
|
|
6
|
-
return {
|
|
7
|
-
isCustomPrismaClientOutputPath: Boolean(options.generator.config.customOutputPath),
|
|
8
|
-
outputPath: ((_a = options.generator.output) === null || _a === void 0 ? void 0 : _a.value) || './generated',
|
|
9
|
-
prismaClientOutputPath: (options.generator.config.clientPath ||
|
|
10
|
-
'@prisma/client'),
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
exports.getGeneratorOptions = getGeneratorOptions;
|
|
14
|
-
//# sourceMappingURL=getGeneratorOptions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getGeneratorOptions.js","sourceRoot":"","sources":["../../src/utils/getGeneratorOptions.ts"],"names":[],"mappings":";;;AAGA,SAAgB,mBAAmB,CACjC,OAAyB;;IAEzB,OAAO;QACL,8BAA8B,EAAE,OAAO,CACrC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAC1C;QACD,UAAU,EAAE,CAAA,MAAA,OAAO,CAAC,SAAS,CAAC,MAAM,0CAAE,KAAK,KAAI,aAAa;QAC5D,sBAAsB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU;YAC1D,gBAAgB,CAAW;KAC9B,CAAA;AACH,CAAC;AAXD,kDAWC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.writeFileSafely = void 0;
|
|
7
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const formatFile_1 = require("./formatFile");
|
|
10
|
-
const writeFileSafely = async ({ model, operation, options, content, }) => {
|
|
11
|
-
var _a;
|
|
12
|
-
const fileName = operation === 'index' ? 'index' : `${model.name}${operation}`;
|
|
13
|
-
const filePath = path_1.default.join((_a = options.generator.output) === null || _a === void 0 ? void 0 : _a.value, `${model.name}/${fileName}.ts`);
|
|
14
|
-
console.log('filePath :>> ', filePath);
|
|
15
|
-
await promises_1.default.mkdir(path_1.default.dirname(filePath), {
|
|
16
|
-
recursive: true,
|
|
17
|
-
});
|
|
18
|
-
await promises_1.default.writeFile(filePath, await (0, formatFile_1.formatFile)(content));
|
|
19
|
-
};
|
|
20
|
-
exports.writeFileSafely = writeFileSafely;
|
|
21
|
-
//# sourceMappingURL=writeFileSafely.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writeFileSafely.js","sourceRoot":"","sources":["../../src/utils/writeFileSafely.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA4B;AAC5B,gDAAuB;AACvB,6CAAyC;AAGlC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,KAAK,EACL,SAAS,EACT,OAAO,EACP,OAAO,GAMR,EAAE,EAAE;;IACH,MAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,EAAE,CAAA;IAC9E,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CACxB,MAAA,OAAO,CAAC,SAAS,CAAC,MAAM,0CAAE,KAAM,EAChC,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,CAC/B,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;IACtC,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QACrC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEF,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC,CAAA;AACzD,CAAC,CAAA;AAtBY,QAAA,eAAe,mBAsB3B"}
|