"""Tasks domain event definitions."""

from __future__ import annotations

from simorgh.apps.events.bus import register_event


def register_all() -> None:
    """Register all Tasks domain events into the event bus registry."""

    register_event(
        "tasks.task.created",
        description="A new task was created.",
        payload_keys=("task_id", "project_id", "tenant_id", "assignee_id", "reporter_id"),
    )
    register_event(
        "tasks.task.status_changed",
        description="A task's status changed.",
        payload_keys=("task_id", "from_status", "to_status", "tenant_id", "actor_id"),
    )
    register_event(
        "tasks.task.completed",
        description="A task was completed.",
        payload_keys=("task_id", "project_id", "tenant_id", "actor_id"),
    )
    register_event(
        "tasks.task.overdue",
        description="A task is past its due date.",
        payload_keys=("task_id", "assignee_id", "tenant_id"),
    )
    register_event(
        "tasks.task.assigned",
        description="A task was assigned to a user.",
        payload_keys=("task_id", "assignee_id", "tenant_id", "actor_id"),
    )
    register_event(
        "tasks.comment.added",
        description="A comment was posted on a task.",
        payload_keys=("task_id", "comment_id", "author_id", "tenant_id"),
    )
