src/Entity/User.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\UserRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
  6. use Symfony\Component\Security\Core\User\UserInterface;
  7. /**
  8.  * @ORM\Entity(repositoryClass=UserRepository::class)
  9.  */
  10. class User implements UserInterfacePasswordAuthenticatedUserInterface
  11. {
  12.     /**
  13.      * @ORM\Id
  14.      * @ORM\GeneratedValue
  15.      * @ORM\Column(type="integer")
  16.      */
  17.     private $id;
  18.     /**
  19.      * @ORM\Column(type="string", length=180, unique=true)
  20.      */
  21.     private $email;
  22.     /**
  23.      * @ORM\Column(type="json")
  24.      */
  25.     private $roles = [];
  26.     /**
  27.      * @ORM\Column(type="integer")
  28.      */
  29.     private $id_role;
  30.     /**
  31.      * @return mixed
  32.      */
  33.     public function getIdRole()
  34.     {
  35.         return $this->id_role;
  36.     }
  37.     /**
  38.      * @param mixed $id_role
  39.      */
  40.     public function setIdRole($id_role): void
  41.     {
  42.         $this->id_role $id_role;
  43.     }
  44.     /**
  45.      * @var string The hashed password
  46.      * @ORM\Column(type="string")
  47.      */
  48.     private $password;
  49.     /**
  50.      * @ORM\Column(type="integer", nullable=true)
  51.      */
  52.     private $id_tiers;
  53.     /**
  54.      * @ORM\Column(type="datetime", options={"default": "CURRENT_TIMESTAMP"})
  55.      */
  56.     private $date_crea;
  57.     /**
  58.      * @ORM\Column(type="integer")
  59.      */
  60.     private $user_crea;
  61.     /**
  62.      * @ORM\Column(type="datetime", nullable=true)
  63.      */
  64.     private $date_modif;
  65.     /**
  66.      * @ORM\Column(type="integer", nullable=true)
  67.      */
  68.     private $user_modif;
  69.     /**
  70.      * @ORM\Column(type="integer", nullable=true)
  71.      */
  72.     private $password_requested_at;
  73.     /**
  74.      * @ORM\Column(type="string", length=255, nullable=true)
  75.      */
  76.     private $token;
  77.     /**
  78.      * @ORM\Column(type="string", length=255, nullable=true)
  79.      */
  80.     private $avatar_user;
  81.     /**
  82.      * @ORM\Column(type="string", length=20, nullable=true)
  83.      */
  84.     private $theme_user;
  85.     /**
  86.      * @ORM\Column(type="boolean", options={"default": 1})
  87.      */
  88.     private $is_active;
  89.     /**
  90.      * @ORM\OneToOne(targetEntity=Tiers::class, inversedBy="user", cascade={"persist", "remove"})
  91.      */
  92.     private $tiers;
  93.     public function clearForJsonResp(){
  94.         $this->getTiers()->clearForJsonResp();
  95.     }
  96.     public function getId(): ?int
  97.     {
  98.         return $this->id;
  99.     }
  100.     public function getEmail(): ?string
  101.     {
  102.         return $this->email;
  103.     }
  104.     public function setEmail(string $email): self
  105.     {
  106.         $this->email $email;
  107.         return $this;
  108.     }
  109.     /**
  110.      * A visual identifier that represents this user.
  111.      *
  112.      * @see UserInterface
  113.      */
  114.     public function getUserIdentifier(): string
  115.     {
  116.         return (string) $this->email;
  117.     }
  118.     /**
  119.      * @deprecated since Symfony 5.3, use getUserIdentifier instead
  120.      */
  121.     public function getUsername(): string
  122.     {
  123.         return (string) $this->email;
  124.     }
  125.     /**
  126.      * @see UserInterface
  127.      */
  128.     public function getRoles(): array
  129.     {
  130.         $roles $this->roles;
  131.         // guarantee every user at least has ROLE_USER
  132.         $roles[] = 'ROLE_USER';
  133.         return array_unique($roles);
  134.     }
  135.     public function setRoles(array $roles): self
  136.     {
  137.         $this->roles $roles;
  138.         return $this;
  139.     }
  140.     /**
  141.      * @see PasswordAuthenticatedUserInterface
  142.      */
  143.     public function getPassword(): string
  144.     {
  145.         return $this->password;
  146.     }
  147.     public function setPassword(string $password): self
  148.     {
  149.         $this->password $password;
  150.         return $this;
  151.     }
  152.     /**
  153.      * Returning a salt is only needed, if you are not using a modern
  154.      * hashing algorithm (e.g. bcrypt or sodium) in your security.yaml.
  155.      *
  156.      * @see UserInterface
  157.      */
  158.     public function getSalt(): ?string
  159.     {
  160.         return null;
  161.     }
  162.     /**
  163.      * @see UserInterface
  164.      */
  165.     public function eraseCredentials()
  166.     {
  167.         // If you store any temporary, sensitive data on the user, clear it here
  168.         // $this->plainPassword = null;
  169.     }
  170.     public function getIdTiers(): ?int
  171.     {
  172.         return $this->id_tiers;
  173.     }
  174.     public function setIdTiers(?int $id_tiers): self
  175.     {
  176.         $this->id_tiers $id_tiers;
  177.         return $this;
  178.     }
  179.     public function getDateCrea(): ?\DateTimeInterface
  180.     {
  181.         return $this->date_crea;
  182.     }
  183.     public function setDateCrea(\DateTimeInterface $date_crea): self
  184.     {
  185.         $this->date_crea $date_crea;
  186.         return $this;
  187.     }
  188.     public function getUserCrea(): ?int
  189.     {
  190.         return $this->user_crea;
  191.     }
  192.     public function setUserCrea(int $user_crea): self
  193.     {
  194.         $this->user_crea $user_crea;
  195.         return $this;
  196.     }
  197.     public function getDateModif(): ?\DateTimeInterface
  198.     {
  199.         return $this->date_modif;
  200.     }
  201.     public function setDateModif(?\DateTimeInterface $date_modif): self
  202.     {
  203.         $this->date_modif $date_modif;
  204.         return $this;
  205.     }
  206.     public function getUserModif(): ?int
  207.     {
  208.         return $this->user_modif;
  209.     }
  210.     public function setUserModif(?int $user_modif): self
  211.     {
  212.         $this->user_modif $user_modif;
  213.         return $this;
  214.     }
  215.     public function getPasswordRequestedAt(): ?int
  216.     {
  217.         return $this->password_requested_at;
  218.     }
  219.     public function setPasswordRequestedAt(?int $password_requested_at): self
  220.     {
  221.         $this->password_requested_at $password_requested_at;
  222.         return $this;
  223.     }
  224.     public function getToken(): ?string
  225.     {
  226.         return $this->token;
  227.     }
  228.     public function setToken(string $token): self
  229.     {
  230.         $this->token $token;
  231.         return $this;
  232.     }
  233.     public function getAvatarUser(): ?string
  234.     {
  235.         return $this->avatar_user;
  236.     }
  237.     public function setAvatarUser(string $avatar_user): self
  238.     {
  239.         $this->avatar_user $avatar_user;
  240.         return $this;
  241.     }
  242.     public function getThemeUser(): ?string
  243.     {
  244.         return $this->theme_user;
  245.     }
  246.     public function setThemeUser(?string $theme_user): self
  247.     {
  248.         $this->theme_user $theme_user;
  249.         return $this;
  250.     }
  251.     public function getIsActive(): ?bool
  252.     {
  253.         return $this->is_active;
  254.     }
  255.     public function setIsActive(bool $is_active): self
  256.     {
  257.         $this->is_active $is_active;
  258.         return $this;
  259.     }
  260.     public function getTiers(): ?Tiers
  261.     {
  262.         return $this->tiers;
  263.     }
  264.     public function setTiers(?Tiers $tiers): self
  265.     {
  266.         $this->tiers $tiers;
  267.         return $this;
  268.     }
  269. }