dv/backend/shared/base_entity.py

15 lines
466 B
Python

from __future__ import annotations
import uuid
from datetime import datetime, timezone
from dataclasses import dataclass, field
@dataclass
class BaseEntity:
id: uuid.UUID = field(default_factory=uuid.uuid4)
created_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc))
updated_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc))
def touch(self) -> None:
self.updated_at = datetime.now(timezone.utc)