fix: soft delete user when removing last userWorkspace (#9741)

### Context 

User (who has create a workspace and deleted it) can't create new
workspace because after deleting his previous workspace, user has not
been soft deleted.

There is several cases where user should be soft deleted :
1/ if user delete his account
2/ if a user's workspace is deleted + user has no other workspace
3/ If a workspaceMember is removed + user has no other workspace


### Solution
In `handleRemoveWorkspaceMember` method (logic used in the 3 cases),
soft delete user when removing the last userWorkspace


closes #9728

Co-authored-by: etiennejouan <jouan.etienne@gmail.com>
This commit is contained in:
Etienne
2025-01-20 16:19:20 +01:00
committed by GitHub
parent a9f186e85c
commit b25330b607

View File

@ -159,6 +159,16 @@ export class WorkspaceService extends TypeOrmQueryService<Workspace> {
userId,
workspaceId,
});
const userWorkspaces = await this.userWorkspaceRepository.find({
where: {
userId,
},
});
if (userWorkspaces.length === 0) {
await this.userRepository.softDelete(userId);
}
}
async isSubdomainAvailable(subdomain: string) {