fix: move fs.mkdirSync inside start() to prevent module-level crash
This commit is contained in:
+9
-24
@@ -26,10 +26,6 @@ app.use(cors({
|
||||
}));
|
||||
app.use(express.json({ limit: '10mb' }));
|
||||
|
||||
// ─── Répertoires uploads ─────────────────────────────────────
|
||||
fs.mkdirSync(path.join(config.uploadsDir, 'images'), { recursive: true });
|
||||
fs.mkdirSync(path.join(config.uploadsDir, 'pdfs'), { recursive: true });
|
||||
|
||||
// ─── Routes API ──────────────────────────────────────────────
|
||||
app.use('/api/auth', authRoutes);
|
||||
app.use('/api/invoices', invoicesRoutes);
|
||||
@@ -53,26 +49,15 @@ app.use((err: Error, _req: express.Request, res: express.Response, _next: expres
|
||||
|
||||
// ─── Démarrage ────────────────────────────────────────────────
|
||||
async function start() {
|
||||
// Démarrer Express immédiatement — la connexion DB se fera à la première requête
|
||||
// (testConnection() supprimé du démarrage pour éviter un blocage au lancement)
|
||||
// Créer les répertoires uploads (ici pour éviter un crash module-level)
|
||||
try {
|
||||
fs.mkdirSync(path.join(config.uploadsDir, 'images'), { recursive: true });
|
||||
fs.mkdirSync(path.join(config.uploadsDir, 'pdfs'), { recursive: true });
|
||||
} catch (err: any) {
|
||||
console.warn('Avertissement: impossible de créer les répertoires uploads:', err.message);
|
||||
}
|
||||
|
||||
app.listen(config.port, async () => {
|
||||
console.log(`🚀 NotesFrais backend démarré sur le port ${config.port}`);
|
||||
console.log(` Environnement : ${config.nodeEnv}`);
|
||||
console.log(` Frontend autorisé : ${config.frontendUrl}`);
|
||||
console.log(` DATABASE_URL: ${process.env.DATABASE_URL ? process.env.DATABASE_URL.replace(/:([^@]+)@/, ':***@') : '[non défini — utilise défaut localhost]'}`);
|
||||
// Vérifier la connexion DB en arrière-plan
|
||||
try {
|
||||
await testConnection();
|
||||
} catch (err: any) {
|
||||
console.error('Avertissement: connexion PostgreSQL échouée au démarrage:', err.message);
|
||||
// Ne pas crasher — les requêtes retourneront des erreurs 500 si la DB est inaccessible
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
start().catch((err) => {
|
||||
console.error('Impossible de démarrer le serveur :', err.message);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
export default app;
|
||||
console.log(` Frontend autorisé : ${
|
||||
Reference in New Issue
Block a user