|
@@ -4,19 +4,20 @@ declare(strict_types=1);
|
|
|
|
|
|
|
|
namespace App\Entity\Public;
|
|
namespace App\Entity\Public;
|
|
|
|
|
|
|
|
-use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
|
|
|
|
|
-use ApiPlatform\Doctrine\Orm\Filter\NumericFilter;
|
|
|
|
|
-use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
|
|
|
|
|
-use ApiPlatform\Doctrine\Orm\Filter\RangeFilter;
|
|
|
|
|
-use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
|
|
|
|
|
|
|
+use ApiPlatform\Metadata\Get;
|
|
|
|
|
+use Doctrine\ORM\Mapping as ORM;
|
|
|
use ApiPlatform\Metadata\ApiFilter;
|
|
use ApiPlatform\Metadata\ApiFilter;
|
|
|
use ApiPlatform\Metadata\ApiResource;
|
|
use ApiPlatform\Metadata\ApiResource;
|
|
|
-use ApiPlatform\Metadata\Get;
|
|
|
|
|
use ApiPlatform\Metadata\GetCollection;
|
|
use ApiPlatform\Metadata\GetCollection;
|
|
|
-use App\Filter\ApiPlatform\Utils\ArrayFieldFilter;
|
|
|
|
|
|
|
+use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
|
|
|
|
|
+use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
|
|
|
|
|
+use ApiPlatform\Doctrine\Orm\Filter\RangeFilter;
|
|
|
use App\Filter\ApiPlatform\Utils\DistanceFilter;
|
|
use App\Filter\ApiPlatform\Utils\DistanceFilter;
|
|
|
use App\Repository\Public\PublicEventRepository;
|
|
use App\Repository\Public\PublicEventRepository;
|
|
|
-use Doctrine\ORM\Mapping as ORM;
|
|
|
|
|
|
|
+use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
|
|
|
|
|
+use ApiPlatform\Doctrine\Orm\Filter\NumericFilter;
|
|
|
|
|
+use App\Filter\ApiPlatform\Utils\ArrayFieldFilter;
|
|
|
|
|
+use App\Filter\ApiPlatform\PublicEvent\ExcludeGenderFilter;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* Évènements publics tels que publiés sur l'agenda du site opentalent ou les sites des structures.
|
|
* Évènements publics tels que publiés sur l'agenda du site opentalent ou les sites des structures.
|
|
@@ -42,7 +43,8 @@ use Doctrine\ORM\Mapping as ORM;
|
|
|
#[ApiFilter(filterClass: DistanceFilter::class)]
|
|
#[ApiFilter(filterClass: DistanceFilter::class)]
|
|
|
#[ApiFilter(filterClass: OrderFilter::class, properties: ['datetimeStart', 'datetimeEnd'], arguments: ['orderParameterName' => 'order'])]
|
|
#[ApiFilter(filterClass: OrderFilter::class, properties: ['datetimeStart', 'datetimeEnd'], arguments: ['orderParameterName' => 'order'])]
|
|
|
#[ApiFilter(filterClass: RangeFilter::class, properties: ['priceMini', 'priceMaxi'])]
|
|
#[ApiFilter(filterClass: RangeFilter::class, properties: ['priceMini', 'priceMaxi'])]
|
|
|
-#[ApiFilter(filterClass: ArrayFieldFilter::class, properties: ['categories'])]
|
|
|
|
|
|
|
+#[ApiFilter(filterClass: ArrayFieldFilter::class, properties: ['categories', 'gender'])]
|
|
|
|
|
+#[ApiFilter(ExcludeGenderFilter::class)]
|
|
|
class PublicEvent
|
|
class PublicEvent
|
|
|
{
|
|
{
|
|
|
#[ORM\Id]
|
|
#[ORM\Id]
|
|
@@ -107,6 +109,10 @@ class PublicEvent
|
|
|
#[ORM\Column(type: 'simple_array')]
|
|
#[ORM\Column(type: 'simple_array')]
|
|
|
private ?array $categories;
|
|
private ?array $categories;
|
|
|
|
|
|
|
|
|
|
+ /** @var list<string>|null */
|
|
|
|
|
+ #[ORM\Column(type: 'simple_array')]
|
|
|
|
|
+ private ?array $gender;
|
|
|
|
|
+
|
|
|
#[ORM\Column]
|
|
#[ORM\Column]
|
|
|
private string $origin = 'opentalent';
|
|
private string $origin = 'opentalent';
|
|
|
|
|
|
|
@@ -123,6 +129,8 @@ class PublicEvent
|
|
|
#[ORM\Column]
|
|
#[ORM\Column]
|
|
|
private ?string $categoryCode;
|
|
private ?string $categoryCode;
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
public function getUuid(): string
|
|
public function getUuid(): string
|
|
|
{
|
|
{
|
|
|
return $this->uuid;
|
|
return $this->uuid;
|
|
@@ -369,6 +377,17 @@ class PublicEvent
|
|
|
return $this;
|
|
return $this;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function getGender(): ?array
|
|
|
|
|
+ {
|
|
|
|
|
+ return $this->gender;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function setGender(?array $gender): PublicEvent
|
|
|
|
|
+ {
|
|
|
|
|
+ $this->gender = $gender;
|
|
|
|
|
+ return $this;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public function getOrigin(): string
|
|
public function getOrigin(): string
|
|
|
{
|
|
{
|
|
|
return $this->origin;
|
|
return $this->origin;
|
|
@@ -428,4 +447,6 @@ class PublicEvent
|
|
|
|
|
|
|
|
return $this;
|
|
return $this;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|