AccessValidator.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\AsynchronousOperations\Model;
  7. /**
  8. * Class AccessValidator
  9. */
  10. class AccessValidator
  11. {
  12. /**
  13. * @var \Magento\Authorization\Model\UserContextInterface
  14. */
  15. private $userContext;
  16. /**
  17. * @var \Magento\Framework\EntityManager\EntityManager
  18. */
  19. private $entityManager;
  20. /**
  21. * @var \Magento\AsynchronousOperations\Api\Data\BulkSummaryInterfaceFactory
  22. */
  23. private $bulkSummaryFactory;
  24. /**
  25. * AccessValidator constructor.
  26. * @param \Magento\Authorization\Model\UserContextInterface $userContext
  27. * @param \Magento\Framework\EntityManager\EntityManager $entityManager
  28. * @param \Magento\AsynchronousOperations\Api\Data\BulkSummaryInterfaceFactory $bulkSummaryFactory
  29. */
  30. public function __construct(
  31. \Magento\Authorization\Model\UserContextInterface $userContext,
  32. \Magento\Framework\EntityManager\EntityManager $entityManager,
  33. \Magento\AsynchronousOperations\Api\Data\BulkSummaryInterfaceFactory $bulkSummaryFactory
  34. ) {
  35. $this->userContext = $userContext;
  36. $this->entityManager = $entityManager;
  37. $this->bulkSummaryFactory = $bulkSummaryFactory;
  38. }
  39. /**
  40. * Check if content allowed for current user
  41. *
  42. * @param int $bulkUuid
  43. * @return bool
  44. */
  45. public function isAllowed($bulkUuid)
  46. {
  47. /** @var \Magento\AsynchronousOperations\Api\Data\BulkSummaryInterface $bulkSummary */
  48. $bulkSummary = $this->entityManager->load(
  49. $this->bulkSummaryFactory->create(),
  50. $bulkUuid
  51. );
  52. return $bulkSummary->getUserId() === $this->userContext->getUserId();
  53. }
  54. }