コード例 #1
0
 /**
  * Создать запрос на добавление в друзья
  *
  * PUT /requests
  */
 public function create(Request $request)
 {
     $user = User::find($request->input('user_id'));
     if (!$user) {
         return response()->json(['status' => 'error', 'message' => 'User not found']);
     }
     $authId = Auth::user()->id;
     if ($user->id == $authId) {
         return response()->json(['status' => 'error', 'message' => 'Can\'t send request yourself']);
     }
     //если человек уже у нас в друзьях - ничего не делаем
     if ($this->friendship->isFriend($user)) {
         return response()->json(['status' => 'notice', 'message' => 'Already in friends']);
     }
     //если человек отправил нам заявку в друзья - подтверждаем ее
     $request = \App\Request::where('user_id', $user->id)->where('friend_id', $authId)->first();
     if ($request) {
         $this->friendship->acceptRequest($request);
         return response()->json(['status' => 'success']);
     }
     //находим или создаем запрос
     $request = \App\Request::firstOrNew(['user_id' => $authId, 'friend_id' => $user->id]);
     $request->save();
     return response()->json(['status' => 'success', 'requestId' => $request->id]);
 }