Skip to content

Commit c2ae10f

Browse files
fregataaclaude
andcommitted
fix(BA-4525): Update callers of changed interfaces for type consistency
Update data types and vfolder repository to match the RBACElementType interfaces introduced in the previous commit: - DomainData, GroupData, UserData: entity_operations() returns Mapping[RBACElementType, ...] to satisfy ScopeSystemRoleData Protocol - vfolder/repository.py: ScopeType.VFOLDER → RBACElementType.VFOLDER at RBACGranter/RBACRevoker call sites Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 076cfaf commit c2ae10f

4 files changed

Lines changed: 13 additions & 10 deletions

File tree

src/ai/backend/manager/data/domain/types.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from datetime import datetime
77
from typing import Any, override
88

9+
from ai.backend.common.data.permission.types import RBACElementType
910
from ai.backend.common.data.user.types import UserRole
1011
from ai.backend.common.types import ResourceSlot, VFolderHostPermissionMap
1112
from ai.backend.manager.data.permission.id import ScopeId
@@ -46,9 +47,9 @@ def scope_id(self) -> ScopeId:
4647
def role_name(self) -> str:
4748
return f"domain-{self.name}-admin"
4849

49-
def entity_operations(self) -> Mapping[EntityType, Iterable[OperationType]]:
50+
def entity_operations(self) -> Mapping[RBACElementType, Iterable[OperationType]]:
5051
return {
51-
entity: OperationType.admin_operations()
52+
entity.to_element(): OperationType.admin_operations()
5253
for entity in EntityType.admin_accessible_entity_types_in_domain()
5354
}
5455

src/ai/backend/manager/data/group/types.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from datetime import datetime
88
from typing import Any, override
99

10+
from ai.backend.common.data.permission.types import RBACElementType
1011
from ai.backend.common.types import ResourceSlot, VFolderHostPermissionMap
1112
from ai.backend.manager.data.permission.id import ScopeId
1213
from ai.backend.manager.data.permission.types import (
@@ -63,9 +64,9 @@ def scope_id(self) -> ScopeId:
6364
def role_name(self) -> str:
6465
return f"project-{str(self.id)[:8]}-admin"
6566

66-
def entity_operations(self) -> Mapping[EntityType, Iterable[OperationType]]:
67+
def entity_operations(self) -> Mapping[RBACElementType, Iterable[OperationType]]:
6768
return {
68-
entity: OperationType.admin_operations()
69+
entity.to_element(): OperationType.admin_operations()
6970
for entity in EntityType.admin_accessible_entity_types_in_project()
7071
}
7172

src/ai/backend/manager/data/user/types.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
from sqlalchemy.engine import Row
1111

12+
from ai.backend.common.data.permission.types import RBACElementType
1213
from ai.backend.common.data.user.types import UserRole
1314
from ai.backend.common.types import AccessKey
1415
from ai.backend.manager.data.keypair.types import KeyPairData
@@ -97,13 +98,13 @@ def scope_id(self) -> ScopeId:
9798
def role_name(self) -> str:
9899
return f"user-{str(self.id)[:8]}"
99100

100-
def entity_operations(self) -> Mapping[EntityType, Iterable[OperationType]]:
101+
def entity_operations(self) -> Mapping[RBACElementType, Iterable[OperationType]]:
101102
resource_entity_permissions = {
102-
entity: OperationType.owner_operations()
103+
entity.to_element(): OperationType.owner_operations()
103104
for entity in EntityType.owner_accessible_entity_types_in_user()
104105
}
105106
user_permissions = OperationType.owner_operations() - {OperationType.CREATE}
106-
return {EntityType.USER: user_permissions, **resource_entity_permissions}
107+
return {RBACElementType.USER: user_permissions, **resource_entity_permissions}
107108

108109
@classmethod
109110
def from_row(cls, row: Row[Any]) -> Self:

src/ai/backend/manager/repositories/vfolder/repository.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ async def create_vfolder_with_permission(
349349
entity_type=EntityType.VFOLDER,
350350
entity_id=str(params.id),
351351
),
352-
granted_entity_scope_type=ScopeType.VFOLDER,
352+
granted_entity_scope_type=RBACElementType.VFOLDER,
353353
target_scope_id=ScopeId(
354354
scope_type=ScopeType.USER,
355355
scope_id=str(params.user),
@@ -538,7 +538,7 @@ async def create_vfolder_permission(
538538
entity_type=EntityType.VFOLDER,
539539
entity_id=str(vfolder_id),
540540
),
541-
granted_entity_scope_type=ScopeType.VFOLDER,
541+
granted_entity_scope_type=RBACElementType.VFOLDER,
542542
target_scope_id=ScopeId(
543543
scope_type=ScopeType.USER,
544544
scope_id=str(user_id),
@@ -577,7 +577,7 @@ async def delete_vfolder_permission(self, vfolder_id: uuid.UUID, user_id: uuid.U
577577
entity_type=EntityType.VFOLDER,
578578
entity_id=str(vfolder_id),
579579
),
580-
entity_scope_type=ScopeType.VFOLDER,
580+
entity_scope_type=RBACElementType.VFOLDER,
581581
target_role_ids=[user_role_id],
582582
operations=None, # Revoke all operations
583583
)

0 commit comments

Comments
 (0)