修复模型定义
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
"""节点排序权重"""
|
||||
|
||||
# 关系
|
||||
|
||||
@@ -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)
|
||||
"""订单状态"""
|
||||
|
||||
# 外键
|
||||
|
||||
@@ -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="自动标签的匹配表达式")
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 偏移小时数"""
|
||||
|
||||
# 外键
|
||||
|
||||
Reference in New Issue
Block a user