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)