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.     /**
  138.      * @return string
  139.      */
  140.     public function getEmail()
  141.     {
  142.         return $this->email;
  143.     }
  144.     /**
  145.      * @param string $email
  146.      */
  147.     public function setEmail($email)
  148.     {
  149.         $this->email $email;
  150.     }
  151.     /**
  152.      * @return string
  153.      */
  154.     public function getPassword()
  155.     {
  156.         return $this->password;
  157.     }
  158.     /**
  159.      * @param string $password
  160.      */
  161.     public function setPassword($password)
  162.     {
  163.         $this->password $password;
  164.     }
  165.     /**
  166.      * @return string
  167.      */
  168.     public function getSalt()
  169.     {
  170.         return $this->salt;
  171.     }
  172.     /**
  173.      * @param string $salt
  174.      */
  175.     public function setSalt($salt)
  176.     {
  177.         $this->salt $salt;
  178.     }
  179.     /**
  180.      * @return \DateTime
  181.      */
  182.     public function getRegistrationDate()
  183.     {
  184.         return $this->registrationDate;
  185.     }
  186.     /**
  187.      * @param \DateTime $registrationDate
  188.      */
  189.     public function setRegistrationDate($registrationDate)
  190.     {
  191.         $this->registrationDate $registrationDate;
  192.     }
  193.     /**
  194.      * @return \DateTime
  195.      */
  196.     public function getPasswordRequestDate()
  197.     {
  198.         return $this->passwordRequestDate;
  199.     }
  200.     /**
  201.      * @param \DateTime $passwordRequestDate
  202.      */
  203.     public function setPasswordRequestDate($passwordRequestDate)
  204.     {
  205.         $this->passwordRequestDate $passwordRequestDate;
  206.     }
  207.     /**
  208.      * @return string
  209.      */
  210.     public function getPasswordRequest()
  211.     {
  212.         return $this->passwordRequest;
  213.     }
  214.     /**
  215.      * @param string $passwordRequest
  216.      */
  217.     public function setPasswordRequest($passwordRequest)
  218.     {
  219.         $this->passwordRequest $passwordRequest;
  220.     }
  221.     /**
  222.      * @return \DateTime
  223.      */
  224.     public function getLastLogin()
  225.     {
  226.         return $this->lastLogin;
  227.     }
  228.     /**
  229.      * @param \DateTime $lastLogin
  230.      */
  231.     public function setLastLogin($lastLogin)
  232.     {
  233.         $this->lastLogin $lastLogin;
  234.     }
  235.     /**
  236.      * @return bool
  237.      */
  238.     public function isEnabled()
  239.     {
  240.         return $this->enabled;
  241.     }
  242.     /**
  243.      * @param bool $enabled
  244.      */
  245.     public function setEnabled($enabled)
  246.     {
  247.         $this->enabled $enabled;
  248.     }
  249.     /**
  250.      * @return Manager
  251.      */
  252.     public function getManager()
  253.     {
  254.         return $this->manager;
  255.     }
  256.     /**
  257.      * @param Manager $manager
  258.      */
  259.     public function setManager($manager)
  260.     {
  261.         $this->manager $manager;
  262.     }
  263.     /**
  264.      * @return User
  265.      */
  266.     public function getUser()
  267.     {
  268.         if ($this->getSubuser()) {
  269.             return $this->getSubuser()->getUser();
  270.         }
  271.         return $this->user;
  272.     }
  273.     /**
  274.      * @param User $user
  275.      */
  276.     public function setUser($user)
  277.     {
  278.         $this->user $user;
  279.     }
  280.     /**
  281.      * @return Subuser
  282.      */
  283.     public function getSubuser()
  284.     {
  285.         return $this->subuser;
  286.     }
  287.     /**
  288.      * @param Subuser $subuser
  289.      */
  290.     public function setSubuser($subuser)
  291.     {
  292.         $this->subuser $subuser;
  293.     }
  294.     /**
  295.      * @return LoginLog
  296.      */
  297.     public function getLoginLog()
  298.     {
  299.         return $this->loginLog;
  300.     }
  301.     /**
  302.      * @param LoginLog $loginLog
  303.      */
  304.     public function setLoginLog($loginLog)
  305.     {
  306.         $this->loginLog $loginLog;
  307.     }
  308.     /**
  309.      * @return array
  310.      */
  311.     public function getRoles()
  312.     {
  313.         return $this->roles;
  314.     }
  315.     /**
  316.      * @param array $roles
  317.      */
  318.     public function setRoles($roles)
  319.     {
  320.         $this->roles $roles;
  321.     }
  322.     /**
  323.      * @return int
  324.      */
  325.     public function getErroredLoginCount(): int
  326.     {
  327.         return $this->erroredLoginCount;
  328.     }
  329.     /**
  330.      * @param int $erroredLoginCount
  331.      */
  332.     public function setErroredLoginCount(int $erroredLoginCount): void
  333.     {
  334.         $this->erroredLoginCount $erroredLoginCount;
  335.     }
  336.     /**
  337.      * @return bool
  338.      */
  339.     public function isLocked(): bool
  340.     {
  341.         return $this->locked;
  342.     }
  343.     /**
  344.      * @param bool $locked
  345.      */
  346.     public function setLocked(bool $locked): void
  347.     {
  348.         $this->locked $locked;
  349.     }
  350.     /**
  351.      * Returns the username used to authenticate the user.
  352.      *
  353.      * @return string The username
  354.      */
  355.     public function getUsername()
  356.     {
  357.         // TODO: Implement getUsername() method.
  358.         return $this->getEmail();
  359.     }
  360.     /**
  361.      * Removes sensitive data from the user.
  362.      *
  363.      * This is important if, at any given point, sensitive information like
  364.      * the plain-text password is stored on this object.
  365.      */
  366.     public function eraseCredentials()
  367.     {
  368.         // TODO: Implement eraseCredentials() method.
  369.     }
  370. }