Skip to content

Commit 2fa6802

Browse files
fregataaclaude
andcommitted
fix(BA-5765): guard purge_v2 with UnreachableError when user context is missing
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b4f8119 commit 2fa6802

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

  • src/ai/backend/manager/services/vfolder/services

src/ai/backend/manager/services/vfolder/services/vfolder.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from ai.backend.common.contexts.user import current_user
2020
from ai.backend.common.defs import VFOLDER_GROUP_PERMISSION_MODE
2121
from ai.backend.common.etcd import AsyncEtcd
22+
from ai.backend.common.exception import UnreachableError
2223
from ai.backend.common.types import (
2324
QuotaScopeID,
2425
QuotaScopeType,
@@ -1652,15 +1653,16 @@ async def delete_v2(self, action: DeleteVFolderV2Action) -> DeleteVFolderV2Actio
16521653
async def purge_v2(self, action: PurgeVFolderV2Action) -> PurgeVFolderV2ActionResult:
16531654
"""Permanently purge a vfolder by ID. RBAC enforced at processor level."""
16541655
me = current_user()
1656+
if me is None:
1657+
raise UnreachableError("User context is not available")
16551658
vfolder_data = await self._vfolder_repository.get_by_id(action.vfolder_id)
16561659

16571660
# Host permission check — resolved from current user context
1658-
if me is not None:
1659-
await self._vfolder_repository.ensure_host_permission_allowed_by_user(
1660-
vfolder_data.host,
1661-
permission=VFolderHostPermission.DELETE,
1662-
user_uuid=me.user_id,
1663-
)
1661+
await self._vfolder_repository.ensure_host_permission_allowed_by_user(
1662+
vfolder_data.host,
1663+
permission=VFolderHostPermission.DELETE,
1664+
user_uuid=me.user_id,
1665+
)
16641666

16651667
await self._vfolder_repository.delete_vfolders_forever([action.vfolder_id])
16661668
await self._remove_vfolder_from_storage(vfolder_data)

0 commit comments

Comments
 (0)