Humainoid-robotics / backend /src /models /user_preference.py
Awais
Restore original HF deployment with RAG search fallback fix
04dc214
Raw
History Blame Contribute Delete
1.27 kB
"""UserPreference model for user settings."""
from datetime import datetime
from sqlalchemy import Column, String, JSON, DateTime
import uuid
from src.config.database import Base
class UserPreference(Base):
"""Represents user-specific preferences and settings."""
__tablename__ = "user_preferences"
id = Column(String(36), primary_key=True, default=lambda: str(uuid.uuid4()))
user_id = Column(String(255), nullable=False, unique=True, index=True)
language = Column(String(10), default="en")
personalization_settings = Column(JSON, default=dict)
interface_config = Column(JSON, default=dict)
created_at = Column(DateTime, default=datetime.utcnow)
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
def to_dict(self) -> dict:
"""Convert model to dictionary."""
return {
"id": str(self.id),
"user_id": self.user_id,
"language": self.language,
"personalization_settings": self.personalization_settings,
"interface_config": self.interface_config,
"created_at": self.created_at.isoformat() if self.created_at else None,
"updated_at": self.updated_at.isoformat() if self.updated_at else None,
}