feat: 强化打包配置与服务安全
This commit is contained in:
@@ -34,6 +34,20 @@ async def create_task(task: TaskCreate, db: Session = Depends(get_db)):
|
||||
|
||||
app = apps[task.app_id]
|
||||
scheme = schemes[task.scheme_id]
|
||||
scheme_name = scheme.get("name", "")
|
||||
|
||||
if task.build_type not in {"Ad_Hoc", "App_Store"}:
|
||||
raise HTTPException(status_code=400, detail="不支持的打包类型")
|
||||
if not app.get("certificates", {}).get(task.build_type):
|
||||
raise HTTPException(status_code=400, detail=f"该 App 未配置 {task.build_type} 证书")
|
||||
|
||||
from .apps import get_allowed_scheme_names
|
||||
allowed_scheme_names = get_allowed_scheme_names(app)
|
||||
if allowed_scheme_names and scheme_name not in allowed_scheme_names:
|
||||
raise HTTPException(
|
||||
status_code=400,
|
||||
detail=f"该 App 只能使用 Scheme: {', '.join(allowed_scheme_names)}",
|
||||
)
|
||||
|
||||
task_id = str(uuid.uuid4())
|
||||
db_task = Task(
|
||||
@@ -42,7 +56,7 @@ async def create_task(task: TaskCreate, db: Session = Depends(get_db)):
|
||||
app_name=app.get("name", ""),
|
||||
build_type=task.build_type,
|
||||
scheme_id=task.scheme_id,
|
||||
scheme_name=scheme.get("displayName") or scheme.get("name", ""),
|
||||
scheme_name=scheme.get("displayName") or scheme_name,
|
||||
obfuscation=task.obfuscation,
|
||||
branch=task.branch,
|
||||
status="pending",
|
||||
|
||||
Reference in New Issue
Block a user