import { serve } from "@hono/node-server"; import { Hono } from "hono"; import { cors } from "hono/cors"; import { logger } from "hono/logger"; import { authRouter } from "./routes/auth.js"; import { bossRouter } from "./routes/boss.js"; import { gameRouter } from "./routes/game.js"; import { prestigeRouter } from "./routes/prestige.js"; import { profileRouter } from "./routes/profile.js"; const app = new Hono(); app.use("*", logger()); app.use( "*", cors({ origin: process.env["CORS_ORIGIN"] ?? "http://localhost:5173", allowHeaders: ["Authorization", "Content-Type"], allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"], }), ); app.route("/auth", authRouter); app.route("/game", gameRouter); app.route("/boss", bossRouter); app.route("/prestige", prestigeRouter); app.route("/profile", profileRouter); app.get("/health", (context) => context.json({ status: "ok" })); const port = Number(process.env["PORT"] ?? 3001); serve({ fetch: app.fetch, port }, () => { console.log(`Elysium API running on port ${port}`); });