chore(prep): shared groundwork for batch-3 (admin/golden/cache)
第三批(T12 后台/T13 黄金集/T14 检索缓存)协调提交: - kb:KbAssetService(登记/审核,tryon_ready 只能随 approved 打开)+ Asset 模型与 repo - retrieval:list_gaps 缺口看板查询 + invalidate_cache() 钩子(T14 背后实现真缓存) - 配置:ADMIN_TOKEN(空=后台 404)+ 检索缓存三参数 - pytest golden marker(默认跳过,CI 强制跑)+ Makefile golden + CI 防线 5c - 测试隔离修复:test_auth_sms 加 autouse 清 sms:* 键夹具(频控计数跨运行 累积会毒化后续运行——随机 IP 空间仅 254 且部分用例固定 device_id)
This commit is contained in:
@@ -164,3 +164,35 @@ class ColorOut(BaseModel):
|
||||
lab_b: float
|
||||
hex: str = Field(description="#RRGGBB")
|
||||
name_cn: str
|
||||
|
||||
|
||||
class AssetCreate(BaseModel):
|
||||
"""素材登记(kb_asset)。cos_key 是 COS 上的对象键(真实文件经 T5 预签名
|
||||
直传后,由运营在这里登记元数据);spec_check 记录白底规格校验结果。"""
|
||||
|
||||
entity_id: str
|
||||
asset_type: str = Field(description="display / tryon / detail 等素材类型")
|
||||
cos_key: str = Field(min_length=1, max_length=255)
|
||||
spec_check: dict[str, Any] = Field(default_factory=dict)
|
||||
tryon_ready: bool = False
|
||||
license: str | None = None
|
||||
|
||||
|
||||
class AssetReview(BaseModel):
|
||||
"""素材审核结论:review_status 与 tryon_ready 一起更新——
|
||||
tryon_ready=true 是换装闭环放行的唯一开关,不允许绕过审核单独打开。"""
|
||||
|
||||
review_status: Literal["approved", "rejected", "pending"]
|
||||
tryon_ready: bool = False
|
||||
|
||||
|
||||
class AssetOut(BaseModel):
|
||||
asset_id: str
|
||||
entity_id: str
|
||||
asset_type: str
|
||||
cos_key: str
|
||||
spec_check: dict[str, Any]
|
||||
tryon_ready: bool
|
||||
review_status: str
|
||||
license: str | None
|
||||
created_at: datetime
|
||||
|
||||
Reference in New Issue
Block a user