修复模型定义

This commit is contained in:
2025-12-26 19:29:29 +08:00
parent d8a229fccd
commit c17511d2e8
9 changed files with 55 additions and 18 deletions

View File

@@ -12,7 +12,7 @@ engine: AsyncEngine = create_async_engine(
echo=appmeta.debug,
connect_args={
"check_same_thread": False
} if ASYNC_DATABASE_URL.startswith("sqlite") else None,
} if ASYNC_DATABASE_URL.startswith("sqlite") else {},
future=True,
# pool_size=POOL_SIZE,
# max_overflow=64,

View File

@@ -14,6 +14,8 @@ if TYPE_CHECKING:
class DownloadStatus(StrEnum):
"""下载状态枚举"""
PREPARING = "preparing"
"""准备中"""
RUNNING = "running"
"""进行中"""
COMPLETED = "completed"
@@ -119,25 +121,25 @@ class Download(DownloadBase, UUIDTableBaseMixin):
Index("ix_download_user_status", "user_id", "status"),
)
status: DownloadStatus = Field(default=DownloadStatus.RUNNING, sa_column_kwargs={"server_default": "'running'"}, index=True)
status: DownloadStatus = Field(default=DownloadStatus.PREPARING, index=True)
"""下载状态"""
type: int = Field(default=0, sa_column_kwargs={"server_default": "0"})
type: int = Field(default=0)
"""任务类型 [TODO] 待定义枚举"""
source: str
"""来源URL或标识"""
total_size: int = Field(default=0, sa_column_kwargs={"server_default": "0"})
total_size: int = Field(default=0)
"""总大小(字节)"""
downloaded_size: int = Field(default=0, sa_column_kwargs={"server_default": "0"})
downloaded_size: int = Field(default=0)
"""已下载大小(字节)"""
g_id: str | None = Field(default=None, index=True)
"""Aria2 GID"""
speed: int = Field(default=0, sa_column_kwargs={"server_default": "0"})
speed: int = Field(default=0)
"""下载速度bytes/s"""
parent: str | None = Field(default=None, max_length=255)

View File

@@ -68,7 +68,7 @@ class Node(SQLModelBase, TableBaseMixin):
Index("ix_node_status", "status"),
)
status: NodeStatus = Field(default=NodeStatus.ONLINE, sa_column_kwargs={"server_default": "'online'"})
status: NodeStatus = Field(default=NodeStatus.ONLINE)
"""节点状态"""
name: str = Field(max_length=255, unique=True)
@@ -86,10 +86,10 @@ class Node(SQLModelBase, TableBaseMixin):
master_key: str | None = Field(default=None, max_length=255)
"""主机通讯密钥"""
aria2_enabled: bool = Field(default=False, sa_column_kwargs={"server_default": text("false")})
aria2_enabled: bool = False
"""是否启用Aria2"""
rank: int = Field(default=0, sa_column_kwargs={"server_default": "0"})
rank: int = 0
"""节点排序权重"""
# 关系

View File

@@ -51,7 +51,7 @@ class Order(SQLModelBase, TableBaseMixin):
price: int = Field(default=0, sa_column_kwargs={"server_default": "0"})
"""订单价格(分)"""
status: OrderStatus = Field(default=OrderStatus.PENDING, sa_column_kwargs={"server_default": "'pending'"})
status: OrderStatus = Field(default=OrderStatus.PENDING)
"""订单状态"""
# 外键

View File

@@ -34,7 +34,7 @@ class Tag(SQLModelBase, TableBaseMixin):
color: str | None = Field(default=None, max_length=255)
"""标签颜色"""
type: TagType = Field(default=TagType.MANUAL, sa_column_kwargs={"server_default": "'manual'"})
type: TagType = Field(default=TagType.MANUAL)
"""标签类型"""
expression: str | None = Field(default=None, description="自动标签的匹配表达式")

View File

@@ -70,13 +70,13 @@ class Task(SQLModelBase, TableBaseMixin):
Index("ix_task_user_status", "user_id", "status"),
)
status: TaskStatus = Field(default=TaskStatus.QUEUED, sa_column_kwargs={"server_default": "'queued'"})
status: TaskStatus = Field(default=TaskStatus.QUEUED)
"""任务状态"""
type: int = Field(default=0, sa_column_kwargs={"server_default": "0"})
type: int = Field(default=0)
"""任务类型 [TODO] 待定义枚举"""
progress: int = Field(default=0, sa_column_kwargs={"server_default": "0"}, ge=0, le=100)
progress: int = Field(default=0, ge=0, le=100)
"""任务进度0-100"""
error: str | None = Field(default=None)

View File

@@ -313,13 +313,13 @@ class User(UserBase, UUIDTableBaseMixin):
"""当前用户组过期时间"""
# Option 相关字段
theme: ThemeType = Field(default=ThemeType.SYSTEM, sa_column_kwargs={"server_default": "system"})
"""主题类型: light/dark/system"""
# theme: ThemeType = Field(default=ThemeType.SYSTEM)
# """主题类型: light/dark/system"""
language: str = Field(default="zh-CN", max_length=5, sa_column_kwargs={"server_default": "zh-CN"})
language: str = Field(default="zh-CN", max_length=5)
"""语言偏好"""
timezone: int = Field(default=8, ge=-12, le=12, sa_column_kwargs={"server_default": "8"})
timezone: int = Field(default=8, ge=-12, le=12)
"""时区UTC 偏移小时数"""
# 外键