app/Entity/Schema/ORM/UserOrganizationAssignment.php line 10

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Sq\Entity\Schema\ORM;
  3. use Doctrine\ORM\Mapping as ORM;
  4. #[ORM\Entity]
  5. #[ORM\Table(name'user_organization_assignments')]
  6. #[ORM\UniqueConstraint(name'uqx__uoa_o_id__uoa_u_id'columns: ['uoa_o_id''uoa_u_id'])]
  7. class UserOrganizationAssignment
  8. {
  9.     public const ROLE_OWNER 'OWNER';
  10.     public const ROLE_ADMIN 'ADMIN';
  11.     public const ROLE_EDITOR 'EDITOR';
  12.     public const ROLE_CLIENT 'CLIENT';
  13.     /**
  14.      *
  15.      * @var int|null
  16.      */
  17.     #[ORM\Id]
  18.     #[ORM\Column(name'uoa_id'type'integer'nullablefalseoptions: ['unsigned' => true])]
  19.     #[ORM\GeneratedValue(strategy'AUTO')]
  20.     private $id;
  21.     /**
  22.      *
  23.      * @var User
  24.      */
  25.     #[ORM\ManyToOne(targetEntityUser::class, inversedBy'organizationAssignments'cascade: ['persist'])]
  26.     #[ORM\JoinColumn(name'uoa_u_id'referencedColumnName'u_id'nullablefalse)]
  27.     private $user;
  28.     /**
  29.      *
  30.      * @var Organization
  31.      */
  32.     #[ORM\ManyToOne(targetEntityOrganization::class, inversedBy'userAssignments'fetch'EAGER'cascade: ['persist'])]
  33.     #[ORM\JoinColumn(name'uoa_o_id'referencedColumnName'o_id'nullablefalse)]
  34.     private $organization;
  35.     /**
  36.      * @var UserOrganizationSettings
  37.      */
  38.     #[ORM\OneToOne(targetEntityUserOrganizationSettings::class, mappedBy'assignment'cascade: ['persist''remove'])]
  39.     private $settings;
  40.     /**
  41.      * @var string
  42.      */
  43.     #[ORM\Column(name'uoa_role'type'string'nullablefalse)]
  44.     private $role;
  45.     public function __construct(User $userOrganization $organizationstring $role)
  46.     {
  47.         $this->user $user;
  48.         $this->organization $organization;
  49.         $this->settings = new UserOrganizationSettings($this);
  50.         $this->role $role;
  51.     }
  52.     public function getId(): ?int
  53.     {
  54.         return $this->id;
  55.     }
  56.     public function getUser(): User
  57.     {
  58.         return $this->user;
  59.     }
  60.     public function getOrganization(): Organization
  61.     {
  62.         return $this->organization;
  63.     }
  64.     public function getSettings(): UserOrganizationSettings
  65.     {
  66.         return $this->settings;
  67.     }
  68.     public function getRole(): string
  69.     {
  70.         return $this->role;
  71.     }
  72.     public function setRole(string $role): void
  73.     {
  74.         $this->role $role;
  75.     }
  76. }