from sqlalchemy import select from sqlalchemy.orm import Session from app.models.entities import MediaAsset class AssetsRepository: def __init__(self, db: Session) -> None: self.db = db def list_assets(self, user_id: int): return ( self.db.query(MediaAsset) .filter(MediaAsset.user_id == user_id, MediaAsset.status == "active") .order_by(MediaAsset.id.desc()) ) def get_asset(self, user_id: int, asset_id: int) -> MediaAsset | None: return self.db.scalar( select(MediaAsset).where( MediaAsset.id == asset_id, MediaAsset.user_id == user_id, MediaAsset.status == "active", ) )