Code Duplication    Length = 9-12 lines in 11 locations

src/Endpoint/Customer.php 1 location

@@ 31-42 (lines=12) @@
28
     * @param string $email
29
     * @return array
30
     */
31
    public function getCustomerByEmail(string $email) : array
32
    {
33
        Assert::that($email)->email();
34
35
        return (array)$this->master->doRequest(
36
            'GET',
37
            sprintf('/admin/WEBAPI/Endpoints/v1_0/CustomerService/{KEY}/GetCustomerByEmail?email=%s', rawurlencode($email))
38
        );
39
    }
40
    
41
    /**
42
     * @see https://shoppartner.dandomain.dk/dokumentation/api-documentation/customer/#General_Online_Reference
43
     *
44
     * @param  \DateTimeInterface $date
45
     * @return array      

src/Endpoint/Product.php 1 location

@@ 88-98 (lines=11) @@
85
     * @param array $context
86
     * @return array
87
     */
88
    public function getProductByMetadata(string $productNumber, array $context) : array
89
    {
90
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
91
        Assert::that($context)->notEmpty();
92
93
        return (array)$this->master->doRequest(
94
            'POST',
95
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductService/{KEY}/%s', rawurlencode($productNumber)),
96
            $context
97
        );
98
    }
99
100
    /**
101
     * @see http://4221117.shop53.dandomain.dk/admin/webapi/endpoints/v1_0/ProductService/help/operations/GetProductsInCategoryByMetadata

src/Endpoint/ProductData.php 9 locations

@@ 13-21 (lines=9) @@
10
     * @param string $productNumber
11
     * @return array
12
     */
13
    public function getDataProduct(string $productNumber) : array
14
    {
15
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
16
17
        return (array)$this->master->doRequest(
18
            'GET',
19
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber))
20
        );
21
    }
22
23
    /**
24
     * @param int $categoryId
@@ 41-49 (lines=9) @@
38
     * @param string $barCode
39
     * @return array
40
     */
41
    public function getDataProductsByBarcode(string $barCode) : array
42
    {
43
        Assert::that($barCode)->minLength(1, 'The length of $barCode has to be > 0');
44
45
        return (array)$this->master->doRequest(
46
            'GET',
47
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/ByBarcode/%s', rawurlencode($barCode))
48
        );
49
    }
50
51
    /**
52
     * @param \DateTimeInterface $date
@@ 121-129 (lines=9) @@
118
     * @param int $stockCount
119
     * @return bool
120
     */
121
    public function setStockCount(string $productNumber, int $stockCount) : bool
122
    {
123
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
124
125
        return (bool)$this->master->doRequest(
126
            'PUT',
127
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/SetStockCount/%s/%d', rawurlencode($productNumber), $stockCount)
128
        );
129
    }
130
131
    /**
132
     * Will return the stock count for the specified product number
@@ 262-270 (lines=9) @@
259
     * @param string $productNumber
260
     * @return boolean
261
     */
262
    public function deleteProduct(string $productNumber) : bool
263
    {
264
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
265
266
        return (bool)$this->master->doRequest(
267
            'DELETE',
268
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber))
269
        );
270
    }
271
272
    /**
273
     * @param array|\stdClass $category
@@ 314-323 (lines=10) @@
311
     * @param array|\stdClass $product
312
     * @return array
313
     */
314
    public function updateProduct(string $productNumber, $product) : array
315
    {
316
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
317
318
        return (array)$this->master->doRequest(
319
            'PUT',
320
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber)),
321
            $product
322
        );
323
    }
324
325
    /**
326
     * @param string $productNumber
@@ 330-340 (lines=11) @@
327
     * @param KeyValueCollection $keyValueCollection
328
     * @return array
329
     */
330
    public function patchProduct(string $productNumber, KeyValueCollection $keyValueCollection) : array
331
    {
332
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
333
        Assert::that($keyValueCollection->count())->greaterThan(0);
334
335
        return (array)$this->master->doRequest(
336
            'PATCH',
337
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber)),
338
            $keyValueCollection->get()
339
        );
340
    }
341
342
    /**
343
     * @param string $productNumber
@@ 347-356 (lines=10) @@
344
     * @param array|\stdClass $price
345
     * @return array
346
     */
347
    public function createPrice(string $productNumber, $price) : array
348
    {
349
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
350
351
        return (array)$this->master->doRequest(
352
            'POST',
353
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s/Prices', rawurlencode($productNumber)),
354
            $price
355
        );
356
    }
357
358
    /**
359
     * @param string $productNumber
@@ 363-372 (lines=10) @@
360
     * @param array|\stdClass $price
361
     * @return bool
362
     */
363
    public function deletePrice(string $productNumber, $price) : bool
364
    {
365
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
366
367
        return (bool)$this->master->doRequest(
368
            'DELETE',
369
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s/Prices', rawurlencode($productNumber)),
370
            $price
371
        );
372
    }
373
374
    /**
375
     * @param string $productNumber
@@ 378-386 (lines=9) @@
375
     * @param string $productNumber
376
     * @return array
377
     */
378
    public function getPricesForProduct(string $productNumber) : array
379
    {
380
        Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0');
381
382
        return (array)$this->master->doRequest(
383
            'GET',
384
            sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s/Prices/List', rawurlencode($productNumber))
385
        );
386
    }
387
388
    /**
389
     * @param int $siteId