1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-09-15 18:57:05 +00:00

Re-use NewUserType to validate registration

The only ugly things is how we handle error by generating the view and then parse the content to retrieve all errors…

Fix exposition fields in User entity
This commit is contained in:
Jeremy Benoist 2017-05-30 07:56:01 +02:00
parent 2251045901
commit 5709ecb368
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
4 changed files with 225 additions and 69 deletions

View file

@ -5,11 +5,10 @@ namespace Wallabag\UserBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation\Groups;
use JMS\Serializer\Annotation\XmlRoot;
use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface;
use Scheb\TwoFactorBundle\Model\TrustedComputerInterface;
use FOS\UserBundle\Model\User as BaseUser;
use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Expose;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Security\Core\User\UserInterface;
use Wallabag\ApiBundle\Entity\Client;
@ -19,23 +18,24 @@ use Wallabag\CoreBundle\Entity\Entry;
/**
* User.
*
* @XmlRoot("user")
* @ORM\Entity(repositoryClass="Wallabag\UserBundle\Repository\UserRepository")
* @ORM\Table(name="`user`")
* @ORM\HasLifecycleCallbacks()
* @ExclusionPolicy("all")
*
* @UniqueEntity("email")
* @UniqueEntity("username")
*/
class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface
{
/** @Serializer\XmlAttribute */
/**
* @var int
*
* @Expose
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*
* @Groups({"user_api"})
*/
protected $id;
@ -44,14 +44,30 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
* @var string
*
* @ORM\Column(name="name", type="text", nullable=true)
*
* @Groups({"user_api"})
*/
protected $name;
/**
* @var string
*
* @Groups({"user_api"})
*/
protected $username;
/**
* @var string
*
* @Groups({"user_api"})
*/
protected $email;
/**
* @var date
*
* @ORM\Column(name="created_at", type="datetime")
*
* @Groups({"user_api"})
*/
protected $createdAt;
@ -60,6 +76,7 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
* @var date
*
* @ORM\Column(name="updated_at", type="datetime")
*
* @Groups({"user_api"})
*/
protected $updatedAt;