<?phpnamespace App\Entity;use ApiPlatform\Metadata\ApiResource;use App\Repository\OptionsRepository;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use ApiPlatform\Metadata\Get;use ApiPlatform\Metadata\Post;use ApiPlatform\Metadata\Put;use ApiPlatform\Metadata\Delete;use ApiPlatform\Metadata\ApiFilter;use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;#[ORM\Entity(repositoryClass: OptionsRepository::class)]#[ApiResource( cacheHeaders: [ 'max_age' => 60, 'shared_max_age' => 120, 'vary' => ['Authorization', 'Accept-Language'] ])]#[ApiFilter(SearchFilter::class, properties: ['option_key' => 'exact'])]#[ORM\HasLifecycleCallbacks] class Options{ #[ORM\Id] #[ORM\GeneratedValue(strategy: 'IDENTITY')] #[ORM\Column] private ?int $id = null; #[ORM\Column(length: 100)] private ?string $option_key = null; #[ORM\Column(length: 255)] private ?string $value = null; #[ORM\Column(type: Types::DATETIME_MUTABLE)] private ?\DateTimeInterface $date = null; #[ORM\Column(length: 255)] private ?string $name = null; #[ORM\Column(type: Types::TEXT, nullable: true)] private ?string $data = null; public function getId(): ?int { return $this->id; } public function getOptionKey(): ?string { return $this->option_key; } public function setOptionKey(string $option_key): self { $this->option_key = $option_key; return $this; } public function getValue(): ?string { return $this->value; } public function setValue(string $value): self { $this->value = $value; return $this; } public function getDate(): ?\DateTimeInterface { return $this->date; } public function setDate(\DateTimeInterface $date): self { $this->date = $date; return $this; } public function getName(): ?string { return $this->name; } public function setName(string $name): self { $this->name = $name; return $this; } public function getData(): ?string { return $this->data; } public function setData(?string $data): self { $this->data = $data; return $this; } #[ORM\PrePersist] public function setCreatedAtValue(): void { $this->date = new \DateTime(); }}