]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Entity/SiteCredential.php
Crypt site credential password
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Entity / SiteCredential.php
1 <?php
2
3 namespace Wallabag\CoreBundle\Entity;
4
5 use Doctrine\ORM\Mapping as ORM;
6 use Symfony\Component\Validator\Constraints as Assert;
7 use Wallabag\UserBundle\Entity\User;
8
9 /**
10 * SiteCredential.
11 *
12 * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\SiteCredentialRepository")
13 * @ORM\Table(name="`site_credential`")
14 * @ORM\HasLifecycleCallbacks()
15 */
16 class SiteCredential
17 {
18 /**
19 * @var int
20 *
21 * @ORM\Column(name="id", type="integer")
22 * @ORM\Id
23 * @ORM\GeneratedValue(strategy="AUTO")
24 */
25 private $id;
26
27 /**
28 * @var string
29 *
30 * @Assert\NotBlank()
31 * @Assert\Length(max=255)
32 * @ORM\Column(name="host", type="string", length=255)
33 */
34 private $host;
35
36 /**
37 * @var string
38 *
39 * @Assert\NotBlank()
40 * @Assert\Length(max=255)
41 * @ORM\Column(name="username", type="string", length=255)
42 */
43 private $username;
44
45 /**
46 * @var string
47 *
48 * @Assert\NotBlank()
49 * @ORM\Column(name="password", type="text")
50 */
51 private $password;
52
53 /**
54 * @var \DateTime
55 *
56 * @ORM\Column(name="createdAt", type="datetime")
57 */
58 private $createdAt;
59
60 /**
61 * @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="site_credentials")
62 */
63 private $user;
64
65 /*
66 * @param User $user
67 */
68 public function __construct(User $user)
69 {
70 $this->user = $user;
71 }
72
73 /**
74 * Get id.
75 *
76 * @return int
77 */
78 public function getId()
79 {
80 return $this->id;
81 }
82
83 /**
84 * Set host.
85 *
86 * @param string $host
87 *
88 * @return SiteCredential
89 */
90 public function setHost($host)
91 {
92 $this->host = $host;
93
94 return $this;
95 }
96
97 /**
98 * Get host.
99 *
100 * @return string
101 */
102 public function getHost()
103 {
104 return $this->host;
105 }
106
107 /**
108 * Set username.
109 *
110 * @param string $username
111 *
112 * @return SiteCredential
113 */
114 public function setUsername($username)
115 {
116 $this->username = $username;
117
118 return $this;
119 }
120
121 /**
122 * Get username.
123 *
124 * @return string
125 */
126 public function getUsername()
127 {
128 return $this->username;
129 }
130
131 /**
132 * Set password.
133 *
134 * @param string $password
135 *
136 * @return SiteCredential
137 */
138 public function setPassword($password)
139 {
140 $this->password = $password;
141
142 return $this;
143 }
144
145 /**
146 * Get password.
147 *
148 * @return string
149 */
150 public function getPassword()
151 {
152 return $this->password;
153 }
154
155 /**
156 * Set createdAt.
157 *
158 * @param \DateTime $createdAt
159 *
160 * @return SiteCredential
161 */
162 public function setCreatedAt($createdAt)
163 {
164 $this->createdAt = $createdAt;
165
166 return $this;
167 }
168
169 /**
170 * Get createdAt.
171 *
172 * @return \DateTime
173 */
174 public function getCreatedAt()
175 {
176 return $this->createdAt;
177 }
178
179 /**
180 * @return User
181 */
182 public function getUser()
183 {
184 return $this->user;
185 }
186
187 /**
188 * @ORM\PrePersist
189 */
190 public function timestamps()
191 {
192 if (is_null($this->createdAt)) {
193 $this->createdAt = new \DateTime();
194 }
195 }
196 }