]> git.localhorst.tv Git - alttp.git/blobdiff - app/Models/User.php
basic content editing
[alttp.git] / app / Models / User.php
index 879624a2072f58186e66ad107a604fd23e9f0d9f..db834b7a240ca423141f254a1494fc9916b82c22 100644 (file)
@@ -40,10 +40,18 @@ class User extends Authenticatable
        }
 
 
+       public function hasGlobalRole($name) {
+               return !empty($this->global_roles) && in_array($name, $this->global_roles);
+       }
+
        public function isAdmin() {
                return $this->role === 'admin';
        }
 
+       public function isPrivileged() {
+               return $this->role === 'special' || $this->isAdmin();
+       }
+
        public function isApplicant(Tournament $tournament) {
                foreach ($tournament->applications as $applicant) {
                        if ($applicant->user_id == $this->id) {
@@ -111,6 +119,10 @@ class User extends Authenticatable
        }
 
 
+       public function channel_crews() {
+               return $this->hasMany(ChannelCrew::class);
+       }
+
        public function participation() {
                return $this->hasMany(Participant::class);
        }
@@ -182,6 +194,7 @@ class User extends Authenticatable
        protected $fillable = [
                'id',
                'username',
+               'discord_nickname',
                'discriminator',
                'email',
                'avatar',
@@ -215,8 +228,9 @@ class User extends Authenticatable
                'discriminator' => 'string',
                'email' => 'string',
                'avatar' => 'string',
-               'avatar_cached' => 'boolean',
+               'avatar_cached' => 'datetime',
                'verified' => 'boolean',
+               'global_roles' => 'array',
                'locale' => 'string',
                'mfa_enabled' => 'boolean',
                'refresh_token' => 'encrypted',