import uuid from datetime import datetime, timezone from sqlalchemy import Column, String, DateTime from backend.app.core.database import Base def generate_uuid() -> str: return str(uuid.uuid4()) def utc_now() -> datetime: return datetime.now(timezone.utc) class BaseModel(Base): __abstract__ = True id = Column(String(36), primary_key=True, default=generate_uuid) created_at = Column(DateTime(timezone=True), default=utc_now, nullable=False) updated_at = Column( DateTime(timezone=True), default=utc_now, onupdate=utc_now, nullable=False, )