src/Domain/Entity/OffmapCategory.php line 33

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Domain\Entity;
  4. use ApiPlatform\Metadata\ApiResource;
  5. use ApiPlatform\Metadata\Delete;
  6. use ApiPlatform\Metadata\Get;
  7. use ApiPlatform\Metadata\GetCollection;
  8. use ApiPlatform\Metadata\Post;
  9. use ApiPlatform\Metadata\Put;
  10. use App\Domain\Entity\Behavior\Identifiable;
  11. use App\Domain\Entity\Translation\OffmapCategoryTranslation;
  12. use DateTime;
  13. use Gedmo\SoftDeleteable\Traits\SoftDeleteable;
  14. use Gedmo\Timestampable\Traits\Timestampable;
  15. use Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslatable;
  16. use Locastic\ApiPlatformTranslationBundle\Model\TranslationInterface;
  17. #[ApiResource(
  18.     operations            : [
  19.         new Delete(security"is_granted('ROLE_ADMIN')"),
  20.         new GetCollection(filters: ['offmap_category.search_filter''offmap_category.query_filter']),
  21.         new Get(),
  22.         new Post(normalizationContext: ['groups' => ['translations']], security"is_granted('ROLE_ADMIN')"),
  23.         new Put(normalizationContext: ['groups' => ['translations']], security"is_granted('ROLE_ADMIN')"),
  24.     ],
  25.     normalizationContext  : ['groups' => ['offmap_category_read']],
  26.     denormalizationContext: ['groups' => ['offmap_category_write']],
  27.     filters               : ['translation.groups']
  28. )]
  29. class OffmapCategory extends AbstractTranslatable
  30. {
  31.     use Identifiable;
  32.     use SoftDeleteable;
  33.     use Timestampable;
  34.     public ?string   $remoteId    null;
  35.     public ?DateTime $zhistUpdate null;
  36.     public function __construct()
  37.     {
  38.         parent::__construct();
  39.     }
  40.     public function getTranslationType(): OffmapCategoryTranslation
  41.     {
  42.         return $this->getTranslation();
  43.     }
  44.     public function getName(): ?string
  45.     {
  46.         return $this->getTranslationType()->getName();
  47.     }
  48.     public function setName(?string $name): void
  49.     {
  50.         $this->getTranslationType()->setName($name);
  51.     }
  52.     public function createTranslation(): TranslationInterface
  53.     {
  54.         return new OffmapCategoryTranslation();
  55.     }
  56. }