feat(P1): 成片库按用户维度改造,修复一键生成查不到+越权漏洞
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 46s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 1m44s
Auto Merge CI PRs / Auto Merge on CI Green + Approved (pull_request) Successful in 2m27s
AI Code Review / AI Code Review (pull_request) Successful in 2m40s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 2m48s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 1m12s
Auto Approve CI PRs / Auto Approve on CI Green (pull_request) Successful in 3m42s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 1422h10m15s
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Failing after 1422h10m50s
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 1422h10m55s
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Failing after 1422h10m56s
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Failing after 1422h10m57s
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Failing after 1422h43m1s
CI Build & Deploy Pipeline / Deploy Production (pull_request) Failing after 1422h42m55s
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Failing after 1422h42m58s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 46s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 1m44s
Auto Merge CI PRs / Auto Merge on CI Green + Approved (pull_request) Successful in 2m27s
AI Code Review / AI Code Review (pull_request) Successful in 2m40s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 2m48s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 1m12s
Auto Approve CI PRs / Auto Approve on CI Green (pull_request) Successful in 3m42s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 1422h10m15s
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Failing after 1422h10m50s
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 1422h10m55s
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Failing after 1422h10m56s
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Failing after 1422h10m53s
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Failing after 1422h10m57s
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Failing after 1422h43m1s
CI Build & Deploy Pipeline / Deploy Production (pull_request) Failing after 1422h42m55s
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Failing after 1422h42m58s
- generated_videos表加user_id列及索引 - 写表时透传user_id(edit_plan_generation + one_take生成) - /videos接口默认按当前用户查,不传project_id不再查全表 - project_id降级为可选过滤条件 - 补单元测试覆盖user_id过滤逻辑
This commit is contained in:
Regular → Executable
+3
-2
@@ -57,7 +57,7 @@ def _to_video_response(item, storage: OSSStorageService | None = None) -> VideoI
|
||||
|
||||
@router.get("/videos", response_model=ListVideosResponse)
|
||||
def list_videos(
|
||||
project_id: str | None = Query(None, description="项目ID,不传则返回所有项目"),
|
||||
project_id: str | None = Query(None, description="项目ID,可选过滤"),
|
||||
status: str | None = Query(None, description="按状态筛选"),
|
||||
review_status: str | None = Query(None, description="按复核状态筛选"),
|
||||
page: int = Query(1, ge=1, description="页码"),
|
||||
@@ -66,9 +66,10 @@ def list_videos(
|
||||
storage: OSSStorageService = Depends(get_storage_service),
|
||||
current_user: AuthenticatedUser = Depends(get_current_user),
|
||||
):
|
||||
"""成片列表,支持分页、按项目/状态/复核状态筛选。"""
|
||||
"""成片列表,默认返回当前用户的所有成片,支持按项目/状态/复核状态筛选。"""
|
||||
use_case = ListGeneratedVideosPaginatedUseCase(repo)
|
||||
items, total = use_case.execute(
|
||||
user_id=current_user.user.id,
|
||||
project_id=project_id,
|
||||
status=status,
|
||||
review_status=review_status,
|
||||
|
||||
@@ -18,6 +18,7 @@ def create_video_record_and_dedup(
|
||||
*,
|
||||
generation_task_id: str,
|
||||
project_id: str,
|
||||
user_id: str = "",
|
||||
batch_id: str,
|
||||
file_url: str,
|
||||
file_size: int,
|
||||
@@ -63,6 +64,7 @@ def create_video_record_and_dedup(
|
||||
generated_video = GeneratedVideo(
|
||||
id=video_id,
|
||||
project_id=project_id,
|
||||
user_id=user_id,
|
||||
generation_task_id=generation_task_id,
|
||||
name=video_name,
|
||||
file_url=file_url,
|
||||
|
||||
@@ -150,6 +150,7 @@ def _finalize_render_success(
|
||||
create_video_record_and_dedup(
|
||||
generation_task_id=generation_task_id,
|
||||
project_id=project_id,
|
||||
user_id=plan.created_by_user_id or "",
|
||||
batch_id=batch_id,
|
||||
file_url=output_url or "",
|
||||
file_size=file_size,
|
||||
|
||||
@@ -1319,6 +1319,7 @@ def _upload_and_record(
|
||||
project_id: str,
|
||||
batch_id: str,
|
||||
editing_mode,
|
||||
user_id: str = "",
|
||||
) -> tuple[str, float, int, int]:
|
||||
"""上传 OSS、创建视频记录并查重。
|
||||
|
||||
@@ -1366,6 +1367,7 @@ def _upload_and_record(
|
||||
video_count = create_video_record_and_dedup(
|
||||
generation_task_id=task_id,
|
||||
project_id=project_id,
|
||||
user_id=user_id,
|
||||
batch_id=batch_id,
|
||||
file_url=file_url,
|
||||
file_size=file_size,
|
||||
@@ -1511,6 +1513,7 @@ def generate_video(self, task_id: str) -> dict:
|
||||
project_id=project_id,
|
||||
batch_id=batch_id,
|
||||
editing_mode=editing_mode,
|
||||
user_id=user_id,
|
||||
)
|
||||
|
||||
if gen_task:
|
||||
|
||||
Reference in New Issue
Block a user