/** * Создать запрос на добавление в друзья * * 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]); }