src/Entity/Organisation/User.php line 10

  1. <?php
  2. namespace App\Entity\Organisation;
  3. use App\Entity\User\UserRoleInterface;
  4. use Doctrine\ORM\Mapping as ORM;
  5. #[ORM\Table(name'organisation_user')]
  6. #[ORM\Entity(repositoryClass'App\Repository\Organisation\UserRepository')]
  7. class User implements UserRoleInterface
  8. {
  9.     public const TYPE_ADMIN 'admin';
  10.     public const TYPE_MANAGER 'manager';
  11.     public const TYPE_TEACHER 'teacher';
  12.     /**
  13.      * @var int|null
  14.      */
  15.     #[ORM\Id]
  16.     #[ORM\GeneratedValue(strategy'AUTO')]
  17.     #[ORM\Column(type'integer')]
  18.     private $id;
  19.     /**
  20.      * @var Organisation
  21.      *
  22.      */
  23.     #[ORM\ManyToOne(targetEntity'App\Entity\Organisation\Organisation'inversedBy'users')]
  24.     #[ORM\JoinColumn(nullablefalse)]
  25.     private $organisation;
  26.     /**
  27.      * @var \App\Entity\User\User
  28.      *
  29.      */
  30.     #[ORM\ManyToOne(targetEntity'App\Entity\User\User')]
  31.     #[ORM\JoinColumn(nullablefalse)]
  32.     private $user;
  33.     /**
  34.      * @var string|null
  35.      */
  36.     #[ORM\Column(type'string'nullablefalse)]
  37.     private $type;
  38.     public static function getTypes()
  39.     {
  40.         return [self::TYPE_ADMINself::TYPE_MANAGERself::TYPE_TEACHER];
  41.     }
  42.     /**
  43.      * @return Organisation
  44.      */
  45.     public function getOrganisation(): ?Organisation
  46.     {
  47.         return $this->organisation;
  48.     }
  49.     /**
  50.      * @param Organisation $organisation
  51.      */
  52.     public function setOrganisation(?Organisation $organisation): void
  53.     {
  54.         $this->organisation $organisation;
  55.     }
  56.     public function getUser(): ?\App\Entity\User\User
  57.     {
  58.         return $this->user;
  59.     }
  60.     /**
  61.      * @param \App\Entity\User\User $user
  62.      */
  63.     public function setUser(?\App\Entity\User\User $user): void
  64.     {
  65.         $this->user $user;
  66.     }
  67.     /**
  68.      * @return string|null
  69.      */
  70.     public function getType(): ?string
  71.     {
  72.         return $this->type;
  73.     }
  74.     /**
  75.      * @param string|null $type
  76.      */
  77.     public function setType(?string $type): void
  78.     {
  79.         $this->type $type;
  80.     }
  81.     /**
  82.      * @return int|null
  83.      */
  84.     public function getId(): ?int
  85.     {
  86.         return $this->id;
  87.     }
  88.     /**
  89.      * @param int|null $id
  90.      */
  91.     public function setId(?int $id): void
  92.     {
  93.         $this->id $id;
  94.     }
  95. }