]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/UserBundle/Entity/User.php
WIP
[github/wallabag/wallabag.git] / src / Wallabag / UserBundle / Entity / User.php
index 4851999f27b4de6b54b2e37ac9f5d5f8aafbbec1..1863c966ffe50d7253523b9ab5dc871754b31e2d 100644 (file)
@@ -4,13 +4,15 @@ namespace Wallabag\UserBundle\Entity;
 
 use Doctrine\Common\Collections\ArrayCollection;
 use Doctrine\ORM\Mapping as ORM;
+use JMS\Serializer\Annotation\Groups;
 use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface;
 use Scheb\TwoFactorBundle\Model\TrustedComputerInterface;
-use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
-use Symfony\Component\Security\Core\User\UserInterface;
+use FOS\UserBundle\Model\User as BaseUser;
 use JMS\Serializer\Annotation\ExclusionPolicy;
 use JMS\Serializer\Annotation\Expose;
-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;
 
@@ -34,6 +36,7 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
      * @ORM\Column(name="id", type="integer")
      * @ORM\Id
      * @ORM\GeneratedValue(strategy="AUTO")
+     * @Groups({"user_api"})
      */
     protected $id;
 
@@ -41,6 +44,7 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
      * @var string
      *
      * @ORM\Column(name="name", type="text", nullable=true)
+     * @Groups({"user_api"})
      */
     protected $name;
 
@@ -48,6 +52,7 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
      * @var date
      *
      * @ORM\Column(name="created_at", type="datetime")
+     * @Groups({"user_api"})
      */
     protected $createdAt;
 
@@ -55,6 +60,7 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
      * @var date
      *
      * @ORM\Column(name="updated_at", type="datetime")
+     * @Groups({"user_api"})
      */
     protected $updatedAt;
 
@@ -64,7 +70,7 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
     protected $entries;
 
     /**
-     * @ORM\OneToOne(targetEntity="Wallabag\CoreBundle\Entity\Config", mappedBy="user")
+     * @ORM\OneToOne(targetEntity="Wallabag\CoreBundle\Entity\Config", mappedBy="user", cascade={"remove"})
      */
     protected $config;
 
@@ -85,17 +91,15 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
     private $trusted;
 
     /**
-     * @var date
-     *
-     * @ORM\Column(name="last_pocket_import", type="datetime", nullable=true)
+     * @ORM\OneToMany(targetEntity="Wallabag\ApiBundle\Entity\Client", mappedBy="user", cascade={"remove"})
      */
-    private $lastPocketImport;
+    protected $clients;
 
     public function __construct()
     {
         parent::__construct();
         $this->entries = new ArrayCollection();
-        $this->roles = array('ROLE_USER');
+        $this->roles = ['ROLE_USER'];
     }
 
     /**
@@ -249,18 +253,22 @@ class User extends BaseUser implements TwoFactorInterface, TrustedComputerInterf
     }
 
     /**
-     * @return date
+     * @param Client $client
+     *
+     * @return User
      */
-    public function getLastPocketImport()
+    public function addClient(Client $client)
     {
-        return $this->lastPocketImport;
+        $this->clients[] = $client;
+
+        return $this;
     }
 
     /**
-     * @param date $lastPocketImport
+     * @return ArrayCollection<Entry>
      */
-    public function setLastPocketImport($lastPocketImport)
+    public function getClients()
     {
-        $this->lastPocketImport = $lastPocketImport;
+        return $this->clients;
     }
 }