Add CustomerRequestInterface

This commit is contained in:
Oliver Davies 2020-05-31 00:31:34 +01:00
parent 0426632a08
commit e83c6e59e4
3 changed files with 20 additions and 7 deletions

View file

@ -7,19 +7,14 @@ namespace Opdavies\Glassboxx\Request;
use Opdavies\Glassboxx\Traits\UsesAuthTokenTrait; use Opdavies\Glassboxx\Traits\UsesAuthTokenTrait;
use Opdavies\Glassboxx\ValueObject\CustomerInterface; use Opdavies\Glassboxx\ValueObject\CustomerInterface;
final class CustomerRequest extends AbstractRequest final class CustomerRequest extends AbstractRequest implements CustomerRequestInterface
{ {
use UsesAuthTokenTrait; use UsesAuthTokenTrait;
public const ENDPOINT = '/glassboxxorder/customCustomer';
/** @var string */
protected $authToken;
/** @var CustomerInterface */ /** @var CustomerInterface */
protected $customer; protected $customer;
public function forCustomer(CustomerInterface $customer): self public function forCustomer(CustomerInterface $customer): AbstractRequest
{ {
$this->customer = $customer; $this->customer = $customer;

View file

@ -0,0 +1,16 @@
<?php
declare(strict_types=1);
namespace Opdavies\Glassboxx\Request;
use Opdavies\Glassboxx\ValueObject\CustomerInterface;
interface CustomerRequestInterface
{
public const ENDPOINT = '/glassboxxorder/customCustomer';
public function forCustomer(CustomerInterface $customer): AbstractRequest;
public function execute(): string;
}

View file

@ -6,6 +6,8 @@ namespace Opdavies\Glassboxx\Traits;
trait UsesAuthTokenTrait trait UsesAuthTokenTrait
{ {
protected $authToken;
public function withAuthToken(string $authToken): self public function withAuthToken(string $authToken): self
{ {
$this->authToken = $authToken; $this->authToken = $authToken;