fix(activity): fail closed on deleted key lookup errors

This commit is contained in:
AxelRay 2026-09-25 04:14:21 +08:00
parent ed3e209501
commit 003909d325
2 changed files with 6 additions and 9 deletions

View file

@ -564,14 +564,10 @@ async def _get_deleted_keys_for_user(
prisma_client: PrismaClient,
user_id: str,
) -> Sequence["PrismaDeletedVerificationToken"]:
try:
return await DeletedVerificationTokenRepository(prisma_client).table.find_many(
where={"user_id": user_id}, # mutable-ok: Prisma query payload is consumed as a mutable mapping
order={"deleted_at": "desc"}, # mutable-ok: Prisma query payload is consumed as a mutable mapping
)
except Exception as e:
verbose_proxy_logger.warning("Failed to fetch deleted key metadata for user %s: %s", user_id, e)
return ()
return await DeletedVerificationTokenRepository(prisma_client).table.find_many(
where={"user_id": user_id}, # mutable-ok: Prisma query payload is consumed as a mutable mapping
order={"deleted_at": "desc"}, # mutable-ok: Prisma query payload is consumed as a mutable mapping
)
async def get_user_api_key_filter(

View file

@ -355,7 +355,8 @@ async def test_get_user_api_key_filter_handles_deleted_lookup_failure_and_owned_
side_effect=RuntimeError("deleted-key table unavailable")
)
assert await get_user_api_key_filter(mock_prisma, "target-user", "active-key") == ["active-key"]
with pytest.raises(RuntimeError, match="deleted-key table unavailable"):
await get_user_api_key_filter(mock_prisma, "target-user", "active-key")
@pytest.mark.asyncio