Hindimovieslink

class RatingIn(BaseModel): rating: int # 1‑5 review_text: Optional[str] = None

class PlatformOut(BaseModel): name: str logo_url: Optional[str] hindimovieslink

app = FastAPI(title="HindimoviesLink API", version="0.1.0") list_type TEXT CHECK (list_type IN ('watch_later'

-- Watch‑Later / Favorites CREATE TABLE user_lists ( id BIGSERIAL PRIMARY KEY, user_id BIGINT REFERENCES users(id) ON DELETE CASCADE, movie_id BIGINT REFERENCES movies(id) ON DELETE CASCADE, list_type TEXT CHECK (list_type IN ('watch_later','favorites')), created_at TIMESTAMP DEFAULT now(), UNIQUE(user_id, movie_id, list_type) ); Add pg_trgm indexes for fuzzy title search: created_at TIMESTAMP DEFAULT now()

-- OTT Links (one movie can have many platforms) CREATE TABLE platforms ( id BIGSERIAL PRIMARY KEY, name TEXT NOT NULL, logo_url TEXT, affiliate_template TEXT -- e.g. "https://partner.com/checkout?movie=imdb_id" );

# ------------------------------------------------- # 2️⃣ Get Movie Details + Links # ------------------------------------------------- @app.get("/movies/movie_id", response_model=schemas.MovieDetail) def get_movie(movie_id: int, db: Session = Depends(auth.get_db)): movie = crud.get_movie_with_links(db, movie_id) if not movie: raise HTTPException(status_code=404, detail="Movie not found") return movie