24 lines
688 B
Python
24 lines
688 B
Python
from __future__ import annotations
|
|
|
|
from review_agent.models import FileSummaryBatch, WorkflowEvent
|
|
|
|
|
|
def record_event(batch: FileSummaryBatch, event_type: str, payload: dict | None = None) -> WorkflowEvent:
|
|
return WorkflowEvent.objects.create(
|
|
batch=batch,
|
|
workflow_type="file_summary",
|
|
workflow_batch_id=batch.pk,
|
|
conversation=batch.conversation,
|
|
event_type=event_type,
|
|
payload=payload or {},
|
|
)
|
|
|
|
|
|
def serialize_event(event: WorkflowEvent) -> dict[str, object]:
|
|
return {
|
|
"id": event.pk,
|
|
"event_type": event.event_type,
|
|
"payload": event.payload,
|
|
"created_at": event.created_at.isoformat(),
|
|
}
|