<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Servicio extends Model {
    protected $fillable = ['user_id','plan_hosting_id','dominio_principal','fecha_inicio','fecha_vencimiento','estado','cpanel_username','cpanel_password_enc','notas_admin'];
    protected $casts = ['fecha_inicio' => 'date', 'fecha_vencimiento' => 'date'];

    public function user() { return $this->belongsTo(User::class); }
    public function plan() { return $this->belongsTo(PlanHosting::class, 'plan_hosting_id'); }

    public function diasRestantes(): int {
        return (int) now()->diffInDays($this->fecha_vencimiento, false);
    }

    public function semaforo(): string {
        $dias = $this->diasRestantes();
        if ($dias <= 0) return 'vencido';
        if ($dias <= 7) return 'rojo';
        if ($dias <= 30) return 'amarillo';
        return 'verde';
    }
}
