const fs = require('fs'); const path = require('path'); // Angenommen, du hast eine Datei `databaseModels.js` mit deinen pgTable-Definitionen const { users } = require('./schema.js'); function generateTypeScriptInterface(tableDefinition, tableName) { let interfaceString = `export interface ${tableName} {\n`; for (const [column, definition] of Object.entries(tableDefinition)) { // Du musst die Definition parsen, um den korrekten Typ zu extrahieren const tsType = definition.type === 'uuid' ? 'string' : definition.type.startsWith('varchar') || definition.type === 'text' ? 'string' : definition.type === 'boolean' ? 'boolean' : 'any'; interfaceString += ` ${column}${definition.optional ? '?' : ''}: ${tsType};\n`; } interfaceString += '}\n'; return interfaceString; } const userModelInterface = generateTypeScriptInterface(users.columns, 'User'); fs.writeFileSync(path.join(__dirname, 'UserInterface.ts'), userModelInterface);