X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FModels%2FChannel.php;h=8debe4f9434ab554d70eb5e16086bf875ed1875e;hb=167f986f468014e00d82fa2df8193f6be8dca19d;hp=d7d307e5294b4f6368f066d0c61ae18f8b39b1dc;hpb=c66d9d3c5eda563842c683827da1abf445b65483;p=alttp.git diff --git a/app/Models/Channel.php b/app/Models/Channel.php index d7d307e..8debe4f 100644 --- a/app/Models/Channel.php +++ b/app/Models/Channel.php @@ -2,6 +2,7 @@ namespace App\Models; +use Illuminate\Broadcasting\Channel as PublicChannel; use Illuminate\Broadcasting\PrivateChannel; use Illuminate\Database\Eloquent\BroadcastsEvents; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -17,6 +18,9 @@ class Channel extends Model { $channels = [ new PrivateChannel('Channel.'.$this->id), ]; + if (!empty($this->access_key)) { + $channels[] = new PublicChannel('ChannelKey.'.$this->access_key); + } return $channels; } @@ -81,6 +85,9 @@ class Channel extends Model { $distance = abs(intval($guess->guess) - intval($solution)); if (is_null($min_distance) || $distance == $min_distance) { $candidates[] = $guess; + if (is_null($min_distance)) { + $min_distance = $distance; + } } else if ($distance < $min_distance) { $candidates = [$guess]; $min_distance = $distance; @@ -180,16 +187,23 @@ class Channel extends Model { 'chat' => 'boolean', 'chat_commands' => 'array', 'chat_settings' => 'array', + 'guessing_end' => 'datetime', 'guessing_settings' => 'array', 'guessing_start' => 'datetime', - 'guessing_end' => 'datetime', 'languages' => 'array', 'join' => 'boolean', ]; protected $hidden = [ + 'access_key', + 'chat', + 'chat_commands', + 'chat_settings', 'created_at', 'ext_id', + 'guessing_settings', + 'join', + 'twitch_chat', 'updated_at', ];