<?php
/**
 * @copyright: Copyright © 2023 Firebear Studio. All rights reserved.
 * @author   : Firebear Studio <fbeardev@gmail.com>
 */
declare(strict_types=1);

namespace Firebear\ImportExport\Model\Export;

use Firebear\ImportExport\Helper\Data as Helper;
use Firebear\ImportExport\Model\ExportJob\Processor;

/**
 * Consumer for export message.
 */
class Consumer
{
    /**
     * Export processor
     *
     * @var Processor
     */
    private $processor;

    /**
     * Helper
     *
     * @var Helper
     */
    private $helper;

    /**
     * Consumer constructor.
     * @param Processor $processor
     * @param Helper $helper
     */
    public function __construct(
       Processor $processor,
       Helper $helper
    ) {
        $this->processor = $processor;
        $this->helper = $helper;
    }

    /**
     * @param $jobId
     */
    public function process($jobId)
    {
        $file = $this->helper->beforeRun($jobId);
        $history = $this->helper->createExportHistory($jobId, $file, 'event');
        $this->processor->debugMode = $this->helper->getDebugMode();
        $this->processor->setLogger($this->helper->getLogger());
        $this->processor->inConsole = 1;
        $this->processor->process($jobId, $history);
        $this->helper->saveFinishExHistory($history);
    }
}
