feat: add DomainEvent base class and 5 domain event types
This commit is contained in:
@@ -3,6 +3,12 @@ from .classified_ad_id import ClassifiedAdId as ClassifiedAdId
|
||||
from .classified_ad_state import ClassifiedAdState as ClassifiedAdState
|
||||
from .classified_ad_text import ClassifiedAdText as ClassifiedAdText
|
||||
from .classified_ad_title import ClassifiedAdTitle as ClassifiedAdTitle
|
||||
from .domain_event import ClassifiedAdCreated as ClassifiedAdCreated
|
||||
from .domain_event import ClassifiedAdPriceUpdated as ClassifiedAdPriceUpdated
|
||||
from .domain_event import ClassifiedAdSentForReview as ClassifiedAdSentForReview
|
||||
from .domain_event import ClassifiedAdTextUpdated as ClassifiedAdTextUpdated
|
||||
from .domain_event import ClassifiedAdTitleChanged as ClassifiedAdTitleChanged
|
||||
from .domain_event import DomainEvent as DomainEvent
|
||||
from .invalid_entity_state_exception import (
|
||||
InvalidEntityStateException as InvalidEntityStateException,
|
||||
)
|
||||
|
||||
36
domain/marketplace/domain_event.py
Normal file
36
domain/marketplace/domain_event.py
Normal 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
|
||||
Reference in New Issue
Block a user