fix: AuthenticatedUser.user_id 改为 user.id,修复编辑器500 #673

Merged
auto-approve-bot merged 1 commits from fix/authenticated-user-user-id into develop 2026-07-21 11:26:17 +08:00
Owner

问题

AuthenticatedUser 只有 user/session_id/token_type 字段,没有 user_id。
编辑器路由中 13 处 current_user.user_id 全部写错,导致 AttributeError 500。

修复

全部改为 current_user.user.id 正确访问方式。

影响文件

  • templates_editor.py — 11 处
  • auth.py — 1 处
  • videos.py — 2 处

测试

57 个单元测试全绿(37 编辑器 + 20 微信登录)

## 问题 AuthenticatedUser 只有 user/session_id/token_type 字段,没有 user_id。 编辑器路由中 13 处 current_user.user_id 全部写错,导致 AttributeError 500。 ## 修复 全部改为 current_user.user.id 正确访问方式。 ## 影响文件 - templates_editor.py — 11 处 - auth.py — 1 处 - videos.py — 2 处 ## 测试 57 个单元测试全绿(37 编辑器 + 20 微信登录)
xiaoxia added 1 commit 2026-07-21 11:18:40 +08:00
fix: AuthenticatedUser.user_id 改为 user.id,修复编辑器500
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 / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
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 / 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
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 20s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 2m22s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 2m39s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m6s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 4m8s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 6m6s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m35s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 7m36s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 24s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 15m14s
cbf8f6f81c
AuthenticatedUser 类只有 user/session_id/token_type 字段,没有 user_id。
编辑器路由和 auth 路由中 13 处 current_user.user_id 全部写错,
导致首次访问编辑器时报 AttributeError 500。

修复为 current_user.user.id 正确访问方式。
Collaborator

代码审查结果 - PR #673

⚠️ 问题(1个需要修改)

  1. apps/api/app/api/routes/templates_editor.py 第652行:类型转换不一致,存在潜在的类型错误风险。
    • 在该行代码中,显式使用了 str(current_user.user.id) 将 ID 转换为字符串;而在同文件的其他位置(如第1087、1335行)以及 auth.py(第572行)中,直接使用了 current_user.user.id
    • 如果 current_user.user.id 返回的是 intUUID 对象,直接传递给下游函数或用例(UseCase)可能会导致类型校验失败或数据库查询异常。建议确认 user_id 在全链路中的类型要求(统一为字符串或统一为原始类型),并保持转换逻辑的一致性。

💡 建议(1个可选)

  1. apps/api/app/api/routes/auth.py 及其他文件:建议确认 current_user.user 的非空性。
    • 代码中大量使用了 current_user.user.id 的属性链式访问。如果 current_user 是一个包含可选 user 对象的包装类(例如在某些异常或未登录场景下),直接访问 .user 可能会抛出 AttributeError。虽然通常依赖注入会保证登录态,但在重构属性路径时,建议确认 user 对象是否必然存在。

格式检查通过 | 逻辑审查需修改 | 性能无隐患


🤖 由 AI 代码审查机器人自动生成 | 2026-07-21 11:20:59 | 模型:

## 代码审查结果 - PR #673 ### ⚠️ 问题(1个需要修改) 1. **apps/api/app/api/routes/templates_editor.py 第652行**:类型转换不一致,存在潜在的类型错误风险。 - 在该行代码中,显式使用了 `str(current_user.user.id)` 将 ID 转换为字符串;而在同文件的其他位置(如第1087、1335行)以及 `auth.py`(第572行)中,直接使用了 `current_user.user.id`。 - 如果 `current_user.user.id` 返回的是 `int` 或 `UUID` 对象,直接传递给下游函数或用例(UseCase)可能会导致类型校验失败或数据库查询异常。建议确认 `user_id` 在全链路中的类型要求(统一为字符串或统一为原始类型),并保持转换逻辑的一致性。 ### 💡 建议(1个可选) 1. **apps/api/app/api/routes/auth.py 及其他文件**:建议确认 `current_user.user` 的非空性。 - 代码中大量使用了 `current_user.user.id` 的属性链式访问。如果 `current_user` 是一个包含可选 `user` 对象的包装类(例如在某些异常或未登录场景下),直接访问 `.user` 可能会抛出 `AttributeError`。虽然通常依赖注入会保证登录态,但在重构属性路径时,建议确认 `user` 对象是否必然存在。 --- ✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无隐患 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-21 11:20:59 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->

🚀 预览环境已部署

项目 详情
PR号 #673
预览链接 https://pr-673.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #673 | | 预览链接 | [https://pr-673.preview.xiaoxiajianji.com](https://pr-673.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot approved these changes 2026-07-21 11:25:15 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-21 11:25:15 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot merged commit 8193e7756a into develop 2026-07-21 11:26:17 +08:00
auto-approve-bot deleted branch fix/authenticated-user-user-id 2026-07-21 11:26:17 +08:00

🗑️ 预览环境已清理

PR #673 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #673 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.