AkeneoPimService   A
last analyzed

Complexity

Total Complexity 40

Size/Duplication

Total Lines 726
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 161
c 1
b 0
f 1
dl 0
loc 726
rs 9.2
wmc 40

40 Methods

Rating   Name   Duplication   Size   Complexity  
A getAllCategories() 0 6 1
A getMeasureFamilyListPerPage() 0 6 1
A getProductMediaFile() 0 6 1
A getAllAttributeGroups() 0 6 1
A getAttributesListPerPage() 0 6 1
A getAllProductModels() 0 6 1
A getAllCurrencies() 0 6 1
A getFamily() 0 6 1
A getLocalesListPerPage() 0 6 1
A getMeasureFamily() 0 6 1
A getAllChannels() 0 6 1
A getProductMediaFilesListPerPage() 0 6 1
A getCategoriesListPerPage() 0 6 1
A getProductModel() 0 6 1
A getLocale() 0 6 1
A getAttributeGroupsListPerPage() 0 6 1
A getAllProducts() 0 6 1
A getAllAttributeOptions() 0 6 1
A getAllAttributes() 0 6 1
A getChannelsListPerPage() 0 6 1
A getCurrency() 0 6 1
A getCategory() 0 6 1
A getCurrenciesListPerPage() 0 6 1
A getProduct() 0 6 1
A getAllFamilyVariants() 0 6 1
A getFamiliesListPerPage() 0 6 1
A getAllMeasureFamilies() 0 6 1
A getAttributeGroup() 0 6 1
A getAllProductMediaFiles() 0 6 1
A getFamilyVariant() 0 6 1
A getAllLocales() 0 6 1
A getAllFamilies() 0 6 1
A getAttributeOptionsListPerPage() 0 6 1
A getChannel() 0 6 1
A getAllAssociationTypes() 0 6 1
A getProductsListPerPage() 0 6 1
A getAttribute() 0 6 1
A getAttributeOption() 0 6 1
A getProductModelsListPerPage() 0 6 1
A getFamilyVariantsListPerPage() 0 6 1

How to fix   Complexity   

Complex Class

Complex classes like AkeneoPimService often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use AkeneoPimService, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Service\AkeneoPim;
9
10
use Spryker\Service\Kernel\AbstractService;
0 ignored issues
show
Bug introduced by
The type Spryker\Service\Kernel\AbstractService was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
11
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface;
12
use SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface;
13
14
/**
15
 * @method \SprykerEco\Service\AkeneoPim\AkeneoPimServiceFactory getFactory()
16
 */
