+ public function getGuessingGameLeaderboard(Channel $channel, $type) {
+ return [
+ 'all' => $channel->getGuessingLeaderboard(),
+ ];
+ }
+
+ public function getGuessingGameMonitor($key) {
+ $channel = Channel::where('access_key', '=', $key)->firstOrFail();
+
+ $cutoff = $channel->guessing_start;
+ if (is_null($cutoff)) {
+ $last = $channel->winners()->latest()->first();
+ $cutoff = $last->pod;
+ }
+ $guesses = $channel->guesses()->where('created_at', '>=', $cutoff)->orderBy('created_at')->get();
+ $winners = $channel->winners()->where('created_at', '>=', $cutoff)->orderBy('created_at')->get();
+ return [
+ 'channel' => $channel->toArray(),
+ 'guesses' => $guesses->toArray(),
+ 'winners' => $winners->toArray(),
+ ];
+ }
+