Guest User

Untitled

a guest
Jan 16th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. <?php
  2.  
  3. namespace IntegrationsParsersBundle\Operation\Configuration\GetPartnerList;
  4.  
  5. use Ozon\Food\BasicsBundle\Dto\ApiRequestInterface;
  6. use Ozon\Food\BasicsBundle\Dto\ApiResponseInterface;
  7. use Ozon\Food\BasicsBundle\Service\ServiceInterface;
  8. use PartnersSdkBundle\Interaction\Protocol\PartnerProtocolInterface;
  9. use PartnersSdkBundle\Operation\Partner\GetList\Dto\Criteria;
  10. use PartnersSdkBundle\Operation\Partner\GetList\Dto\Request\Paging;
  11. use PartnersSdkBundle\Operation\Partner\GetList\Dto\Request\Request as PartnerSdkRequest;
  12. use PartnersSdkBundle\Operation\Partner\Common\Dto\Request\State as StateRequest;
  13.  
  14. final class Service implements ServiceInterface
  15. {
  16. /**
  17. * @var PartnerProtocolInterface
  18. */
  19. private $partnerSdkRequest;
  20.  
  21. /**
  22. * @var int
  23. */
  24. private $limit;
  25.  
  26. /**
  27. * @param PartnerProtocolInterface $partnerSdkRequest
  28. * @param int $limit
  29. */
  30. public function __construct(PartnerProtocolInterface $partnerSdkRequest, int $limit)
  31. {
  32. $this->partnerSdkRequest = $partnerSdkRequest;
  33. $this->limit = $limit;
  34. }
  35.  
  36. /**
  37. * @param ApiRequestInterface $request
  38. * @return ApiResponseInterface
  39. */
  40. public function behave(ApiRequestInterface $request): ApiResponseInterface
  41. {
  42. return $this->partnerSdkRequest->getList($this->createRequest());
  43. }
  44.  
  45. /**
  46. * @return PartnerSdkRequest
  47. */
  48. private function createRequest(): PartnerSdkRequest
  49. {
  50. return
  51. (new PartnerSdkRequest())
  52. ->setPaging((new Paging())->setLimit($this->limit))
  53. ->setCriteria(new Criteria())
  54. ->setState(new StateRequest());
  55. }
  56. }
Add Comment
Please, Sign In to add comment