summaryrefslogtreecommitdiff
path: root/routers
diff options
context:
space:
mode:
Diffstat (limited to 'routers')
-rw-r--r--routers/profile.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/routers/profile.py b/routers/profile.py
index 8e4a081..d377880 100644
--- a/routers/profile.py
+++ b/routers/profile.py
@@ -1,5 +1,5 @@
-from fastapi import APIRouter, Depends, Request
-from fastapi.responses import HTMLResponse
+from fastapi import APIRouter, Depends, Query, Request
+from fastapi.responses import HTMLResponse, JSONResponse
from fastapi.templating import Jinja2Templates
from sqlalchemy.orm import Session
@@ -96,6 +96,26 @@ async def public_profile(request: Request, db: Session = Depends(get_db)):
)
+@router.get("/tyler/api/recent")
+async def public_api_recent(
+ db: Session = Depends(get_db),
+ limit: int = Query(default=10, ge=1, le=100),
+):
+ films = _diary_films(db)[:limit]
+ return JSONResponse([
+ {
+ "title": f.title,
+ "year": f.year,
+ "director": f.director,
+ "date_watched": f.date_watched.isoformat() if f.date_watched else None,
+ "stars": f.stars,
+ "poster_url": f.poster_url,
+ "tmdb_id": f.tmdb_id,
+ }
+ for f in films
+ ])
+
+
@router.get("/tyler/films/partial")
async def public_profile_films_partial(
request: Request,