From c7d566086eddf90836f485d310242650d6138779 Mon Sep 17 00:00:00 2001 From: tsygankoviva Date: Tue, 1 Sep 2026 10:28:18 +0300 Subject: [PATCH] =?UTF-8?q?new-role-fix:=20=D1=84=D0=B8=D0=BA=D1=81=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=BE=D0=B2=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=80=D0=BE=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/src/api/v1/deps.py | 9 +++++++-- api/src/api/v1/users.py | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/api/src/api/v1/deps.py b/api/src/api/v1/deps.py index 1093752..29038d2 100644 --- a/api/src/api/v1/deps.py +++ b/api/src/api/v1/deps.py @@ -102,6 +102,7 @@ def require_executor( UserRoleEnum.ADMIN, UserRoleEnum.EXECUTOR_DFIP, UserRoleEnum.EXECUTOR_RF, + UserRoleEnum.EXECUTOR_DURRS, ]: raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, @@ -110,10 +111,14 @@ def require_executor( return current_user -def require_executor_dfip( +def require_executor_dfip_or_durrs( current_user: AppUser = Depends(get_current_active_user_with_set_db), ) -> AppUser: - if current_user.role_id not in [UserRoleEnum.ADMIN, UserRoleEnum.EXECUTOR_DFIP]: + if current_user.role_id not in [ + UserRoleEnum.ADMIN, + UserRoleEnum.EXECUTOR_DFIP, + UserRoleEnum.EXECUTOR_DURRS, + ]: raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, detail="Недостаточно прав", diff --git a/api/src/api/v1/users.py b/api/src/api/v1/users.py index aeba3ce..1469867 100644 --- a/api/src/api/v1/users.py +++ b/api/src/api/v1/users.py @@ -4,7 +4,7 @@ from sqlalchemy.ext.asyncio import AsyncSession from src.api.v1.deps import ( get_current_active_user, require_admin, - require_executor_dfip, + require_executor_dfip_or_durrs, ) from src.db.session import get_db from src.db.models.app_user import AppUser @@ -65,7 +65,7 @@ async def get_users( async def get_many_ssp( user_id: int, db: AsyncSession = Depends(get_db), - current_user: AppUser = Depends(require_executor_dfip), + current_user: AppUser = Depends(require_executor_dfip_or_durrs), ): user_service = UserService(db) ssp_list = await user_service.get_many_ssp(user_id, current_user) -- 2.47.2