/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $this->validate($request, ['name' => 'required', 'email' => 'required', 'password' => 'required', 'roles' => 'required']);
     $data = $request->except('password');
     $data['password'] = bcrypt($request->password);
     $user = User::create($data);
     foreach ($request->roles as $role) {
         $user->assignRole($role);
     }
     Session::flash('flash_message', 'User added!');
     return redirect('admin/users');
 }
 protected function signup(Request $request)
 {
     $credentials = $request->only('email', 'password', 'name');
     $credentials['password'] = bcrypt($credentials['password']);
     try {
         $user = User::create($credentials);
     } catch (\Tymon\JWTAuth\Exceptions\JWTException $e) {
         return response()->json(['error' => 'Could not create user.'], 409);
     } catch (\QueryException $e) {
         return response()->json(['error' => 'Email already exists.'], 409);
     }
     $token = JWTAuth::fromUser($user);
     return response()->json(compact('token'));
 }