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\ValueObject\CustomerInterface;
final class CustomerRequest extends AbstractRequest
final class CustomerRequest extends AbstractRequest implements CustomerRequestInterface
{
use UsesAuthTokenTrait;
public const ENDPOINT = '/glassboxxorder/customCustomer';
/** @var string */
protected $authToken;
/** @var CustomerInterface */
protected $customer;
public function forCustomer(CustomerInterface $customer): self
public function forCustomer(CustomerInterface $customer): AbstractRequest
{
$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
{
protected $authToken;
public function withAuthToken(string $authToken): self
{
$this->authToken = $authToken;