@@ -263,8 +263,16 @@ async def delete(
263263 If deletion cannot proceed immediately (has orders, subscriptions, or
264264 Stripe deletion fails), a support ticket will be created for manual handling.
265265 """
266+ # Re-fetch on write session — the guard loaded on a read session
267+ from polar .organization .repository import OrganizationRepository
268+
269+ org_repo = OrganizationRepository .from_session (session )
270+ organization = await org_repo .get_by_id (authz .organization .id )
271+ if organization is None :
272+ raise ResourceNotFound ()
273+
266274 result = await organization_service .request_deletion (
267- session , authz .auth_subject , authz . organization
275+ session , authz .auth_subject , organization
268276 )
269277
270278 return OrganizationDeletionResponse (
@@ -354,7 +362,13 @@ async def invite_member(
354362 session : AsyncSession = Depends (get_db_session ),
355363) -> OrganizationMember :
356364 """Invite a user to join an organization."""
357- organization = authz .organization
365+ # Re-fetch on write session — the guard loaded on a read session
366+ from polar .organization .repository import OrganizationRepository
367+
368+ org_repo = OrganizationRepository .from_session (session )
369+ organization = await org_repo .get_by_id (authz .organization .id )
370+ if organization is None :
371+ raise ResourceNotFound ()
358372
359373 # Get or create user by email
360374 user , _ = await user_service .get_by_email_or_create (session , invite_body .email )
0 commit comments