Files
evento/packages/server/scripts/flatten-models.js

34 lines
875 B
JavaScript

const fs = require('fs');
const path = require('path');
const base = path.resolve(__dirname, '../src/modules');
const mapping = {
guests: 'guest.model.ts',
gifts: 'gift.model.ts',
todos: 'todo.model.ts',
};
for (const mod of Object.keys(mapping)) {
const modDir = path.join(base, mod);
const modelDir = path.join(modDir, 'model');
const src = path.join(modelDir, mapping[mod]);
const dst = path.join(modDir, 'model.ts');
if (fs.existsSync(src)) {
console.log(`Moving ${src} -> ${dst}`);
fs.renameSync(src, dst);
}
if (fs.existsSync(modelDir)) {
try {
const files = fs.readdirSync(modelDir);
if (files.length === 0) {
console.log(`Removing empty directory ${modelDir}`);
fs.rmdirSync(modelDir);
}
} catch (e) {
console.warn(`Failed to clean model directory ${modelDir}:`, e.message);
}
}
}