src/AppBundle/MainBundle/Entity/Token.php line 288

Open in your IDE?
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * User: apple
  5.  * Date: 29/03/19
  6.  * Time: 2:10 PM
  7.  */
  8. namespace App\AppBundle\MainBundle\Entity;
  9. use Doctrine\ORM\Mapping as ORM;
  10. use Symfony\Component\Validator\Constraints as Assert;
  11. use JsonSerializable;
  12. /**
  13.  * AddOns
  14.  *
  15.  * @ORM\Entity
  16.  * @ORM\Table(name="token")
  17.  * @ORM\HasLifecycleCallbacks()
  18.  */
  19. class Token implements JsonSerializable
  20. {
  21.     /**
  22.      * @ORM\Column(type="integer")
  23.      * @ORM\Id
  24.      * @ORM\GeneratedValue(strategy="AUTO")
  25.      */
  26.     private $id;
  27.     /**
  28.      * @ORM\Column(type="integer", nullable=false)
  29.      * @Assert\NotBlank()
  30.      */
  31.     private $user_id;
  32.     /**
  33.      * Many Token have one user. This is the owning side.
  34.      * @ORM\ManyToOne(targetEntity="User", inversedBy="tokens")
  35.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  36.      */
  37.     private $user;
  38.     /**
  39.      * @ORM\Column(type="string", nullable=false)
  40.      * @Assert\NotBlank()
  41.      */
  42.     private $token;
  43.     /**
  44.      * @ORM\Column(type="string", nullable=true)
  45.      * @Assert\NotBlank()
  46.      */
  47.     private $social_auth_token;
  48.     /**
  49.      * @ORM\Column(type="string", nullable=true)
  50.      * @Assert\NotBlank()
  51.      */
  52.     private $notification_token;
  53.     /**
  54.      * @ORM\Column(type="string", nullable=true)
  55.      * @Assert\NotBlank()
  56.      */
  57.     private $model;
  58.     /**
  59.      * @ORM\Column(type="string", nullable=true)
  60.      * @Assert\NotBlank()
  61.      */
  62.     private $device_id;
  63.     /**
  64.      * @ORM\Column(type="string", nullable=true)
  65.      * @Assert\NotBlank()
  66.      */
  67.     private $device_name;
  68.     /**
  69.      * @ORM\Column(type="integer", nullable=true)
  70.      * @Assert\NotBlank()
  71.      */
  72.     private $device_type;//0 - iOS, 1 - Android
  73.     /**
  74.      * @ORM\Column(type="string", nullable=true)
  75.      * @Assert\NotBlank()
  76.      */
  77.     private $device_os_version;
  78.     /**
  79.      * @var \DateTime
  80.      * @ORM\Column(type="datetime", nullable=false)
  81.      * @Assert\NotBlank()
  82.      */
  83.     private $last_active_date;
  84.     /**
  85.      * @return mixed
  86.      */
  87.     public function getId()
  88.     {
  89.         return $this->id;
  90.     }
  91.     /**
  92.      * @return mixed
  93.      */
  94.     public function getUserId()
  95.     {
  96.         return $this->user_id;
  97.     }
  98.     /**
  99.      * @param mixed $user_id
  100.      */
  101.     public function setUserId($user_id)
  102.     {
  103.         $this->user_id $user_id;
  104.     }
  105.     /**
  106.      * @return mixed
  107.      */
  108.     public function getToken()
  109.     {
  110.         return $this->token;
  111.     }
  112.     /**
  113.      * @param mixed $token
  114.      */
  115.     public function setToken($token)
  116.     {
  117.         $this->token $token;
  118.     }
  119.     /**
  120.      * @return mixed
  121.      */
  122.     public function getSocialAuthToken()
  123.     {
  124.         return $this->social_auth_token;
  125.     }
  126.     /**
  127.      * @param mixed $social_auth_token
  128.      */
  129.     public function setSocialAuthToken($social_auth_token)
  130.     {
  131.         $this->social_auth_token $social_auth_token;
  132.     }
  133.     /**
  134.      * @return mixed
  135.      */
  136.     public function getNotificationToken()
  137.     {
  138.         return $this->notification_token;
  139.     }
  140.     /**
  141.      * @param mixed $notification_token
  142.      */
  143.     public function setNotificationToken($notification_token)
  144.     {
  145.         $this->notification_token $notification_token;
  146.     }
  147.     /**
  148.      * @return mixed
  149.      */
  150.     public function getModel()
  151.     {
  152.         return $this->model;
  153.     }
  154.     /**
  155.      * @param mixed $model
  156.      */
  157.     public function setModel($model)
  158.     {
  159.         $this->model $model;
  160.     }
  161.     /**
  162.      * @return mixed
  163.      */
  164.     public function getDeviceId()
  165.     {
  166.         return $this->device_id;
  167.     }
  168.     /**
  169.      * @param mixed $device_id
  170.      */
  171.     public function setDeviceId($device_id)
  172.     {
  173.         $this->device_id $device_id;
  174.     }
  175.     /**
  176.      * @return mixed
  177.      */
  178.     public function getDeviceName()
  179.     {
  180.         return $this->device_name;
  181.     }
  182.     /**
  183.      * @param mixed $device_name
  184.      */
  185.     public function setDeviceName($device_name)
  186.     {
  187.         $this->device_name $device_name;
  188.     }
  189.     /**
  190.      * @return mixed
  191.      */
  192.     public function getDeviceType()
  193.     {
  194.         return $this->device_type;
  195.     }
  196.     /**
  197.      * @param mixed $device_type
  198.      */
  199.     public function setDeviceType($device_type)
  200.     {
  201.         $this->device_type $device_type;
  202.     }
  203.     /**
  204.      * @return mixed
  205.      */
  206.     public function getDeviceOsVersion()
  207.     {
  208.         return $this->device_os_version;
  209.     }
  210.     /**
  211.      * @param mixed $device_os_version
  212.      */
  213.     public function setDeviceOsVersion($device_os_version)
  214.     {
  215.         $this->device_os_version $device_os_version;
  216.     }
  217.     /**
  218.      * @return mixed
  219.      */
  220.     public function getLastActiveDate()
  221.     {
  222.         return $this->last_active_date;
  223.     }
  224.     /**
  225.      * @param mixed $last_active_date
  226.      */
  227.     public function setLastActiveDate($last_active_date)
  228.     {
  229.         $this->last_active_date $last_active_date;
  230.     }
  231.     public function jsonSerialize()
  232.     {
  233.         return array(
  234.             'id' => $this->id,
  235.             'last_active_date' => $this->last_active_date != NULL $this->last_active_date->format('Y-m-d H:i:s') : "",
  236.             'model' => $this->model,
  237.             'device_id' => $this->device_id,
  238.             'device_name' => $this->device_name,
  239.             'device_os_version' => $this->device_os_version,
  240.             'device_type' => $this->device_type,
  241.             'created_at' => $this->createdAt,
  242.             'updated_at' => $this->updatedAt
  243.         );
  244.     }
  245.     /**
  246.      * @return mixed
  247.      */
  248.     public function getUser()
  249.     {
  250.         return $this->user;
  251.     }
  252.     /**
  253.      * @param mixed $user
  254.      */
  255.     public function setUser($user)
  256.     {
  257.         $this->user $user;
  258.     }
  259.     /**
  260.      * @var string $created
  261.      *
  262.      * @ORM\Column(name="created_at", type="string", nullable=false)
  263.      */
  264.     protected $createdAt;
  265.     /**
  266.      * @var string $updated
  267.      *
  268.      * @ORM\Column(name="updated_at", type="string", nullable=false)
  269.      */
  270.     protected $updatedAt;
  271.     public function getCreatedAt()
  272.     {
  273.         return $this->createdAt;
  274.     }
  275.     public function setCreatedAt($createdAt)
  276.     {
  277.         $this->createdAt $createdAt;
  278.         return $this;
  279.     }
  280.     public function getUpdatedAt()
  281.     {
  282.         return $this->updatedAt;
  283.     }
  284.     public function setUpdatedAt($updatedAt)
  285.     {
  286.         $this->updatedAt $updatedAt;
  287.         return $this;
  288.     }
  289.     /**
  290.      * @ORM\PrePersist
  291.      * @ORM\PreUpdate
  292.      */
  293.     public function updatedTimestamps()
  294.     {
  295.         $this->setUpdatedAt(round(microtime(true) * 1000));
  296.         if ($this->getCreatedAt() === null) {
  297.             $this->setCreatedAt(round(microtime(true) * 1000));
  298.         }
  299.     }
  300.     public function __construct() {
  301.         $this->setCreatedAt(round(microtime(true) * 1000));
  302.     }
  303. }