Files
aivideo/backend/app/modules/assets/repository.py

27 lines
741 B
Python

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",
)
)