Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace IntegrationsParsersBundle\Operation\Configuration\GetPartnerList;
- use Ozon\Food\BasicsBundle\Dto\ApiRequestInterface;
- use Ozon\Food\BasicsBundle\Dto\ApiResponseInterface;
- use Ozon\Food\BasicsBundle\Service\ServiceInterface;
- use PartnersSdkBundle\Interaction\Protocol\PartnerProtocolInterface;
- use PartnersSdkBundle\Operation\Partner\GetList\Dto\Criteria;
- use PartnersSdkBundle\Operation\Partner\GetList\Dto\Request\Paging;
- use PartnersSdkBundle\Operation\Partner\GetList\Dto\Request\Request as PartnerSdkRequest;
- use PartnersSdkBundle\Operation\Partner\Common\Dto\Request\State as StateRequest;
- final class Service implements ServiceInterface
- {
- /**
- * @var PartnerProtocolInterface
- */
- private $partnerSdkRequest;
- /**
- * @var int
- */
- private $limit;
- /**
- * @param PartnerProtocolInterface $partnerSdkRequest
- * @param int $limit
- */
- public function __construct(PartnerProtocolInterface $partnerSdkRequest, int $limit)
- {
- $this->partnerSdkRequest = $partnerSdkRequest;
- $this->limit = $limit;
- }
- /**
- * @param ApiRequestInterface $request
- * @return ApiResponseInterface
- */
- public function behave(ApiRequestInterface $request): ApiResponseInterface
- {
- return $this->partnerSdkRequest->getList($this->createRequest());
- }
- /**
- * @return PartnerSdkRequest
- */
- private function createRequest(): PartnerSdkRequest
- {
- return
- (new PartnerSdkRequest())
- ->setPaging((new Paging())->setLimit($this->limit))
- ->setCriteria(new Criteria())
- ->setState(new StateRequest());
- }
- }
Add Comment
Please, Sign In to add comment