private function sendStatesToDevises($tokens, $states) { foreach ($tokens as $token) { $stateSender = new StateSender($token); foreach ($states as $state) { if ($state->object == 'post') { $post = Post::find($state->object_id); if (!$post) { $this->error('Post not found'); } $comment = Comment::find($state->subject_id); if (!$comment) { $this->error('Comment not found'); } $user = User::find($state->user_id); if (!$user) { $this->error('User not found'); } if ($post && $user) { if ($state->event == 'commented' && $comment) { $stateSender->setPostAsCommented($post, $comment, $user, true); } else { if ($state->event == 'liked') { $stateSender->setPostAsLiked($post, $user, true); } } } } else { if ($state->object == 'comment' && $state->event == 'liked') { $comment = Comment::find($state->object_id); if (!$comment) { $this->error('Comment not found'); } $user = User::find($state->user_id); if (!$user) { $this->error('User not found'); } if ($user && $comment) { $stateSender->setCommentAsLiked($comment, $user, true); } } } } $stateSender->send(); } }