src/Entity/Product/CreditPack.php line 34
<?php/** This file is part of the Pellipop project.** (c) Mobizel** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/declare(strict_types=1);namespace App\Entity\Product;use App\Entity\IdentifiableTrait;use App\Repository\Product\CreditPackRepository;use Doctrine\ORM\Mapping as ORM;use Gedmo\Timestampable\Traits\TimestampableEntity;use Sylius\Component\Resource\Annotation\SyliusCrudRoutes;use Sylius\Component\Resource\Model\ResourceInterface;use Symfony\Component\Validator\Constraints as Assert;#[ORM\Entity(repositoryClass: CreditPackRepository::class)]#[ORM\Table(name: 'app_credit_pack')]#[SyliusCrudRoutes(alias: 'app.credit_pack', path: '/admin/credit-packs', section: 'backend', templates: 'backend/crud', grid: 'app_backend_credit_pack', except: ['show'], vars: ['all' => ['subheader' => 'app.ui.manage_your_credit_packs',],'index' => ['icon' => 'euro sign',],])]class CreditPack implements ResourceInterface{use IdentifiableTrait;use TimestampableEntity;#[ORM\Column(length: 255, nullable: true)]#[Assert\Length(min: 2, max: 55)]private ?string $name = null;#[ORM\Column(length: 255, nullable: true)]#[Assert\Length(min: 2, max: 55)]private ?string $shortDescription = null;#[ORM\Column(length: 10000, nullable: true)]#[Assert\NotBlank, Assert\Length(min: 2, max: 1000)]private ?string $description = null;#[ORM\Column]#[Assert\NotBlank, Assert\PositiveOrZero]private ?int $price = 0;#[ORM\Column]#[Assert\NotBlank, Assert\PositiveOrZero]private ?int $credits = 0;#[ORM\Column(type: 'boolean')]private bool $enabled = true;private ?int $priceWithPromotion = null;private ?int $creditsWithPromotion = null;public function getName(): ?string{return $this->name;}public function setName(string $name): self{$this->name = $name;return $this;}public function getShortDescription(): ?string{return $this->shortDescription;}public function setShortDescription(?string $shortDescription): self{$this->shortDescription = $shortDescription;return $this;}public function getDescription(): ?string{return $this->description;}public function setDescription(?string $description): self{$this->description = $description;return $this;}public function getPrice(): ?int{return $this->price;}public function setPrice(int $price): self{$this->price = $price;return $this;}public function getCredits(): ?int{return $this->credits;}public function setCredits(int $credits): self{$this->credits = $credits;return $this;}public function getEnabled(): bool{return $this->enabled;}public function setEnabled(bool $enabled): self{$this->enabled = $enabled;return $this;}public function getPriceWithPromotion(): ?int{if (null === $this->priceWithPromotion) {return $this->price;}return $this->priceWithPromotion;}public function setPriceWithPromotion(int $priceWithPromotion): self{$this->priceWithPromotion = $priceWithPromotion;return $this;}public function getCreditsWithPromotion(): ?int{if (null === $this->creditsWithPromotion) {return $this->credits;}return $this->creditsWithPromotion;}public function setCreditsWithPromotion(int $creditsWithPromotion): self{$this->creditsWithPromotion = $creditsWithPromotion;return $this;}}