*/ use HasFactory, Notifiable, TwoFactorAuthenticatable; protected $attributes = [ 'can_create_channel' => false, ]; /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', 'two_factor_confirmed_at' => 'datetime', 'is_admin' => 'boolean', 'can_create_channel' => 'boolean', 'suspended_at' => 'datetime', ]; } public function channel(): HasOne { return $this->hasOne(Channel::class); } public function follows(): HasMany { return $this->hasMany(Follow::class); } public function isSuspended(): bool { return $this->suspended_at !== null; } public function canCreateChannel(): bool { return $this->can_create_channel || PlatformSetting::current()->channel_creation_open; } }