1: <?php
2:
3: namespace SellerLabs\Snagshout\Resource;
4:
5: use Joli\Jane\OpenApi\Runtime\Client\QueryParam;
6: use Joli\Jane\OpenApi\Runtime\Client\Resource;
7: class CampaignResource extends Resource
8: {
9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
33: public function getCampaigns($parameters = array(), $fetch = self::FETCH_OBJECT)
34: {
35: $queryParam = new QueryParam();
36: $queryParam->setDefault('search', NULL);
37: $queryParam->setDefault('sort', NULL);
38: $queryParam->setDefault('page', NULL);
39: $queryParam->setDefault('limit', NULL);
40: $queryParam->setDefault('embeds', NULL);
41: $queryParam->setDefault('min', NULL);
42: $queryParam->setDefault('max', NULL);
43: $queryParam->setDefault('category', NULL);
44: $queryParam->setDefault('min_quantity', NULL);
45: $queryParam->setDefault('min_percentage', NULL);
46: $queryParam->setDefault('max_percentage', NULL);
47: $queryParam->setDefault('started_after', NULL);
48: $queryParam->setDefault('upcoming', NULL);
49: $queryParam->setDefault('is_fba', NULL);
50: $queryParam->setDefault('type', NULL);
51: $url = '/api/v1/campaigns';
52: $url = $url . ('?' . $queryParam->buildQueryString($parameters));
53: $headers = array_merge(array('Host' => 'www.snagshout.com', 'Accept' => array('application/json')), $queryParam->buildHeaders($parameters));
54: $body = $queryParam->buildFormDataString($parameters);
55: $request = $this->messageFactory->createRequest('GET', $url, $headers, $body);
56: $promise = $this->httpClient->sendAsyncRequest($request);
57: if (self::FETCH_PROMISE === $fetch) {
58: return $promise;
59: }
60: $response = $promise->wait();
61: if (self::FETCH_OBJECT == $fetch) {
62: if ('200' == $response->getStatusCode()) {
63: return $this->serializer->deserialize((string) $response->getBody(), 'SellerLabs\\Snagshout\\Model\\V1GetCampaignsResponse', 'json');
64: }
65: }
66: return $response;
67: }
68: }