User.php 2.34 KB
Newer Older
1 2 3 4 5 6
<?php

namespace PotageBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;
7
use JMS\Serializer\Annotation as Serializer;
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

/**
 * User
 *
 * @ORM\Table(name="fos_user")
 * @ORM\Entity(repositoryClass="PotageBundle\Repository\UserRepository")
 */
class User extends BaseUser
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
23
     * @Serializer\Groups({"readUtilisateurs"})
24 25 26
     */
    protected $id;
    
27 28 29 30 31 32
    /**
     * @var string
     * @Serializer\Groups({"readUtilisateurs"})
     */
    protected $username;
    
33 34 35 36 37 38
    /**
     * @var string
     * @Serializer\Exclude()
     */
    protected $password;
    
39 40 41 42 43 44
    /**
     * @var string
     * @Serializer\Groups({"readUtilisateurs"})
     */
    protected $roles;
    
45 46
    /**
     * @var
47
     * @ORM\OneToOne(targetEntity="PotageBundle\Entity\Utilisateur", mappedBy="user")
48 49 50
     */
    private $utilisateur;
    
51 52 53 54 55
    /**
     * @ORM\Column(type="string", unique=true, length=50)
     */
    private $tokenKey;
    
56 57 58 59 60 61
    /**
     * User constructor.
     */
    public function __construct()
    {
        parent::__construct();
62 63
        
        $this->tokenKey = bin2hex(random_bytes(20));
64 65 66 67 68 69 70 71 72 73 74
    }

    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }
75

76 77
 

78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
    /**
     * Set utilisateur
     *
     * @param \PotageBundle\Entity\Utilisateur $utilisateur
     *
     * @return User
     */
    public function setUtilisateur(\PotageBundle\Entity\Utilisateur $utilisateur = null)
    {
        $this->utilisateur = $utilisateur;

        return $this;
    }

    /**
     * Get utilisateur
     *
     * @return \PotageBundle\Entity\Utilisateur
     */
    public function getUtilisateur()
    {
        return $this->utilisateur;
    }
101 102 103 104 105 106 107 108 109 110
    
    
    /**
     *
     * @return string
     */
    public function getUsernameEmail()
    {
        return parent::getUsername() . '  ( ' . parent::getEmail() . ' )';
    }
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
    
    /**
     * Set tokenKey
     *
     * @return User
     */
    public function setTokenKey()
    {
        $this->tokenKey = bin2hex(random_bytes(20));

        return $this;
    }

    /**
     * Get tokenKey
     *
     * @return string
     */
    public function getTokenKey()
    {
        return $this->tokenKey;
    }
133
}