mirror of
https://github.com/wallabag/wallabag.git
synced 2024-06-07 15:59:31 +00:00
105 lines
2 KiB
PHP
105 lines
2 KiB
PHP
<?php
|
|
|
|
namespace Wallabag\ApiBundle\Entity;
|
|
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
use FOS\OAuthServerBundle\Entity\Client as BaseClient;
|
|
use JMS\Serializer\Annotation\Groups;
|
|
use JMS\Serializer\Annotation\SerializedName;
|
|
use JMS\Serializer\Annotation\VirtualProperty;
|
|
use Wallabag\UserBundle\Entity\User;
|
|
|
|
/**
|
|
* @ORM\Table("oauth2_clients")
|
|
* @ORM\Entity
|
|
*/
|
|
class Client extends BaseClient
|
|
{
|
|
/**
|
|
* @ORM\Id
|
|
* @ORM\Column(type="integer")
|
|
* @ORM\GeneratedValue(strategy="AUTO")
|
|
*/
|
|
protected $id;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @ORM\Column(name="name", type="text", nullable=false)
|
|
*
|
|
* @Groups({"user_api_with_client"})
|
|
*/
|
|
protected $name;
|
|
|
|
/**
|
|
* @ORM\OneToMany(targetEntity="RefreshToken", mappedBy="client", cascade={"remove"})
|
|
*/
|
|
protected $refreshTokens;
|
|
|
|
/**
|
|
* @ORM\OneToMany(targetEntity="AccessToken", mappedBy="client", cascade={"remove"})
|
|
*/
|
|
protected $accessTokens;
|
|
|
|
/**
|
|
* @var string
|
|
*
|
|
* @SerializedName("client_secret")
|
|
* @Groups({"user_api_with_client"})
|
|
*/
|
|
protected $secret;
|
|
|
|
/**
|
|
* @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="clients")
|
|
*/
|
|
private $user;
|
|
|
|
public function __construct(User $user)
|
|
{
|
|
parent::__construct();
|
|
$this->user = $user;
|
|
}
|
|
|
|
/**
|
|
* Get name.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getName()
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
/**
|
|
* Set name.
|
|
*
|
|
* @param string $name
|
|
*
|
|
* @return Client
|
|
*/
|
|
public function setName($name)
|
|
{
|
|
$this->name = $name;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return User
|
|
*/
|
|
public function getUser()
|
|
{
|
|
return $this->user;
|
|
}
|
|
|
|
/**
|
|
* @VirtualProperty
|
|
* @SerializedName("client_id")
|
|
* @Groups({"user_api_with_client"})
|
|
*/
|
|
public function getClientId()
|
|
{
|
|
return $this->getId() . '_' . $this->getRandomId();
|
|
}
|
|
}
|