<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable {
    use HasFactory, Notifiable;

    protected $fillable = ['name','email','password','role'];
    protected $hidden = ['password','remember_token'];
    protected function casts(): array {
        return ['email_verified_at' => 'datetime', 'password' => 'hashed'];
    }

    public function isAdmin(): bool { return $this->role === 'admin'; }
    public function perfil() { return $this->hasOne(ClientePerfil::class); }
    public function servicios() { return $this->hasMany(Servicio::class); }
    public function dominios() { return $this->hasMany(Dominio::class); }
    public function facturas() { return $this->hasMany(Factura::class); }
    public function pagos() { return $this->hasMany(Pago::class); }
}
