public function includeUsers(BeatmapsetDiscussion $discussion)
{
$userIds = [$discussion->beatmapset->user_id];
foreach ($discussion->beatmapDiscussions as $beatmapDiscussion) {
if (!priv_check('BeatmapDiscussionShow', $beatmapDiscussion)->can()) {
continue;
}
$userIds[] = $beatmapDiscussion->user_id;
foreach ($beatmapDiscussion->beatmapDiscussionPosts as $post) {
if (!priv_check('BeatmapDiscussionPostShow', $post)->can()) {
continue;
}
$userIds[] = $post->user_id;
$userIds[] = $post->last_editor_id;
$userIds[] = $post->deleted_by;
}
}
$userIds = array_unique($userIds);
$users = User::whereIn('user_id', $userIds)->get();
return $this->collection($users, new UserCompactTransformer());
}