/** * Handle the event. * * @param PostWasVoted $event * @return void */ public function handle(PostWasVoted $event) { $eventName = $event->value == 1 ? 'post.vote.like' : 'post.vote.dislike'; $this->activity->deleteByComposite($event->user, $event->post, 'post.vote.*'); $this->activity->create($event->user, $event->post, $eventName); $likes = $this->activity->countActivities($event->user, 'post.vote.like'); $dislikes = $this->activity->countActivities($event->user, 'post.vote.dislike'); $this->user->update($event->user, ['likes' => $likes, 'dislikes' => $dislikes]); }
/** * Handle the event. * * @param CommentWasCreated $event * @return void */ public function handle(CommentWasCreated $event) { $this->activity->create($event->user, $event->post, 'post.comment'); $comments = $this->activity->countActivities($event->user, 'post.comment'); $this->user->update($event->user, ['comments' => $comments]); }
/** * Handle the event. * * @param PostWasCreated $event * @return void */ public function handle(PostWasCreated $event) { $this->activity->create($event->user, $event->post, 'post.create'); $this->user->update($event->user, ['posts' => $this->activity->countActivities($event->user, 'post.create')]); }