Files
movie-night/app/models.py
T
kbondelie 3d5de06b44 Initial commit — Movie Night media discovery app
AI-powered web app that recommends unwatched movies from a Jellyfin
library based on natural language mood input. Jellyfin auth, modular
LLM backend (Claude/OpenAI/Ollama), two-tier pre-filter + AI ranking,
mobile-responsive dark theme UI with poster cards and deep links.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 19:20:56 -07:00

52 lines
1.1 KiB
Python

from pydantic import BaseModel
class Movie(BaseModel):
jellyfin_id: str
title: str
sort_title: str | None = None
year: int | None = None
genres: list[str] = []
overview: str | None = None
community_rating: float | None = None
critic_rating: float | None = None
runtime_minutes: int | None = None
content_rating: str | None = None
studios: list[str] = []
people: list[dict] = []
tags: list[str] = []
class MoodRequest(BaseModel):
mood: str
additional_user_ids: list[str] = []
class Recommendation(BaseModel):
jellyfin_id: str
title: str
year: int | None = None
genres: list[str] = []
community_rating: float | None = None
runtime_minutes: int | None = None
content_rating: str | None = None
poster_url: str
deep_link: str
reasoning: str
match_score: float
class MoodResponse(BaseModel):
recommendations: list[Recommendation]
meta: dict
class LoginRequest(BaseModel):
username: str
password: str
class UserInfo(BaseModel):
id: str
name: str