8a0358b9bf
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 25s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m21s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m23s
AI Code Review / AI Code Review (pull_request) Failing after 1m49s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m16s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m35s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m36s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 7m4s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m41s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m21s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 10m29s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 14m21s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 58s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 19s
前端 usePreviewAssets.ts 调用 POST /assets/batch 时返回 405 Method Not Allowed,
原因是后端没有 /batch GET/POST 端点,请求命中了 GET /{asset_id}(batch 被当成 asset_id)。
新增:
- BatchGetRequest schema:接收 { ids: string[] },最多 200 个 ID
- POST /assets/batch 端点:调用 asset_repository.find_by_ids() 批量查询
- 返回 List[AssetResponse],包含 file_url、duration、width、height 等完整元数据
改动文件:
- apps/api/app/schemas/asset.py:新增 BatchGetRequest
- apps/api/app/api/routes/assets.py:新增 batch_get_assets 端点
xiaoxia-saas API
结构
app/core/:配置与基础能力app/api/:路由组织app/schemas/:请求响应模型app/dependencies.py:依赖注入入口main.py:FastAPI 启动入口
当前可用接口
GET /api/healthGET /api/projects?workspace_id=...POST /api/projects