<?php

namespace App\Exceptions;

use Exception;

class InsufficientStockException extends StockException
{
    public function __construct(
        string $productName,
        int $requested,
        int $available,
        int $code = 0,
        ?\Throwable $previous = null
    ) {
        $message = "Insufficient stock for product '{$productName}'. Requested: {$requested}, Available: {$available}";
        parent::__construct($message, $code, $previous, [
            'product_name' => $productName,
            'requested' => $requested,
            'available' => $available,
        ]);
    }
}
