fix: 完整开放manager课程管理权限
All checks were successful
continuous-integration/drone/push Build is passing
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:
@@ -212,11 +212,11 @@ async def add_course_material(
|
|||||||
course_id: int,
|
course_id: int,
|
||||||
material_in: CourseMaterialCreate,
|
material_in: CourseMaterialCreate,
|
||||||
background_tasks: BackgroundTasks,
|
background_tasks: BackgroundTasks,
|
||||||
current_user: User = Depends(require_admin),
|
current_user: User = Depends(require_admin_or_manager),
|
||||||
db: AsyncSession = Depends(get_db),
|
db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
添加课程资料(需要管理员权限)
|
添加课程资料(需要管理员或经理权限)
|
||||||
|
|
||||||
- **course_id**: 课程ID
|
- **course_id**: 课程ID
|
||||||
- **name**: 资料名称
|
- **name**: 资料名称
|
||||||
@@ -278,11 +278,11 @@ async def list_course_materials(
|
|||||||
async def delete_course_material(
|
async def delete_course_material(
|
||||||
course_id: int,
|
course_id: int,
|
||||||
material_id: int,
|
material_id: int,
|
||||||
current_user: User = Depends(require_admin),
|
current_user: User = Depends(require_admin_or_manager),
|
||||||
db: AsyncSession = Depends(get_db),
|
db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
删除课程资料(需要管理员权限)
|
删除课程资料(需要管理员或经理权限)
|
||||||
|
|
||||||
- **course_id**: 课程ID
|
- **course_id**: 课程ID
|
||||||
- **material_id**: 资料ID
|
- **material_id**: 资料ID
|
||||||
@@ -330,11 +330,11 @@ async def get_course_knowledge_points(
|
|||||||
async def create_knowledge_point(
|
async def create_knowledge_point(
|
||||||
course_id: int,
|
course_id: int,
|
||||||
point_in: KnowledgePointCreate,
|
point_in: KnowledgePointCreate,
|
||||||
current_user: User = Depends(require_admin),
|
current_user: User = Depends(require_admin_or_manager),
|
||||||
db: AsyncSession = Depends(get_db),
|
db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
创建知识点(需要管理员权限)
|
创建知识点(需要管理员或经理权限)
|
||||||
|
|
||||||
- **course_id**: 课程ID
|
- **course_id**: 课程ID
|
||||||
- **name**: 知识点名称
|
- **name**: 知识点名称
|
||||||
@@ -357,11 +357,11 @@ async def create_knowledge_point(
|
|||||||
async def update_knowledge_point(
|
async def update_knowledge_point(
|
||||||
point_id: int,
|
point_id: int,
|
||||||
point_in: KnowledgePointUpdate,
|
point_in: KnowledgePointUpdate,
|
||||||
current_user: User = Depends(require_admin),
|
current_user: User = Depends(require_admin_or_manager),
|
||||||
db: AsyncSession = Depends(get_db),
|
db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
更新知识点(需要管理员权限)
|
更新知识点(需要管理员或经理权限)
|
||||||
|
|
||||||
- **point_id**: 知识点ID
|
- **point_id**: 知识点ID
|
||||||
- **point_in**: 更新的知识点数据(所有字段都是可选的)
|
- **point_in**: 更新的知识点数据(所有字段都是可选的)
|
||||||
@@ -376,11 +376,11 @@ async def update_knowledge_point(
|
|||||||
@router.delete("/knowledge-points/{point_id}", response_model=ResponseModel[bool])
|
@router.delete("/knowledge-points/{point_id}", response_model=ResponseModel[bool])
|
||||||
async def delete_knowledge_point(
|
async def delete_knowledge_point(
|
||||||
point_id: int,
|
point_id: int,
|
||||||
current_user: User = Depends(require_admin),
|
current_user: User = Depends(require_admin_or_manager),
|
||||||
db: AsyncSession = Depends(get_db),
|
db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
删除知识点(需要管理员权限)
|
删除知识点(需要管理员或经理权限)
|
||||||
|
|
||||||
- **point_id**: 知识点ID
|
- **point_id**: 知识点ID
|
||||||
"""
|
"""
|
||||||
@@ -460,11 +460,11 @@ async def remove_material_knowledge_point(
|
|||||||
)
|
)
|
||||||
async def create_growth_path(
|
async def create_growth_path(
|
||||||
path_in: GrowthPathCreate,
|
path_in: GrowthPathCreate,
|
||||||
current_user: User = Depends(require_admin),
|
current_user: User = Depends(require_admin_or_manager),
|
||||||
db: AsyncSession = Depends(get_db),
|
db: AsyncSession = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
创建成长路径(需要管理员权限)
|
创建成长路径(需要管理员或经理权限)
|
||||||
|
|
||||||
- **name**: 路径名称
|
- **name**: 路径名称
|
||||||
- **description**: 路径描述
|
- **description**: 路径描述
|
||||||
|
|||||||
Reference in New Issue
Block a user