From 7a6b5b1964cc7cdc20938307f432ff1abada649c Mon Sep 17 00:00:00 2001 From: Davlat Davydov Date: Wed, 12 Aug 2026 07:08:01 +0300 Subject: [PATCH] feat(domain): remove manual "touch" updated_at method --- src/conode/domain/node/model.py | 2 -- src/conode/domain/offer/model.py | 4 ---- src/conode/domain/role/model.py | 4 ---- src/conode/domain/shared/entity.py | 9 +++++---- 4 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/conode/domain/node/model.py b/src/conode/domain/node/model.py index 28d9eea..7b85b89 100644 --- a/src/conode/domain/node/model.py +++ b/src/conode/domain/node/model.py @@ -76,11 +76,9 @@ def new( def set_name(self, name: str) -> None: self.name = NodeName(name) - self.touch() def set_description(self, description: str) -> None: self.description = NodeDescription(description) - self.touch() @dataclass diff --git a/src/conode/domain/offer/model.py b/src/conode/domain/offer/model.py index 2c4701c..7569b4b 100644 --- a/src/conode/domain/offer/model.py +++ b/src/conode/domain/offer/model.py @@ -137,11 +137,9 @@ def new( def accept(self) -> None: self.status = OfferStatus.ACCEPTED - self.touch() def decline(self) -> None: self.status = OfferStatus.DECLINED - self.touch() def is_counter_offer(self) -> bool: return self.from_offer is not None @@ -228,8 +226,6 @@ def new( def accept(self) -> None: self.status = OfferLinkStatus.ACCEPTED - self.touch() def abort(self) -> None: self.status = OfferLinkStatus.ABORTED - self.touch() diff --git a/src/conode/domain/role/model.py b/src/conode/domain/role/model.py index f3813ee..416c9f6 100644 --- a/src/conode/domain/role/model.py +++ b/src/conode/domain/role/model.py @@ -72,7 +72,6 @@ def change_name(self, name: str) -> None: [{"key": "name", "value": name}], ) self.name = RoleName(name) - self.touch() @dataclass @@ -104,12 +103,9 @@ def new( def change_permission_type(self, permission_type: PermissionType) -> None: self.permission = permission_type - self.touch() def change_entity_type(self, entity_type: EntityType) -> None: self.entity_type = entity_type - self.touch() def change_entity_id(self, entity_id: RolePermissionEntityId) -> None: self.entity_id = entity_id - self.touch() diff --git a/src/conode/domain/shared/entity.py b/src/conode/domain/shared/entity.py index d00eb21..fe2825d 100644 --- a/src/conode/domain/shared/entity.py +++ b/src/conode/domain/shared/entity.py @@ -1,6 +1,6 @@ from dataclasses import dataclass from datetime import UTC, datetime -from typing import cast, override +from typing import Any, cast, override from uuid import UUID @@ -10,9 +10,10 @@ class Entity[EntityId: UUID]: created_at: datetime updated_at: datetime - def touch(self) -> None: - now = datetime.now(tz=UTC) - self.updated_at = now + @override + def __setattr__(self, name: str, value: Any) -> None: + self.__dict__[name] = value + self.__dict__["updated_at"] = datetime.now(UTC) @override def __eq__(self, value: object) -> bool: