src/Containers/SettingSection/ListContainer/Entities/BonusRatingMonthEntity.php line 65

Open in your IDE?
  1. <?php
  2. namespace App\Containers\SettingSection\ListContainer\Entities;
  3. use ApiPlatform\Metadata\ApiResource;
  4. use ApiPlatform\Metadata\GetCollection;
  5. use ApiPlatform\Metadata\Delete;
  6. use ApiPlatform\Metadata\Get;
  7. use ApiPlatform\Metadata\Patch;
  8. use ApiPlatform\Metadata\Post;
  9. use ApiPlatform\Metadata\ApiFilter;
  10. use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
  11. use ApiPlatform\Doctrine\Orm\Filter\NumericFilter;
  12. use ApiPlatform\Doctrine\Orm\Filter\RangeFilter;
  13. use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;
  14. use Doctrine\ORM\Mapping as ORM;
  15. use Doctrine\DBAL\Types\Types;
  16. use Gedmo\Mapping\Annotation as Gedmo;
  17. use Symfony\Component\Serializer\Annotation\Groups;
  18. use App\Containers\SettingSection\ListContainer\Data\Repositories\BonusRatingMonthRepository;
  19. /** 
  20.  * Мильбек
  21. */
  22. #[ApiResource(
  23.     shortName'List_BonusRatingMonth',
  24.     operations: [
  25.         new Get(
  26.             uriTemplate'/bonus_rating_month/{id}'requirements: ['id' => '\d+'],
  27.             security"is_granted('ROLE_ADMIN') or is_granted('ROLE_USER_CLIENT') or is_granted('ROLE_READONLY')"
  28.         ),
  29.         new Patch(
  30.             uriTemplate'/bonus_rating_month/{id}'requirements: ['id' => '\d+'],
  31.             security"is_granted('ROLE_ADMIN')"
  32.         ),
  33.         new Delete(
  34.             uriTemplate'/bonus_rating_month/{id}'requirements: ['id' => '\d+'],
  35.             security"is_granted('ROLE_ADMIN')"
  36.         ),
  37.         new Post(
  38.             uriTemplate'/bonus_rating_month',
  39.             security"is_granted('ROLE_ADMIN') or is_granted('ROLE_USER_CLIENT')"
  40.         ),
  41.         new GetCollection(
  42.             uriTemplate'/bonus_rating_month',
  43.             security"is_granted('ROLE_ADMIN') or is_granted('ROLE_USER_CLIENT') or is_granted('ROLE_READONLY')"
  44.         ),
  45.     ],
  46.     routePrefix'/list',
  47.     normalizationContext: ['groups' => 'read''enable_max_depth' => true]
  48. )]
  49. #[ApiFilter(SearchFilter::class, properties: [
  50.     'id' => 'exact',
  51.     'ratingFrom' => 'partial',
  52.     'ratingTo' => 'partial',
  53.     'mileageFrom' => 'partial',
  54.     'mileageTo' => 'partial',
  55.     'bonusesPercent' => 'partial'
  56. ])]
  57. #[ApiFilter(NumericFilter::class, properties: ['id''ratingFrom''ratingTo''mileageFrom''mileageTo''bonusesPercent'])]
  58. #[ApiFilter(RangeFilter::class, properties: ['id''mileageFrom''mileageTo'])]
  59. #[ApiFilter(OrderFilter::class)]
  60. #[ORM\Entity(repositoryClassBonusRatingMonthRepository::class)]
  61. #[ORM\Table(name'`list_bonus_rating_month`')]
  62. class BonusRatingMonthEntity
  63. {
  64.     #[ORM\Id]
  65.     #[ORM\GeneratedValue]
  66.     #[ORM\Column(typeTypes::INTEGER)]
  67.     #[Groups(['read'])]
  68.     private ?int $id null;
  69.     #[ORM\Column(typeTypes::FLOATscale2nullablefalse)]
  70.     #[Groups(['read'])]
  71.     private ?float $ratingFrom 0.00;
  72.     #[ORM\Column(typeTypes::FLOATscale2nullablefalse)]
  73.     #[Groups(['read'])]
  74.     private ?float $ratingTo 0.00;
  75.     #[ORM\Column(typeTypes::INTEGERlength10nullablefalse)]
  76.     #[Groups(['read'])]
  77.     private ?int $mileageFrom 0;
  78.     #[ORM\Column(typeTypes::INTEGERlength10nullablefalse)]
  79.     #[Groups(['read'])]
  80.     private ?int $mileageTo 0;
  81.     #[ORM\Column(typeTypes::FLOATscale2nullablefalse)]
  82.     #[Groups(['read'])]
  83.     private ?float $bonusesPercent 0;
  84.     #[Gedmo\Timestampable(on'create')]
  85.     #[ORM\Column(typeTypes::DATETIME_IMMUTABLE)]
  86.     protected \DateTimeInterface $createdAt;
  87.     #[Gedmo\Timestampable(on'update')]
  88.     #[ORM\Column(typeTypes::DATETIME_IMMUTABLE)]
  89.     protected \DateTimeInterface $updatedAt;
  90.     public function getId(): ?int
  91.     {
  92.         return $this->id;
  93.     }
  94.     public function getRatingFrom(): ?float
  95.     {
  96.         return $this->ratingFrom;
  97.     }
  98.     public function setRatingFrom(float $ratingFrom): ?self
  99.     {
  100.         $this->ratingFrom $ratingFrom;
  101.         return $this;
  102.     }
  103.     public function getRatingTo(): ?float
  104.     {
  105.         return $this->ratingTo;
  106.     }
  107.     public function setRatingTo(float $ratingTo): ?self
  108.     {
  109.         $this->ratingTo $ratingTo;
  110.         return $this;
  111.     }
  112.     public function getMileageFrom(): ?int
  113.     {
  114.         return $this->mileageFrom;
  115.     }
  116.     public function setMileageFrom(int $mileageFrom): ?self
  117.     {
  118.         $this->mileageFrom $mileageFrom;
  119.         return $this;
  120.     }
  121.     public function getMileageTo(): ?int
  122.     {
  123.         return $this->mileageTo;
  124.     }
  125.     public function setMileageTo(int $mileageTo): ?self
  126.     {
  127.         $this->mileageTo $mileageTo;
  128.         return $this;
  129.     }
  130.     public function getBonusesPercent(): ?float
  131.     {
  132.         return $this->bonusesPercent;
  133.     }
  134.     public function setBonusesPercent(float $bonusesPercent): ?self
  135.     {
  136.         $this->bonusesPercent $bonusesPercent;
  137.         return $this;
  138.     }
  139. }