コード例 #1
0
 /**
  * Ajoute un nouveau commentaire pour une activité
  *
  * @param Requests\PostActivityRequest $request
  * @return JsonResponse
  */
 public function store(Requests\PostActivityRequest $request)
 {
     $activity = Activity::findOrFail($request->input('activity_id'));
     $this->authorize('comment', $activity);
     $comment = $activity->comments()->create(['user_id' => $request->user()->id, 'content' => $request->input('content')]);
     return view('activities.comment', compact('comment'));
 }
コード例 #2
0
 /**
  * Met à jour une activité
  *
  * @param Requests\postActivityRequest $request
  * @param $activity
  * @return JsonResponse
  */
 public function update(Requests\PostActivityRequest $request, $activity)
 {
     $activity = Activity::findOrFail($activity);
     $this->authorize('update', $activity);
     $activity->update(['content' => $request->input('content')]);
     return new JsonResponse(['status' => 'success', 'id' => $activity->id, 'content' => $activity->content]);
 }
コード例 #3
0
 /**
  * Permet d'aimer une publication
  *
  * @param $id
  * @return JsonResponse
  */
 public function likeActivity($id)
 {
     $activity = Activity::findOrFail($id);
     if (Auth::user()->id != $activity->user->id && !Auth::user()->isFriendWith($activity->user)) {
         return new UnauthorizedException();
     }
     //  On check que l'utilisateur n'a pas liké la publication
     if (Auth::user()->hasLikedActivity($activity)) {
         $likeToRemove = $this->repository->getLikeByActivityId(Auth::user(), $activity);
         $removeLike = Like::findOrFail($likeToRemove->id);
         $removeLike->delete();
         $type = 'remove';
     } else {
         /*
         $like = $activity->likes()->create([]);
         Auth::user()->likes()->save($like);
         */
         $activity->likes()->create(['user_id' => Auth::user()->id]);
         $type = 'add';
     }
     return new JsonResponse(['status' => 'success', 'type' => $type]);
 }