public function includeNominations(Beatmapset $beatmapset) { if ($beatmapset->isPending()) { $currentUser = Auth::user(); $nominations = $beatmapset->recentEvents()->get(); foreach ($nominations as $nomination) { if ($nomination->type === BeatmapsetEvent::DISQUALIFY) { $disqualifyEvent = $nomination; } if ($currentUser !== null && $nomination->user_id === $currentUser->user_id && $nomination->type === BeatmapsetEvent::NOMINATE) { $alreadyNominated = true; } } $result = ['required' => $beatmapset->requiredNominationCount(), 'current' => $beatmapset->currentNominationCount()]; if (isset($disqualifyEvent)) { $result['disqualification'] = ['reason' => $disqualifyEvent->comment, 'created_at' => json_time($disqualifyEvent->created_at)]; } if ($currentUser !== null) { $result['nominated'] = $alreadyNominated ?? false; } return $this->item($beatmapset, function ($beatmapset) use($result) { return $result; }); } elseif ($beatmapset->qualified()) { $eta = $beatmapset->rankingETA(); $result = ['ranking_eta' => json_time($eta)]; return $this->item($beatmapset, function ($beatmapset) use($result) { return $result; }); } else { return; } }
public function transform(BeatmapDiscussionPost $post) { if (!priv_check('BeatmapDiscussionPostShow', $post)->can()) { return []; } return ['id' => $post->id, 'beatmap_discussion_id' => $post->beatmap_discussion_id, 'user_id' => $post->user_id, 'last_editor_id' => presence($post->last_editor_id, $post->user_id), 'deleted_by_id' => $post->deleted_by_id, 'system' => $post->system, 'message' => $post->message, 'created_at' => json_time($post->created_at), 'updated_at' => json_time($post->updated_at), 'deleted_at' => json_time($post->deleted_at)]; }
public function transform(BeatmapDiscussion $discussion) { if (!priv_check('BeatmapDiscussionShow', $discussion)->can()) { return []; } return ['id' => $discussion->id, 'beatmapset_discussion_id' => $discussion->beatmapset_discussion_id, 'beatmap_id' => $discussion->beatmap_id, 'user_id' => $discussion->user_id, 'deleted_by_id' => $discussion->deleted_by_id, 'message_type' => $discussion->message_type, 'timestamp' => $discussion->timestamp, 'resolved' => $discussion->resolved, 'created_at' => json_time($discussion->created_at), 'updated_at' => json_time($discussion->updated_at), 'deleted_at' => json_time($discussion->deleted_at), 'votes' => $discussion->votesSummary(), 'duration' => $discussion->total_length]; }
public function transform(Beatmap $beatmap = null) { if ($beatmap === null) { return []; } return ['id' => $beatmap->beatmap_id, 'beatmapset_id' => $beatmap->beatmapset_id, 'mode' => $beatmap->mode, 'mode_int' => $beatmap->playmode, 'convert' => $beatmap->convert, 'difficulty_size' => $beatmap->diff_size, 'difficulty_rating' => $beatmap->difficultyrating, 'version' => $beatmap->version, 'total_length' => $beatmap->total_length, 'cs' => $beatmap->diff_size, 'drain' => $beatmap->diff_drain, 'accuracy' => $beatmap->diff_overall, 'ar' => $beatmap->diff_approach, 'playcount' => $beatmap->playcount, 'passcount' => $beatmap->passcount, 'count_circles' => $beatmap->countNormal, 'count_sliders' => $beatmap->countSlider, 'last_updated' => json_time($beatmap->last_update), 'ranked' => $beatmap->approved, 'status' => $beatmap->status(), 'url' => route('beatmaps.show', ['id' => $beatmap->beatmap_id])]; }
public function transform(Contest $contest) { $response = ['id' => $contest->id, 'name' => $contest->name, 'description' => $contest->description_voting, 'type' => $contest->type, 'header_url' => $contest->header_url, 'max_entries' => $contest->max_entries, 'max_votes' => $contest->max_votes, 'entry_starts_at' => json_time($contest->entry_starts_at), 'entry_ends_at' => json_time($contest->entry_ends_at), 'voting_ends_at' => json_time($contest->voting_ends_at), 'show_votes' => $contest->show_votes]; if ($contest->type === 'art') { $response['shape'] = $contest->entry_shape; } return $response; }
public function transform(KudosuHistory $kudosuHistory) { return ['id' => $kudosuHistory->exchange_id, 'action' => $kudosuHistory->action, 'amount' => $kudosuHistory->amount, 'createdAt' => json_time($kudosuHistory->date), 'giver' => ['url' => route('users.show', $kudosuHistory->giver_id), 'name' => $kudosuHistory->giver->username], 'post' => ['url' => route('forum.posts.show', $kudosuHistory->post_id), 'title' => $kudosuHistory->post->topic->topic_title]]; }
public function transform(User $user) { $profileCustomization = $user->profileCustomization()->firstOrNew([]); return ['id' => $user->user_id, 'username' => $user->username, 'joinDate' => display_regdate($user), 'country' => ['code' => $user->country_acronym, 'name' => $user->countryName()], 'age' => $user->age, 'avatarUrl' => $user->user_avatar, 'isAdmin' => $user->isAdmin(), 'isSupporter' => $user->osu_subscriber, 'isGMT' => $user->isGMT(), 'isQAT' => $user->isQAT(), 'title' => $user->title(), 'location' => $user->user_from, 'lastvisit' => json_time($user->user_lastvisit), 'twitter' => $user->user_twitter, 'lastfm' => $user->user_lastfm, 'skype' => $user->user_msnm, 'playstyle' => $user->osu_playstyle, 'playmode' => $user->playmode, 'profileColour' => $user->user_colour, 'profileOrder' => $profileCustomization->getExtrasOrder(), 'cover' => ['customUrl' => $profileCustomization->cover->fileUrl(), 'url' => $profileCustomization->cover->url(), 'id' => $profileCustomization->cover->id()], 'kudosu' => ['total' => $user->osu_kudostotal, 'available' => $user->osu_kudosavailable]]; }
public function transform(BeatmapsetEvent $event = null) { return ['type' => $event->type, 'comment' => $event->comment, 'created_at' => json_time($event->created_at)]; }
public function transform(Match $match) { return ['id' => $match->match_id, 'start_time' => json_time($match->start_time), 'end_time' => json_time($match->end_time), 'name' => $match->name]; }
public function transform(Event $event) { $event->parse(); return array_merge(['id' => $event->event_id, 'createdAt' => json_time($event->date), 'type' => $event->type], $event->details); }
public function transform(Event $event) { return ['id' => $event->event_id, 'detail' => $event->detail, 'timestamp' => json_time($event->timestamp), 'user_id' => $event->user_id]; }
public function transform(BeatmapDiscussion $discussion) { return ['id' => $discussion->id, 'beatmapset_discussion_id' => $discussion->beatmapset_discussion_id, 'beatmap_id' => $discussion->beatmap_id, 'user_id' => $discussion->user_id, 'message_type' => $discussion->message_type, 'timestamp' => $discussion->timestamp, 'resolved' => $discussion->resolved, 'created_at' => json_time($discussion->created_at), 'updated_at' => json_time($discussion->updated_at), 'votes' => $discussion->votes_summary, 'duration' => $discussion->total_length]; }
public function transform(Contest $contest) { return ['id' => $contest->id, 'name' => $contest->name, 'description' => $contest->description_voting, 'type' => $contest->type, 'header_url' => $contest->header_url, 'max_entries' => $contest->max_entries, 'max_votes' => $contest->max_votes, 'entry_starts_at' => json_time($contest->entry_starts_at), 'entry_ends_at' => json_time($contest->entry_ends_at), 'voting_ends_at' => json_time($contest->voting_ends_at), 'show_votes' => $contest->show_votes]; }
public function transform($score) { return ['id' => $score->score_id, 'user_id' => $score->user_id, 'created_at' => json_time($score->date), 'pp' => $score->pp, 'accuracy' => $score->accuracy(), 'rank' => $score->rank, 'mods' => $score->enabled_mods, 'score' => $score->score, 'combo' => $score->maxcombo, 'count50' => $score->count50, 'count100' => $score->count100, 'count300' => $score->count300, 'countgeki' => $score->countgeki, 'countkatu' => $score->countkatu, 'countmiss' => $score->countmiss, 'slot' => $score->slot, 'team' => $score->team, 'pass' => $score->pass]; }
function timeago($date) { $display_date = $date->toRfc850String(); $attribute_date = json_time($date); return "<time class='timeago' datetime='{$attribute_date}'>{$display_date}</time>"; }
public function transform(BeatmapDiscussionPost $post) { return ['id' => $post->id, 'beatmap_discussion_id' => $post->beatmap_discussion_id, 'user_id' => $post->user_id, 'last_editor_id' => presence($post->last_editor_id, $post->user_id), 'system' => $post->system, 'message' => $post->message, 'created_at' => json_time($post->created_at), 'updated_at' => json_time($post->updated_at)]; }
public function transform(UserAchievement $userAchievement) { return ['achieved_at' => json_time($userAchievement->date), 'achievement_id' => $userAchievement->achievement_id]; }
public function transform(BeatmapsetDiscussion $discussion) { return ['id' => $discussion->id, 'created_at' => json_time($discussion->created_at), 'updated_at' => json_time($discussion->updated_at)]; }
public function transform(UserContestEntry $entry) { return ['id' => $entry->id, 'filename' => $entry->original_filename, 'filesize' => $entry->filesize, 'created_at' => json_time($entry->created_at)]; }
public function transform(Game $game) { return ['id' => $game->game_id, 'start_time' => json_time($game->start_time), 'end_time' => json_time($game->end_time), 'mode' => $game->mode, 'mode_int' => $game->play_mode, 'scoring_type' => $game->scoring_type, 'team_type' => $game->team_type, 'mods' => $game->mods]; }