importTemplateService = $importTemplateService; $this->importTemplateGateway = $importTemplateGateway; } /** * @param array $templateData * * @throws InvalidTemplateDataException * * @return int */ public function insertAndValidateImportTemplate($templateData) { $validData = ImportTemplate::fromArray($templateData); return $this->insertImportTemplate($validData); } /** * @param ImportTemplate $importTemplate * * @throws RuntimeException * * @return int */ public function insertImportTemplate(ImportTemplate $importTemplate) { return $this->importTemplateService->insertImportTemplate($importTemplate); } /** * @param int $importTemplateId * * @throws ImportTemplateNotFoundException * * @return ImportTemplate */ public function getImportTemplate($importTemplateId) { $importTemplateData = $this->importTemplateGateway->getImportTemplateById($importTemplateId); $importTemplate = ImportTemplate::fromDbState($importTemplateData); return $importTemplate; } }