fix(P0): 视频标题全链路打通 #585
Reference in New Issue
Block a user
Delete Branch "fix/p0-video-title-full-chain"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
生成的视频名称是 generated-xxx.mp4,没有使用用户在智能剪辑中设置的标题。前端传了video_title参数,但后端全链路没接,worker创建视频记录时fallback到默认命名。
修复(全链路9个文件)
向后兼容
video_title为空时,fallback到默认命名generated-{task_id[:8]}.mp4,不影响已有调用。
注意
本PR依赖#572(migration 045),需#572先合并。
🚀 预览环境已部署
f42e964e30toc93297f40bc93297f40btoec4c12e392LGTM
代码审查结果 - PR #585
⚠️ 问题(2个需要修改)
packages/adapters/sqlalchemy_impl/generated_video_repository.py (多处) & apps/api/app/api/routes/videos.py (多处):严重的安全漏洞:移除了资源归属权校验
get,delete,batch_delete,update_review_status等方法中的user_id参数以及对应的数据库查询过滤条件(filter(GeneratedVideoModel.user_id == user_id))。同时,API 层也不再传递current_user.user.id。user_id参数及过滤逻辑,确保用户只能操作属于自己的资源。alembic/versions/046_task_title.py 第14行:Alembic 迁移依赖 ID 不一致
Revises: 045_backfill_user_id_generated_videos指明了父版本,但代码中down_revision = "045_backfill_user_id"设置的值与注释不一致(缺少后缀)。revision值,确保down_revision与其完全一致。💡 建议(1个可选)
video_title为字符串,但在 Domain 层的create方法中直接调用video_title.strip()。如果未来 Domain 层被其他非 API 入口调用且传入 None,将导致崩溃。建议改为video_title.strip() if video_title else ""。✅ 格式检查通过 | ❌ 逻辑审查需修改 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-07-19 14:23:15 | 模型:
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #585 已关闭或合并,对应的预览环境已被清理。