new-role-fix: фикс зависимостей для новой роли #136

Merged
tsygankoviva merged 1 commits from new-role-fix into test 2026-09-01 10:30:28 +03:00
2 changed files with 9 additions and 4 deletions

View File

@ -102,6 +102,7 @@ def require_executor(
UserRoleEnum.ADMIN, UserRoleEnum.ADMIN,
UserRoleEnum.EXECUTOR_DFIP, UserRoleEnum.EXECUTOR_DFIP,
UserRoleEnum.EXECUTOR_RF, UserRoleEnum.EXECUTOR_RF,
UserRoleEnum.EXECUTOR_DURRS,
]: ]:
raise HTTPException( raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN, status_code=status.HTTP_403_FORBIDDEN,
@ -110,10 +111,14 @@ def require_executor(
return current_user return current_user
def require_executor_dfip( def require_executor_dfip_or_durrs(
current_user: AppUser = Depends(get_current_active_user_with_set_db), current_user: AppUser = Depends(get_current_active_user_with_set_db),
) -> AppUser: ) -> 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( raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN, status_code=status.HTTP_403_FORBIDDEN,
detail="Недостаточно прав", detail="Недостаточно прав",

View File

@ -4,7 +4,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from src.api.v1.deps import ( from src.api.v1.deps import (
get_current_active_user, get_current_active_user,
require_admin, require_admin,
require_executor_dfip, require_executor_dfip_or_durrs,
) )
from src.db.session import get_db from src.db.session import get_db
from src.db.models.app_user import AppUser from src.db.models.app_user import AppUser
@ -65,7 +65,7 @@ async def get_users(
async def get_many_ssp( async def get_many_ssp(
user_id: int, user_id: int,
db: AsyncSession = Depends(get_db), 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) user_service = UserService(db)
ssp_list = await user_service.get_many_ssp(user_id, current_user) ssp_list = await user_service.get_many_ssp(user_id, current_user)