Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
digitalascetic/google-api-client / Entity / GoogleApiAccessToken.php
Size: Mime:
<?php
/**
 * Created by PhpStorm.
 * User: eduarddezacastellano
 * Date: 12/09/2018
 * Time: 15:19
 */

namespace DigitalAscetic\GoogleApiClientBundle\Entity;

use Symfony\Component\Serializer\Annotation\Groups;

class GoogleApiAccessToken
{
    /** @var string $access_token
     *
     * @Groups({"serializable"})
     */
    #[Groups("serializable")]
    private string $accessToken;

    /** @var int $expiresIn
     *
     * @Groups({"serializable"})
     */
    #[Groups("serializable")]
    private int $expiresIn;

    /** @var string $scope
     *
     * @Groups({"serializable"})
     */
    #[Groups("serializable")]
    private string $scope;

    /** @var string $tokenType
     *
     * @Groups({"serializable"})
     */
    #[Groups("serializable")]
    private string $tokenType;

    /** @var string|null $idToken
     *
     * @Groups({"serializable"})
     */
    #[Groups("serializable")]
    private ?string $idToken = null;

    /** @var string $created
     *
     * @Groups("serializable")
     */
    #[Groups("serializable")]
    private string $created;

    /** @var string $refreshToken */
    #[Groups("serializable")]
    private string $refreshToken;

    /**
     * GoogleApiAccessToken constructor.
     * @param string $accessToken
     * @param int $expiresIn
     * @param string $scope
     * @param string $tokenType
     * @param string $created
     * @param string $refreshToken
     */
    public function __construct(string $accessToken,
                                int    $expiresIn,
                                string $scope,
                                string $tokenType,
                                string $created,
                                string $refreshToken)
    {
        $this->accessToken = $accessToken;
        $this->expiresIn = $expiresIn;
        $this->scope = $scope;
        $this->tokenType = $tokenType;
        $this->created = $created;
        $this->refreshToken = $refreshToken;
    }


    /**
     * @param array $token
     * @return GoogleApiAccessToken
     */
    public static function getGoogleTokenApiFromArray($token)
    {
        $accessToken = $token['access_token'];
        $expiresIn = $token['expires_in'];
        $scope = $token['scope'];
        $tokenType = $token['token_type'];
        $created = $token['created'];
        $refreshToken = $token['refresh_token'];

        return new GoogleApiAccessToken($accessToken, $expiresIn, $scope, $tokenType, $created, $refreshToken);
    }

    /**
     * @return string
     */
    public function getAccessToken(): string
    {
        return $this->accessToken;
    }

    /**
     * @return int
     */
    public function getExpiresIn(): int
    {
        return $this->expiresIn;
    }

    /**
     * @return string
     */
    public function getScope(): string
    {
        return $this->scope;
    }

    /**
     * @return string
     */
    public function getTokenType(): string
    {
        return $this->tokenType;
    }

    /**
     * @return string|null
     */
    public function getIdToken(): ?string
    {
        return $this->idToken;
    }

    /**
     * @return string
     */
    public function getCreated(): string
    {
        return $this->created;
    }

    /**
     * @return string
     */
    public function getRefreshToken(): string
    {
        return $this->refreshToken;
    }
}