Employee::class, 'intern' => Intern::class])] #[ORM\UniqueConstraint(name: 'UNIQ_IDENTIFIER_NICKNAME', fields: ['nickname'])] #[UniqueEntity(fields: ['nickname'], message: 'Il y a déjà un compte avec ces identifiants !')] class UserApp implements UserInterface, PasswordAuthenticatedUserInterface { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column] private ?int $id = null; #[ORM\Column(length: 180)] private ?string $nickname = null; /** * @var list The user roles */ #[ORM\Column] private array $roles = []; /** * @var string The hashed password */ #[ORM\Column] private ?string $password = null; #[ORM\Column(length: 255, nullable: true)] private ?string $firstName = null; #[ORM\Column(length: 255, nullable: true)] private ?string $lastName = null; #[ORM\Column(length: 255,nullable: true)] private ?string $tel = null; #[ORM\Column(length: 255,nullable: true)] private ?string $address = null; #[ORM\Column(length: 255,nullable: true)] private ?string $mail = null; public function getId(): ?int { return $this->id; } public function getNickname(): ?string { return $this->nickname; } public function setNickname(string $nickname): static { $this->nickname = $nickname; return $this; } /** * A visual identifier that represents this user. * * @see UserInterface */ public function getUserIdentifier(): string { return (string) $this->nickname; } /** * @see UserInterface * * @return list */ public function getRoles(): array { $roles = $this->roles; // guarantee every user at least has ROLE_USER $roles[] = 'ROLE_USER'; return array_unique($roles); } /** * @param list $roles */ public function setRoles(array $roles): static { $this->roles = $roles; return $this; } /** * @see PasswordAuthenticatedUserInterface */ public function getPassword(): ?string { return $this->password; } public function setPassword(string $password): static { $this->password = $password; return $this; } /** * @see UserInterface */ public function eraseCredentials(): void { // If you store any temporary, sensitive data on the user, clear it here // $this->plainPassword = null; } public function getFirstName(): ?string { return $this->firstName; } public function setFirstName(string $firstName): static { $this->firstName = $firstName; return $this; } public function getLastName(): ?string { return $this->lastName; } public function setLastName(string $lastName): static { $this->lastName = $lastName; return $this; } public function getTel(): ?string { return $this->tel; } public function setTel(string $tel): static { $this->tel = $tel; return $this; } public function getAddress(): ?string { return $this->address; } public function setAddress(string $address): static { $this->address = $address; return $this; } public function getMail(): ?string { return $this->mail; } public function setMail(string $mail): static { $this->mail = $mail; return $this; } public function isVerified(): bool { return $this->isVerified; } public function setVerified(bool $isVerified): static { $this->isVerified = $isVerified; return $this; } }