src/Submarine/UsersBundle/Entity/UserAuthAccount.php line 16

Open in your IDE?
  1. <?php
  2. namespace Submarine\UsersBundle\Entity;
  3. use Submarine\CoreBundle\Entity\SubmarineEntityInterface;
  4. use Doctrine\ORM\Mapping as ORM;
  5. /**
  6.  * Внешние акканты пользователя, для OAuth авторизации
  7.  *
  8.  * @ORM\Entity()
  9.  * @ORM\Table(name="submarine_auth_accounts", indexes={
  10.  *      @ORM\Index(name="resource", columns={"resource"})
  11.  * })
  12.  */
  13. class UserAuthAccount implements SubmarineEntityInterface\Serializable
  14. {
  15.     /**
  16.      * @var int
  17.      *
  18.      * @ORM\Column(name="id", type="integer")
  19.      * @ORM\GeneratedValue(strategy="AUTO")
  20.      * @ORM\Id
  21.      */
  22.     protected $id;
  23.     /**
  24.      * @var User
  25.      *
  26.      * @ORM\ManyToOne(targetEntity="Submarine\UsersBundle\Entity\User", inversedBy="authAccounts")
  27.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  28.      */
  29.     protected $user;
  30.     /**
  31.      * ID ресурса, например "facebook"
  32.      * @var string
  33.      *
  34.      * @ORM\Column(name="resource", type="string", unique=false, nullable=true)
  35.      */
  36.     protected $resource;
  37.     /**
  38.      * Сторонний UID пользователя
  39.      * @var string
  40.      *
  41.      * @ORM\Column(name="uid", type="string", length=255, unique=false, nullable=true)
  42.      */
  43.     protected $uid;
  44.     /**
  45.      * @var \DateTime
  46.      *
  47.      * @ORM\Column(type="datetime", unique=false, nullable=true)
  48.      */
  49.     protected $dateCreated;
  50.     function __construct()
  51.     {
  52.         $this->dateCreated = new \DateTime();
  53.     }
  54.     /**
  55.      * Имя сущности
  56.      * @return string
  57.      */
  58.     static public function entityName()
  59.     {
  60.         return __CLASS__;
  61.     }
  62.     /**
  63.      * @return int
  64.      */
  65.     public function getId()
  66.     {
  67.         return $this->id;
  68.     }
  69.     /**
  70.      * @param User $user
  71.      */
  72.     public function setUser(User $user null)
  73.     {
  74.         $this->user $user;
  75.     }
  76.     /**
  77.      * @return User
  78.      */
  79.     public function getUser()
  80.     {
  81.         return $this->user;
  82.     }
  83.     /**
  84.      * ID ресурса, например "facebook"
  85.      * @param string $resource
  86.      */
  87.     public function setResource($resource)
  88.     {
  89.         $this->resource $resource;
  90.     }
  91.     /**
  92.      * ID ресурса, например "facebook"
  93.      * @return string
  94.      */
  95.     public function getResource()
  96.     {
  97.         return $this->resource;
  98.     }
  99.     /**
  100.      * Сторонний UID пользователя
  101.      * @param string $uid
  102.      */
  103.     public function setUid($uid)
  104.     {
  105.         $this->uid $uid;
  106.     }
  107.     /**
  108.      * Сторонний UID пользователя
  109.      * @return string
  110.      */
  111.     public function getUid()
  112.     {
  113.         return $this->uid;
  114.     }
  115.     /**
  116.      * @return \DateTime
  117.      */
  118.     public function getDateCreated()
  119.     {
  120.         return $this->dateCreated;
  121.     }
  122.     public function serialize()
  123.     {
  124.         return serialize(
  125.             [
  126.                 'id' => $this->id,
  127.                 'resource' => $this->resource,
  128.                 'uid' => $this->uid,
  129.                 'dateCreated' => $this->dateCreated,
  130.             ]
  131.         );
  132.     }
  133.     public function unserialize($serialized)
  134.     {
  135.         $data unserialize($serialized);
  136.         $this->id $data['id'];
  137.         $this->resource $data['resource'];
  138.         $this->uid $data['uid'];
  139.         $this->dateCreated $data['dateCreated'];
  140.     }