""" Модель настроек пользователя """ from datetime import datetime from typing import Optional from dataclasses import dataclass @dataclass class UserSettings: """Модель настроек пользователя""" id: Optional[int] = None user_id: int = None allow_questions: bool = True # Разрешить вопросы notify_new_questions: bool = True # Уведомления о новых вопросах notify_answers: bool = True # Уведомления об ответах language: str = 'ru' # Язык интерфейса created_at: Optional[datetime] = None updated_at: Optional[datetime] = None @classmethod def _parse_datetime(cls, date_str) -> Optional[datetime]: """Безопасный парсинг datetime из строки""" if not date_str or date_str in ['0', '']: return None try: return datetime.fromisoformat(date_str) except (ValueError, TypeError): return None def update_timestamp(self): """Обновление времени последнего обновления""" self.updated_at = datetime.now()