/** * Execute the command. * * @param UserRepository $userRepository * * @param ResponseRepository $responseRepository * * @return void */ public function handle(UserRepository $userRepository, MessageRepository $messageRepository) { $message = Message::createMessage($this->body, $this->senderId, $this->senderProfileImage, $this->senderName); $response = MessageResponse::createMessageResponse($this->body, $this->senderId, $this->receiverId, $this->senderProfileImage, $this->senderName); $userRepository->findById($this->receiverId)->messages()->save($message); $messageRepository->findById($message->id)->messageResponses()->save($response); $userRepository->findById($this->receiverId)->messageResponses()->save($response); return true; }
/** * Display the specified user. * * @param int $id * * @return Response */ public function show($id, UserRepository $userRepository, FeedRepository $feedRepository) { $currentUser = $this->currentUser; $user = $userRepository->findById($id); $feeds = $feedRepository->getPublishedByUser($user); return view('users.show', compact('currentUser', 'user', 'feeds')); }
/** * Execute the command. * * @param UserRepository, $userRepository * * @param EmailRepository $emailRepository * * @return void */ public function handle(UserRepository $userRepository, MessageRepository $messageRepository) { $user = $userRepository->findById($this->receiverId); $message = $messageRepository->findById($this->messageId); if (!$message->belongsToUser($this->receiverId)) { $user->messages()->save($message); } if ($this->receiverId == $this->senderId) { $userIdToSaveTo = $message->getLastReceiverId(); $messageResponse = MessageResponse::createMessageResponse($this->body, $this->senderId, $userIdToSaveTo, $this->senderProfileImage, $this->senderName); $messageRepository->findById($this->messageId)->messageResponses()->save($messageResponse); $userRepository->findById($userIdToSaveTo)->messageResponses()->save($messageResponse); } else { $messageResponse = MessageResponse::createMessageResponse($this->body, $this->senderId, $this->receiverId, $this->senderProfileImage, $this->senderName); $messageRepository->findById($this->messageId)->messageResponses()->save($messageResponse); $user->messageResponses()->save($messageResponse); } }
/** * Execute the command. * * @param FriendRepository $friendRepository * * @return void */ public function handle(UserRepository $userRepository) { $otherUser = $userRepository->findById($this->userId); $currentUser = Auth::user(); $currentUser->finishFriendshipWith($this->userId); $otherUser->finishFriendshipWith(Auth::user()->id); $this->socketClient->updateChatListFriendRemoved($otherUser->id, 24, $currentUser->id, $otherUser->friends()->count()); return true; }
/** * Execute the command. * * @param UserRepository $userRepository * * @return void */ public function handle(UserRepository $userRepository) { $requestedUser = $userRepository->findById($this->requestedId); $requesterUser = Auth::user(); $friendRequest = FriendRequest::prepareFriendRequest($requesterUser->id); $requestedUser->friendRequests()->save($friendRequest); event(new FriendRequestWasSent($requestedUser, $requesterUser)); return true; }
/** * Send chat message to another user. * * @param Request $request * * @return mixed */ public function sendMessage(Request $request, UserRepository $userRepository) { $validator = Validator::make($request->all(), ['receiverId' => 'required', 'message' => 'required']); if ($validator->fails()) { if ($validator->fails()) { return abort(403); } } else { $this->dispatchFrom(SendChatMessageCommand::class, $request); return response()->json(['response' => 'success', 'availableToChat' => $userRepository->findById($request->receiverId)->chatstatus]); } }
/** * Store a newly created friend * * @param Request $request * * @return Response */ public function store(Request $request, UserRepository $repository) { $validator = Validator::make($request->all(), ['userId' => 'required']); if ($validator->fails()) { return response()->json(['response' => 'failed', 'message' => 'Something went wrong please try again.']); } else { $this->currentUser->createFriendShipWith($request->userId); $repository->findById($request->userId)->createFriendShipWith($this->currentUser->id); FriendRequest::where('user_id', $this->currentUser->id)->where('requester_id', $request->userId)->delete(); $friendRequestCount = $this->currentUser->friendRequests()->count(); return response()->json(['response' => 'success', 'count' => $friendRequestCount, 'message' => 'Friend request accepted.']); } }
/** * Show the form for creating a new resource. * * @return Response */ public function create($id, UserRepository $userRepository) { $currentUser = $this->currentUser; $user = $userRepository->findById($id); return view('messages.create', compact('currentUser', 'user')); }