import uuid as _uuid from sqlalchemy import Column, Integer, String, Boolean, DateTime from app.database import Base from app.utils.datetime import utcnow class SyncSettings(Base): """同步设置模型(单例,始终只有一条记录 id=1)""" __tablename__ = "sync_settings" id = Column(Integer, primary_key=True, default=1) # WebDAV 连接配置 webdav_url = Column(String(500), nullable=True) webdav_username = Column(String(200), nullable=True) webdav_password = Column(String(500), nullable=True) # AES-256-GCM 加密存储 webdav_path = Column(String(200), default="/elysia-todo/") # 同步状态 sync_enabled = Column(Boolean, default=False) last_sync_at = Column(DateTime, nullable=True) last_sync_version = Column(Integer, default=0) auto_sync = Column(Boolean, default=False) auto_sync_interval = Column(Integer, default=300) # 秒 # 时间戳 created_at = Column(DateTime, default=utcnow) updated_at = Column(DateTime, default=utcnow, onupdate=utcnow)