Add psalm to level 3 and clean up more code
This commit is contained in:
15
psalm.xml
Normal file
15
psalm.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?>
|
||||
<psalm
|
||||
errorLevel="3"
|
||||
resolveFromConfigFile="true"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="https://getpsalm.org/schema/config"
|
||||
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
|
||||
>
|
||||
<projectFiles>
|
||||
<directory name="src" />
|
||||
<ignoreFiles>
|
||||
<directory name="vendor" />
|
||||
</ignoreFiles>
|
||||
</projectFiles>
|
||||
</psalm>
|
||||
@@ -155,7 +155,7 @@ class AWS
|
||||
'Service' => $k_service_hexis,
|
||||
]]);
|
||||
|
||||
$url = 'https://' . (string)$endpoint . '/' . $service_operation;
|
||||
$url = 'https://' . $endpoint . '/' . $service_operation;
|
||||
$headers = $this->buildHeaders($payload, $authorization_value, $date_time_string, $service_target);
|
||||
return (new Client())->request($url, $headers, $payload);
|
||||
}
|
||||
@@ -332,7 +332,7 @@ class AWS
|
||||
'value' =>
|
||||
[
|
||||
'currencyCode' => $this->config->getCurrency(),
|
||||
'amount' => (float)$amount
|
||||
'amount' => $amount
|
||||
]
|
||||
];
|
||||
return (json_encode($payload)) ?: '';
|
||||
|
||||
@@ -92,7 +92,6 @@ class Client implements ClientInterface
|
||||
$message = 'Could not connect to AWS (' . $url . '). Please check your '
|
||||
. 'internet connection and try again. [' . $message . ']';
|
||||
break;
|
||||
case CURLE_SSL_CACERT:
|
||||
case CURLE_SSL_PEER_CERTIFICATE:
|
||||
$message = 'Could not verify AWS SSL certificate. Please make sure '
|
||||
. 'that your network is not intercepting certificates. '
|
||||
|
||||
@@ -7,27 +7,27 @@ class Config implements ConfigInterface
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $endpoint;
|
||||
private $endpoint = '';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $access_key;
|
||||
private $access_key = '';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $secret_key;
|
||||
private $secret_key = '';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $partner_id;
|
||||
private $partner_id = '';
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $currency;
|
||||
private $currency = '';
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $debug;
|
||||
private $debug = false;
|
||||
|
||||
/**
|
||||
* @param string|null $key
|
||||
@@ -44,12 +44,36 @@ class Config implements ConfigInterface
|
||||
?string $currency,
|
||||
?bool $debug,
|
||||
) {
|
||||
$this->setAccessKey(($key) ?: $this->parseEnv('AWS_GIFT_CARD_KEY')); /** @phpstan-ignore-line */
|
||||
$this->setSecret(($secret) ?: $this->parseEnv('AWS_GIFT_CARD_SECRET')); /** @phpstan-ignore-line */
|
||||
$this->setPartner(($partner) ?: $this->parseEnv('AWS_GIFT_CARD_PARTNER_ID')); /** @phpstan-ignore-line */
|
||||
$this->setEndpoint(($endpoint) ?: $this->parseEnv('AWS_GIFT_CARD_ENDPOINT')); /** @phpstan-ignore-line */
|
||||
$this->setCurrency(($currency) ?: $this->parseEnv('AWS_GIFT_CARD_CURRENCY')); /** @phpstan-ignore-line */
|
||||
$this->setDebug(($debug) ?: $this->parseEnv('AWS_DEBUG')); /** @phpstan-ignore-line */
|
||||
/**
|
||||
* @psalm-suppress InvalidScalarArgument
|
||||
* @phpstan-ignore-next-line
|
||||
*/
|
||||
$this->setAccessKey(($key) ?: $this->parseEnv('AWS_GIFT_CARD_KEY'));
|
||||
/**
|
||||
* @psalm-suppress InvalidScalarArgument
|
||||
* @phpstan-ignore-next-line
|
||||
*/
|
||||
$this->setSecret(($secret) ?: $this->parseEnv('AWS_GIFT_CARD_SECRET'));
|
||||
/**
|
||||
* @psalm-suppress InvalidScalarArgument
|
||||
* @phpstan-ignore-next-line
|
||||
*/
|
||||
$this->setPartner(($partner) ?: $this->parseEnv('AWS_GIFT_CARD_PARTNER_ID'));
|
||||
/**
|
||||
* @psalm-suppress InvalidScalarArgument
|
||||
* @phpstan-ignore-next-line
|
||||
*/
|
||||
$this->setEndpoint(($endpoint) ?: $this->parseEnv('AWS_GIFT_CARD_ENDPOINT'));
|
||||
/**
|
||||
* @psalm-suppress InvalidScalarArgument
|
||||
* @phpstan-ignore-next-line
|
||||
*/
|
||||
$this->setCurrency(($currency) ?: $this->parseEnv('AWS_GIFT_CARD_CURRENCY'));
|
||||
/**
|
||||
* @psalm-suppress InvalidScalarArgument
|
||||
* @phpstan-ignore-next-line
|
||||
*/
|
||||
$this->setDebug(($debug) ?: $this->parseEnv('AWS_DEBUG'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -80,9 +104,9 @@ class Config implements ConfigInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getEndpoint(): ?string
|
||||
public function getEndpoint(): string
|
||||
{
|
||||
return $this->endpoint;
|
||||
}
|
||||
@@ -100,9 +124,9 @@ class Config implements ConfigInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getAccessKey(): ?string
|
||||
public function getAccessKey(): string
|
||||
{
|
||||
return $this->access_key;
|
||||
}
|
||||
@@ -119,9 +143,9 @@ class Config implements ConfigInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getSecret(): ?string
|
||||
public function getSecret(): string
|
||||
{
|
||||
return $this->secret_key;
|
||||
}
|
||||
@@ -138,9 +162,9 @@ class Config implements ConfigInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getCurrency(): ?string
|
||||
public function getCurrency(): string
|
||||
{
|
||||
return $this->currency;
|
||||
}
|
||||
@@ -158,9 +182,9 @@ class Config implements ConfigInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getPartner(): ?string
|
||||
public function getPartner(): string
|
||||
{
|
||||
return $this->partner_id;
|
||||
}
|
||||
|
||||
@@ -5,68 +5,68 @@ namespace gullevek\AmazonIncentives\Config;
|
||||
interface ConfigInterface
|
||||
{
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getEndpoint(): ?string;
|
||||
public function getEndpoint(): string;
|
||||
|
||||
/**
|
||||
* @param string $endpoint
|
||||
* @return $this
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function setEndpoint(string $endpoint): ConfigInterface;
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getAccessKey(): ?string;
|
||||
public function getAccessKey(): string;
|
||||
|
||||
/**
|
||||
* @param string $key
|
||||
* @return $this
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function setAccessKey(string $key): ConfigInterface;
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getSecret(): ?string;
|
||||
public function getSecret(): string;
|
||||
|
||||
/**
|
||||
* @param string $secret
|
||||
* @return $this
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function setSecret(string $secret): ConfigInterface;
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getCurrency(): ?string;
|
||||
public function getCurrency(): string;
|
||||
|
||||
/**
|
||||
* @param string $currency
|
||||
* @return $this
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function setCurrency(string $currency): ConfigInterface;
|
||||
|
||||
/**
|
||||
* @return string|null
|
||||
* @return string
|
||||
*/
|
||||
public function getPartner(): ?string;
|
||||
public function getPartner(): string;
|
||||
|
||||
/**
|
||||
* @param string $partner
|
||||
* @return $this
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function setPartner(string $partner): ConfigInterface;
|
||||
|
||||
/**
|
||||
* @return bool|null
|
||||
* @return bool
|
||||
*/
|
||||
public function getDebug(): ?bool;
|
||||
public function getDebug(): bool;
|
||||
|
||||
/**
|
||||
* @param bool $debug
|
||||
* @return $this
|
||||
* @return ConfigInterface
|
||||
*/
|
||||
public function setDebug(bool $debug): ConfigInterface;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace gullevek\AmazonIncentives\Response;
|
||||
|
||||
use gullevek\AmazonIncentives\Exceptions\AmazonErrors;
|
||||
use gullevek\AmazonIncentives\Debug\AmazonDebug;
|
||||
|
||||
class CancelResponse
|
||||
@@ -12,25 +11,25 @@ class CancelResponse
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $id;
|
||||
protected $id = '';
|
||||
/**
|
||||
* Amazon Gift Card creationRequestId
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $creation_request_id;
|
||||
protected $creation_request_id = '';
|
||||
/**
|
||||
* Amazon Gift Card status
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $status;
|
||||
protected $status = '';
|
||||
/**
|
||||
* Amazon Gift Card Raw JSON
|
||||
*
|
||||
* @var array<mixed>
|
||||
*/
|
||||
protected $raw_json;
|
||||
protected $raw_json = [];
|
||||
|
||||
/**
|
||||
* Response constructor.
|
||||
@@ -88,15 +87,6 @@ class CancelResponse
|
||||
*/
|
||||
public function parseJsonResponse(array $json_response): self
|
||||
{
|
||||
if (!is_array($json_response)) {
|
||||
throw AmazonErrors::getError(
|
||||
'FAILURE',
|
||||
'E001',
|
||||
'NonScalarValue',
|
||||
'Response must be a scalar value',
|
||||
0
|
||||
);
|
||||
}
|
||||
if (array_key_exists('gcId', $json_response)) {
|
||||
$this->id = $json_response['gcId'];
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace gullevek\AmazonIncentives\Response;
|
||||
|
||||
use gullevek\AmazonIncentives\Exceptions\AmazonErrors;
|
||||
use gullevek\AmazonIncentives\Debug\AmazonDebug;
|
||||
|
||||
class CreateBalanceResponse
|
||||
@@ -12,31 +11,31 @@ class CreateBalanceResponse
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $amount;
|
||||
protected $amount = '';
|
||||
/**
|
||||
* Amazon Gift Card Balance Currency
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $currency;
|
||||
protected $currency = '';
|
||||
/**
|
||||
* Amazon Gift Card Balance Status
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $status;
|
||||
protected $status = '';
|
||||
/**
|
||||
* Amazon Gift Card Balance Timestamp
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $timestamp;
|
||||
protected $timestamp = '';
|
||||
/**
|
||||
* Amazon Gift Card Raw JSON
|
||||
*
|
||||
* @var array<mixed>
|
||||
*/
|
||||
protected $raw_json;
|
||||
protected $raw_json = [];
|
||||
|
||||
/**
|
||||
* Response constructor.
|
||||
@@ -105,15 +104,6 @@ class CreateBalanceResponse
|
||||
*/
|
||||
public function parseJsonResponse(array $json_response): self
|
||||
{
|
||||
if (!is_array($json_response)) {
|
||||
throw AmazonErrors::getError(
|
||||
'FAILURE',
|
||||
'E001',
|
||||
'NonScalarValue',
|
||||
'Response must be a scalar value',
|
||||
0
|
||||
);
|
||||
}
|
||||
if (array_key_exists('amount', $json_response['availableFunds'])) {
|
||||
$this->amount = $json_response['availableFunds']['amount'];
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
namespace gullevek\AmazonIncentives\Response;
|
||||
|
||||
use gullevek\AmazonIncentives\Exceptions\AmazonErrors;
|
||||
use gullevek\AmazonIncentives\Debug\AmazonDebug;
|
||||
|
||||
class CreateResponse
|
||||
@@ -12,59 +11,59 @@ class CreateResponse
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $id;
|
||||
protected $id = '';
|
||||
|
||||
/**
|
||||
* Amazon Gift Card creationRequestId
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $creation_request_id;
|
||||
protected $creation_request_id = '';
|
||||
|
||||
/**
|
||||
* Amazon Gift Card gcClaimCode
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $claim_code;
|
||||
protected $claim_code = '';
|
||||
|
||||
/**
|
||||
* Amazon Gift Card amount
|
||||
*
|
||||
* @var float
|
||||
*/
|
||||
protected $value;
|
||||
protected $value = 0;
|
||||
|
||||
/**
|
||||
* Amazon Gift Card currency
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $currency;
|
||||
protected $currency = '';
|
||||
/**
|
||||
* Amazon Gift Card status
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $status;
|
||||
protected $status = '';
|
||||
/**
|
||||
* Amazon Gift Card Expiration Date
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $expiration_date;
|
||||
protected $expiration_date = '';
|
||||
/**
|
||||
* Amazon Gift Card Expiration Date
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $card_status;
|
||||
protected $card_status = '';
|
||||
/**
|
||||
* Amazon Gift Card Raw JSON
|
||||
*
|
||||
* @var array<mixed>
|
||||
*/
|
||||
protected $raw_json;
|
||||
protected $raw_json = [];
|
||||
|
||||
/**
|
||||
* Response constructor.
|
||||
@@ -158,20 +157,11 @@ class CreateResponse
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<mixed> $json_response
|
||||
* @param array<array-key,mixed|array> $json_response
|
||||
* @return CreateResponse
|
||||
*/
|
||||
public function parseJsonResponse(array $json_response): self
|
||||
{
|
||||
if (!is_array($json_response)) {
|
||||
throw AmazonErrors::getError(
|
||||
'FAILURE',
|
||||
'E001',
|
||||
'NonScalarValue',
|
||||
'Response must be a scalar value',
|
||||
0
|
||||
);
|
||||
}
|
||||
if (array_key_exists('gcId', $json_response)) {
|
||||
$this->id = $json_response['gcId'];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user