import { Application } from "@oak/oak"; import { oakCors } from "@tajpouria/cors"; import dumpsRouter from "./routes/dumps.ts"; import usersRouter from "./routes/users.ts"; import { BASE_URL, HOSTNAME, PORT } from "./config.ts"; import { errorMiddleware } from "./middleware/error.ts"; import routeStaticFilesFrom from "./lib/static.ts"; const app = new Application(); app.use(errorMiddleware); app.use(oakCors()); app.use( dumpsRouter.routes(), dumpsRouter.allowedMethods(), ); app.use( usersRouter.routes(), usersRouter.allowedMethods(), ); app.use(routeStaticFilesFrom([ `${Deno.cwd()}/dist`, `${Deno.cwd()}/public`, ])); app.addEventListener( "listen", () => console.log(`Server listening on ${BASE_URL}`), ); app.addEventListener( "error", (e) => console.log(`Uncaught error: ${e.message}`), ); if (import.meta.main) { await app.listen({ hostname: HOSTNAME, port: PORT }); } export { app };