"""MediaAsset queries.""" from __future__ import annotations from typing import Optional from uuid import UUID from sqlmodel import Session, select from .models import MediaAsset def list_assets(session: Session, status: Optional[str] = None, search: Optional[str] = None) -> list[MediaAsset]: stmt = select(MediaAsset) if status: stmt = stmt.where(MediaAsset.status == status) if search: stmt = stmt.where(MediaAsset.filename.ilike(f"%{search}%")) return list(session.exec(stmt).all()) def get_asset_filenames(session: Session) -> set[str]: return set(session.exec(select(MediaAsset.filename)).all())