Files
ToDoList/api/app/models/user_settings.py
2026-05-17 11:21:41 +08:00

40 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from sqlalchemy import Column, Integer, String, Text, DateTime, Date
from datetime import datetime, timezone, date
from app.database import Base
def utcnow():
"""统一获取 UTC 时间的工厂函数"""
return datetime.now(timezone.utc)
class UserSettings(Base):
"""用户设置模型(单例,始终只有一条记录 id=1"""
__tablename__ = "user_settings"
id = Column(Integer, primary_key=True, default=1)
# 个人信息
nickname = Column(String(50), default="爱莉希雅")
avatar = Column(Text, nullable=True)
signature = Column(String(200), nullable=True)
birthday = Column(Date, nullable=True)
email = Column(String(100), nullable=True)
# 应用信息
site_name = Column(String(50), default="爱莉希雅待办")
# 应用偏好
theme = Column(String(20), default="pink")
language = Column(String(10), default="zh-CN")
default_view = Column(String(20), default="list")
default_sort_by = Column(String(20), default="created_at")
default_sort_order = Column(String(10), default="desc")
# 认证
password_hash = Column(String(255), default="")
# 时间戳
created_at = Column(DateTime, default=utcnow)
updated_at = Column(DateTime, default=utcnow, onupdate=utcnow)