import express from "express"; import mongoose from "mongoose"; import cors from "cors"; import dotenv from "dotenv"; import linksRouter from "./routes/links.js"; import authRouter from "./routes/auth.js"; dotenv.config(); const app = express(); app.use(cors()); app.use(express.json()); // Static folder per le icone app.use("/uploads", express.static("uploads")); // Auth routes app.use("/auth", authRouter); // Link routes (protette) app.use("/links", linksRouter); // Connessione Mongo (URL da env con fallback) const MONGO_URI = process.env.MONGO_URI || "mongodb://mongo:27017/mydb"; mongoose .connect(MONGO_URI) .then(() => { console.log("MongoDB connesso"); }) .catch(err => { console.error("❌ Errore di connessione a MongoDB:", err.message); process.exit(1); // termina il processo }); const PORT = process.env.PORT || 3000; const server = app.listen(PORT, () => { console.log(`API su http://localhost:${PORT}`); }); server.on('error', (err) => { if (err.code === 'EADDRINUSE') { console.error(`❌ Porta ${PORT} già in uso. Arresto del processo.`); process.exit(1); } else { console.error('Errore del server:', err); process.exit(1); } });