Passed
Pull Request — master (#11)
by Oleksandr
04:55
created

AkeneoPimService::getAssetCategory()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
c 0
b 0
f 0
nc 1
nop 1
dl 0
loc 6
rs 10
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Service\AkeneoPim;
9
10
use Akeneo\Pim\ApiClient\Pagination\ResourceCursorInterface;
11
use Psr\Http\Message\ResponseInterface;
12
use Spryker\Service\Kernel\AbstractService;
13
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface;
14
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface;
15
16
/**
17
 * @method \SprykerEco\Service\AkeneoPim\AkeneoPimServiceFactory getFactory()
18
 */
19
class AkeneoPimService extends AbstractService implements AkeneoPimServiceInterface
20
{
21
    /**
22
     * {@inheritdoc}
23
     *
24
     * @api
25
     *
26
     * @param int $pageSize The size of the page returned by the server.
27
     * @param array $queryParameters Additional query parameters to pass in the request
28
     *
29
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
30
     */
31
    public function getAllProducts($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
32
    {
33
        return $this->getFactory()
34
            ->createAkeneoPimAdapterFactory()
35
            ->createProductApiAdapter()
36
            ->all($pageSize, $queryParameters);
37
    }
38
39
    /**
40
     * {@inheritdoc}
41
     *
42
     * @api
43
     *
44
     * @param int $pageSize The size of the page returned by the server.
45
     * @param array $queryParameters Additional query parameters to pass in the request
46
     *
47
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
48
     */
49
    public function getAllCategories($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
50
    {
51
        return $this->getFactory()
52
            ->createAkeneoPimAdapterFactory()
53
            ->createCategoryApiAdapter()
54
            ->all($pageSize, $queryParameters);
55
    }
56
57
    /**
58
     * {@inheritdoc}
59
     *
60
     * @api
61
     *
62
     * @param int $pageSize The size of the page returned by the server.
63
     * @param array $queryParameters Additional query parameters to pass in the request
64
     *
65
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
66
     */
67
    public function getAllAttributes($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
68
    {
69
        return $this->getFactory()
70
            ->createAkeneoPimAdapterFactory()
71
            ->createAttributeApiAdapter()
72
            ->all($pageSize, $queryParameters);
73
    }
74
75
    /**
76
     * {@inheritdoc}
77
     *
78
     * @api
79
     *
80
     * @param string $attributeCode Code of the attribute
81
     * @param int $pageSize The size of the page returned by the server.
82
     * @param array $queryParameters Additional query parameters to pass in the request
83
     *
84
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
85
     */
86
    public function getAllAttributeOptions($attributeCode, $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
87
    {
88
        return $this->getFactory()
89
            ->createAkeneoPimAdapterFactory()
90
            ->createAttributeOptionApiAdapter()
91
            ->all($attributeCode, $pageSize, $queryParameters);
92
    }
93
94
    /**
95
     * {@inheritdoc}
96
     *
97
     * @api
98
     *
99
     * @param int $pageSize The size of the page returned by the server.
100
     * @param array $queryParameters Additional query parameters to pass in the request
101
     *
102
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
103
     */
104
    public function getAllAttributeGroups($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
105
    {
106
        return $this->getFactory()
107
            ->createAkeneoPimAdapterFactory()
108
            ->createAttributeGroupApiAdapter()
109
            ->all($pageSize, $queryParameters);
110
    }
111
112
    /**
113
     * {@inheritdoc}
114
     *
115
     * @api
116
     *
117
     * @param int $pageSize The size of the page returned by the server.
118
     * @param array $queryParameters Additional query parameters to pass in the request
119
     *
120
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
121
     */
122
    public function getAllChannels($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
123
    {
124
        return $this->getFactory()
125
            ->createAkeneoPimAdapterFactory()
126
            ->createChannelApiAdapter()
127
            ->all($pageSize, $queryParameters);
128
    }
129
130
    /**
131
     * {@inheritdoc}
132
     *
133
     * @api
134
     *
135
     * @param int $pageSize The size of the page returned by the server.
136
     * @param array $queryParameters Additional query parameters to pass in the request
137
     *
138
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
139
     */
140
    public function getAllCurrencies($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
141
    {
142
        return $this->getFactory()
143
            ->createAkeneoPimAdapterFactory()
144
            ->createCurrencyApiAdapter()
145
            ->all($pageSize, $queryParameters);
146
    }
147
148
    /**
149
     * {@inheritdoc}
150
     *
151
     * @api
152
     *
153
     * @param int $pageSize The size of the page returned by the server.
154
     * @param array $queryParameters Additional query parameters to pass in the request
155
     *
156
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
157
     */
158
    public function getAllLocales($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
159
    {
160
        return $this->getFactory()
161
            ->createAkeneoPimAdapterFactory()
162
            ->createLocaleApiAdapter()
163
            ->all($pageSize, $queryParameters);
164
    }
165
166
    /**
167
     * {@inheritdoc}
168
     *
169
     * @api
170
     *
171
     * @param int $pageSize The size of the page returned by the server.
172
     * @param array $queryParameters Additional query parameters to pass in the request
173
     *
174
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
175
     */
176
    public function getAllFamilies($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
177
    {
178
        return $this->getFactory()
179
            ->createAkeneoPimAdapterFactory()
180
            ->createFamilyApiAdapter()
181
            ->all($pageSize, $queryParameters);
182
    }
183
184
    /**
185
     * {@inheritdoc}
186
     *
187
     * @api
188
     *
189
     * @param string $familyCode Family code from which you want to get a list of family variants.
190
     * @param int $pageSize The size of the page returned by the server.
191
     * @param array $queryParameters Additional query parameters to pass in the request
192
     *
193
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
194
     */
195
    public function getAllFamilyVariants($familyCode, $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
196
    {
197
        return $this->getFactory()
198
            ->createAkeneoPimAdapterFactory()
199
            ->createFamilyVariantApiAdapter()
200
            ->all($familyCode, $pageSize, $queryParameters);
201
    }
202
203
    /**
204
     * {@inheritdoc}
205
     *
206
     * @api
207
     *
208
     * @param int $pageSize The size of the page returned by the server.
209
     * @param array $queryParameters Additional query parameters to pass in the request
210
     *
211
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
212
     */
213
    public function getAllMeasureFamilies($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
214
    {
215
        return $this->getFactory()
216
            ->createAkeneoPimAdapterFactory()
217
            ->createMeasureFamilyApiAdapter()
218
            ->all($pageSize, $queryParameters);
219
    }
220
221
    /**
222
     * {@inheritdoc}
223
     *
224
     * @api
225
     *
226
     * @param int $pageSize The size of the page returned by the server.
227
     * @param array $queryParameters Additional query parameters to pass in the request
228
     *
229
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
230
     */
231
    public function getAllAssociationTypes($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
232
    {
233
        return $this->getFactory()
234
            ->createAkeneoPimAdapterFactory()
235
            ->createAssociationTypeApiAdapter()
236
            ->all($pageSize, $queryParameters);
237
    }
238
239
    /**
240
     * {@inheritdoc}
241
     *
242
     * @api
243
     *
244
     * @param int $pageSize The size of the page returned by the server.
245
     * @param array $queryParameters Additional query parameters to pass in the request
246
     *
247
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
248
     */
249
    public function getAllProductMediaFiles($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
250
    {
251
        return $this->getFactory()
252
            ->createAkeneoPimAdapterFactory()
253
            ->createProductMediaFileApiAdapter()
254
            ->all($pageSize, $queryParameters);
255
    }
256
257
    /**
258
     * {@inheritdoc}
259
     *
260
     * @api
261
     *
262
     * @param int $pageSize The size of the page returned by the server.
263
     * @param array $queryParameters Additional query parameters to pass in the request
264
     *
265
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
266
     */
267
    public function getAllProductModels($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
268
    {
269
        return $this->getFactory()
270
            ->createAkeneoPimAdapterFactory()
271
            ->createProductModelApiAdapter()
272
            ->all($pageSize, $queryParameters);
273
    }
274
275
    /**
276
     * {@inheritdoc}
277
     *
278
     * @api
279
     *
280
     * @param string $code Code of the attribute
281
     *
282
     * @return array
283
     */
284
    public function getAttribute($code): array
285
    {
286
        return $this->getFactory()
287
            ->createAkeneoPimAdapterFactory()
288
            ->createAttributeApiAdapter()
289
            ->get($code);
290
    }
291
292
    /**
293
     * {@inheritdoc}
294
     *
295
     * @api
296
     *
297
     * @param string $code Code of the attribute group
298
     *
299
     * @return array
300
     */
301
    public function getAttributeGroup($code): array
302
    {
303
        return $this->getFactory()
304
            ->createAkeneoPimAdapterFactory()
305
            ->createAttributeGroupApiAdapter()
306
            ->get($code);
307
    }
308
309
    /**
310
     * {@inheritdoc}
311
     *
312
     * @api
313
     *
314
     * @param string $attributeCode Code of the attribute
315
     * @param string $code Code of the attribute option
316
     *
317
     * @return array
318
     */
319
    public function getAttributeOption($attributeCode, $code): array
320
    {
321
        return $this->getFactory()
322
            ->createAkeneoPimAdapterFactory()
323
            ->createAttributeOptionApiAdapter()
324
            ->get($attributeCode, $code);
325
    }
326
327
    /**
328
     * {@inheritdoc}
329
     *
330
     * @api
331
     *
332
     * @param string $code Code of the category
333
     *
334
     * @return array
335
     */
336
    public function getCategory($code): array
337
    {
338
        return $this->getFactory()
339
            ->createAkeneoPimAdapterFactory()
340
            ->createCategoryApiAdapter()
341
            ->get($code);
342
    }
343
344
    /**
345
     * {@inheritdoc}
346
     *
347
     * @api
348
     *
349
     * @param string $code Code of the channel
350
     *
351
     * @return array
352
     */
353
    public function getChannel($code): array
354
    {
355
        return $this->getFactory()
356
            ->createAkeneoPimAdapterFactory()
357
            ->createChannelApiAdapter()
358
            ->get($code);
359
    }
360
361
    /**
362
     * {@inheritdoc}
363
     *
364
     * @api
365
     *
366
     * @param string $code Code of the currency
367
     *
368
     * @return array
369
     */
370
    public function getCurrency($code): array
371
    {
372
        return $this->getFactory()
373
            ->createAkeneoPimAdapterFactory()
374
            ->createCurrencyApiAdapter()
375
            ->get($code);
376
    }
377
378
    /**
379
     * {@inheritdoc}
380
     *
381
     * @api
382
     *
383
     * @param string $code Code of the locale
384
     *
385
     * @return array
386
     */
387
    public function getLocale($code): array
388
    {
389
        return $this->getFactory()
390
            ->createAkeneoPimAdapterFactory()
391
            ->createLocaleApiAdapter()
392
            ->get($code);
393
    }
394
395
    /**
396
     * {@inheritdoc}
397
     *
398
     * @api
399
     *
400
     * @param string $code Code of the family
401
     *
402
     * @return array
403
     */
404
    public function getFamily($code): array
405
    {
406
        return $this->getFactory()
407
            ->createAkeneoPimAdapterFactory()
408
            ->createFamilyApiAdapter()
409
            ->get($code);
410
    }
411
412
    /**
413
     * {@inheritdoc}
414
     *
415
     * @api
416
     *
417
     * @param string $familyCode Code of the family
418
     * @param string $code Code of the family variant
419
     *
420
     * @return array
421
     */
422
    public function getFamilyVariant($familyCode, $code): array
423
    {
424
        return $this->getFactory()
425
            ->createAkeneoPimAdapterFactory()
426
            ->createFamilyVariantApiAdapter()
427
            ->get($familyCode, $code);
428
    }
429
430
    /**
431
     * {@inheritdoc}
432
     *
433
     * @api
434
     *
435
     * @param string $code Code of the measure family
436
     *
437
     * @return array
438
     */
439
    public function getMeasureFamily($code): array
440
    {
441
        return $this->getFactory()
442
            ->createAkeneoPimAdapterFactory()
443
            ->createMeasureFamilyApiAdapter()
444
            ->get($code);
445
    }
446
447
    /**
448
     * {@inheritdoc}
449
     *
450
     * @api
451
     *
452
     * @param string $code Code of the product
453
     *
454
     * @return array
455
     */
456
    public function getProduct($code): array
457
    {
458
        return $this->getFactory()
459
            ->createAkeneoPimAdapterFactory()
460
            ->createProductApiAdapter()
461
            ->get($code);
462
    }
463
464
    /**
465
     * {@inheritdoc}
466
     *
467
     * @api
468
     *
469
     * @param string $code Code of the product media file
470
     *
471
     * @return array
472
     */
473
    public function getProductMediaFile($code): array
474
    {
475
        return $this->getFactory()
476
            ->createAkeneoPimAdapterFactory()
477
            ->createProductMediaFileApiAdapter()
478
            ->get($code);
479
    }
480
481
    /**
482
     * {@inheritdoc}
483
     *
484
     * @api
485
     *
486
     * @param string $code Code of the product model
487
     *
488
     * @return array
489
     */
490
    public function getProductModel($code): array
491
    {
492
        return $this->getFactory()
493
            ->createAkeneoPimAdapterFactory()
494
            ->createProductModelApiAdapter()
495
            ->get($code);
496
    }
497
498
    /**
499
     * {@inheritdoc}
500
     *
501
     * @api
502
     *
503
     * @param int $limit The maximum number of attributes to return.
504
     * @param bool $withCount Set to true to return the total count of attributes.
505
     * @param array $queryParameters Additional query parameters to pass in the request.
506
     *
507
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
508
     */
509
    public function getAttributesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
510
    {
511
        return $this->getFactory()
512
            ->createAkeneoPimAdapterFactory()
513
            ->createAttributeApiAdapter()
514
            ->listPerPage($limit, $withCount, $queryParameters);
515
    }
516
517
    /**
518
     * {@inheritdoc}
519
     *
520
     * @api
521
     *
522
     * @param int $limit The maximum number of attribute groups to return.
523
     * @param bool $withCount Set to true to return the total count of attribute groups.
524
     * @param array $queryParameters Additional query parameters to pass in the request.
525
     *
526
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
527
     */
528
    public function getAttributeGroupsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
529
    {
530
        return $this->getFactory()
531
            ->createAkeneoPimAdapterFactory()
532
            ->createAttributeGroupApiAdapter()
533
            ->listPerPage($limit, $withCount, $queryParameters);
534
    }
535
536
    /**
537
     * {@inheritdoc}
538
     *
539
     * @api
540
     *
541
     * @param string $attributeCode Code of the attribute
542
     * @param int $limit The maximum number of resources to return.
543
     * @param bool $withCount Set to true to return the total count of resources.
544
     * @param array $queryParameters Additional query parameters to pass in the request.
545
     *
546
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
547
     */
548
    public function getAttributeOptionsListPerPage($attributeCode, $limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
549
    {
550
        return $this->getFactory()
551
            ->createAkeneoPimAdapterFactory()
552
            ->createAttributeOptionApiAdapter()
553
            ->listPerPage($attributeCode, $limit, $withCount, $queryParameters);
554
    }
555
556
    /**
557
     * {@inheritdoc}
558
     *
559
     * @api
560
     *
561
     * @param int $limit The maximum number of categories to return.
562
     * @param bool $withCount Set to true to return the total count of categories.
563
     * @param array $queryParameters Additional query parameters to pass in the request.
564
     *
565
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
566
     */
567
    public function getCategoriesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
568
    {
569
        return $this->getFactory()
570
            ->createAkeneoPimAdapterFactory()
571
            ->createCategoryApiAdapter()
572
            ->listPerPage($limit, $withCount, $queryParameters);
573
    }
574
575
    /**
576
     * {@inheritdoc}
577
     *
578
     * @api
579
     *
580
     * @param int $limit The maximum number of channels to return.
581
     * @param bool $withCount Set to true to return the total count of channels.
582
     * @param array $queryParameters Additional query parameters to pass in the request.
583
     *
584
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
585
     */
586
    public function getChannelsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
587
    {
588
        return $this->getFactory()
589
            ->createAkeneoPimAdapterFactory()
590
            ->createChannelApiAdapter()
591
            ->listPerPage($limit, $withCount, $queryParameters);
592
    }
593
594
    /**
595
     * {@inheritdoc}
596
     *
597
     * @api
598
     *
599
     * @param int $limit The maximum number of currencies to return.
600
     * @param bool $withCount Set to true to return the total count of currencies.
601
     * @param array $queryParameters Additional query parameters to pass in the request.
602
     *
603
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
604
     */
605
    public function getCurrenciesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
606
    {
607
        return $this->getFactory()
608
            ->createAkeneoPimAdapterFactory()
609
            ->createCurrencyApiAdapter()
610
            ->listPerPage($limit, $withCount, $queryParameters);
611
    }
612
613
    /**
614
     * {@inheritdoc}
615
     *
616
     * @api
617
     *
618
     * @param int $limit The maximum number of locales to return.
619
     * @param bool $withCount Set to true to return the total count of locales.
620
     * @param array $queryParameters Additional query parameters to pass in the request.
621
     *
622
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
623
     */
624
    public function getLocalesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
625
    {
626
        return $this->getFactory()
627
            ->createAkeneoPimAdapterFactory()
628
            ->createAttributeGroupApiAdapter()
629
            ->listPerPage($limit, $withCount, $queryParameters);
630
    }
631
632
    /**
633
     * {@inheritdoc}
634
     *
635
     * @api
636
     *
637
     * @param int $limit The maximum number of families to return.
638
     * @param bool $withCount Set to true to return the total count of families.
639
     * @param array $queryParameters Additional query parameters to pass in the request.
640
     *
641
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
642
     */
643
    public function getFamiliesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
644
    {
645
        return $this->getFactory()
646
            ->createAkeneoPimAdapterFactory()
647
            ->createFamilyApiAdapter()
648
            ->listPerPage($limit, $withCount, $queryParameters);
649
    }
650
651
    /**
652
     * {@inheritdoc}
653
     *
654
     * @api
655
     *
656
     * @param string $familyCode Family code from which you want to get a list of family variants.
657
     * @param int $limit The maximum number of family variants to return.
658
     * @param bool $withCount Set to true to return the total count of family variants.
659
     * @param array $queryParameters Additional query parameters to pass in the request.
660
     *
661
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
662
     */
663
    public function getFamilyVariantsListPerPage($familyCode, $limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
664
    {
665
        return $this->getFactory()
666
            ->createAkeneoPimAdapterFactory()
667
            ->createFamilyVariantApiAdapter()
668
            ->listPerPage($familyCode, $limit, $withCount, $queryParameters);
669
    }
670
671
    /**
672
     * {@inheritdoc}
673
     *
674
     * @api
675
     *
676
     * @param int $limit The maximum number of measure families to return.
677
     * @param bool $withCount Set to true to return the total count of measure families.
678
     * @param array $queryParameters Additional query parameters to pass in the request.
679
     *
680
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
681
     */
682
    public function getMeasureFamilyListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
683
    {
684
        return $this->getFactory()
685
            ->createAkeneoPimAdapterFactory()
686
            ->createMeasureFamilyApiAdapter()
687
            ->listPerPage($limit, $withCount, $queryParameters);
688
    }
689
690
    /**
691
     * {@inheritdoc}
692
     *
693
     * @api
694
     *
695
     * @param int $limit The maximum number of products to return.
696
     * @param bool $withCount Set to true to return the total count of products.
697
     * @param array $queryParameters Additional query parameters to pass in the request.
698
     *
699
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
700
     */
701
    public function getProductsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
702
    {
703
        return $this->getFactory()
704
            ->createAkeneoPimAdapterFactory()
705
            ->createProductApiAdapter()
706
            ->listPerPage($limit, $withCount, $queryParameters);
707
    }
708
709
    /**
710
     * {@inheritdoc}
711
     *
712
     * @api
713
     *
714
     * @param int $limit The maximum number of product media files to return.
715
     * @param bool $withCount Set to true to return the total count of product media files.
716
     * @param array $queryParameters Additional query parameters to pass in the request.
717
     *
718
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
719
     */
720
    public function getProductMediaFilesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
721
    {
722
        return $this->getFactory()
723
            ->createAkeneoPimAdapterFactory()
724
            ->createProductMediaFileApiAdapter()
725
            ->listPerPage($limit, $withCount, $queryParameters);
726
    }
727
728
    /**
729
     * {@inheritdoc}
730
     *
731
     * @api
732
     *
733
     * @param int $limit The maximum number of product models to return.
734
     * @param bool $withCount Set to true to return the total count of product models.
735
     * @param array $queryParameters Additional query parameters to pass in the request.
736
     *
737
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
738
     */
739
    public function getProductModelsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
740
    {
741
        return $this->getFactory()
742
            ->createAkeneoPimAdapterFactory()
743
            ->createProductModelApiAdapter()
744
            ->listPerPage($limit, $withCount, $queryParameters);
745
    }
746
747
    /**
748
     * {@inheritdoc}
749
     *
750
     * @api
751
     *
752
     * @param int $pageSize
753
     * @param array $queryParameters
754
     *
755
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
756
     */
757
    public function getAllAssets(int $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
758
    {
759
        return $this->getFactory()
760
            ->createAkeneoPimAdapterFactory()
761
            ->createAssetApiAdapter()
762
            ->all($pageSize, $queryParameters);
763
    }
764
765
    /**
766
     * {@inheritdoc}
767
     *
768
     * @api
769
     *
770
     * @param string $code
771
     *
772
     * @return array
773
     */
774
    public function getAsset(string $code): array
775
    {
776
        return $this->getFactory()
777
            ->createAkeneoPimAdapterFactory()
778
            ->createAssetApiAdapter()
779
            ->get($code);
780
    }
781
782
    /**
783
     * {@inheritdoc}
784
     *
785
     * @api
786
     *
787
     * @param int $limit
788
     * @param bool $withCount
789
     * @param array $queryParameters
790
     *
791
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
792
     */
793
    public function getAssetsListPerPage(int $limit = 10, bool $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
794
    {
795
        return $this->getFactory()
796
            ->createAkeneoPimAdapterFactory()
797
            ->createAssetApiAdapter()
798
            ->listPerPage($limit, $withCount, $queryParameters);
799
    }
800
801
    /**
802
     * {@inheritdoc}
803
     *
804
     * @api
805
     *
806
     * @param int $pageSize
807
     * @param array $queryParameters
808
     *
809
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
810
     */
811
    public function getAllAssetTags(int $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
812
    {
813
        return $this->getFactory()
814
            ->createAkeneoPimAdapterFactory()
815
            ->createAssetTagApiAdapter()
816
            ->all($pageSize, $queryParameters);
817
    }
818
819
    /**
820
     * {@inheritdoc}
821
     *
822
     * @api
823
     *
824
     * @param string $code
825
     *
826
     * @return array
827
     */
828
    public function getAssetTag(string $code): array
829
    {
830
        return $this->getFactory()
831
            ->createAkeneoPimAdapterFactory()
832
            ->createAssetTagApiAdapter()
833
            ->get($code);
834
    }
835
836
    /**
837
     * {@inheritdoc}
838
     *
839
     * @api
840
     *
841
     * @param int $limit
842
     * @param bool $withCount
843
     * @param array $queryParameters
844
     *
845
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
846
     */
847
    public function getAssetTagsListPerPage(int $limit = 10, bool $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
848
    {
849
        return $this->getFactory()
850
            ->createAkeneoPimAdapterFactory()
851
            ->createAssetTagApiAdapter()
852
            ->listPerPage($limit, $withCount, $queryParameters);
853
    }
854
855
    /**
856
     * {@inheritdoc}
857
     *
858
     * @api
859
     *
860
     * @param int $pageSize
861
     * @param array $queryParameters
862
     *
863
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
864
     */
865
    public function getAllAssetCategories(int $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
866
    {
867
        return $this->getFactory()
868
            ->createAkeneoPimAdapterFactory()
869
            ->createAssetCategoryApiAdapter()
870
            ->all($pageSize, $queryParameters);
871
    }
872
873
    /**
874
     * {@inheritdoc}
875
     *
876
     * @api
877
     *
878
     * @param string $code
879
     *
880
     * @return array
881
     */
882
    public function getAssetCategory(string $code): array
883
    {
884
        return $this->getFactory()
885
            ->createAkeneoPimAdapterFactory()
886
            ->createAssetCategoryApiAdapter()
887
            ->get($code);
888
    }
889
890
    /**
891
     * {@inheritdoc}
892
     *
893
     * @api
894
     *
895
     * @param int $limit
896
     * @param bool $withCount
897
     * @param array $queryParameters
898
     *
899
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
900
     */
901
    public function getAssetCategoriesListPerPage(int $limit = 10, bool $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
902
    {
903
        return $this->getFactory()
904
            ->createAkeneoPimAdapterFactory()
905
            ->createAssetCategoryApiAdapter()
906
            ->listPerPage($limit, $withCount, $queryParameters);
907
    }
908
909
    /**
910
     * {@inheritdoc}
911
     *
912
     * @api
913
     *
914
     * @param string $code
915
     *
916
     * @return array
917
     */
918
    public function getReferenceEntity(string $code): array
919
    {
920
        return $this->getFactory()
921
            ->createAkeneoPimAdapterFactory()
922
            ->createReferenceEntityApiAdapter()
923
            ->get($code);
924
    }
925
926
    /**
927
     * {@inheritdoc}
928
     *
929
     * @api
930
     *
931
     * @param array $queryParameters
932
     *
933
     * @return \Akeneo\Pim\ApiClient\Pagination\ResourceCursorInterface
934
     */
935
    public function getAllReferenceEntities(array $queryParameters = []): ResourceCursorInterface
936
    {
937
        return $this->getFactory()
938
            ->createAkeneoPimAdapterFactory()
939
            ->createReferenceEntityApiAdapter()
940
            ->all($queryParameters);
941
    }
942
943
    /**
944
     * {@inheritdoc}
945
     *
946
     * @api
947
     *
948
     * @param string $referenceEntityCode
949
     * @param string $recordCode
950
     *
951
     * @return array
952
     */
953
    public function getReferenceEntityRecord(string $referenceEntityCode, string $recordCode): array
954
    {
955
        return $this->getFactory()
956
            ->createAkeneoPimAdapterFactory()
957
            ->createReferenceEntityRecordApiAdapter()
958
            ->get($referenceEntityCode, $recordCode);
959
    }
960
961
    /**
962
     * {@inheritdoc}
963
     *
964
     * @api
965
     *
966
     * @param string $referenceEntityCode
967
     * @param array $queryParameters
968
     *
969
     * @return \Akeneo\Pim\ApiClient\Pagination\ResourceCursorInterface
970
     */
971
    public function getReferenceEntityRecords(string $referenceEntityCode, array $queryParameters = []): ResourceCursorInterface
972
    {
973
        return $this->getFactory()
974
            ->createAkeneoPimAdapterFactory()
975
            ->createReferenceEntityRecordApiAdapter()
976
            ->all($referenceEntityCode, $queryParameters);
977
    }
978
979
    /**
980
     * {@inheritdoc}
981
     *
982
     * @api
983
     *
984
     * @param string $referenceEntityCode
985
     * @param string $attributeCode
986
     *
987
     * @return array
988
     */
989
    public function getReferenceEntityAttribute(string $referenceEntityCode, string $attributeCode): array
990
    {
991
        return $this->getFactory()
992
            ->createAkeneoPimAdapterFactory()
993
            ->createReferenceEntityAttributeApiAdapter()
994
            ->get($referenceEntityCode, $attributeCode);
995
    }
996
997
    /**
998
     * {@inheritdoc}
999
     *
1000
     * @api
1001
     *
1002
     * @param string $referenceEntityCode
1003
     * @param array $queryParameters
1004
     *
1005
     * @return \Akeneo\Pim\ApiClient\Pagination\ResourceCursorInterface
1006
     */
1007
    public function getReferenceEntityAttributes(string $referenceEntityCode, array $queryParameters = []): ResourceCursorInterface
1008
    {
1009
        return $this->getFactory()
1010
            ->createAkeneoPimAdapterFactory()
1011
            ->createReferenceEntityAttributeApiAdapter()
1012
            ->all($referenceEntityCode, $queryParameters);
1013
    }
1014
1015
    /**
1016
     * {@inheritdoc}
1017
     *
1018
     * @api
1019
     *
1020
     * @param string $referenceEntityCode
1021
     * @param string $attributeCode
1022
     * @param string $attributeOptionCode
1023
     *
1024
     * @return array
1025
     */
1026
    public function getReferenceEntityAttributeOption(string $referenceEntityCode, string $attributeCode, string $attributeOptionCode): array
1027
    {
1028
        return $this->getFactory()
1029
            ->createAkeneoPimAdapterFactory()
1030
            ->createReferenceEntityAttributeOptionApiAdapter()
1031
            ->get($referenceEntityCode, $attributeCode, $attributeOptionCode);
1032
    }
1033
1034
    /**
1035
     * {@inheritdoc}
1036
     *
1037
     * @api
1038
     *
1039
     * @param string $referenceEntityCode
1040
     * @param string $attributeCode
1041
     *
1042
     * @return array
1043
     */
1044
    public function getReferenceEntityAttributeOptions(string $referenceEntityCode, string $attributeCode): array
1045
    {
1046
        return $this->getFactory()
1047
            ->createAkeneoPimAdapterFactory()
1048
            ->createReferenceEntityAttributeOptionApiAdapter()
1049
            ->all($referenceEntityCode, $attributeCode);
1050
    }
1051
1052
    /**
1053
     * {@inheritdoc}
1054
     *
1055
     * @api
1056
     *
1057
     * @param string $code
1058
     *
1059
     * @return array
1060
     */
1061
    public function getPublishedProduct(string $code): array
1062
    {
1063
        return $this->getFactory()
1064
            ->createAkeneoPimAdapterFactory()
1065
            ->createPublishedProductApiAdapter()
1066
            ->get($code);
1067
    }
1068
1069
    /**
1070
     * {@inheritdoc}
1071
     *
1072
     * @api
1073
     *
1074
     * @param int $pageSize
1075
     * @param array $queryParameters
1076
     *
1077
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
1078
     */
1079
    public function getAllPublishedProducts(int $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
1080
    {
1081
        return $this->getFactory()
1082
            ->createAkeneoPimAdapterFactory()
1083
            ->createPublishedProductApiAdapter()
1084
            ->all($pageSize, $queryParameters);
1085
    }
1086
1087
    /**
1088
     * {@inheritdoc}
1089
     *
1090
     * @api
1091
     *
1092
     * @param int $limit
1093
     * @param bool $withCount
1094
     * @param array $queryParameters
1095
     *
1096
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
1097
     */
1098
    public function getPublishedProductsListPerPage(int $limit = 10, bool $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
1099
    {
1100
        return $this->getFactory()
1101
            ->createAkeneoPimAdapterFactory()
1102
            ->createPublishedProductApiAdapter()
1103
            ->listPerPage($limit, $withCount, $queryParameters);
1104
    }
1105
1106
    /**
1107
     * {@inheritdoc}
1108
     *
1109
     * @api
1110
     *
1111
     * @param string $code
1112
     *
1113
     * @return array
1114
     */
1115
    public function getProductDraft(string $code): array
1116
    {
1117
        return $this->getFactory()
1118
            ->createAkeneoPimAdapterFactory()
1119
            ->createProductDraftApiAdapter()
1120
            ->get($code);
1121
    }
1122
1123
    /**
1124
     * {@inheritdoc}
1125
     *
1126
     * @api
1127
     *
1128
     * @param string $code
1129
     *
1130
     * @return array
1131
     */
1132
    public function getProductModelDraft(string $code): array
1133
    {
1134
        return $this->getFactory()
1135
            ->createAkeneoPimAdapterFactory()
1136
            ->createProductModelApiAdapter()
1137
            ->get($code);
1138
    }
1139
1140
    /**
1141
     * {@inheritdoc}
1142
     *
1143
     * @api
1144
     *
1145
     * @param string $code
1146
     *
1147
     * @return \Psr\Http\Message\ResponseInterface
1148
     */
1149
    public function downloadReferenceEntityMediaFile(string $code): ResponseInterface
1150
    {
1151
        return $this->getFactory()
1152
            ->createAkeneoPimAdapterFactory()
1153
            ->createReferenceEntityMediaFileApiAdapter()
1154
            ->download($code);
1155
    }
1156
1157
    /**
1158
     * {@inheritdoc}
1159
     *
1160
     * @api
1161
     *
1162
     * @param string $assetCode
1163
     * @param string $localeCode
1164
     *
1165
     * @return array
1166
     */
1167
    public function getAssetReferenceFileFromLocalizableAsset(string $assetCode, string $localeCode): array
1168
    {
1169
        return $this->getFactory()
1170
            ->createAkeneoPimAdapterFactory()
1171
            ->createAssetReferenceFileApiAdapter()
1172
            ->getFromLocalizableAsset($assetCode, $localeCode);
1173
    }
1174
1175
    /**
1176
     * {@inheritdoc}
1177
     *
1178
     * @api
1179
     *
1180
     * @param string $assetCode
1181
     *
1182
     * @return array
1183
     */
1184
    public function getAssetReferenceFileFromNotLocalizableAsset(string $assetCode): array
1185
    {
1186
        return $this->getFactory()
1187
            ->createAkeneoPimAdapterFactory()
1188
            ->createAssetReferenceFileApiAdapter()
1189
            ->getFromNotLocalizableAsset($assetCode);
1190
    }
1191
1192
    /**
1193
     * {@inheritdoc}
1194
     *
1195
     * @api
1196
     *
1197
     * @param string $assetCode
1198
     * @param string $localeCode
1199
     *
1200
     * @return \Psr\Http\Message\ResponseInterface
1201
     */
1202
    public function downloadAssetReferenceFileFromLocalizableAsset(string $assetCode, string $localeCode): ResponseInterface
1203
    {
1204
        return $this->getFactory()
1205
            ->createAkeneoPimAdapterFactory()
1206
            ->createAssetReferenceFileApiAdapter()
1207
            ->downloadFromLocalizableAsset($assetCode, $localeCode);
1208
    }
1209
1210
    /**
1211
     * {@inheritdoc}
1212
     *
1213
     * @api
1214
     *
1215
     * @param string $assetCode
1216
     *
1217
     * @return \Psr\Http\Message\ResponseInterface
1218
     */
1219
    public function downloadAssetReferenceFileFromNotLocalizableAsset(string $assetCode): ResponseInterface
1220
    {
1221
        return $this->getFactory()
1222
            ->createAkeneoPimAdapterFactory()
1223
            ->createAssetReferenceFileApiAdapter()
1224
            ->downloadFromNotLocalizableAsset($assetCode);
1225
    }
1226
1227
    /**
1228
     * {@inheritdoc}
1229
     *
1230
     * @api
1231
     *
1232
     * @param string $assetCode
1233
     * @param string $channelCode
1234
     * @param string $localeCode
1235
     *
1236
     * @return array
1237
     */
1238
    public function getAssetVariationFileFromLocalizableAsset(string $assetCode, string $channelCode, string $localeCode): array
1239
    {
1240
        return $this->getFactory()
1241
            ->createAkeneoPimAdapterFactory()
1242
            ->createAssetVariationFileApiAdapter()
1243
            ->getFromLocalizableAsset($assetCode, $channelCode, $localeCode);
1244
    }
1245
1246
    /**
1247
     * {@inheritdoc}
1248
     *
1249
     * @api
1250
     *
1251
     * @param string $assetCode
1252
     * @param string $channelCode
1253
     *
1254
     * @return array
1255
     */
1256
    public function getAssetVariationFileFromNotLocalizableAsset(string $assetCode, string $channelCode): array
1257
    {
1258
        return $this->getFactory()
1259
            ->createAkeneoPimAdapterFactory()
1260
            ->createAssetVariationFileApiAdapter()
1261
            ->getFromNotLocalizableAsset($assetCode, $channelCode);
1262
    }
1263
1264
    /**
1265
     * {@inheritdoc}
1266
     *
1267
     * @api
1268
     *
1269
     * @param string $assetCode
1270
     * @param string $channelCode
1271
     * @param string $localeCode
1272
     *
1273
     * @return \Psr\Http\Message\ResponseInterface
1274
     */
1275
    public function downloadAssetVariationFileFromLocalizableAsset(string $assetCode, string $channelCode, string $localeCode): ResponseInterface
1276
    {
1277
        return $this->getFactory()
1278
            ->createAkeneoPimAdapterFactory()
1279
            ->createAssetVariationFileApiAdapter()
1280
            ->downloadFromLocalizableAsset($assetCode, $channelCode, $localeCode);
1281
    }
1282
1283
    /**
1284
     * {@inheritdoc}
1285
     *
1286
     * @api
1287
     *
1288
     * @param string $assetCode
1289
     * @param string $channelCode
1290
     *
1291
     * @return \Psr\Http\Message\ResponseInterface
1292
     */
1293
    public function downloadAssetVariationFileFromNotLocalizableAsset(string $assetCode, string $channelCode): ResponseInterface
1294
    {
1295
        return $this->getFactory()
1296
            ->createAkeneoPimAdapterFactory()
1297
            ->createAssetVariationFileApiAdapter()
1298
            ->downloadFromNotLocalizableAsset($assetCode, $channelCode);
1299
    }
1300
}
1301