]> git.localhorst.tv Git - alttp.git/blobdiff - app/Models/User.php
tournament admins
[alttp.git] / app / Models / User.php
index dd129821890d28e9736b81bd6aaa800f35d15333..4f56ac17f93b8af4ef2aff0c8478ee913ee19fd1 100644 (file)
@@ -12,6 +12,37 @@ class User extends Authenticatable
 {
        use HasApiTokens, HasFactory, Notifiable;
 
+       public function isParticipant(Tournament $tournament) {
+               foreach ($tournament->participants as $participant) {
+                       if ($participant->user_id == $this->id) {
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+       public function isRunner(Tournament $tournament) {
+               foreach ($tournament->participants as $participant) {
+                       if ($participant->user_id == $this->id) {
+                               return in_array('runner', $participant->roles);
+                       }
+               }
+               return false;
+       }
+
+       public function isTournamentAdmin(Tournament $tournament) {
+               foreach ($tournament->participants as $participant) {
+                       if ($participant->user_id == $this->id) {
+                               return in_array('admin', $participant->roles);
+                       }
+               }
+               return false;
+       }
+
+       public function participation() {
+               return $this->hasMany(Participant::class);
+       }
+
        /**
         * The attributes that are mass assignable.
         *
@@ -36,6 +67,8 @@ class User extends Authenticatable
         * @var array
         */
        protected $hidden = [
+               'email',
+               'mfa_enabled',
                'refresh_token',
                'remember_token',
        ];