for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Mechpave\ImgurClient\Mapper;
use Mechpave\ImgurClient\Entity\TokenInterface;
/**
* Class TokenMapper
* @package Mechpave\ImgurClient\Mapper
*/
class TokenMapper
{
* @var ObjectMapper
protected $objectMapper;
* TokenMapper constructor.
* @param ObjectMapper $objectMapper
public function __construct(ObjectMapper $objectMapper)
$this->objectMapper = $objectMapper;
}
* Builds token object from raw data
*
* @param array $tokenData
* @return TokenInterface
public function buildToken(array $tokenData)
if (empty($tokenData['access_token']) ||
empty($tokenData['refresh_token']) ||
empty($tokenData['expires_in']) ||
empty($tokenData['account_id'])) {
throw new \InvalidArgumentException();
$tokenClass = $this->objectMapper->getTokenClass();
/** @var TokenInterface $token */
$token = new $tokenClass();
$token
->setAccessToken($tokenData['access_token'])
->setRefreshToken($tokenData['refresh_token'])
->setExpiresAt($tokenData['expires_in'] + time())
->setAccountId($tokenData['account_id']);
return $token;