/**
  * @param Request $request
  * @param int $id
  * @return ItemResponse|Response
  */
 public function update(Request $request, $id)
 {
     $input = array_filter($request->request->all());
     $user = $this->user->update($input, $id);
     if (!$user) {
         return (new Response())->setStatusCode(404);
     }
     return new ItemResponse($user);
 }
 /**
  * Handle the event.
  *
  * @param  MemberWasCreated $event
  * @return void
  */
 public function handle(MemberWasCreated $event)
 {
     $userName = $this->buildUsername($event->firstName, $event->lastName);
     if ($this->user->getByUsername($userName)) {
         $userName = $this->reCreateUsername($userName);
     }
     $password = $this->buildPassword($userName);
     $user = $this->user->create($event->id, $userName, $password);
     $this->attachRoles($user);
     return $user;
 }