fix: 完整开放manager课程管理权限
All checks were successful
continuous-integration/drone/push Build is passing

将以下API权限从 require_admin 改为 require_admin_or_manager:
- add_course_material: 添加课程资料
- delete_course_material: 删除课程资料
- create_knowledge_point: 创建知识点
- update_knowledge_point: 更新知识点
- delete_knowledge_point: 删除知识点
- create_growth_path: 创建成长路径

Manager现在拥有完整的课程管理权限,包括:
- 课程CRUD
- 课程资料管理
- 知识点管理
- 岗位分配
- 成长路径创建
This commit is contained in:
yuliang_guo
2026-02-02 16:54:27 +08:00
parent 7c9f235a0e
commit 58f746cf46

View File

@@ -212,11 +212,11 @@ async def add_course_material(
course_id: int,
material_in: CourseMaterialCreate,
background_tasks: BackgroundTasks,
current_user: User = Depends(require_admin),
current_user: User = Depends(require_admin_or_manager),
db: AsyncSession = Depends(get_db),
):
"""
添加课程资料(需要管理员权限)
添加课程资料(需要管理员或经理权限)
- **course_id**: 课程ID
- **name**: 资料名称
@@ -278,11 +278,11 @@ async def list_course_materials(
async def delete_course_material(
course_id: int,
material_id: int,
current_user: User = Depends(require_admin),
current_user: User = Depends(require_admin_or_manager),
db: AsyncSession = Depends(get_db),
):
"""
删除课程资料(需要管理员权限)
删除课程资料(需要管理员或经理权限)
- **course_id**: 课程ID
- **material_id**: 资料ID
@@ -330,11 +330,11 @@ async def get_course_knowledge_points(
async def create_knowledge_point(
course_id: int,
point_in: KnowledgePointCreate,
current_user: User = Depends(require_admin),
current_user: User = Depends(require_admin_or_manager),
db: AsyncSession = Depends(get_db),
):
"""
创建知识点(需要管理员权限)
创建知识点(需要管理员或经理权限)
- **course_id**: 课程ID
- **name**: 知识点名称
@@ -357,11 +357,11 @@ async def create_knowledge_point(
async def update_knowledge_point(
point_id: int,
point_in: KnowledgePointUpdate,
current_user: User = Depends(require_admin),
current_user: User = Depends(require_admin_or_manager),
db: AsyncSession = Depends(get_db),
):
"""
更新知识点(需要管理员权限)
更新知识点(需要管理员或经理权限)
- **point_id**: 知识点ID
- **point_in**: 更新的知识点数据(所有字段都是可选的)
@@ -376,11 +376,11 @@ async def update_knowledge_point(
@router.delete("/knowledge-points/{point_id}", response_model=ResponseModel[bool])
async def delete_knowledge_point(
point_id: int,
current_user: User = Depends(require_admin),
current_user: User = Depends(require_admin_or_manager),
db: AsyncSession = Depends(get_db),
):
"""
删除知识点(需要管理员权限)
删除知识点(需要管理员或经理权限)
- **point_id**: 知识点ID
"""
@@ -460,11 +460,11 @@ async def remove_material_knowledge_point(
)
async def create_growth_path(
path_in: GrowthPathCreate,
current_user: User = Depends(require_admin),
current_user: User = Depends(require_admin_or_manager),
db: AsyncSession = Depends(get_db),
):
"""
创建成长路径(需要管理员权限)
创建成长路径(需要管理员或经理权限)
- **name**: 路径名称
- **description**: 路径描述