Updated user status on deleted membership
This commit is contained in:
parent
0a3c198e00
commit
22c1ac4abe
1 changed files with 23 additions and 0 deletions
|
@ -613,6 +613,12 @@ App::delete('/v1/teams/:teamId/memberships/:inviteId')
|
||||||
throw new Exception('Team IDs don\'t match', 404);
|
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);
|
$team = $dbForInternal->getDocument('teams', $teamId);
|
||||||
|
|
||||||
if (empty($team->getId())) {
|
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);
|
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
|
if ($membership->getAttribute('confirm')) { // Count only confirmed members
|
||||||
$team = $dbForInternal->updateDocument('teams', $team->getId(), $team->setAttribute('sum', $team->getAttribute('sum', 0) - 1));
|
$team = $dbForInternal->updateDocument('teams', $team->getId(), $team->setAttribute('sum', $team->getAttribute('sum', 0) - 1));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue