26 lines
727 B
Python
26 lines
727 B
Python
|
|
from typing import List
|
|
from app.schemas import JobInfo, TaskInfo
|
|
from app.models import Job, Task
|
|
|
|
def job_to_schema(job: Job) -> JobInfo:
|
|
tasks: List[TaskInfo] = [
|
|
TaskInfo(
|
|
id=t.id,
|
|
name=t.name,
|
|
status=t.status.value if hasattr(t.status, "value") else str(t.status),
|
|
retries=t.retries,
|
|
max_retries=t.max_retries,
|
|
result=t.result,
|
|
error=t.error,
|
|
)
|
|
for t in job.tasks
|
|
]
|
|
return JobInfo(
|
|
id=job.id,
|
|
job_type=job.job_type,
|
|
status=job.status.value if hasattr(job.status, "value") else str(job.status),
|
|
domain=job.domain,
|
|
payload=job.payload,
|
|
tasks=tasks,
|
|
)
|