feat(api): wire all CRUD routes into Elysia server

This commit is contained in:
2026-04-25 18:31:26 +08:00
parent eebafa12b9
commit b6eb005c73
2 changed files with 57 additions and 5 deletions
+41 -5
View File
@@ -1,8 +1,22 @@
import { Elysia } from "elysia"
import { auth } from "@/lib/auth"
import { rateLimit } from "@/lib/auth/rate-limit"
import { healthRoutes } from "@/lib/api/health"
import { userRoutes } from "@/lib/api/user"
import {
healthRoutes,
userRoutes,
gamesRoutes,
gameVersionsRoutes,
hardwareRoutes,
performanceRoutes,
performanceVerifyRoutes,
settingCategoriesRoutes,
settingDefinitionsRoutes,
settingsFullRoutes,
presetsRoutes,
presetUpvoteRoutes,
presetSettingsRoutes,
commentsRoutes,
} from "@/lib/api"
const betterAuth = new Elysia({ name: "better-auth" })
.mount(auth.handler)
@@ -25,18 +39,40 @@ const betterAuth = new Elysia({ name: "better-auth" })
export const app = new Elysia({ prefix: "/api" })
.onError(({ code, error, set, request }) => {
console.error(`[API Error] ${code} ${request.url}`,
error instanceof Error ? error.message : error
console.error(
`[API Error] ${code} ${request.url}`,
error instanceof Error ? error.message : error,
)
set.status = code === "NOT_FOUND" ? 404 : 500
return {
error: code === "NOT_FOUND" ? "Not found" : "Internal server error",
}
})
.use(healthRoutes)
.use(rateLimit(60, 100))
.use(betterAuth)
// Health
.use(healthRoutes)
// Users
.use(userRoutes)
// Games + Versions
.use(gamesRoutes)
.use(gameVersionsRoutes)
// Hardware
.use(hardwareRoutes)
// Performance
.use(performanceRoutes)
.use(performanceVerifyRoutes)
// Settings
.use(settingCategoriesRoutes)
.use(settingDefinitionsRoutes)
.use(settingsFullRoutes)
// Presets
.use(presetsRoutes)
.use(presetUpvoteRoutes)
.use(presetSettingsRoutes)
// Comments
.use(commentsRoutes)
// Root
.get("/", () => ({
name: "DeckyVault API",
version: "2026.0.1",
+16
View File
@@ -0,0 +1,16 @@
export { healthRoutes } from "./health"
export { userRoutes } from "./user"
export { gamesRoutes, gameVersionsRoutes } from "./games"
export { hardwareRoutes } from "./hardware"
export { performanceRoutes, performanceVerifyRoutes } from "./performance"
export {
settingCategoriesRoutes,
settingDefinitionsRoutes,
settingsFullRoutes,
} from "./settings"
export {
presetsRoutes,
presetUpvoteRoutes,
presetSettingsRoutes,
} from "./presets"
export { commentsRoutes } from "./comments"