public function getProfile($username)
 {
     $user = User::where('username', $username)->first();
     if (!$user) {
         abort(404);
     }
     return view('profile.index')->with('user', $user);
 }
 public function postDelete($username)
 {
     $user = User::where('username', $username)->first();
     if (!Auth::user()->isFriendsWith($user)) {
         return redirect()->back();
     }
     Auth::user()->deleteFriend($user);
     return redirect()->back()->with('info', 'Friend Deleted');
 }
 public function getProfile($username)
 {
     $user = User::where('username', $username)->first();
     if (!$user) {
         abort(404);
     }
     $statuses = $user->statuses()->notReply()->get();
     return view('profile.index')->with('user', $user)->with('statuses', $statuses)->with('authUserIsFriend', Auth::user()->isFriendsWith($user));
 }
 public function getResults(Request $request)
 {
     $query = $request->input('query');
     if (!$query) {
         return redirect()->route('home');
     }
     $users = User::where(DB::raw("CONCAT(first_name,'', last_name)"), 'LIKE', "%{$query}%")->orWhere('username', 'LIKE', "%{$query}%")->get();
     return view('search.results')->with('users', $users);
 }
 public function getAccept($username)
 {
     $user = User::where('username', $username)->first();
     if (!$user) {
         return redirect()->route('home')->with('info', 'That user could not be found');
     }
     if (!Auth::user()->hasFriendRequestReceived($user)) {
         return redirect()->route('home');
     }
     Auth::user()->acceptFriendRequest($user);
     return redirect()->route('profile.index', ['username' => $username])->with('info', 'Friend request accepted.');
 }