X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FModels%2FUser.php;h=8373b5d236c134a5cd0f2fc8127505e0dfb53966;hb=35d1ce20e64f3373d74816ed1bf9440b4213fa1a;hp=ff45c6177c234acddda70e6b62493863fb48d151;hpb=3a774bb649734fc3a2135ec1b52cef9a049880ee;p=alttp.git diff --git a/app/Models/User.php b/app/Models/User.php index ff45c61..8373b5d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -2,6 +2,7 @@ namespace App\Models; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; @@ -12,6 +13,33 @@ class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; + public function findResult(Round $round) { + foreach ($round->results as $result) { + if ($this->id == $result->user_id) { + return $result; + } + } + return null; + } + + public function getName() { + if (!empty($this->nickname)) { + return $this->nickname; + } + return $this->username; + } + + public function getRandomQuoteAttribute() { + return $this->results() + ->where('comment', '!=', '') + ->whereHas('round', function(Builder $query) { + $query->where('locked', true); + }) + ->inRandomOrder() + ->first(); + } + + public function isAdmin() { return $this->role === 'admin'; }