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: