feat: add playability calculation API

- Auto-calculate playability from benchmark data (FPS, anti-cheat, upscaler dependency)
- Manual override by admins/contributors
- Clear override to revert to auto-calculated
- Three endpoints: /calculate/:gameId, /override/:gameId, /clear-override/:gameId
- Calculation logic: great (≥55 FPS, no upscaler), playable (≥30 FPS), needs_tweaks (≥20 FPS), unplayable (<20 FPS or anti-cheat unsupported)
This commit is contained in:
2026-04-30 19:22:27 +08:00
parent 4cfd046953
commit 051c5c22df
3 changed files with 221 additions and 0 deletions
+3
View File
@@ -26,6 +26,7 @@ import { gameStubRoutes } from "@/lib/api/game-stub"
import { gameStatsRoutes } from "@/lib/api/game-stats"
import { gamesManualRoutes } from "@/lib/api/games-manual"
import { compareRoutes } from "@/lib/api/compare"
import { playabilityRoutes } from "@/lib/api/playability"
import { gamesListingRoutes } from "@/lib/api/games-listing"
import { steamgridProxyRoutes } from "@/lib/api/steamgrid-proxy"
@@ -101,6 +102,8 @@ export const app = new Elysia({ prefix: "/api" })
.use(contactRoutes)
// Compare
.use(compareRoutes)
// Playability
.use(playabilityRoutes)
// Root
.get("/", () => ({
name: "DeckyVault API",