<?php

namespace Autogedal\TbiBank\Plugin;

use Autogedal\TbiBank\Model\PaymentMethod;
use Autogedal\TbiBank\Model\ApprovalAccounting;
use Autogedal\TbiBank\Model\ApprovalConfig;
use Magento\Sales\Model\Order;
use Magento\Sales\Model\Order\Email\Sender\OrderSender;

class OrderEmail
{
    public function __construct(private ApprovalConfig $config)
    {
    }

    public function aroundSend(OrderSender $subject, callable $proceed, Order $order, $forceSyncMode = false): bool
    {
        if ($order->getPayment() && $order->getPayment()->getMethod() === PaymentMethod::CODE
            && $this->config->deferOrderEmail($order->getStoreId())
            && !$order->getPayment()->getAdditionalInformation(ApprovalAccounting::MARKER)
        ) {
            return false;
        }
        return $proceed($order, $forceSyncMode);
    }
}
