RequiredFields.php 978 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\MessageQueue\Consumer\Config\Validator;
  7. use Magento\Framework\MessageQueue\Consumer\Config\ValidatorInterface;
  8. /**
  9. * Consumer config data validator for required fields.
  10. */
  11. class RequiredFields implements ValidatorInterface
  12. {
  13. /**
  14. * {@inheritdoc}
  15. */
  16. public function validate($configData)
  17. {
  18. foreach ($configData as $consumerName => $consumerConfig) {
  19. $requiredFields = ['name', 'queue', 'handlers', 'consumerInstance', 'connection', 'maxMessages'];
  20. foreach ($requiredFields as $fieldName) {
  21. if (!array_key_exists($fieldName, $consumerConfig)) {
  22. throw new \LogicException(
  23. sprintf("'%s' field must be specified for consumer '%s'", $fieldName, $consumerName)
  24. );
  25. }
  26. }
  27. }
  28. }
  29. }