Skip to content

Commit a52fc89

Browse files
authored
refactor: split header property of FileClientTrait into new trait (#171)
* refactor: split header property of `FileClientTrait` into new trait * add tests
1 parent 86e6763 commit a52fc89

14 files changed

+112
-7
lines changed

src/Clients/CreditNote.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Sysix\LexOffice\BaseClient;
88
use Sysix\LexOffice\Clients\Traits\CreateFinalizeTrait;
99
use Sysix\LexOffice\Clients\Traits\DocumentClientTrait;
10+
use Sysix\LexOffice\Clients\Traits\FileClientWithAcceptHeaderTrait;
1011
use Sysix\LexOffice\Clients\Traits\GetTrait;
1112
use Sysix\LexOffice\Clients\Traits\PursueFinalizeTrait;
1213
use Sysix\LexOffice\Clients\Traits\VoucherListTrait;
@@ -15,6 +16,7 @@ class CreditNote extends BaseClient
1516
{
1617
use CreateFinalizeTrait;
1718
use DocumentClientTrait;
19+
use FileClientWithAcceptHeaderTrait;
1820
use GetTrait;
1921
use PursueFinalizeTrait;
2022
use VoucherListTrait;

src/Clients/DeliveryNote.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Sysix\LexOffice\BaseClient;
88
use Sysix\LexOffice\Clients\Traits\CreateTrait;
99
use Sysix\LexOffice\Clients\Traits\DocumentClientTrait;
10+
use Sysix\LexOffice\Clients\Traits\FileClientTrait;
1011
use Sysix\LexOffice\Clients\Traits\GetTrait;
1112
use Sysix\LexOffice\Clients\Traits\PursueTrait;
1213
use Sysix\LexOffice\Clients\Traits\VoucherListTrait;
@@ -15,6 +16,7 @@ class DeliveryNote extends BaseClient
1516
{
1617
use CreateTrait;
1718
use DocumentClientTrait;
19+
use FileClientTrait;
1820
use GetTrait;
1921
use PursueTrait;
2022
use VoucherListTrait;

src/Clients/DownPaymentInvoice.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66

77
use Sysix\LexOffice\BaseClient;
88
use Sysix\LexOffice\Clients\Traits\DocumentClientTrait;
9+
use Sysix\LexOffice\Clients\Traits\FileClientWithAcceptHeaderTrait;
910
use Sysix\LexOffice\Clients\Traits\GetTrait;
1011
use Sysix\LexOffice\Clients\Traits\VoucherListTrait;
1112

1213
class DownPaymentInvoice extends BaseClient
1314
{
1415
use DocumentClientTrait;
16+
use FileClientWithAcceptHeaderTrait;
1517
use GetTrait;
1618
use VoucherListTrait;
1719

src/Clients/Dunning.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66

77
use Sysix\LexOffice\BaseClient;
88
use Sysix\LexOffice\Clients\Traits\DocumentClientTrait;
9+
use Sysix\LexOffice\Clients\Traits\FileClientTrait;
910
use Sysix\LexOffice\Clients\Traits\GetTrait;
1011
use Sysix\LexOffice\Clients\Traits\PursueTrait;
1112

1213
class Dunning extends BaseClient
1314
{
1415
use DocumentClientTrait;
16+
use FileClientTrait;
1517
use GetTrait;
1618
use PursueTrait;
1719

src/Clients/Invoice.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Sysix\LexOffice\BaseClient;
88
use Sysix\LexOffice\Clients\Traits\CreateFinalizeTrait;
99
use Sysix\LexOffice\Clients\Traits\DocumentClientTrait;
10+
use Sysix\LexOffice\Clients\Traits\FileClientWithAcceptHeaderTrait;
1011
use Sysix\LexOffice\Clients\Traits\GetTrait;
1112
use Sysix\LexOffice\Clients\Traits\PursueFinalizeTrait;
1213
use Sysix\LexOffice\Clients\Traits\VoucherListTrait;
@@ -15,6 +16,7 @@ class Invoice extends BaseClient
1516
{
1617
use CreateFinalizeTrait;
1718
use DocumentClientTrait;
19+
use FileClientWithAcceptHeaderTrait;
1820
use GetTrait;
1921
use PursueFinalizeTrait;
2022
use VoucherListTrait;

src/Clients/OrderConfirmation.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Sysix\LexOffice\BaseClient;
88
use Sysix\LexOffice\Clients\Traits\CreateTrait;
99
use Sysix\LexOffice\Clients\Traits\DocumentClientTrait;
10+
use Sysix\LexOffice\Clients\Traits\FileClientTrait;
1011
use Sysix\LexOffice\Clients\Traits\GetTrait;
1112
use Sysix\LexOffice\Clients\Traits\PursueTrait;
1213
use Sysix\LexOffice\Clients\Traits\VoucherListTrait;
@@ -15,6 +16,7 @@ class OrderConfirmation extends BaseClient
1516
{
1617
use CreateTrait;
1718
use DocumentClientTrait;
19+
use FileClientTrait;
1820
use GetTrait;
1921
use PursueTrait;
2022
use VoucherListTrait;

src/Clients/Quotation.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77
use Sysix\LexOffice\BaseClient;
88
use Sysix\LexOffice\Clients\Traits\CreateFinalizeTrait;
99
use Sysix\LexOffice\Clients\Traits\DocumentClientTrait;
10+
use Sysix\LexOffice\Clients\Traits\FileClientTrait;
1011
use Sysix\LexOffice\Clients\Traits\GetTrait;
1112
use Sysix\LexOffice\Clients\Traits\VoucherListTrait;
1213

1314
class Quotation extends BaseClient
1415
{
1516
use CreateFinalizeTrait;
1617
use DocumentClientTrait;
18+
use FileClientTrait;
1719
use GetTrait;
1820
use VoucherListTrait;
1921

src/Clients/Traits/DocumentClientTrait.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@
77
use Psr\Http\Message\ResponseInterface;
88

99
/**
10-
* @deprecated use the FileClientTrait instead
10+
* @deprecated use the FileClientTrait or FileClientWithAcceptHeaderTrait instead
1111
*/
1212
trait DocumentClientTrait
1313
{
14-
use FileClientTrait;
15-
1614
public function document(string $id, bool $asContent = false, string $acceptHeader = '*/*'): ResponseInterface
1715
{
1816
trigger_error(__METHOD__.' should not be called anymore, in future versions this method WILL not exist', E_USER_DEPRECATED);
@@ -25,6 +23,10 @@ public function document(string $id, bool $asContent = false, string $acceptHead
2523
return $response;
2624
}
2725

28-
return $this->file($id, $acceptHeader);
26+
$this->api->newRequest('GET', $this->resource . '/' . rawurlencode($id) . '/file');
27+
28+
return $this->api
29+
->setRequest($this->api->getRequest()->withHeader('Accept', $acceptHeader))
30+
->getResponse();
2931
}
3032
}

src/Clients/Traits/FileClientTrait.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88

99
trait FileClientTrait
1010
{
11-
public function file(string $id, string $acceptHeader = '*/*'): ResponseInterface
11+
public function file(string $id): ResponseInterface
1212
{
1313
$this->api->newRequest('GET', $this->resource . '/' . rawurlencode($id) . '/file');
1414

1515
return $this->api
16-
->setRequest($this->api->getRequest()->withHeader('Accept', $acceptHeader))
16+
->setRequest($this->api->getRequest()->withHeader('Accept', '*/*'))
1717
->getResponse();
1818
}
1919
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Sysix\LexOffice\Clients\Traits;
6+
7+
use Psr\Http\Message\ResponseInterface;
8+
9+
trait FileClientWithAcceptHeaderTrait
10+
{
11+
public function file(string $id, string $acceptHeader = '*/*'): ResponseInterface
12+
{
13+
$this->api->newRequest('GET', $this->resource . '/' . rawurlencode($id) . '/file');
14+
15+
return $this->api
16+
->setRequest($this->api->getRequest()->withHeader('Accept', $acceptHeader))
17+
->getResponse();
18+
}
19+
}

0 commit comments

Comments
 (0)