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
}