feat: Brief附件/项目平台/规则AI解析/消息中心修复 + 项目创建通知
- Brief 支持代理商附件上传 (迁移 007) - 项目新增 platform 字段 (迁移 008),前端创建/展示平台信息 - 修复 AI 规则解析:处理中文引号导致 JSON 解析失败的问题 - 修复消息中心崩溃:补全后端消息类型映射 + fallback 保护 - 项目创建时自动发送消息通知 - .gitignore 排除 backend/data/ 数据库文件 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
58aed5f201
commit
4c9b2f1263
@@ -20,6 +20,7 @@ class BriefCreateRequest(BaseModel):
|
||||
max_duration: Optional[int] = None
|
||||
other_requirements: Optional[str] = None
|
||||
attachments: Optional[List[dict]] = None
|
||||
agency_attachments: Optional[List[dict]] = None
|
||||
|
||||
|
||||
class BriefUpdateRequest(BaseModel):
|
||||
@@ -34,6 +35,12 @@ class BriefUpdateRequest(BaseModel):
|
||||
max_duration: Optional[int] = None
|
||||
other_requirements: Optional[str] = None
|
||||
attachments: Optional[List[dict]] = None
|
||||
agency_attachments: Optional[List[dict]] = None
|
||||
|
||||
|
||||
class AgencyBriefUpdateRequest(BaseModel):
|
||||
"""代理商更新 Brief 请求(仅允许更新 agency_attachments)"""
|
||||
agency_attachments: Optional[List[dict]] = None
|
||||
|
||||
|
||||
# ===== 响应 =====
|
||||
@@ -53,6 +60,7 @@ class BriefResponse(BaseModel):
|
||||
max_duration: Optional[int] = None
|
||||
other_requirements: Optional[str] = None
|
||||
attachments: Optional[List[dict]] = None
|
||||
agency_attachments: Optional[List[dict]] = None
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ class ProjectCreateRequest(BaseModel):
|
||||
"""创建项目请求(品牌方操作)"""
|
||||
name: str = Field(..., min_length=1, max_length=255)
|
||||
description: Optional[str] = None
|
||||
platform: Optional[str] = None
|
||||
start_date: Optional[datetime] = None
|
||||
deadline: Optional[datetime] = None
|
||||
agency_ids: Optional[List[str]] = None # 分配的代理商 ID 列表
|
||||
@@ -21,6 +22,7 @@ class ProjectUpdateRequest(BaseModel):
|
||||
"""更新项目请求"""
|
||||
name: Optional[str] = Field(None, min_length=1, max_length=255)
|
||||
description: Optional[str] = None
|
||||
platform: Optional[str] = None
|
||||
start_date: Optional[datetime] = None
|
||||
deadline: Optional[datetime] = None
|
||||
status: Optional[str] = Field(None, pattern="^(active|completed|archived)$")
|
||||
@@ -45,6 +47,7 @@ class ProjectResponse(BaseModel):
|
||||
id: str
|
||||
name: str
|
||||
description: Optional[str] = None
|
||||
platform: Optional[str] = None
|
||||
brand_id: str
|
||||
brand_name: Optional[str] = None
|
||||
status: str
|
||||
|
||||
Reference in New Issue
Block a user