"""Shared helpers, serializers and constants for the plex route package.""" import logging from fastapi import HTTPException from sqlalchemy.orm import Session from app.models import ( PlexItem, ) from app.plex.lookups import by_rating_key log = logging.getLogger("siftlode.plex") def item_or_404(db: Session, rating_key: str) -> PlexItem: it = by_rating_key(db, PlexItem, rating_key) if it is None: raise HTTPException(status_code=404, detail="Unknown Plex item") return it