|
@@ -1,11 +1,14 @@
|
|
|
from typing import List
|
|
|
|
|
|
-from fastapi import APIRouter
|
|
|
+from fastapi import APIRouter, Depends
|
|
|
from fastapi_camelcase import CamelModel
|
|
|
from pydantic import confloat
|
|
|
|
|
|
+from sqlalchemy.orm import Session
|
|
|
+
|
|
|
from .. import scoring
|
|
|
from ..schemas import CacheInfo, GeneratorInfo
|
|
|
+from ..db import get_db, queries
|
|
|
from ..point_gen import points, generator_info
|
|
|
|
|
|
router = APIRouter()
|
|
@@ -34,6 +37,10 @@ class GeneratorResponse(CamelModel):
|
|
|
generators: List[GeneratorInfo]
|
|
|
|
|
|
|
|
|
+class RecentResponse(CamelModel):
|
|
|
+ recent_games: List[str]
|
|
|
+
|
|
|
+
|
|
|
@router.get("/health")
|
|
|
def health():
|
|
|
return { "status": "healthy", "version": "3.0" }
|
|
@@ -53,3 +60,8 @@ def caches():
|
|
|
@router.get("/generators", response_model=GeneratorResponse)
|
|
|
def generators():
|
|
|
return GeneratorResponse(generators=generator_info)
|
|
|
+
|
|
|
+
|
|
|
+@router.get("/recent", response_model=RecentResponse)
|
|
|
+def recent(db: Session = Depends(get_db)):
|
|
|
+ return RecentResponse(recent_games=[g.game_id for g in queries.get_recent_games(db, 5)])
|