chore: 基线提交(重构前快照)

重构前保存现有 apps/ 结构基线,供后续各阶段回滚。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2026-08-07 09:43:18 +08:00
co-authored by Claude
commit dbcce79536
112 changed files with 9677 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
from typing import Optional
from pydantic import BaseModel, Field, field_validator
# 定时任务表单验证
class JobForm(BaseModel):
id: Optional[int] = Field(None, description="任务ID")
job_name: str = Field(..., min_length=1, max_length=255, description="任务名称")
job_alias: Optional[str] = Field(None, max_length=255, description="任务别名")
job_group: Optional[str] = Field(None, max_length=255, description="任务分组")
job_trigger: Optional[str] = Field(None, max_length=255, description="任务触发器")
status: int = Field(..., ge=0, le=3, description="任务状态")
cron_expression: Optional[str] = Field(None, max_length=255, description="Cron表达式")
execute_policy: int = Field(..., ge=1, le=3, description="执行策略")
is_sync: int = Field(..., ge=0, le=1, description="是否同步任务")
url: Optional[str] = Field(None, max_length=255, description="任务URL")
params: Optional[str] = Field(None, max_length=2000, description="任务参数")
note: Optional[str] = Field(None, max_length=255, description="任务备注")
@field_validator('cron_expression')
@classmethod
def validate_cron(cls, v):
if v:
v = v.strip()
return v
# 任务状态表单
class JobStatusForm(BaseModel):
id: int = Field(..., gt=0, description="任务ID")
status: int = Field(..., ge=0, le=3, description="任务状态")