File size: 1,230 Bytes
c09f67c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import { OpenAPIHono } from "@hono/zod-openapi";
import {
authMiddleware,
loggingMiddleware,
securityMiddleware,
} from "./middleware";
import accountRoutes from "./routes/accounts";
import authRoutes from "./routes/auth";
import connectionRoutes from "./routes/connections";
import healthRoutes from "./routes/health";
import institutionRoutes from "./routes/institutions";
import ratesRoutes from "./routes/rates";
import transactionsRoutes from "./routes/transactions";
const app = new OpenAPIHono({
defaultHook: (result, c) => {
if (!result.success) {
return c.json(
{
success: false,
errors: result.error.issues,
},
422,
);
}
},
});
app.use(authMiddleware);
app.use(securityMiddleware);
app.use(loggingMiddleware);
app.get("/", (c) => {
return c.redirect("https://midday.ai", 302);
});
export const appRoutes = app
.route("/transactions", transactionsRoutes)
.route("/accounts", accountRoutes)
.route("/institutions", institutionRoutes)
.route("/auth", authRoutes)
.route("/connections", connectionRoutes)
.route("/health", healthRoutes)
.route("/rates", ratesRoutes);
export type AppType = typeof appRoutes;
export default app;
|