/**
  * @param Request $request
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function register(Request $request)
 {
     $request = $request->all();
     $validator = Validator::make($request, ['email' => 'required|email|unique:users|min:6', 'name' => 'required|min:3', 'password' => 'required|min:6']);
     if ($validator->fails()) {
         return response()->json($validator->messages(), 422);
     }
     $user = new User();
     $user->email = $request['email'];
     $user->name = $request['name'];
     $user->password = bcrypt($request['password']);
     $user->save();
     $token = new tokenGenerator();
     $user->setAttribute('token', $token->uuid);
     // add token to returned object
     UserSessionHandler::startUserSession($user->id, $token->uuid);
     // starts session
     return response()->json($user, 200);
 }