Просмотр исходного кода

add the Public/FederationStructure::isFederation property

Olivier Massot 7 месяцев назад
Родитель
Сommit
2e803899f2

+ 1 - 1
sql/schema-extensions/002-view_federation_structures.sql

@@ -1,6 +1,6 @@
 CREATE OR REPLACE VIEW view_federation_structures AS
     SELECT o.id, o.name, o.logo_id as logoId, o.description, o.image_id as imageId, o.principalType as type,
-           o.portailVisibility,
+           (o.principalType LIKE '%_FEDERATION') as isFederation, o.portailVisibility,
            IF(p.website is not null AND p.website != '', p.website, CONCAT('https://', p.subDomain, '.opentalent.fr')) AS website,
            CONCAT('[', GROUP_CONCAT(COLUMN_JSON(COLUMN_CREATE(
                    'type', oa.type, 'latitude', a.latitude, 'longitude', a.longitude,

+ 17 - 2
src/Entity/Public/FederationStructure.php

@@ -33,14 +33,14 @@ use Symfony\Component\Serializer\Annotation\Groups;
             normalizationContext: ['groups' => ['federation_structure_collection_get']]
         ),
     ],
-    paginationEnabled: false
+    paginationEnabled: true
 )]
 #[ORM\Entity(repositoryClass: FederationStructureRepository::class, readOnly: true)]
 #[ORM\Table(name: 'view_federation_structures')]
 #[ApiFilter(filterClass: SearchFilter::class, properties: ['name' => 'partial', 'city' => 'exact'])]
 #[ApiFilter(filterClass: NumericFilter::class, properties: ['id', 'parentId'])]
 #[ApiFilter(filterClass: FindInSetFilter::class, properties: ['parents'])]
-#[ApiFilter(filterClass: BooleanFilter::class, properties: ['portailVisibility'])]
+#[ApiFilter(filterClass: BooleanFilter::class, properties: ['isFederation', 'portailVisibility'])]
 class FederationStructure
 {
     #[ORM\Id]
@@ -68,6 +68,10 @@ class FederationStructure
     #[Groups(['federation_structure_item_get', 'federation_structure_collection_get'])]
     private ?string $type;
 
+    #[ORM\Column(options: ['default' => false])]
+    #[Groups(['federation_structure_item_get', 'federation_structure_collection_get'])]
+    private bool $isFederation = false;
+
     #[ORM\Column(nullable: true)]
     #[Groups(['federation_structure_item_get', 'federation_structure_collection_get'])]
     private ?string $website;
@@ -209,6 +213,17 @@ class FederationStructure
         return $this;
     }
 
+    public function getIsFederation(): bool
+    {
+        return $this->isFederation;
+    }
+
+    public function setIsFederation(bool $isFederation): self
+    {
+        $this->isFederation = $isFederation;
+        return $this;
+    }
+
     public function getWebsite(): ?string
     {
         return $this->website;