Example #1
0
 public function getLike($postsId)
 {
     $posts = Posts::find($postsId);
     if (!$posts) {
         return redirect()->route('home');
     }
     if (!Auth::user()->isFriendWith($posts->user)) {
         return redirect()->route('home');
     }
     if (Auth::user()->hasLikedPosts($posts)) {
         $posts->likes()->where('user_id', Auth::id())->first()->delete();
         return response()->json(['number_of_likes' => $posts->likes->count()]);
         // return redirect()->back();
     }
     $like = $posts->likes()->create([]);
     Auth::user()->likes()->save($like);
     $number_of_likes = $posts->likes->count();
     event(new PostWasLiked(Auth::user()->getName(), $posts->id, $number_of_likes));
     return response()->json(['number_of_likes' => $number_of_likes]);
     // return redirect()->back();
 }
Example #2
0
 /**
  * Get the channels the event should be broadcast on.
  *
  * @return array
  */
 public function broadcastOn()
 {
     $user_id = Posts::find($this->post_id)->user_id;
     return ['user.' . $user_id];
 }