feat(market): admin用户前台导入的Agent/Skill/MCP自动标记为官方(official)
- POST /market/apps: 当 current_user.role == "admin" 时,source 强制设为 official - 前端发送 source:/user/ 也会被后端覆盖为 official - 前台卡片已有 official-badge 徽章展示,无需额外前端改动
This commit is contained in:
1 parent
6416fb4651
commit
b88f883d44
1 file changed
+10
-1
@@ -340,13 +340,22 @@ def upload_app(
|
||||
detail=f"Agent 连接校验未通过:{v['detail']}",
|
||||
)
|
||||
|
||||
# source 判定:管理员(admin 角色)通过前台市场导入/开发的 Agent/Skill/MCP
|
||||
# 统一标记为官方(official),其余用户按请求或默认为 user。
|
||||
if current_user.role == "admin":
|
||||
app_source = "official"
|
||||
elif req.source and req.source in ("official", "user"):
|
||||
app_source = req.source
|
||||
else:
|
||||
app_source = "user"
|
||||
|
||||
app = MarketApp(
|
||||
id=gen_uuid(),
|
||||
name=req.name,
|
||||
description=req.description,
|
||||
icon=req.icon,
|
||||
type=req.type if req.type in ("skill","agent","mcp") else "skill",
|
||||
source=req.source if req.source in ("official","user") else "user",
|
||||
source=app_source,
|
||||
platform=req.platform,
|
||||
price=req.price,
|
||||
install_count=0,
|
||||
|
||||
Reference in new issue
Block a user