getUser($request), $message)) { throw new AuthorizationFailedException(); } if (!$this->deleteMessage($message, $user)) { throw new RecordNotFoundException(); } return $this->getCodeResponse(204); } protected function deleteMessage(\Message $message, \User $user) { return (bool) array_reduce( ['snd', 'rec'], function ($success, $type) use ($message, $user) { if ($messageuser = \MessageUser::find([$user->id, $message->id, $type])) { $messageuser['deleted'] = 1; $success += $messageuser->store(); } return $success; }, 0 ); } }