import express from "express";
import cors from "cors";
import morgan from "morgan";

import { env } from "./config/env.js";
import { healthRouter } from "./routes/health.js";
import { meRouter } from "./routes/me.js";

const app = express();

app.use(cors({
  origin: env.CORS_ORIGINS,
  credentials: true,
}));
app.use(express.json());
app.use(morgan("tiny"));

app.use(healthRouter);
app.use(meRouter);

app.use((err: Error, _req: express.Request, res: express.Response, _next: express.NextFunction) => {
  console.error(err);
  res.status(500).json({ error: "internal_server_error" });
});

app.listen(env.PORT, "0.0.0.0", () => {
  console.log(`PriceMate backend listening on port ${env.PORT}`);
});

