const mysql = require("mysql2");
const express = require("express");
const app = express();
const morgan = require("morgan");
const { readdirSync } = require("fs");
const cors = require("cors");
const path = require("path");

// เชื่อมต่อฐานข้อมูล MySQL
const db = mysql.createConnection({
  host: process.env.DB_HOST,
  port: process.env.DB_PORT,
  user: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
});

// เชื่อมต่อกับฐานข้อมูล
db.connect((err) => {
  if (err) {
    console.error("❌ ไม่สามารถเชื่อมต่อฐานข้อมูล:", err);
    return;
  }
  console.log("✅ เชื่อมต่อฐานข้อมูลสำเร็จ!");
});

// Middleware
app.use(morgan("dev"));
app.use(express.json({ limit: "20mb" }));
app.use(
  cors({
    origin: "*", // อนุญาตทุกโดเมน
  })
);

// โหลด router จากโฟลเดอร์ routes
const routesPath = path.join(__dirname, "routes");
readdirSync(routesPath).map((file) => {
  const routePath = path.join(routesPath, file);
  app.use("/api", require(routePath));
});

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(3000, () => console.log("Server is running on port 3000"));