From 1db445d63d01e9cc6c2a9d45c0170bf226b0811c Mon Sep 17 00:00:00 2001 From: tsygankoviva Date: Wed, 3 Jun 2026 17:39:10 +0300 Subject: [PATCH] =?UTF-8?q?org-archive:=20=D0=B2=20=D1=80=D1=83=D1=87?= =?UTF-8?q?=D0=BA=D0=B5=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20org=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD?= =?UTF-8?q?=D0=BE=20in=5Factive,=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80?= =?UTF-8?q?=D1=8B=20=D0=B2=20get=20=D0=BD=D0=B0=20is=5Factive=20=D0=B8=20i?= =?UTF-8?q?s=5Fssp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/src/api/v1/org_unit.py | 5 +++++ api/src/domain/schemas.py | 6 +++++- api/src/services/user_service.py | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/api/src/api/v1/org_unit.py b/api/src/api/v1/org_unit.py index cf23fed..725bcd9 100644 --- a/api/src/api/v1/org_unit.py +++ b/api/src/api/v1/org_unit.py @@ -18,6 +18,8 @@ router = APIRouter(prefix="/org-unit", tags=["ssp"]) async def org_unit_list( offset: int = 0, limit: int = 100, + is_active: bool | None = None, + is_ssp: bool | None = None, load_users_count: bool = False, db: AsyncSession = Depends(get_db), current_user: AppUser = Depends(require_admin), @@ -29,6 +31,9 @@ async def org_unit_list( offset=offset, limit=limit, load_users=load_users_count, + is_active=is_active, + is_ssp=is_ssp, + ) return BaseListResponse( result=[ diff --git a/api/src/domain/schemas.py b/api/src/domain/schemas.py index d843b8e..7f08ffc 100644 --- a/api/src/domain/schemas.py +++ b/api/src/domain/schemas.py @@ -155,7 +155,10 @@ class UserAdminListResponse(UserInDB): "role_id": data.role_id, } try: - result["org_units"] = data.org_units + result["org_units"] = [ + ou for ou in data.org_units + if ou.is_active + ] except MissingGreenlet: pass @@ -227,6 +230,7 @@ class OrgUnitBaseSchema(BaseModel): class OrgUnitUpdateSchema(OrgUnitBaseSchema): title: Optional[str] = None is_ssp: Optional[bool] = None + is_active: Optional[bool] = None model_config = ConfigDict(from_attributes=True) diff --git a/api/src/services/user_service.py b/api/src/services/user_service.py index e356313..0d0bf27 100644 --- a/api/src/services/user_service.py +++ b/api/src/services/user_service.py @@ -112,7 +112,7 @@ class UserService: if (had_many_ssp_role and not has_many_ssp_role_now) or is_executor_to_dfip_transition: await self.user_repo.clear_many_ssp(user_id) if user_data.load_orgs: - updated = self.user_repo.get( + updated = await self.user_repo.get( user_id=user_id, load_orgs=user_data.load_orgs, )