import express from "express"; import pkg from "pg"; import cors from "cors"; import dotenv from "dotenv"; dotenv.config(); const { Pool } = pkg; const app = express(); app.use( cors({ origin: ["http://localhost:5173", "https://dsp5-archi-o24a-15m-g3.fr"], credentials: true, }) ); app.use(express.json()); // --- Connexion PostgreSQL --- const pool = new Pool({ host: process.env.DB_HOST || "the-tip-top-db", user: process.env.DB_USER || "postgres", password: process.env.DB_PASS || "postgres", database: process.env.DB_NAME || "thetiptop", port: 5432, }); // --- Test de connexion à la base --- app.get("/db-check", async (req, res) => { try { const result = await pool.query("SELECT NOW()"); res.json({ message: "✅ Connexion PostgreSQL OK", time: result.rows[0].now, }); } catch (err) { console.error("Erreur DB:", err.message); res.status(500).json({ error: "❌ Connexion à la base échouée" }); } }); // --- Route test API --- app.get("/", (req, res) => { res.json({ message: "The Tip Top API is running 🚀" }); }); // --- Exemple de route API utilisant la base --- app.get("/users", async (req, res) => { try { const result = await pool.query("SELECT * FROM users LIMIT 10"); res.json(result.rows); } catch (err) { res.status(500).json({ error: err.message }); } }); // --- Lancement du serveur --- const PORT = process.env.PORT || 4000; app.listen(PORT, "0.0.0.0", () => { console.log(`🚀 Backend The Tip Top lancé sur le port ${PORT}`); });