src/Entity/UserSite.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Controller\Action\UserSiteRoleAction;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use ApiPlatform\Metadata\ApiResource;
  6. use Symfony\Component\Serializer\Annotation\Groups;
  7. use ApiPlatform\Metadata\Get;
  8. #[ORM\Table(name'user_site')]
  9. #[ORM\Index(name'site_id'columns: ['site_id'])]
  10. #[ORM\Index(name'user_id'columns: ['user_id'])]
  11. #[ORM\Entity]
  12. #[ApiResource(
  13.     normalizationContext: ['groups' => ['user.get']],
  14.     operations: [
  15.         new Get(
  16.             name'_api_/user_site_role',
  17.             uriTemplate'/user_site_role',
  18.             controllerUserSiteRoleAction::class,
  19.             writefalse,
  20.             readfalse
  21.         )
  22.     ]
  23. )
  24. ]
  25. class UserSite
  26. {
  27.     #[ORM\Column(name'id'type'integer'nullablefalse)]
  28.     #[ORM\Id]
  29.     #[ORM\GeneratedValue(strategy'IDENTITY')]
  30.     #[Groups(['site.get''plan.get'])]
  31.     private int $id;
  32.     #[ORM\Column(name'role'type'string'length255nullabletrue)]
  33.     #[Groups(['user.get''user.write'])]
  34.     private ?string $role null;
  35.     #[ORM\ManyToOne(inversedBy'userSites')]
  36.     #[Groups(['user.write'])]
  37.     #[ORM\JoinColumn(nullablefalse)]
  38.     private ?User $user;
  39.     #[ORM\ManyToOne(inversedBy'userSites')]
  40.     #[Groups(['user.get''user.write'])]
  41.     private Site $site;
  42.     #[ORM\Column(length255nullabletrue)]
  43.     #[Groups(['user.get''plan.get''user.write'])]
  44.     private ?string $userRole null;
  45.     public function getId(): ?int
  46.     {
  47.         return $this->id;
  48.     }
  49.     public function getRole(): ?string
  50.     {
  51.         return $this->role;
  52.     }
  53.     public function setRole(?string $role): self
  54.     {
  55.         $this->role $role;
  56.         return $this;
  57.     }
  58.     public function getUser(): User
  59.     {
  60.         return $this->user;
  61.     }
  62.     public function setUser(User $user null): self
  63.     {
  64.         $this->user $user;
  65.         return $this;
  66.     }
  67.     public function getSite(): Site
  68.     {
  69.         return $this->site;
  70.     }
  71.     public function setSite(Site $site): self
  72.     {
  73.         $this->site $site;
  74.         return $this;
  75.     }
  76.     public function getUserRole(): ?string
  77.     {
  78.         return $this->userRole;
  79.     }
  80.     public function setUserRole(?string $userRole): self
  81.     {
  82.         $this->userRole $userRole;
  83.         return $this;
  84.     }
  85. }