27 lines
697 B
Python
27 lines
697 B
Python
from __future__ import annotations
|
|
|
|
from review_agent.models import RegulatoryReviewBatch, WorkflowEvent
|
|
|
|
|
|
def record_event(
|
|
batch: RegulatoryReviewBatch,
|
|
event_type: str,
|
|
payload: dict | None = None,
|
|
) -> WorkflowEvent:
|
|
return WorkflowEvent.objects.create(
|
|
workflow_type="regulatory_review",
|
|
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(),
|
|
}
|