X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FModels%2FUser.php;h=e5bb4f174b49b5f2a96446627ab0148421f7f725;hb=a748d5724c8acff6e3bb3fe6c20aa5968b65d58a;hp=eea1426d8fcc7c592aca5592b5a2ef70f7765253;hpb=84f8491f7f503162a503bfbfc35d8585015b56dd;p=alttp.git diff --git a/app/Models/User.php b/app/Models/User.php index eea1426..e5bb4f1 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -12,6 +12,10 @@ class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; + public function isAdmin() { + return $this->role === 'admin'; + } + public function isParticipant(Tournament $tournament) { foreach ($tournament->participants as $participant) { if ($participant->user_id == $this->id) { @@ -39,6 +43,19 @@ class User extends Authenticatable return false; } + public function isTournamentCrew(Tournament $tournament) { + return $this->isTournamentAdmin($tournament) || $this->isTournamentMonitor($tournament); + } + + public function isTournamentMonitor(Tournament $tournament) { + foreach ($tournament->participants as $participant) { + if ($participant->user_id == $this->id) { + return in_array('monitor', $participant->roles); + } + } + return false; + } + public function participation() { return $this->hasMany(Participant::class);