X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FApiBundle%2FEntity%2FClient.php;h=78349820a0adc7e2118557a13f5ee0cfdb497ddb;hb=refs%2Fpull%2F3882%2Fhead;hp=f7898ac82852292835175581a2ea0b797738ed1d;hpb=99731f0bb1f6fd2815eeb9af504ce86df927657b;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/ApiBundle/Entity/Client.php b/src/Wallabag/ApiBundle/Entity/Client.php index f7898ac8..78349820 100644 --- a/src/Wallabag/ApiBundle/Entity/Client.php +++ b/src/Wallabag/ApiBundle/Entity/Client.php @@ -4,10 +4,14 @@ 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 + * @ORM\Entity(repositoryClass="Wallabag\ApiBundle\Repository\ClientRepository") */ class Client extends BaseClient { @@ -21,7 +25,9 @@ class Client extends BaseClient /** * @var string * - * @ORM\Column(name="name", type="text", nullable=true) + * @ORM\Column(name="name", type="text", nullable=false) + * + * @Groups({"user_api_with_client"}) */ protected $name; @@ -35,9 +41,23 @@ class Client extends BaseClient */ protected $accessTokens; - public function __construct() + /** + * @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; } /** @@ -63,4 +83,22 @@ class Client extends BaseClient 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(); + } }