src/Entity/AdminUser.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\AdminUserRepository;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Umbrella\AdminBundle\Entity\BaseAdminUser;
  6. use Umbrella\CoreBundle\Search\Annotation\Searchable;
  7. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  8. /**
  9. * @ORM\Table(name="admin_user")
  10. * @ORM\Entity(repositoryClass=AdminUserRepository::class)
  11. * @Searchable
  12. * @UniqueEntity(fields={"email"})
  13. */
  14. class AdminUser extends BaseAdminUser
  15. {
  16.     public const ROLE_ADMIN 'ROLE_ADMIN';
  17.     public const ROLE_DEALER 'ROLE_DEALER';
  18.     public const ROLE_SERVICE 'ROLE_SERVICE';
  19.     public const ROLE_OFFICE 'ROLE_OFFICE';
  20.     public const LOCALE_RU 'ru';
  21.     public const LOCALE_EN 'en';
  22.     public static array $roleTypes = [
  23.         self::ROLE_ADMIN => 'roles.admin',
  24.         self::ROLE_DEALER => 'roles.dealer',
  25.         self::ROLE_SERVICE => 'roles.service',
  26.         self::ROLE_OFFICE => 'roles.office',
  27.     ];
  28.     public const LOCALES = [
  29.         self::LOCALE_RU,
  30.         self::LOCALE_EN,
  31.     ];
  32.     /**
  33.      * @ORM\Id
  34.      * @ORM\GeneratedValue(strategy="SEQUENCE")
  35.      * @ORM\SequenceGenerator(sequenceName="admin_user_id_seq", allocationSize=1, initialValue=1)
  36.      */
  37.     public ?int $id null;
  38.     /**
  39.      * @ORM\Column(type="string")
  40.      */
  41.     public ?string $plainPassword null;
  42.     /**
  43.      * @ORM\Column(type="string")
  44.      */
  45.     public ?string $role null;
  46.     /**
  47.      * @ORM\ManyToOne(targetEntity=Dealer::class, inversedBy="users")
  48.      * @var Dealer|null
  49.      */
  50.     public ?Dealer $dealer null;
  51.     /**
  52.      * @ORM\Column(type="string", length=2, options={"default":"ru"})
  53.      * @var string
  54.      */
  55.     public string $locale self::LOCALE_RU;
  56.     public function eraseCredentials()
  57.     {
  58.     }
  59.     /**
  60.      * @return array|null
  61.      */
  62.     public function getRoles(): ?array
  63.     {
  64.         if (empty($this->role)) {
  65.             return ['ROLE_ADMIN'];
  66.         }
  67.         return [$this->role];
  68.     }
  69. }