twenty/server/scripts/generate-model-select-map.js
gitstart-twenty 00a3c8ca2b
Change to using arrow functions (#1603)
* Change to using arrow functions

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>

* Add lint rule

---------

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2023-09-15 18:41:10 -07:00

33 lines
882 B
JavaScript

/* eslint-disable @typescript-eslint/no-var-requires */
const fs = require('fs');
const path = require('path');
const { getDMMF, getSchemaPath } = require('@prisma/internals');
const generateTypes = async () => {
const schemaPath = await getSchemaPath();
const dmmf = await getDMMF({
datamodel: fs.readFileSync(schemaPath, 'utf-8'),
});
let content =
'// THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n';
content += "import { Prisma } from '@prisma/client';\n\n";
content += 'export type ModelSelectMap = {\n';
for (const model of dmmf.datamodel.models) {
content += ` ${model.name}: Prisma.${model.name}Select;\n`;
}
content += '};\n';
fs.writeFileSync(
path.join(__dirname, '../src/utils/prisma-select/model-select-map.ts'),
content,
);
};
generateTypes().catch((e) => {
console.error(e);
process.exit(1);
});