App\Transformers\BeatmapDiscussionTransformer::includeCurrentUserAttributes PHP Method

includeCurrentUserAttributes() public method

public includeCurrentUserAttributes ( BeatmapDiscussion $discussion )
$discussion app\models\BeatmapDiscussion
    public function includeCurrentUserAttributes(BeatmapDiscussion $discussion)
    {
        if (!priv_check('BeatmapDiscussionShow', $discussion)->can()) {
            return;
        }
        $currentUser = Auth::user();
        if ($currentUser === null) {
            return;
        }
        $score = 0;
        // This assumes beatmapDiscussionVotes are already preloaded and
        // thus will save one query.
        foreach ($discussion->beatmapDiscussionVotes as $vote) {
            if ($vote->user_id === $currentUser->user_id) {
                $score = $vote->score;
                break;
            }
        }
        return $this->item($discussion, function ($discussion) use($score) {
            return ['vote_score' => $score];
        });
    }