1
0
Fork 0
mirror of synced 2024-06-29 11:40:45 +12:00

Updated user status on deleted membership

This commit is contained in:
Eldad Fux 2021-05-10 00:20:57 +03:00
parent 0a3c198e00
commit 22c1ac4abe

View file

@ -613,6 +613,12 @@ App::delete('/v1/teams/:teamId/memberships/:inviteId')
throw new Exception('Team IDs don\'t match', 404);
}
$user = $dbForInternal->getDocument('users', $membership->getAttribute('userId'));
if ($user->isEmpty()) {
throw new Exception('User not found', 404);
}
$team = $dbForInternal->getDocument('teams', $teamId);
if (empty($team->getId())) {
@ -623,6 +629,23 @@ App::delete('/v1/teams/:teamId/memberships/:inviteId')
throw new Exception('Failed to remove membership from DB', 500);
}
$memberships = $user->getAttribute('memberships', []);
foreach ($memberships as $key => $child) {
/** @var Document $child */
if ($inviteId == $child->getId()) {
unset($memberships[$key]);
break;
}
}
Authorization::disable();
$dbForInternal->updateDocument('users', $user->getId(), $user->setAttribute('memberships', $memberships));
Authorization::reset();
if ($membership->getAttribute('confirm')) { // Count only confirmed members
$team = $dbForInternal->updateDocument('teams', $team->getId(), $team->setAttribute('sum', $team->getAttribute('sum', 0) - 1));
}