import { serve } from "@hono/node-server"; import { assertDatabaseReady, getDatabase } from "./pgDb"; import { api } from "./routes"; async function start() { console.log("Checking PostgreSQL database status..."); try { await assertDatabaseReady(); console.log("Database schema verified successfully."); } catch (err: any) { console.error("Database check failed:", err.message); console.error("Please make sure your database migrations are fully applied."); process.exit(1); } const db = getDatabase(); const env = { DB: db, ALLOWED_HOSTS: process.env.ALLOWED_HOSTS || "localhost:8787,localhost:6265", AUTH_SECRET: process.env.AUTH_SECRET || "8b8c278606b90cf0792618122b38d4f82e5547d5fcd5af26bf08f3de48afe112", AMA_ORIGIN: process.env.AMA_ORIGIN || "https://ama.tftt.cc", }; const port = 8787; console.log(`Starting Hono API backend server on http://localhost:${port}...`); serve({ fetch: (req) => api.fetch(req, env), port, }); } start().catch((err) => { console.error("Failed to start Node server:", err); process.exit(1); });