public function destroy($id) { $comment = ActivityComment::findOrFail($id); $commentId = $comment->id; $this->authorize('delete', $comment); $comment->delete(); return new JsonResponse(['id' => 'comment_' . $commentId, 'status' => 'success', 'message' => 'Commentaire supprimé !']); }
/** * Évènements */ public static function boot() { parent::boot(); // On supprime les likes du commentaire ActivityComment::deleting(function ($comment) { $comment->likes()->delete(); }); }
public function likeActivityComment($id) { $comment = ActivityComment::findOrFail($id); if (Auth::user()->id != $comment->user->id && !Auth::user()->isFriendWith($comment->user)) { return new UnauthorizedException(); } // On check que l'utilisateur n'a pas liké le commentaire if (Auth::user()->hasLikedActivityComment($comment)) { $likeToRemove = $this->repository->getLikeByActivityCommentId(Auth::user(), $comment); $removeLike = Like::findOrFail($likeToRemove->id); $removeLike->delete(); $type = 'remove'; } else { $comment->likes()->create(['user_id' => Auth::user()->id]); $type = 'add'; } return new JsonResponse(['status' => 'success', 'type' => $type]); }