generated from nhcarrigan/template
6ddf8e0b43
Adds two new game systems: Exploration (scouts collect materials from timed area runs) and Crafting (combine materials into permanent multipliers). Includes 72 exploration areas, 54 materials, 36 recipes, and 108 new Codex lore entries. Removes unused characterName requirement from prestige/transcendence/apotheosis reset flows.
46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
import { serve } from "@hono/node-server";
|
|
import { Hono } from "hono";
|
|
import { cors } from "hono/cors";
|
|
import { logger } from "hono/logger";
|
|
import { aboutRouter } from "./routes/about.js";
|
|
import { apotheosisRouter } from "./routes/apotheosis.js";
|
|
import { authRouter } from "./routes/auth.js";
|
|
import { bossRouter } from "./routes/boss.js";
|
|
import { craftRouter } from "./routes/craft.js";
|
|
import { exploreRouter } from "./routes/explore.js";
|
|
import { gameRouter } from "./routes/game.js";
|
|
import { prestigeRouter } from "./routes/prestige.js";
|
|
import { transcendenceRouter } from "./routes/transcendence.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("/about", aboutRouter);
|
|
app.route("/auth", authRouter);
|
|
app.route("/game", gameRouter);
|
|
app.route("/boss", bossRouter);
|
|
app.route("/explore", exploreRouter);
|
|
app.route("/craft", craftRouter);
|
|
app.route("/prestige", prestigeRouter);
|
|
app.route("/transcendence", transcendenceRouter);
|
|
app.route("/apotheosis", apotheosisRouter);
|
|
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}`);
|
|
});
|