use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
+use FOS\UserBundle\Model\User as BaseUser;
+use JMS\Serializer\Annotation\Accessor;
use JMS\Serializer\Annotation\Groups;
use JMS\Serializer\Annotation\XmlRoot;
-use JMS\Serializer\Annotation\Accessor;
use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface;
use Scheb\TwoFactorBundle\Model\TrustedComputerInterface;
-use FOS\UserBundle\Model\User as BaseUser;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Security\Core\User\UserInterface;
use Wallabag\ApiBundle\Entity\Client;
use Wallabag\CoreBundle\Entity\Config;
use Wallabag\CoreBundle\Entity\Entry;
+use Wallabag\CoreBundle\Helper\EntityTimestampsTrait;
/**
* User.
*/
class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterface
{
+ use EntityTimestampsTrait;
+
/** @Serializer\XmlAttribute */
/**
* @var int
protected $config;
/**
- * @ORM\Column(type="integer", nullable=true)
- */
- private $authCode;
-
- /**
- * @var bool
+ * @var ArrayCollection
*
- * @ORM\Column(type="boolean")
+ * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\SiteCredential", mappedBy="user", cascade={"remove"})
*/
- private $twoFactorAuthentication = false;
-
- /**
- * @ORM\Column(type="json_array", nullable=true)
- */
- private $trusted;
+ protected $siteCredentials;
/**
* @var ArrayCollection
*/
protected $default_client;
+ /**
+ * @ORM\Column(type="integer", nullable=true)
+ */
+ private $authCode;
+
+ /**
+ * @var bool
+ *
+ * @ORM\Column(type="boolean")
+ */
+ private $twoFactorAuthentication = false;
+
+ /**
+ * @ORM\Column(type="json_array", nullable=true)
+ */
+ private $trusted;
+
public function __construct()
{
parent::__construct();
$this->roles = ['ROLE_USER'];
}
- /**
- * @ORM\PrePersist
- * @ORM\PreUpdate
- */
- public function timestamps()
- {
- if (is_null($this->createdAt)) {
- $this->createdAt = new \DateTime();
- }
-
- $this->updatedAt = new \DateTime();
- }
-
/**
* Set name.
*