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