From f3a7b2c3507ab6bb4e5bb0f4ab94804dcc30ce67 Mon Sep 17 00:00:00 2001 From: Tyler Hoang Date: Tue, 26 May 2026 00:17:05 -0700 Subject: Add /tyler/api/recent JSON endpoint for recent diary films Co-Authored-By: Claude Sonnet 4.6 --- routers/profile.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'routers/profile.py') 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, -- cgit v1.3-2-g0d8e