forked from wallabag/wallabag
Create a client when creating a user using the api
While creating a new user using the API, we also create a new client for the current user. So the app which just create the user can use its newly created client to configure the app. That new client is only return after creating the user. When calling the endpoint /api/user to get user information, the new client information won’t be return.
This commit is contained in:
@ -5,6 +5,9 @@ namespace Wallabag\ApiBundle\Entity;
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use FOS\OAuthServerBundle\Entity\Client as BaseClient;
|
||||
use Wallabag\UserBundle\Entity\User;
|
||||
use JMS\Serializer\Annotation\Groups;
|
||||
use JMS\Serializer\Annotation\SerializedName;
|
||||
use JMS\Serializer\Annotation\VirtualProperty;
|
||||
|
||||
/**
|
||||
* @ORM\Table("oauth2_clients")
|
||||
@ -23,6 +26,8 @@ class Client extends BaseClient
|
||||
* @var string
|
||||
*
|
||||
* @ORM\Column(name="name", type="text", nullable=false)
|
||||
*
|
||||
* @Groups({"user_api_with_client"})
|
||||
*/
|
||||
protected $name;
|
||||
|
||||
@ -36,6 +41,14 @@ class Client extends BaseClient
|
||||
*/
|
||||
protected $accessTokens;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
* @SerializedName("client_secret")
|
||||
* @Groups({"user_api_with_client"})
|
||||
*/
|
||||
protected $secret;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="clients")
|
||||
*/
|
||||
@ -78,4 +91,14 @@ class Client extends BaseClient
|
||||
{
|
||||
return $this->user;
|
||||
}
|
||||
|
||||
/**
|
||||
* @VirtualProperty
|
||||
* @SerializedName("client_id")
|
||||
* @Groups({"user_api_with_client"})
|
||||
*/
|
||||
public function getClientId()
|
||||
{
|
||||
return $this->getId().'_'.$this->getRandomId();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user