feat: 支局长可删除用户 + 清理重复蓝浩博
- 新增 DELETE /api/users/{id} (require_director, 不能删自己)
- 用户管理页新增「删除」按钮(仅支局长可见)
- 删除重复的分管领导蓝浩博
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -122,3 +122,23 @@ async def update_user_wecom(
|
||||
"name": user.name,
|
||||
"wecom_userid": user.wecom_userid,
|
||||
}
|
||||
|
||||
|
||||
@router.delete("/{user_id}")
|
||||
async def delete_user(
|
||||
user_id: str,
|
||||
current_user: dict = Depends(require_director),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
"""Director deletes a user. Cannot delete self."""
|
||||
if user_id == current_user["user_id"]:
|
||||
raise HTTPException(status_code=400, detail="不能删除自己")
|
||||
|
||||
result = await db.execute(select(User).where(User.id == uuid.UUID(user_id)))
|
||||
user = result.scalar_one_or_none()
|
||||
if not user:
|
||||
raise HTTPException(status_code=404, detail="User not found")
|
||||
|
||||
await db.delete(user)
|
||||
await db.commit()
|
||||
return {"detail": "deleted", "name": user.name}
|
||||
|
||||
Reference in New Issue
Block a user