<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* User
*
* @ORM\Entity
*/
class Admin implements UserInterface
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
private $fullName;
/**
* @ORM\Column(type="string", length=50, nullable=true)
* @Groups("api_login")
*/
private $country;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $verificationCode;
/**
* @var array|null
*
* @ORM\Column(name="roles", type="json", nullable=true)
*/
private $roles;
/**
* @ORM\Column(type="datetime", nullable=true)
* @Groups("api_login")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $birthday;
/**
* @ORM\Column(type="string", length=50, nullable=true)
*/
private $gender;
/**
*@ORM\Column(type="boolean", options={"default":"0"}, nullable=true)
*/
private $isDeleted;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $deletedAt;
/**
* @var string|null
*
* @ORM\Column(name="email", type="string", length=190, nullable=true)
*/
private $email;
/**
* @var string|null
*
* @ORM\Column(name="password", type="string", length=190, nullable=true)
*/
private $password;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $first_name;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $last_name;
public function getId(): ?int
{
return $this->id;
}
/**
* @return mixed
* @Groups("api_login")
*/
public function getCountry()
{
return $this->country;
}
/**
* @param string $country
*/
public function setCountry($country): void
{
$this->country = $country;
}
/**
* @return string
*/
public function getEmail()
{
return $this->email;
}
public function setEmail($email)
{
$this->email = $email;
}
/**
* @return string
*/
public function getFullName()
{
return $this->fullName;
}
/**
* @param string $fullName
*/
public function setFullName($fullName): void
{
$this->fullName = $fullName;
}
public function __toString()
{
$str = ''.$this->getFullName();
if (empty($str)) {
$str = $this->getEmail();
}
return $str;
}
/**
* @return \DateTime
*/
public function getBirthday()
{
return $this->birthday;
}
/**
* @param \DateTime $birthday
*/
public function setBirthday(\DateTime $birthday): void
{
$this->birthday = $birthday;
}
/**
* @return String
*/
public function getGender()
{
return $this->gender;
}
/**
* @param string $gender
*/
public function setGender(String $gender): void
{
$this->gender = $gender;
}
/**
* @return \DateTime
*
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* @param mixed $createdAt
*/
public function setCreatedAt($createdAt): void
{
$this->createdAt = $createdAt;
}
/**
* @return bool
*/
public function getDeleted()
{
return $this->isDeleted;
}
/**
* @param bool $deleted
*/
public function setDeleted(bool $deleted): void
{
$this->isDeleted = $deleted;
}
/**
* @return \DateTime
*/
public function getDeletedAt()
{
return $this->deletedAt;
}
/**
* @param \DateTime $deletedAt
*/ public function setDeletedAt(\DateTime $deletedAt): void
{
$this->deletedAt = $deletedAt;
}
public function getVerificationCode(): ?int
{
return $this->verificationCode;
}
public function setVerificationCode(?int $verificationCode): self
{
$this->verificationCode = $verificationCode;
return $this;
}
/**
* @return mixed
*/
public function getIsDeleted()
{
return $this->isDeleted;
}
/**
* @param mixed $isDeleted
*/
public function setIsDeleted($isDeleted): void
{
$this->isDeleted = $isDeleted;
}
public function getPassword(): ?string
{
return $this->password;
}
public function setPassword(?string $password): void
{
$this->password = $password;
}
public function getSalt()
{
// TODO: Implement getSalt() method.
}
public function eraseCredentials()
{
// TODO: Implement eraseCredentials() method.
}
public function getUsername()
{
return $this->email;
}
public function getRoles(): ?array
{
return $this->roles;
}
public function setRoles(?array $roles): void
{
$this->roles = $roles;
}
public function getFirstName(): ?string
{
return $this->first_name;
}
public function setFirstName(?string $first_name): self
{
$this->first_name = $first_name;
return $this;
}
public function getLastName(): ?string
{
return $this->last_name;
}
public function setLastName(?string $last_name): self
{
$this->last_name = $last_name;
return $this;
}
}