<?php

/**
 * 422 Unprocessable Entity HTTP error.
 *
 * TODO: Is this class used or can it be deleted?
 *
 * @package WooCommerce\PayPalCommerce\StoreSync\Errors\Http
 */
declare (strict_types=1);
namespace WooCommerce\PayPalCommerce\StoreSync\Errors\Http;

use WooCommerce\PayPalCommerce\StoreSync\Errors\AgenticError;
use WooCommerce\PayPalCommerce\StoreSync\Enums\HttpErrorName;
use WooCommerce\PayPalCommerce\StoreSync\Validation\ValidationIssue;
/**
 * Use when business rules prevent cart operations.
 * Can optionally include rich business context via ValidationIssue.
 */
class UnprocessableEntityError extends AgenticError
{
    protected const ERROR_NAME = HttpErrorName::UNPROCESSABLE_ENTITY;
    protected const STATUS_CODE = 422;
    private ?ValidationIssue $business_context = null;
    public function with_issue(ValidationIssue $business_context): self
    {
        $this->business_context = $business_context;
        return $this;
    }
    public function get_business_context(): ?ValidationIssue
    {
        return $this->business_context;
    }
    public function to_array(): array
    {
        $data = parent::to_array();
        if ($this->business_context) {
            $data['business_context'] = $this->business_context->to_array();
        }
        return $data;
    }
}