diff options
| author | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-26 00:17:05 -0700 |
|---|---|---|
| committer | Tyler Hoang <tyler@tylerhoang.xyz> | 2026-05-26 00:17:05 -0700 |
| commit | f3a7b2c3507ab6bb4e5bb0f4ab94804dcc30ce67 (patch) | |
| tree | 0c97911d81fb0b19c07190a11747abf7b0101478 /routers/profile.py | |
| parent | 71c9ba3f8a1e395ed6718e780160e7cbf4710896 (diff) | |
Add /tyler/api/recent JSON endpoint for recent diary films
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'routers/profile.py')
| -rw-r--r-- | routers/profile.py | 24 |
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, |
