mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-26 14:40:29 +01:00
91 lines
2.2 KiB
PHP
91 lines
2.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Xentral\Modules\Ticket\Task;
|
|
|
|
use DB as LegacyDataBase;
|
|
use Ticket as TicketModule;
|
|
use erpAPI;
|
|
use Config as LegacyConfig;
|
|
|
|
use Xentral\Components\Logger\Logger;
|
|
use Xentral\Components\MailClient\Client\MailClientInterface;
|
|
use Xentral\Modules\SystemMailer\Data\EmailBackupAccount;
|
|
use Xentral\Modules\Ticket\Importer\TicketFormatter;
|
|
|
|
class TicketImportHelperFactory
|
|
{
|
|
/** @var LegacyDataBase $db */
|
|
private $db;
|
|
|
|
/** @var erpAPI $erpApi */
|
|
private $erpApi;
|
|
|
|
/** @var LegacyConfig $config */
|
|
private $config;
|
|
|
|
/** @var TicketModule $ticketModule */
|
|
private $ticketModule;
|
|
|
|
/** @var TicketFormatter $formatter */
|
|
private $formatter;
|
|
|
|
/** @var Logger $logger */
|
|
private $logger;
|
|
|
|
/**
|
|
* TicketImportHelperFactory constructor.
|
|
*
|
|
* @param LegacyDataBase $db
|
|
* @param erpAPI $erpApi
|
|
* @param LegacyConfig $config
|
|
* @param TicketModule $ticketModule
|
|
* @param TicketFormatter $formatter
|
|
* @param Logger $logger
|
|
*/
|
|
public function __construct(
|
|
LegacyDataBase $db,
|
|
erpAPI $erpApi,
|
|
LegacyConfig $config,
|
|
TicketModule $ticketModule,
|
|
TicketFormatter $formatter,
|
|
Logger $logger
|
|
) {
|
|
$this->db = $db;
|
|
$this->erpApi = $erpApi;
|
|
$this->ticketModule = $ticketModule;
|
|
$this->config = $config;
|
|
$this->formatter = $formatter;
|
|
$this->logger = $logger;
|
|
}
|
|
|
|
/**
|
|
* @param MailClientInterface $mailClient
|
|
* @param EmailBackupAccount $mailAccount
|
|
* @param int $projectId
|
|
*
|
|
* @return TicketImportHelper
|
|
*/
|
|
public function create(
|
|
MailClientInterface $mailClient,
|
|
EmailBackupAccount $mailAccount,
|
|
int $projectId
|
|
): TicketImportHelper
|
|
{
|
|
$helper = new TicketImportHelper(
|
|
$this->db,
|
|
$this->erpApi,
|
|
$this->ticketModule,
|
|
$this->config,
|
|
$this->formatter,
|
|
$mailClient,
|
|
$mailAccount,
|
|
$projectId
|
|
);
|
|
$helper->setLogger($this->logger);
|
|
|
|
return $helper;
|
|
}
|
|
}
|