import express from "express"; import cors from "cors"; import morgan from "morgan"; import { PORT, CREATOR } from "./config.js"; import latest from "./routes/latest.js"; import detail from "./routes/detail.js"; import chapter from "./routes/chapter.js"; import library from "./routes/library.js"; import genres from "./routes/genres.js"; import search from "./routes/search.js"; const app = express(); app.use(cors()); app.use(morgan("tiny")); app.disable("x-powered-by"); app.get("/", (_req, res) => { res.json({ creator: CREATOR, success: true, message: "Komikindo Scraper API", endpoints: { latest: "/comic/komikindo/latest/:page", detail: "/comic/komikindo/detail/:slug", chapter: "/comic/komikindo/chapter/:slug", library: "/comic/komikindo/library?page=&genre=&type=&status=&order=&search=", genres: "/comic/komikindo/genres", search: "/comic/komikindo/search/:query/:page", }, }); }); app.use("/comic/komikindo/latest", latest); app.use("/comic/komikindo/detail", detail); app.use("/comic/komikindo/chapter", chapter); app.use("/comic/komikindo/library", library); app.use("/comic/komikindo/genres", genres); app.use("/comic/komikindo/search", search); app.use((_req, res) => { res.status(404).json({ creator: CREATOR, success: false, message: "Endpoint not found", }); }); app.listen(PORT, "0.0.0.0", () => { console.log(`Komikindo API listening on http://0.0.0.0:${PORT}`); });