src/Entity/Account.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Security\Core\User\UserInterface;
  5. /**
  6.  * Account
  7.  *
  8.  * @ORM\Table(name="account", uniqueConstraints={@ORM\UniqueConstraint(name="account_id_uindex", columns={"id"})}, indexes={@ORM\Index(name="account_manager_id_fk", columns={"manager_id"}), @ORM\Index(name="account_user_id_fk", columns={"user_id"})})
  9.  * @ORM\Entity
  10.  */
  11. class Account implements UserInterface
  12. {
  13.     /**
  14.      * @var integer
  15.      *
  16.      * @ORM\Column(name="id", type="integer", nullable=false)
  17.      * @ORM\Id
  18.      * @ORM\GeneratedValue(strategy="IDENTITY")
  19.      */
  20.     private $id;
  21.     /**
  22.      * @var string
  23.      *
  24.      * @ORM\Column(name="email", type="string", length=255, nullable=true)
  25.      */
  26.     private $email;
  27.     /**
  28.      * @var string
  29.      *
  30.      * @ORM\Column(name="password", type="string", length=255, nullable=true)
  31.      */
  32.     private $password;
  33.     /**
  34.      * @var string
  35.      *
  36.      * @ORM\Column(name="salt", type="string", length=255, nullable=true)
  37.      */
  38.     private $salt;
  39.     /**
  40.      * @var \DateTime
  41.      *
  42.      * @ORM\Column(name="registration_date", type="datetime", nullable=true)
  43.      */
  44.     private $registrationDate;
  45.     /**
  46.      * @var \DateTime
  47.      *
  48.      * @ORM\Column(name="password_request_date", type="datetime", nullable=true)
  49.      */
  50.     private $passwordRequestDate;
  51.     /**
  52.      * @var string
  53.      *
  54.      * @ORM\Column(name="password_request", type="string", length=255, nullable=true)
  55.      */
  56.     private $passwordRequest;
  57.     /**
  58.      * @var \DateTime
  59.      *
  60.      * @ORM\Column(name="last_login", type="datetime", nullable=true)
  61.      */
  62.     private $lastLogin;
  63.     /**
  64.      * @var boolean
  65.      *
  66.      * @ORM\Column(name="enabled", type="boolean", nullable=true)
  67.      */
  68.     private $enabled true;
  69.     /**
  70.      * @var array
  71.      *
  72.      * @ORM\Column(name="roles", type="array", nullable=true)
  73.      */
  74.     private $roles;
  75.     /**
  76.      * @var integer
  77.      *
  78.      * @ORM\Column(name="errored_login_count", type="integer", nullable=false)
  79.      */
  80.     private $erroredLoginCount 0;
  81.     /**
  82.      * @var boolean
  83.      *
  84.      * @ORM\Column(name="locked", type="boolean", nullable=true)
  85.      */
  86.     private $locked false;
  87.     /**
  88.      * @var Manager
  89.      *
  90.      * @ORM\OneToOne(targetEntity="Manager", inversedBy="account")
  91.      * @ORM\JoinColumns({
  92.      *   @ORM\JoinColumn(name="manager_id", referencedColumnName="id")
  93.      * })
  94.      */
  95.     private $manager;
  96.     /**
  97.      * @var User
  98.      *
  99.      * @ORM\OneToOne(targetEntity="User", inversedBy="account")
  100.      * @ORM\JoinColumns({
  101.      *   @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  102.      * })
  103.      */
  104.     private $user;
  105.     /**
  106.      * @var Subuser
  107.      *
  108.      * @ORM\OneToOne(targetEntity="Subuser", inversedBy="account")
  109.      * @ORM\JoinColumns({
  110.      *   @ORM\JoinColumn(name="subuser_id", referencedColumnName="id")
  111.      * })
  112.      */
  113.     private $subuser;
  114.     /**
  115.      * @var LoginLog
  116.      *
  117.      * @ORM\OneToOne(targetEntity="LoginLog")
  118.      * @ORM\JoinColumns({
  119.      *   @ORM\JoinColumn(name="login_log_id", referencedColumnName="id")
  120.      * })
  121.      */
  122.     private $loginLog;
  123.     /**
  124.      * @return int
  125.      */
  126.     public function getId()
  127.     {
  128.         return $this->id;
  129.     }
  130.     /**
  131.      * @param int $id
  132.      */
  133.     public function setId($id)
  134.     {
  135.         $this->id $id;
  136.     }
  137.     public function getUserIdentifier()
  138.     {
  139.         return $this->email;
  140.     }
  141.     /**
  142.      * @return string
  143.      */
  144.     public function getEmail()
  145.     {
  146.         return $this->email;
  147.     }
  148.     /**
  149.      * @param string $email
  150.      */
  151.     public function setEmail($email)
  152.     {
  153.         $this->email $email;
  154.     }
  155.     /**
  156.      * @return string
  157.      */
  158.     public function getPassword()
  159.     {
  160.         return $this->password;
  161.     }
  162.     /**
  163.      * @param string $password
  164.      */
  165.     public function setPassword($password)
  166.     {
  167.         $this->password $password;
  168.     }
  169.     /**
  170.      * @return string
  171.      */
  172.     public function getSalt()
  173.     {
  174.         return $this->salt;
  175.     }
  176.     /**
  177.      * @param string $salt
  178.      */
  179.     public function setSalt($salt)
  180.     {
  181.         $this->salt $salt;
  182.     }
  183.     /**
  184.      * @return \DateTime
  185.      */
  186.     public function getRegistrationDate()
  187.     {
  188.         return $this->registrationDate;
  189.     }
  190.     /**
  191.      * @param \DateTime $registrationDate
  192.      */
  193.     public function setRegistrationDate($registrationDate)
  194.     {
  195.         $this->registrationDate $registrationDate;
  196.     }
  197.     /**
  198.      * @return \DateTime
  199.      */
  200.     public function getPasswordRequestDate()
  201.     {
  202.         return $this->passwordRequestDate;
  203.     }
  204.     /**
  205.      * @param \DateTime $passwordRequestDate
  206.      */
  207.     public function setPasswordRequestDate($passwordRequestDate)
  208.     {
  209.         $this->passwordRequestDate $passwordRequestDate;
  210.     }
  211.     /**
  212.      * @return string
  213.      */
  214.     public function getPasswordRequest()
  215.     {
  216.         return $this->passwordRequest;
  217.     }
  218.     /**
  219.      * @param string $passwordRequest
  220.      */
  221.     public function setPasswordRequest($passwordRequest)
  222.     {
  223.         $this->passwordRequest $passwordRequest;
  224.     }
  225.     /**
  226.      * @return \DateTime
  227.      */
  228.     public function getLastLogin()
  229.     {
  230.         return $this->lastLogin;
  231.     }
  232.     /**
  233.      * @param \DateTime $lastLogin
  234.      */
  235.     public function setLastLogin($lastLogin)
  236.     {
  237.         $this->lastLogin $lastLogin;
  238.     }
  239.     /**
  240.      * @return bool
  241.      */
  242.     public function isEnabled()
  243.     {
  244.         return $this->enabled;
  245.     }
  246.     /**
  247.      * @param bool $enabled
  248.      */
  249.     public function setEnabled($enabled)
  250.     {
  251.         $this->enabled $enabled;
  252.     }
  253.     /**
  254.      * @return Manager
  255.      */
  256.     public function getManager()
  257.     {
  258.         return $this->manager;
  259.     }
  260.     /**
  261.      * @param Manager $manager
  262.      */
  263.     public function setManager($manager)
  264.     {
  265.         $this->manager $manager;
  266.     }
  267.     /**
  268.      * @return User
  269.      */
  270.     public function getUser()
  271.     {
  272.         if ($this->getSubuser()) {
  273.             return $this->getSubuser()->getUser();
  274.         }
  275.         return $this->user;
  276.     }
  277.     /**
  278.      * @param User $user
  279.      */
  280.     public function setUser($user)
  281.     {
  282.         $this->user $user;
  283.     }
  284.     /**
  285.      * @return Subuser
  286.      */
  287.     public function getSubuser()
  288.     {
  289.         return $this->subuser;
  290.     }
  291.     /**
  292.      * @param Subuser $subuser
  293.      */
  294.     public function setSubuser($subuser)
  295.     {
  296.         $this->subuser $subuser;
  297.     }
  298.     /**
  299.      * @return LoginLog
  300.      */
  301.     public function getLoginLog()
  302.     {
  303.         return $this->loginLog;
  304.     }
  305.     /**
  306.      * @param LoginLog $loginLog
  307.      */
  308.     public function setLoginLog($loginLog)
  309.     {
  310.         $this->loginLog $loginLog;
  311.     }
  312.     /**
  313.      * @return array
  314.      */
  315.     public function getRoles()
  316.     {
  317.         return $this->roles;
  318.     }
  319.     /**
  320.      * @param array $roles
  321.      */
  322.     public function setRoles($roles)
  323.     {
  324.         $this->roles $roles;
  325.     }
  326.     /**
  327.      * @return int
  328.      */
  329.     public function getErroredLoginCount(): int
  330.     {
  331.         return $this->erroredLoginCount;
  332.     }
  333.     /**
  334.      * @param int $erroredLoginCount
  335.      */
  336.     public function setErroredLoginCount(int $erroredLoginCount): void
  337.     {
  338.         $this->erroredLoginCount $erroredLoginCount;
  339.     }
  340.     /**
  341.      * @return bool
  342.      */
  343.     public function isLocked(): bool
  344.     {
  345.         return $this->locked;
  346.     }
  347.     /**
  348.      * @param bool $locked
  349.      */
  350.     public function setLocked(bool $locked): void
  351.     {
  352.         $this->locked $locked;
  353.     }
  354.     /**
  355.      * Returns the username used to authenticate the user.
  356.      *
  357.      * @return string The username
  358.      */
  359.     public function getUsername()
  360.     {
  361.         // TODO: Implement getUsername() method.
  362.         return $this->getEmail();
  363.     }
  364.     /**
  365.      * Removes sensitive data from the user.
  366.      *
  367.      * This is important if, at any given point, sensitive information like
  368.      * the plain-text password is stored on this object.
  369.      */
  370.     public function eraseCredentials()
  371.     {
  372.         // TODO: Implement eraseCredentials() method.
  373.     }
  374. }