From 735e16afeba70ef22e690d668e6693cdd2bac140 Mon Sep 17 00:00:00 2001 From: Fringg Date: Wed, 29 Apr 2026 10:47:40 +0300 Subject: [PATCH] fix: cabinet /block endpoint now disables panel user in RemnaWave --- app/cabinet/routes/admin_users.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/app/cabinet/routes/admin_users.py b/app/cabinet/routes/admin_users.py index b8ba23d7..20553ed4 100644 --- a/app/cabinet/routes/admin_users.py +++ b/app/cabinet/routes/admin_users.py @@ -1791,9 +1791,24 @@ async def block_user( admin: User = Depends(require_permission('users:block')), db: AsyncSession = Depends(get_cabinet_db), ): - """Block a user (shortcut for status update).""" - request = UpdateUserStatusRequest(status=UserStatusEnum.BLOCKED, reason=reason) - return await update_user_status(user_id, request, admin, db) + """Block a user — sets DB status AND disables panel user in RemnaWave.""" + from app.database.crud.user import get_user_by_id + + user = await get_user_by_id(db, user_id) + if not user: + raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail='User not found') + + from app.services.user_service import UserService + + user_service = UserService() + await user_service.block_user(db, user, reason=reason) + + return UpdateUserStatusResponse( + success=True, + user_id=user_id, + status=UserStatusEnum.BLOCKED, + message='User blocked', + ) @router.post('/{user_id}/unblock', response_model=UpdateUserStatusResponse)