mirror of
https://github.com/GNS3/gns3-server
synced 2024-12-02 21:28:10 +00:00
Fix user delete endpoint.
This commit is contained in:
parent
49be4146d6
commit
d3ace8ff17
@ -153,22 +153,29 @@ async def update_user(
|
|||||||
return user
|
return user
|
||||||
|
|
||||||
|
|
||||||
@router.delete("/{user_id}", status_code=status.HTTP_204_NO_CONTENT)
|
@router.delete(
|
||||||
|
"/{user_id}",
|
||||||
|
dependencies=[Depends(get_current_active_user)],
|
||||||
|
status_code=status.HTTP_204_NO_CONTENT
|
||||||
|
)
|
||||||
async def delete_user(
|
async def delete_user(
|
||||||
user_id: UUID,
|
user_id: UUID,
|
||||||
users_repo: UsersRepository = Depends(get_repository(UsersRepository)),
|
users_repo: UsersRepository = Depends(get_repository(UsersRepository)),
|
||||||
current_user: schemas.User = Depends(get_current_active_user),
|
|
||||||
) -> None:
|
) -> None:
|
||||||
"""
|
"""
|
||||||
Delete an user.
|
Delete an user.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if current_user.is_superadmin:
|
user = await users_repo.get_user(user_id)
|
||||||
|
if not user:
|
||||||
|
raise ControllerNotFoundError(f"User '{user_id}' not found")
|
||||||
|
|
||||||
|
if user.is_superadmin:
|
||||||
raise ControllerForbiddenError("The super admin cannot be deleted")
|
raise ControllerForbiddenError("The super admin cannot be deleted")
|
||||||
|
|
||||||
success = await users_repo.delete_user(user_id)
|
success = await users_repo.delete_user(user_id)
|
||||||
if not success:
|
if not success:
|
||||||
raise ControllerNotFoundError(f"User '{user_id}' not found")
|
raise ControllerNotFoundError(f"User '{user_id}' could not be deleted")
|
||||||
|
|
||||||
|
|
||||||
@router.get("/me/", response_model=schemas.User)
|
@router.get("/me/", response_model=schemas.User)
|
||||||
|
Loading…
Reference in New Issue
Block a user