src/Entity/Whatsapp/WhatsappMessageTemplate.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Whatsapp;
  3. use App\Annotation\SiteAware;
  4. use App\Entity\AbstractBase;
  5. use App\Entity\Interfaces\SiteInterface;
  6. use App\Entity\Traits\SiteTrait;
  7. use App\Entity\Traits\TitleTrait;
  8. use App\Enum\WhatsappMessageTemplateTypeEnum;
  9. use App\Repository\Whatsapp\WhatsappMessageTemplateRepository;
  10. use Doctrine\ORM\Mapping as ORM;
  11. use Gedmo\Mapping\Annotation as Gedmo;
  12. /**
  13.  * @ORM\Table(name="vulco_whatsapp_message_template", indexes={@ORM\Index(name="whatsapp_message_template_site_idx", columns={"site"})})
  14.  * @ORM\Entity(repositoryClass=WhatsappMessageTemplateRepository::class)
  15.  * @Gedmo\SoftDeleteable(fieldName="removedAt", timeAware=false)
  16.  * @SiteAware(siteFieldName="site")
  17.  */
  18. class WhatsappMessageTemplate extends AbstractBase implements SiteInterface
  19. {
  20.     use TitleTrait;
  21.     use SiteTrait;
  22.     /**
  23.      * @ORM\Column(type="string", length=255, nullable=false)
  24.      */
  25.     private string $title;
  26.     /**
  27.      * @ORM\Column(type="string", length=511, nullable=false)
  28.      */
  29.     private string $templateId;
  30.     /**
  31.      * @ORM\Column(type="string", length=255, nullable=false)
  32.      */
  33.     private string $templateType;
  34.     public function __construct()
  35.     {
  36.     }
  37.     public function getTemplateId(): string
  38.     {
  39.         return $this->templateId;
  40.     }
  41.     public function setTemplateId(string $templateId): self
  42.     {
  43.         $this->templateId $templateId;
  44.         return $this;
  45.     }
  46.     public function getTemplateType(): string
  47.     {
  48.         return $this->templateType;
  49.     }
  50.     public function setTemplateType(string $templateType): self
  51.     {
  52.         $this->templateType $templateType;
  53.         return $this;
  54.     }
  55.     public function getTemplateTypeTranslation(): string
  56.     {
  57.         if (array_key_exists($this->getTemplateType(), WhatsappMessageTemplateTypeEnum::getTranslations())) {
  58.             return WhatsappMessageTemplateTypeEnum::getTranslations()[$this->getTemplateType()];
  59.         }
  60.         return 'n/a';
  61.     }
  62.     public function isSingleProductType(): bool
  63.     {
  64.         return WhatsappMessageTemplateTypeEnum::SINGLE_PRODUCT === $this->templateType;
  65.     }
  66.     public function isMultipleProductType(): bool
  67.     {
  68.         return WhatsappMessageTemplateTypeEnum::MULTIPLE_PRODUCT == $this->templateType;
  69.     }
  70.     public function isProductCarouselType(): bool
  71.     {
  72.         return WhatsappMessageTemplateTypeEnum::PRODUCT_CAROUSEL == $this->templateType;
  73.     }
  74. }