1. 课程权限修复: - 创建课程: require_admin -> require_admin_or_manager - 更新课程: require_admin -> require_admin_or_manager - 现在manager角色也可以创建和编辑课程 2. 全局409冲突处理: - 添加IntegrityError异常处理器 - 自动识别常见冲突类型(用户名/邮箱/手机号/名称/编码) - 返回友好的中文错误提示
This commit is contained in:
@@ -81,11 +81,11 @@ async def get_courses(
|
||||
async def create_course(
|
||||
course_in: CourseCreate,
|
||||
request: Request,
|
||||
current_user: User = Depends(require_admin),
|
||||
current_user: User = Depends(require_admin_or_manager),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
创建课程(需要管理员权限)
|
||||
创建课程(需要管理员或经理权限)
|
||||
|
||||
- **name**: 课程名称
|
||||
- **description**: 课程描述
|
||||
@@ -144,11 +144,11 @@ async def get_course(
|
||||
async def update_course(
|
||||
course_id: int,
|
||||
course_in: CourseUpdate,
|
||||
current_user: User = Depends(require_admin),
|
||||
current_user: User = Depends(require_admin_or_manager),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""
|
||||
更新课程(需要管理员权限)
|
||||
更新课程(需要管理员或经理权限)
|
||||
|
||||
- **course_id**: 课程ID
|
||||
- **course_in**: 更新的课程数据(所有字段都是可选的)
|
||||
|
||||
Reference in New Issue
Block a user