"""Database operations for TranscodeJob.""" from typing import Optional from uuid import UUID def list_jobs(status: Optional[str] = None, source_asset_id: Optional[UUID] = None): from admin.mpr.media_assets.models import TranscodeJob qs = TranscodeJob.objects.all() if status: qs = qs.filter(status=status) if source_asset_id: qs = qs.filter(source_asset_id=source_asset_id) return list(qs) def get_job(id: UUID): from admin.mpr.media_assets.models import TranscodeJob return TranscodeJob.objects.get(id=id) def create_job(**fields): from admin.mpr.media_assets.models import TranscodeJob return TranscodeJob.objects.create(**fields) def update_job(job, **fields): for key, value in fields.items(): setattr(job, key, value) job.save(update_fields=list(fields.keys())) return job def update_job_fields(job_id, **fields): from admin.mpr.media_assets.models import TranscodeJob TranscodeJob.objects.filter(id=job_id).update(**fields)