17
class AkeneoPimService extends AbstractService implements AkeneoPimServiceInterface
18
{
19
    /**
20
     * {@inheritDoc}
21
     *
22
     * @api
23
     *
24
     * @param int $pageSize The size of the page returned by the server.
25
     * @param array $queryParameters Additional query parameters to pass in the request
26
     *
27
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
28
     */
29
    public function getAllProducts($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
30
    {
31
        return $this->getFactory()
32
            ->createAkeneoPimAdapterFactory()
33
            ->createProductApiAdapter()
34
            ->all($pageSize, $queryParameters);
35
    }
36
37
    /**
38
     * {@inheritDoc}
39
     *
40
     * @api
41
     *
42
     * @param int $pageSize The size of the page returned by the server.
43
     * @param array $queryParameters Additional query parameters to pass in the request
44
     *
45
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
46
     */
47
    public function getAllCategories($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
48
    {
49
        return $this->getFactory()
50
            ->createAkeneoPimAdapterFactory()
51
            ->createCategoryApiAdapter()
52
            ->all($pageSize, $queryParameters);
53
    }
54
55
    /**
56
     * {@inheritDoc}
57
     *
58
     * @api
59
     *
60
     * @param int $pageSize The size of the page returned by the server.
61
     * @param array $queryParameters Additional query parameters to pass in the request
62
     *
63
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
64
     */
65
    public function getAllAttributes($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
66
    {
67
        return $this->getFactory()
68
            ->createAkeneoPimAdapterFactory()
69
            ->createAttributeApiAdapter()
70
            ->all($pageSize, $queryParameters);
71
    }
72
73
    /**
74
     * {@inheritDoc}
75
     *
76
     * @api
77
     *
78
     * @param string $attributeCode Code of the attribute
79
     * @param int $pageSize The size of the page returned by the server.
80
     * @param array $queryParameters Additional query parameters to pass in the request
81
     *
82
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
83
     */
84
    public function getAllAttributeOptions($attributeCode, $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
85
    {
86
        return $this->getFactory()
87
            ->createAkeneoPimAdapterFactory()
88
            ->createAttributeOptionApiAdapter()
89
            ->all($attributeCode, $pageSize, $queryParameters);
90
    }
91
92
    /**
93
     * {@inheritDoc}
94
     *
95
     * @api
96
     *
97
     * @param int $pageSize The size of the page returned by the server.
98
     * @param array $queryParameters Additional query parameters to pass in the request
99
     *
100
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
101
     */
102
    public function getAllAttributeGroups($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
103
    {
104
        return $this->getFactory()
105
            ->createAkeneoPimAdapterFactory()
106
            ->createAttributeGroupApiAdapter()
107
            ->all($pageSize, $queryParameters);
108
    }
109
110
    /**
111
     * {@inheritDoc}
112
     *
113
     * @api
114
     *
115
     * @param int $pageSize The size of the page returned by the server.
116
     * @param array $queryParameters Additional query parameters to pass in the request
117
     *
118
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
119
     */
120
    public function getAllChannels($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
121
    {
122
        return $this->getFactory()
123
            ->createAkeneoPimAdapterFactory()
124
            ->createChannelApiAdapter()
125
            ->all($pageSize, $queryParameters);
126
    }
127
128
    /**
129
     * {@inheritDoc}
130
     *
131
     * @api
132
     *
133
     * @param int $pageSize The size of the page returned by the server.
134
     * @param array $queryParameters Additional query parameters to pass in the request
135
     *
136
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
137
     */
138
    public function getAllCurrencies($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
139
    {
140
        return $this->getFactory()
141
            ->createAkeneoPimAdapterFactory()
142
            ->createCurrencyApiAdapter()
143
            ->all($pageSize, $queryParameters);
144
    }
145
146
    /**
147
     * {@inheritDoc}
148
     *
149
     * @api
150
     *
151
     * @param int $pageSize The size of the page returned by the server.
152
     * @param array $queryParameters Additional query parameters to pass in the request
153
     *
154
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
155
     */
156
    public function getAllLocales($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
157
    {
158
        return $this->getFactory()
159
            ->createAkeneoPimAdapterFactory()
160
            ->createLocaleApiAdapter()
161
            ->all($pageSize, $queryParameters);
162
    }
163
164
    /**
165
     * {@inheritDoc}
166
     *
167
     * @api
168
     *
169
     * @param int $pageSize The size of the page returned by the server.
170
     * @param array $queryParameters Additional query parameters to pass in the request
171
     *
172
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
173
     */
174
    public function getAllFamilies($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
175
    {
176
        return $this->getFactory()
177
            ->createAkeneoPimAdapterFactory()
178
            ->createFamilyApiAdapter()
179
            ->all($pageSize, $queryParameters);
180
    }
181
182
    /**
183
     * {@inheritDoc}
184
     *
185
     * @api
186
     *
187
     * @param string $familyCode Family code from which you want to get a list of family variants.
188
     * @param int $pageSize The size of the page returned by the server.
189
     * @param array $queryParameters Additional query parameters to pass in the request
190
     *
191
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
192
     */
193
    public function getAllFamilyVariants($familyCode, $pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
194
    {
195
        return $this->getFactory()
196
            ->createAkeneoPimAdapterFactory()
197
            ->createFamilyVariantApiAdapter()
198
            ->all($familyCode, $pageSize, $queryParameters);
199
    }
200
201
    /**
202
     * {@inheritDoc}
203
     *
204
     * @api
205
     *
206
     * @param int $pageSize The size of the page returned by the server.
207
     * @param array $queryParameters Additional query parameters to pass in the request
208
     *
209
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
210
     */
211
    public function getAllMeasureFamilies($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
212
    {
213
        return $this->getFactory()
214
            ->createAkeneoPimAdapterFactory()
215
            ->createMeasureFamilyApiAdapter()
216
            ->all($pageSize, $queryParameters);
217
    }
218
219
    /**
220
     * {@inheritDoc}
221
     *
222
     * @api
223
     *
224
     * @param int $pageSize The size of the page returned by the server.
225
     * @param array $queryParameters Additional query parameters to pass in the request
226
     *
227
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
228
     */
229
    public function getAllAssociationTypes($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
230
    {
231
        return $this->getFactory()
232
            ->createAkeneoPimAdapterFactory()
233
            ->createAssociationTypeApiAdapter()
234
            ->all($pageSize, $queryParameters);
235
    }
236
237
    /**
238
     * {@inheritDoc}
239
     *
240
     * @api
241
     *
242
     * @param int $pageSize The size of the page returned by the server.
243
     * @param array $queryParameters Additional query parameters to pass in the request
244
     *
245
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
246
     */
247
    public function getAllProductMediaFiles($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
248
    {
249
        return $this->getFactory()
250
            ->createAkeneoPimAdapterFactory()
251
            ->createProductMediaFileApiAdapter()
252
            ->all($pageSize, $queryParameters);
253
    }
254
255
    /**
256
     * {@inheritDoc}
257
     *
258
     * @api
259
     *
260
     * @param int $pageSize The size of the page returned by the server.
261
     * @param array $queryParameters Additional query parameters to pass in the request
262
     *
263
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourceCursorInterface
264
     */
265
    public function getAllProductModels($pageSize = 10, array $queryParameters = []): AkeneoResourceCursorInterface
266
    {
267
        return $this->getFactory()
268
            ->createAkeneoPimAdapterFactory()
269
            ->createProductModelApiAdapter()
270
            ->all($pageSize, $queryParameters);
271
    }
272
273
    /**
274
     * {@inheritDoc}
275
     *
276
     * @api
277
     *
278
     * @param string $code Code of the attribute
279
     *
280
     * @return array
281
     */
282
    public function getAttribute($code): array
283
    {
284
        return $this->getFactory()
285
            ->createAkeneoPimAdapterFactory()
286
            ->createAttributeApiAdapter()
287
            ->get($code);
288
    }
289
290
    /**
291
     * {@inheritDoc}
292
     *
293
     * @api
294
     *
295
     * @param string $code Code of the attribute group
296
     *
297
     * @return array
298
     */
299
    public function getAttributeGroup($code): array
300
    {
301
        return $this->getFactory()
302
            ->createAkeneoPimAdapterFactory()
303
            ->createAttributeGroupApiAdapter()
304
            ->get($code);
305
    }
306
307
    /**
308
     * {@inheritDoc}
309
     *
310
     * @api
311
     *
312
     * @param string $attributeCode Code of the attribute
313
     * @param string $code Code of the attribute option
314
     *
315
     * @return array
316
     */
317
    public function getAttributeOption($attributeCode, $code): array
318
    {
319
        return $this->getFactory()
320
            ->createAkeneoPimAdapterFactory()
321
            ->createAttributeOptionApiAdapter()
322
            ->get($attributeCode, $code);
323
    }
324
325
    /**
326
     * {@inheritDoc}
327
     *
328
     * @api
329
     *
330
     * @param string $code Code of the category
331
     *
332
     * @return array
333
     */
334
    public function getCategory($code): array
335
    {
336
        return $this->getFactory()
337
            ->createAkeneoPimAdapterFactory()
338
            ->createCategoryApiAdapter()
339
            ->get($code);
340
    }
341
342
    /**
343
     * {@inheritDoc}
344
     *
345
     * @api
346
     *
347
     * @param string $code Code of the channel
348
     *
349
     * @return array
350
     */
351
    public function getChannel($code): array
352
    {
353
        return $this->getFactory()
354
            ->createAkeneoPimAdapterFactory()
355
            ->createChannelApiAdapter()
356
            ->get($code);
357
    }
358
359
    /**
360
     * {@inheritDoc}
361
     *
362
     * @api
363
     *
364
     * @param string $code Code of the currency
365
     *
366
     * @return array
367
     */
368
    public function getCurrency($code): array
369
    {
370
        return $this->getFactory()
371
            ->createAkeneoPimAdapterFactory()
372
            ->createCurrencyApiAdapter()
373
            ->get($code);
374
    }
375
376
    /**
377
     * {@inheritDoc}
378
     *
379
     * @api
380
     *
381
     * @param string $code Code of the locale
382
     *
383
     * @return array
384
     */
385
    public function getLocale($code): array
386
    {
387
        return $this->getFactory()
388
            ->createAkeneoPimAdapterFactory()
389
            ->createLocaleApiAdapter()
390
            ->get($code);
391
    }
392
393
    /**
394
     * {@inheritDoc}
395
     *
396
     * @api
397
     *
398
     * @param string $code Code of the family
399
     *
400
     * @return array
401
     */
402
    public function getFamily($code): array
403
    {
404
        return $this->getFactory()
405
            ->createAkeneoPimAdapterFactory()
406
            ->createFamilyApiAdapter()
407
            ->get($code);
408
    }
409
410
    /**
411
     * {@inheritDoc}
412
     *
413
     * @api
414
     *
415
     * @param string $familyCode Code of the family
416
     * @param string $code Code of the family variant
417
     *
418
     * @return array
419
     */
420
    public function getFamilyVariant($familyCode, $code): array
421
    {
422
        return $this->getFactory()
423
            ->createAkeneoPimAdapterFactory()
424
            ->createFamilyVariantApiAdapter()
425
            ->get($familyCode, $code);
426
    }
427
428
    /**
429
     * {@inheritDoc}
430
     *
431
     * @api
432
     *
433
     * @param string $code Code of the measure family
434
     *
435
     * @return array
436
     */
437
    public function getMeasureFamily($code): array
438
    {
439
        return $this->getFactory()
440
            ->createAkeneoPimAdapterFactory()
441
            ->createMeasureFamilyApiAdapter()
442
            ->get($code);
443
    }
444
445
    /**
446
     * {@inheritDoc}
447
     *
448
     * @api
449
     *
450
     * @param string $code Code of the product
451
     *
452
     * @return array
453
     */
454
    public function getProduct($code): array
455
    {
456
        return $this->getFactory()
457
            ->createAkeneoPimAdapterFactory()
458
            ->createProductApiAdapter()
459
            ->get($code);
460
    }
461
462
    /**
463
     * {@inheritDoc}
464
     *
465
     * @api
466
     *
467
     * @param string $code Code of the product media file
468
     *
469
     * @return array
470
     */
471
    public function getProductMediaFile($code): array
472
    {
473
        return $this->getFactory()
474
            ->createAkeneoPimAdapterFactory()
475
            ->createProductMediaFileApiAdapter()
476
            ->get($code);
477
    }
478
479
    /**
480
     * {@inheritDoc}
481
     *
482
     * @api
483
     *
484
     * @param string $code Code of the product model
485
     *
486
     * @return array
487
     */
488
    public function getProductModel($code): array
489
    {
490
        return $this->getFactory()
491
            ->createAkeneoPimAdapterFactory()
492
            ->createProductModelApiAdapter()
493
            ->get($code);
494
    }
495
496
    /**
497
     * {@inheritDoc}
498
     *
499
     * @api
500
     *
501
     * @param int $limit The maximum number of attributes to return.
502
     * @param bool $withCount Set to true to return the total count of attributes.
503
     * @param array $queryParameters Additional query parameters to pass in the request.
504
     *
505
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
506
     */
507
    public function getAttributesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
508
    {
509
        return $this->getFactory()
510
            ->createAkeneoPimAdapterFactory()
511
            ->createAttributeApiAdapter()
512
            ->listPerPage($limit, $withCount, $queryParameters);
513
    }
514
515
    /**
516
     * {@inheritDoc}
517
     *
518
     * @api
519
     *
520
     * @param int $limit The maximum number of attribute groups to return.
521
     * @param bool $withCount Set to true to return the total count of attribute groups.
522
     * @param array $queryParameters Additional query parameters to pass in the request.
523
     *
524
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
525
     */
526
    public function getAttributeGroupsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
527
    {
528
        return $this->getFactory()
529
            ->createAkeneoPimAdapterFactory()
530
            ->createAttributeGroupApiAdapter()
531
            ->listPerPage($limit, $withCount, $queryParameters);
532
    }
533
534
    /**
535
     * {@inheritDoc}
536
     *
537
     * @api
538
     *
539
     * @param string $attributeCode Code of the attribute
540
     * @param int $limit The maximum number of resources to return.
541
     * @param bool $withCount Set to true to return the total count of resources.
542
     * @param array $queryParameters Additional query parameters to pass in the request.
543
     *
544
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
545
     */
546
    public function getAttributeOptionsListPerPage($attributeCode, $limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
547
    {
548
        return $this->getFactory()
549
            ->createAkeneoPimAdapterFactory()
550
            ->createAttributeOptionApiAdapter()
551
            ->listPerPage($attributeCode, $limit, $withCount, $queryParameters);
552
    }
553
554
    /**
555
     * {@inheritDoc}
556
     *
557
     * @api
558
     *
559
     * @param int $limit The maximum number of categories to return.
560
     * @param bool $withCount Set to true to return the total count of categories.
561
     * @param array $queryParameters Additional query parameters to pass in the request.
562
     *
563
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
564
     */
565
    public function getCategoriesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
566
    {
567
        return $this->getFactory()
568
            ->createAkeneoPimAdapterFactory()
569
            ->createCategoryApiAdapter()
570
            ->listPerPage($limit, $withCount, $queryParameters);
571
    }
572
573
    /**
574
     * {@inheritDoc}
575
     *
576
     * @api
577
     *
578
     * @param int $limit The maximum number of channels to return.
579
     * @param bool $withCount Set to true to return the total count of channels.
580
     * @param array $queryParameters Additional query parameters to pass in the request.
581
     *
582
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
583
     */
584
    public function getChannelsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
585
    {
586
        return $this->getFactory()
587
            ->createAkeneoPimAdapterFactory()
588
            ->createChannelApiAdapter()
589
            ->listPerPage($limit, $withCount, $queryParameters);
590
    }
591
592
    /**
593
     * {@inheritDoc}
594
     *
595
     * @api
596
     *
597
     * @param int $limit The maximum number of currencies to return.
598
     * @param bool $withCount Set to true to return the total count of currencies.
599
     * @param array $queryParameters Additional query parameters to pass in the request.
600
     *
601
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
602
     */
603
    public function getCurrenciesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
604
    {
605
        return $this->getFactory()
606
            ->createAkeneoPimAdapterFactory()
607
            ->createCurrencyApiAdapter()
608
            ->listPerPage($limit, $withCount, $queryParameters);
609
    }
610
611
    /**
612
     * {@inheritDoc}
613
     *
614
     * @api
615
     *
616
     * @param int $limit The maximum number of locales to return.
617
     * @param bool $withCount Set to true to return the total count of locales.
618
     * @param array $queryParameters Additional query parameters to pass in the request.
619
     *
620
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
621
     */
622
    public function getLocalesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
623
    {
624
        return $this->getFactory()
625
            ->createAkeneoPimAdapterFactory()
626
            ->createAttributeGroupApiAdapter()
627
            ->listPerPage($limit, $withCount, $queryParameters);
628
    }
629
630
    /**
631
     * {@inheritDoc}
632
     *
633
     * @api
634
     *
635
     * @param int $limit The maximum number of families to return.
636
     * @param bool $withCount Set to true to return the total count of families.
637
     * @param array $queryParameters Additional query parameters to pass in the request.
638
     *
639
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
640
     */
641
    public function getFamiliesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
642
    {
643
        return $this->getFactory()
644
            ->createAkeneoPimAdapterFactory()
645
            ->createFamilyApiAdapter()
646
            ->listPerPage($limit, $withCount, $queryParameters);
647
    }
648
649
    /**
650
     * {@inheritDoc}
651
     *
652
     * @api
653
     *
654
     * @param string $familyCode Family code from which you want to get a list of family variants.
655
     * @param int $limit The maximum number of family variants to return.
656
     * @param bool $withCount Set to true to return the total count of family variants.
657
     * @param array $queryParameters Additional query parameters to pass in the request.
658
     *
659
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
660
     */
661
    public function getFamilyVariantsListPerPage($familyCode, $limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
662
    {
663
        return $this->getFactory()
664
            ->createAkeneoPimAdapterFactory()
665
            ->createFamilyVariantApiAdapter()
666
            ->listPerPage($familyCode, $limit, $withCount, $queryParameters);
667
    }
668
669
    /**
670
     * {@inheritDoc}
671
     *
672
     * @api
673
     *
674
     * @param int $limit The maximum number of measure families to return.
675
     * @param bool $withCount Set to true to return the total count of measure families.
676
     * @param array $queryParameters Additional query parameters to pass in the request.
677
     *
678
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
679
     */
680
    public function getMeasureFamilyListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
681
    {
682
        return $this->getFactory()
683
            ->createAkeneoPimAdapterFactory()
684
            ->createMeasureFamilyApiAdapter()
685
            ->listPerPage($limit, $withCount, $queryParameters);
686
    }
687
688
    /**
689
     * {@inheritDoc}
690
     *
691
     * @api
692
     *
693
     * @param int $limit The maximum number of products to return.
694
     * @param bool $withCount Set to true to return the total count of products.
695
     * @param array $queryParameters Additional query parameters to pass in the request.
696
     *
697
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
698
     */
699
    public function getProductsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
700
    {
701
        return $this->getFactory()
702
            ->createAkeneoPimAdapterFactory()
703
            ->createProductApiAdapter()
704
            ->listPerPage($limit, $withCount, $queryParameters);
705
    }
706
707
    /**
708
     * {@inheritDoc}
709
     *
710
     * @api
711
     *
712
     * @param int $limit The maximum number of product media files to return.
713
     * @param bool $withCount Set to true to return the total count of product media files.
714
     * @param array $queryParameters Additional query parameters to pass in the request.
715
     *
716
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
717
     */
718
    public function getProductMediaFilesListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
719
    {
720
        return $this->getFactory()
721
            ->createAkeneoPimAdapterFactory()
722
            ->createProductMediaFileApiAdapter()
723
            ->listPerPage($limit, $withCount, $queryParameters);
724
    }
725
726
    /**
727
     * {@inheritDoc}
728
     *
729
     * @api
730
     *
731
     * @param int $limit The maximum number of product models to return.
732
     * @param bool $withCount Set to true to return the total count of product models.
733
     * @param array $queryParameters Additional query parameters to pass in the request.
734
     *
735
     * @return \SprykerEco\Service\AkeneoPim\Dependencies\External\Api\Wrapper\AkeneoResourcePageInterface
736
     */
737
    public function getProductModelsListPerPage($limit = 10, $withCount = false, array $queryParameters = []): AkeneoResourcePageInterface
738
    {
739
        return $this->getFactory()
740
            ->createAkeneoPimAdapterFactory()
741
            ->createProductModelApiAdapter()
742
            ->listPerPage($limit, $withCount, $queryParameters);
743
    }
744
}
745