/** * @param FamilyInterface $family * * @return string[] */ protected function getMissingChannelCodes(FamilyInterface $family) { $requirements = $family->getAttributeRequirements(); $identifierCode = $this->attributeRepository->getIdentifierCode(); $currentChannelCodes = []; foreach ($requirements as $requirement) { if ($requirement->getAttributeCode() === $identifierCode) { $currentChannelCodes[] = $requirement->getChannelCode(); } } $expectedChannelCodes = $this->channelRepository->getChannelCodes(); $missingChannelCodes = array_diff($expectedChannelCodes, $currentChannelCodes); return $missingChannelCodes; }
/** * Return a list of attributes to export * * @param JobParameters $parameters * * @return array */ protected function getAttributesToFilter(JobParameters $parameters) { $attributes = $parameters->get('filters')['structure']['attributes']; $identifierCode = $this->attributeRepository->getIdentifierCode(); if (!in_array($identifierCode, $attributes)) { $attributes[] = $identifierCode; } return $attributes; }
/** * @param string $code * * @return bool */ protected function isAttribute($code) { return null !== $this->attributeRepository->getIdentifierCode($code); }
/** * {@inheritdoc} */ public function getIdentifierProperties() { return [$this->attributeRepository->getIdentifierCode()]; }