<?php

namespace App\Http\Controllers;

use App\Models\Factura;
use Illuminate\Http\RedirectResponse;
use Illuminate\View\View;

class NotaCreditoController extends Controller
{
    public function index(): View
    {
        $facturas = Factura::with('cliente')
            ->where('status', Factura::STATUS_NOTA_CREDITO)
            ->orderBy('created_at')
            ->paginate(15);

        return view('notascredito.index', compact('facturas'));
    }

    public function pagar(Factura $factura): RedirectResponse
    {
        abort_unless($factura->esNotaCredito(), 404);

        $factura->update([
            'status' => Factura::STATUS_PAGADA,
            'pagado_en' => now(),
        ]);

        return redirect()->route('notascredito.index')->with('status', "Nota de crédito N° {$factura->numeroFormateado()} marcada como pagada.");
    }
}
