feat: add DomainEvent base class and 5 domain event types

This commit is contained in:
2026-07-29 01:46:58 -04:00
parent 3bae739bc0
commit 7cf7e56a93
3 changed files with 123 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
from dataclasses import dataclass
from decimal import Decimal
from uuid import UUID
class DomainEvent:
pass
@dataclass(frozen=True)
class ClassifiedAdCreated(DomainEvent):
id: UUID
owner_id: UUID
@dataclass(frozen=True)
class ClassifiedAdTitleChanged(DomainEvent):
id: UUID
title: str
@dataclass(frozen=True)
class ClassifiedAdTextUpdated(DomainEvent):
id: UUID
ad_text: str
@dataclass(frozen=True)
class ClassifiedAdPriceUpdated(DomainEvent):
id: UUID
price: Decimal
@dataclass(frozen=True)
class ClassifiedAdSentForReview(DomainEvent):
id: UUID