refactor: rename raise_event to apply_event and _events to _changes

This commit is contained in:
2026-07-29 10:40:04 -04:00
parent 5bb6cedd03
commit 7eace9212d
4 changed files with 24 additions and 24 deletions

View File

@@ -6,13 +6,13 @@ from domain.marketplace.domain_event import DomainEvent
class Entity(ABC):
_events: tuple[DomainEvent, ...] = ()
_changes: tuple[DomainEvent, ...] = ()
def raise_event(self, event: DomainEvent) -> Self:
return replace(self, _events=(*self._events, event))
def apply_event(self, event: DomainEvent) -> Self:
return replace(self, _changes=(*self._changes, event))
def get_changes(self) -> tuple[DomainEvent, ...]:
return self._events
return self._changes
def clear_changes(self) -> Self:
return replace(self, _events=())
return replace(self, _changes=())

View File

@@ -31,11 +31,11 @@ class ClassifiedAd(Entity):
text: ClassifiedAdText = field(default_factory=lambda: ClassifiedAdText(text=""))
price: Price = field(default_factory=lambda: Price(amount=Decimal("0.00")))
state: ClassifiedAdState = ClassifiedAdState.Inactive
_events: tuple[DomainEvent, ...] = ()
_changes: tuple[DomainEvent, ...] = ()
def __post_init__(self):
if not self._events:
object.__setattr__(self, '_events', (
if not self._changes:
object.__setattr__(self, '_changes', (
ClassifiedAdCreated(id=self.id.value, owner_id=self._ownerId.value),
))
@@ -57,27 +57,27 @@ class ClassifiedAd(Entity):
self._ensure_valid_state()
updated = replace(self, state=ClassifiedAdState.PendingReview)
return updated.raise_event(
return updated.apply_event(
ClassifiedAdSentForReview(id=self.id.value)
)
def set_title(self, title: ClassifiedAdTitle) -> ClassifiedAd:
updated = replace(self, title=title)
updated._ensure_valid_state()
return updated.raise_event(
return updated.apply_event(
ClassifiedAdTitleChanged(id=self.id.value, title=title.title)
)
def update_text(self, text: ClassifiedAdText) -> ClassifiedAd:
updated = replace(self, text=text)
updated._ensure_valid_state()
return updated.raise_event(
return updated.apply_event(
ClassifiedAdTextUpdated(id=self.id.value, ad_text=text.text)
)
def update_price(self, price: Price) -> ClassifiedAd:
updated = replace(self, price=price)
updated._ensure_valid_state()
return updated.raise_event(
return updated.apply_event(
ClassifiedAdPriceUpdated(id=self.id.value, price=price.amount)
)