Updated user status on deleted membership
This commit is contained in:
parent
0a3c198e00
commit
22c1ac4abe
|
@ -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));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue