Skip to content

Instantly share code, notes, and snippets.

@daum
Created January 10, 2014 16:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save daum/825eebf7087fc751941b to your computer and use it in GitHub Desktop.
Save daum/825eebf7087fc751941b to your computer and use it in GitHub Desktop.
<?php
namespace My\DemoBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* AutologinToken
*
* @ORM\Table(name="auto_login_token")
* @ORM\Entity (repositoryClass="My\DemoBundle\Entity\AutologinTokenRepository")
* @ORM\HasLifecycleCallbacks
*/
class AutologinToken
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var \User
*
* @ORM\ManyToOne(targetEntity="User", inversedBy="autologinTokens")
* @ORM\JoinColumns({
* @ORM\JoinColumn(onDelete="CASCADE")
* })
*/
private $user;
/**
* @var string
*
* @ORM\Column(name="url", type="string", length=500, nullable=false)
*/
private $url;
/**
* @var string
*
* @ORM\Column(name="token", length=255, type="string", nullable=false)
*/
private $token;
/**
* @var DateTime
* @Doctrine\ORM\Mapping\Column(type="datetime", name="expires_at", nullable=true)
*/
private $expiresAt;
/**
* @var DateTime
* @Gedmo\Timestampable(on="create")
* @Doctrine\ORM\Mapping\Column(type="datetime", name="created_at")
*/
private $createdAt;
/**
* @var DateTime
* @Gedmo\Timestampable(on="update")
* @Doctrine\ORM\Mapping\Column(type="datetime", name="updated_at")
*/
private $updatedAt;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set url
*
* @param string $url
* @return AutologinToken
*/
public function setUrl($url)
{
$this->url = $url;
return $this;
}
/**
* Get url
*
* @return string
*/
public function getUrl()
{
return $this->url;
}
/**
* Set token
*
* @param string $token
* @return AutologinToken
*/
public function setToken($token)
{
$this->token = $token;
return $this;
}
/**
* Get token
*
* @return string
*/
public function getToken()
{
return $this->token;
}
/**
* Set expiresAt
*
* @param \DateTime $expiresAt
* @return AutologinToken
*/
public function setExpiresAt($expiresAt)
{
$this->expiresAt = $expiresAt;
return $this;
}
/**
* Get expiresAt
*
* @return \DateTime
*/
public function getExpiresAt()
{
return $this->expiresAt;
}
/**
* Set createdAt
*
* @param \DateTime $createdAt
* @return AutologinToken
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
* @return AutologinToken
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set user
*
* @param \My\DemoBundle\Entity\User $user
* @return AutologinToken
*/
public function setUser(\My\DemoBundle\Entity\User $user = null)
{
$this->user = $user;
return $this;
}
/**
* Get user
*
* @return \CT\BEBundle\Entity\User
*/
public function getUser()
{
return $this->user;
}
/**
* @ORM\PrePersist()
*/
public function prePersist(){
$this->setToken( sha1(uniqid(null, true)) );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment