<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* Account
*
* @ORM\Table(name="account", indexes={@ORM\Index(name="account_user_id_fk", columns={"user_id"}), @ORM\Index(name="account_partner_id_fk", columns={"partner_id"})})
* @ORM\Entity
*/
class Account implements UserInterface
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string|null
*
* @ORM\Column(name="email", type="string", length=255, nullable=true, options={"default"="NULL"})
*/
private $email;
/**
* @var string|null
*
* @ORM\Column(name="password", type="string", length=255, nullable=true, options={"default"="NULL"})
*/
private $password;
/**
* @var string|null
*
* @ORM\Column(name="salt", type="string", length=255, nullable=true, options={"default"="NULL"})
*/
private $salt;
/**
* @var bool|null
*
* @ORM\Column(name="enabled", type="boolean", nullable=true)
*/
private $enabled = false;
/**
* @var array|null
*
* @ORM\Column(name="roles", type="array", nullable=true, options={"default"="NULL"})
*/
private $roles;
/**
* @var \DateTime|null
*
* @ORM\Column(name="registration_date", type="datetime", nullable=true, options={"default"="NULL"})
*/
private $registrationDate;
/**
* @var \DateTime|null
*
* @ORM\Column(name="last_login", type="datetime", nullable=true, options={"default"="NULL"})
*/
private $lastLogin;
/**
* @var \DateTime|null
*
* @ORM\Column(name="password_request_date", type="datetime", nullable=true, options={"default"="NULL"})
*/
private $passwordRequestDate;
/**
* @var string|null
*
* @ORM\Column(name="password_request", type="string", length=255, nullable=true, options={"default"="NULL"})
*/
private $passwordRequest;
/**
* @var User|null
*
* @ORM\OneToOne(targetEntity="User", inversedBy="account")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
* })
*/
private $user;
/**
* @var Partner|null
*
* @ORM\OneToOne(targetEntity="Partner", inversedBy="account")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="partner_id", referencedColumnName="id")
* })
*/
private $partner;
/**
* @var string|null
*
* @ORM\Column(name="stripe_customer_id", type="string", length=100, nullable=true, options={"default"="NULL"})
*/
private $stripeCustomerId;
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
/**
* @param int $id
*/
public function setId(int $id): void
{
$this->id = $id;
}
/**
* @return string|null
*/
public function getEmail(): ?string
{
return $this->email;
}
/**
* @param string|null $email
*/
public function setEmail(?string $email): void
{
$this->email = $email;
}
/**
* @return string|null
*/
public function getPassword(): ?string
{
return $this->password;
}
/**
* @param string|null $password
*/
public function setPassword(?string $password): void
{
$this->password = $password;
}
/**
* @return string|null
*/
public function getSalt(): ?string
{
return $this->salt;
}
/**
* @param string|null $salt
*/
public function setSalt(?string $salt): void
{
$this->salt = $salt;
}
/**
* @return bool|null
*/
public function getEnabled(): ?bool
{
return $this->enabled;
}
/**
* @param bool|null $enabled
*/
public function setEnabled(?bool $enabled): void
{
$this->enabled = $enabled;
}
/**
* @return array|null
*/
public function getRoles(): ?array
{
return $this->roles;
}
/**
* @param array|null $roles
*/
public function setRoles(?array $roles): void
{
$this->roles = $roles;
}
/**
* @return \DateTime|null
*/
public function getRegistrationDate(): ?\DateTime
{
return $this->registrationDate;
}
/**
* @param \DateTime|null $registrationDate
*/
public function setRegistrationDate(?\DateTime $registrationDate): void
{
$this->registrationDate = $registrationDate;
}
/**
* @return \DateTime|null
*/
public function getLastLogin(): ?\DateTime
{
return $this->lastLogin;
}
/**
* @param \DateTime|null $lastLogin
*/
public function setLastLogin(?\DateTime $lastLogin): void
{
$this->lastLogin = $lastLogin;
}
/**
* @return \DateTime|null
*/
public function getPasswordRequestDate(): ?\DateTime
{
return $this->passwordRequestDate;
}
/**
* @param \DateTime|null $passwordRequestDate
*/
public function setPasswordRequestDate(?\DateTime $passwordRequestDate): void
{
$this->passwordRequestDate = $passwordRequestDate;
}
/**
* @return string|null
*/
public function getPasswordRequest(): ?string
{
return $this->passwordRequest;
}
/**
* @param string|null $passwordRequest
*/
public function setPasswordRequest(?string $passwordRequest): void
{
$this->passwordRequest = $passwordRequest;
}
/**
* @return User|null
*/
public function getUser(): ?User
{
return $this->user;
}
/**
* @param User|null $user
*/
public function setUser(?User $user): void
{
$this->user = $user;
}
/**
* @return Partner|null
*/
public function getPartner(): ?Partner
{
return $this->partner;
}
/**
* @param Partner|null $partner
*/
public function setPartner(?Partner $partner): void
{
$this->partner = $partner;
}
/**
* @return string|null
*/
public function getStripeCustomerId(): ?string
{
return $this->stripeCustomerId;
}
/**
* @param string|null $stripeCustomerId
*/
public function setStripeCustomerId(?string $stripeCustomerId): void
{
$this->stripeCustomerId = $stripeCustomerId;
}
public function eraseCredentials()
{
// TODO: Implement eraseCredentials() method.
}
public function getUsername()
{
return $this->getEmail();
}
public function __call(string $name, array $arguments)
{
// TODO: Implement @method string getUserIdentifier()
}
}