### TL;DR Added session cleanup logic to handle active organization reassignment when user organizations are deleted. ### What changed? Enhanced the `cleanupUserOrganizations` method in `AuthService` to reassign active organizations for users whose current active organization is being deleted. The method now: - Identifies users who are members of organizations being deleted - Finds alternative organizations for each affected user - Updates their sessions to use a fallback organization or null if no alternatives exist - Wraps the entire operation in a database transaction for consistency ### How to test? Run the new test suite: ```bash bun test app/server/modules/auth/__tests__/auth.cleanup-user-organizations.test.ts ``` The test verifies that when a user's organization is deleted, other members' sessions are properly updated to use their remaining organization memberships as the active organization. ### Why make this change? Prevents orphaned session references when organizations are deleted. Without this change, users could have sessions pointing to non-existent organizations as their active workspace, leading to potential application errors or inconsistent state. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **Bug Fixes** * Improved organization deletion handling. When an organization is deleted, user sessions are now automatically reassigned to a valid fallback organization, ensuring session state consistency and preventing invalid organization references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| cli | ||
| core | ||
| db | ||
| jobs | ||
| lib | ||
| modules | ||
| plugins | ||
| utils | ||
| app.ts | ||