fixed stale team memberships on user
This commit is contained in:
parent
fcd4a69ad1
commit
0fe59d457b
1 changed files with 7 additions and 1 deletions
|
@ -343,11 +343,17 @@ App::delete('/v1/teams/:teamId')
|
|||
Query::limit(2000), // TODO fix members limit
|
||||
]);
|
||||
|
||||
// TODO delete all members individually from the user object
|
||||
foreach ($memberships as $membership) {
|
||||
if (!$dbForProject->deleteDocument('memberships', $membership->getId())) {
|
||||
throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Failed to remove membership for team from DB');
|
||||
}
|
||||
|
||||
$user = $dbForProject->getDocument('users', $membership->getAttribute('userId'));
|
||||
$user->setAttribute('memberships', array_values(array_filter(
|
||||
$user->getAttribute('memberships', []),
|
||||
fn($um) => $um['teamId'] !== $membership->getAttribute('teamId'))
|
||||
));
|
||||
$dbForProject->updateDocument('users', $user->getId(), $user);
|
||||
}
|
||||
|
||||
if (!$dbForProject->deleteDocument('teams', $teamId)) {
|
||||
|
|
Loading…
Reference in a new issue