Files
coruna-lab/app/Models/User.php
T
2026-08-15 02:56:38 +08:00

51 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
protected $fillable = [
'username', 'password', 'status', 'comment', 'chat_id', 'bot_token',
];
protected $hidden = [
'password', 'remember_token', 'bot_token',
];
protected static function booted(): void
{
$bust = static function (): void {
app(\App\Services\FilterOptionsService::class)->forgetAgents();
};
static::saved($bust);
static::deleted($bust);
}
protected function casts(): array
{
return [
'password' => 'hashed',
'status' => 'integer',
];
}
public function isEnabled(): bool
{
return (int) $this->status === 1;
}
public function channels(): HasMany
{
return $this->hasMany(Channel::class, 'user_id');
}
public function hasTelegramBot(): bool
{
return trim((string) ($this->bot_token ?? '')) !== ''
&& trim((string) ($this->chat_id ?? '')) !== '';
}
}