Files
iOSBuildServer/backend/schemas.py
T
shenleiandClaude Opus 5 5582aadc09 feat: 支持按 Tag 打包,分支管理可添加 Tag
- 分支管理新增「分支 / Tag」类型选择,Tag 存于 config["tags"],与分支不可重名
- 每个 Tag 与分支一样拥有同名独立版本轨道,默认上架轨
- 打包页按「分支」「Tag」分组选择;任务新增 ref_type 字段记录引用类型
- Tag 打包时 fetch --tags --force 后以游离 HEAD 检出 refs/tags/<tag>
- 历史记录与下载页按类型显示「分支」或「Tag」

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 11:59:18 +09:00

65 lines
1.4 KiB
Python

"""Pydantic 模型"""
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
# 打包任务
class TaskCreate(BaseModel):
app_id: str
build_type: str
scheme_id: str
obfuscation: bool = False
branch: str = "main"
class TaskResponse(BaseModel):
id: str
app_id: str
app_name: str
build_type: str
scheme_id: str
scheme_name: str
obfuscation: bool
branch: str
ref_type: Optional[str] = "branch"
status: str
current_step: Optional[str]
created_at: Optional[datetime]
started_at: Optional[datetime]
completed_at: Optional[datetime]
superseded_at: Optional[datetime] = None
ipa_path: Optional[str]
oss_url: Optional[str]
dsym_path: Optional[str]
dsym_url: Optional[str] = None
obfuscation_maps_path: Optional[str]
qr_code_path: Optional[str]
build_dir: Optional[str]
error_message: Optional[str]
error_category: Optional[str] = None
config_json: Optional[str]
has_log: bool = False
class Config:
from_attributes = True
# 登录
class LoginRequest(BaseModel):
username: str
password: str
class LoginResponse(BaseModel):
token: str
username: str
is_admin: bool
# 打包配置
class BuildConfigUpdate(BaseModel):
max_concurrent_builds: Optional[int] = None
build_dir_retention_hours: Optional[int] = None
build_base_dir: Optional[str] = None