33 lines
688 B
Python
33 lines
688 B
Python
"""Organization / Project domain events."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any, Dict
|
|
from uuid import UUID
|
|
|
|
from asf_events.base import ASFEvent
|
|
|
|
|
|
class OrganizationCreated(ASFEvent):
|
|
event_type: str = "organization.created"
|
|
organization_id: UUID
|
|
slug: str
|
|
name: str
|
|
payload: Dict[str, Any] = {}
|
|
|
|
|
|
class ProjectCreated(ASFEvent):
|
|
event_type: str = "project.created"
|
|
project_id: UUID
|
|
organization_id: UUID
|
|
project_key: str
|
|
name: str
|
|
payload: Dict[str, Any] = {}
|
|
|
|
|
|
class ProjectUpdated(ASFEvent):
|
|
event_type: str = "project.updated"
|
|
project_id: UUID
|
|
changed_fields: list[str]
|
|
payload: Dict[str, Any] = {}
|