src/Entity/Kurs.php line 50
<?phpnamespace App\Entity;use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;use ApiPlatform\Metadata\ApiFilter;use ApiPlatform\Metadata\ApiResource;use ApiPlatform\Metadata\Get;use ApiPlatform\Metadata\GetCollection;use ApiPlatform\Serializer\Filter\PropertyFilter;use App\Repository\KursRepository;use DateTimeImmutable;use Doctrine\DBAL\Types\Types;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Serializer\Annotation\Groups;#[ORM\Entity(repositoryClass: KursRepository::class)]#[ApiFilter(PropertyFilter::class)]#[ApiResource(shortName: 'Kurs',description: 'Kurse API',operations: [new Get(uriTemplate: '/kurs/{id}'),//new Patch(uriTemplate: '/media/{id}'),new GetCollection(uriTemplate: '/kurs', paginationEnabled: false),],formats: ['jsonld','json','jsonhal','csv' => 'text/csv',],normalizationContext: ['groups' => ['kurs:read'],],denormalizationContext: ['groups' => ['kurs:write'],],// paginationItemsPerPage: 10,),ApiFilter(OrderFilter::class,properties: ['position',],),]class Kurs{#[ORM\Id]#[ORM\GeneratedValue]#[ORM\Column]#[ApiFilter(SearchFilter::class, strategy: 'exact')]#[Groups(['kurs:read','kurs-category:read', 'studio:read'])]private ?int $id = null;#[ORM\Column(type: Types::TEXT)]#[Groups(['kurs:read','kurs-category:read', 'studio:read'])]#[ApiFilter(SearchFilter::class, strategy: 'partial')]private ?string $beschreibung = null;#[ORM\Column(length: 255)]#[Groups(['kurs:read','kurs-category:read','studio:read'])]#[ApiFilter(SearchFilter::class, strategy: 'exact')]private ?string $kurs = null;#[ORM\Column(nullable: true)]#[Groups(['kurs:read','kurs-category:read'])]#[ApiFilter(SearchFilter::class, strategy: 'exact')]private ?int $logo = null;#[ORM\Column(nullable: true)]#[Groups(['kurs:read','kurs-category:read'])]#[ApiFilter(SearchFilter::class, strategy: 'exact')]private ?int $image = null;#[ORM\Column(options: ['default' => 0])]#[Groups(['kurs:read','kurs-category:read'])]private ?int $position = null;#[ORM\ManyToOne(targetEntity: KurseKategorie::class, inversedBy: 'kurs')]#[Groups(['kurs:read','kurs-category:read'])]#[ApiFilter(SearchFilter::class, strategy: 'exact')]private ?KurseKategorie $category;#[ORM\Column]#[Groups(['kurs:read','kurs-category:read'])]private ?DateTimeImmutable $createdAt = null;public function __construct(){$this->createdAt = new DateTimeImmutable();$this->position = 0;}public function getId(): ?int{return $this->id;}public function getKurs(): ?string{return $this->kurs;}public function setKurs(string $kurs): self{$this->kurs = $kurs;return $this;}public function getBeschreibung(): ?string{return $this->beschreibung;}public function setBeschreibung(string $beschreibung): self{$this->beschreibung = $beschreibung;return $this;}public function getLogo(): ?int{return $this->logo;}public function setLogo(?int $logo): self{$this->logo = $logo;return $this;}public function getImage(): ?int{return $this->image;}public function setImage(?int $image): self{$this->image = $image;return $this;}public function getPosition(): ?int{return $this->position;}public function setPosition(int $position): self{$this->position = $position;return $this;}public function getCreatedAt(): ?DateTimeImmutable{return $this->createdAt;}public function setCreatedAt(DateTimeImmutable $createdAt): self{$this->createdAt = $createdAt;return $this;}public function getCategory(): ?KurseKategorie{return $this->category;}public function setCategory(?KurseKategorie $category): self{$this->category = $category;return $this;}}