|
|
@@ -5,7 +5,7 @@ namespace App\ApiResources\Profile;
|
|
|
|
|
|
use ApiPlatform\Core\Annotation\ApiProperty;
|
|
|
use ApiPlatform\Core\Annotation\ApiResource;
|
|
|
-use App\Entity\Access\Access;
|
|
|
+use Symfony\Component\Serializer\Annotation\Groups;
|
|
|
use Doctrine\Common\Collections\ArrayCollection;
|
|
|
use Doctrine\Common\Collections\Collection;
|
|
|
|
|
|
@@ -13,11 +13,12 @@ use Doctrine\Common\Collections\Collection;
|
|
|
* Classe resource qui contient les champs disponibles lors d'un appel à my_profile.
|
|
|
*
|
|
|
* @ApiResource(
|
|
|
- * collectionOperations={},
|
|
|
* itemOperations={
|
|
|
* "get"={
|
|
|
+ * "normalization_context"={"groups"={"access_profile_read"}},
|
|
|
* "method"="GET",
|
|
|
- * "path"="/my_profile/{id}"
|
|
|
+ * "path"="/my_profile/{id}",
|
|
|
+ * "defaults"={"id"=0}
|
|
|
* }
|
|
|
* }
|
|
|
* )
|
|
|
@@ -26,18 +27,54 @@ class AccessProfile
|
|
|
{
|
|
|
/**
|
|
|
* @ApiProperty(identifier=true)
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
*/
|
|
|
public $id;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
private $isAdminAccess;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
private $name;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
private $givenName;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
+ private $gender;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
+ private $avatarId;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
private $roles = [];
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
private $organization;
|
|
|
- private $accesses;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
+ private $multiAccesses;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
+ private $familyAccesses;
|
|
|
+ /**
|
|
|
+ * @Groups({"access_profile_read"})
|
|
|
+ */
|
|
|
+ private $originalAccess;
|
|
|
|
|
|
public function __construct()
|
|
|
{
|
|
|
- $this->accesses = new ArrayCollection();
|
|
|
+ $this->multiAccesses = new ArrayCollection();
|
|
|
+ $this->familyAccesses = new ArrayCollection();
|
|
|
}
|
|
|
|
|
|
public function getId(): ?int
|
|
|
@@ -100,6 +137,28 @@ class AccessProfile
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
+ public function getGender(): ?string
|
|
|
+ {
|
|
|
+ return $this->gender;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function setGender($gender): self
|
|
|
+ {
|
|
|
+ $this->gender = $gender;
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getAvatarId(): ?int
|
|
|
+ {
|
|
|
+ return $this->avatarId;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function setAvatarId(int $avatarId): self
|
|
|
+ {
|
|
|
+ $this->avatarId = $avatarId;
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
public function getRoles(): array
|
|
|
{
|
|
|
$roles = $this->roles;
|
|
|
@@ -114,24 +173,57 @@ class AccessProfile
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @return Collection|AccessProfile[]
|
|
|
+ * @return Collection|OrganizationProfile[]
|
|
|
*/
|
|
|
- public function getAccesses(): Collection
|
|
|
+ public function getMultiAccesses(): Collection
|
|
|
{
|
|
|
- return $this->accesses;
|
|
|
+ return $this->multiAccesses;
|
|
|
}
|
|
|
|
|
|
- public function addAccess(AccessProfile $accessProfile): self
|
|
|
+ public function addMultiAccess(OrganizationProfile $organizationProfile): self
|
|
|
{
|
|
|
- if (!$this->accesses->contains($accessProfile)) {
|
|
|
- $this->accesses[] = $accessProfile;
|
|
|
+ if (!$this->multiAccesses->contains($organizationProfile)) {
|
|
|
+ $this->multiAccesses[] = $organizationProfile;
|
|
|
}
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
- public function removeAccess(AccessProfile $accessProfile): self
|
|
|
+ public function removeMultiAccess(OrganizationProfile $organizationProfile): self
|
|
|
+ {
|
|
|
+ $this->multiAccesses->removeElement($organizationProfile);
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return Collection|OrganizationProfile[]
|
|
|
+ */
|
|
|
+ public function getFamilyAccesses(): Collection
|
|
|
+ {
|
|
|
+ return $this->familyAccesses;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function addFamilyAccess(AccessProfile $accessProfile): self
|
|
|
+ {
|
|
|
+ if (!$this->familyAccesses->contains($accessProfile)) {
|
|
|
+ $this->familyAccesses[] = $accessProfile;
|
|
|
+ }
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function removeFamilyAccess(AccessProfile $accessProfile): self
|
|
|
+ {
|
|
|
+ $this->familyAccesses->removeElement($accessProfile);
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function getOriginalAccess(): ?AccessProfile
|
|
|
+ {
|
|
|
+ return $this->originalAccess;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function setOriginalAccess(?AccessProfile $originalAccess): self
|
|
|
{
|
|
|
- $this->accesses->removeElement($accessProfile);
|
|
|
+ $this->originalAccess = $originalAccess;
|
|
|
return $this;
|
|
|
}
|
|
|
}
|