* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\Module\PsxDesign\Entity; if (!defined('_PS_VERSION_')) { exit; } use Doctrine\ORM\Mapping as ORM; use PrestaShop\Module\PsxDesign\Exception\PsxDesignException; use PrestaShop\Module\PsxDesign\VO\Logo\LogoDestination; use PrestaShop\Module\PsxDesign\VO\Logo\LogoType; /** * ./bin/console doctrine:schema:update --dump-sql * * Logo * * @ORM\Table() * @ORM\Entity() */ class PsxdesignLogo { /** * @var int * * @ORM\Id * @ORM\Column(name="id", type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="logo_destination", type="string", columnDefinition="'header', 'email', 'invoice'") */ private $logoDestination; /** * @var string * * @ORM\Column(name="logo_type", type="string", columnDefinition="'text', 'image'") */ private $logoType; /** * @var string * * @ORM\Column(name="text", type="string", length=64) */ private $text; /** * @var string * * @ORM\Column(name="font", type="string", length=64) */ private $font; /** * @var bool * * @ORM\Column(name="use_header_logo", type="boolean") */ private $useHeaderLogo; /** * @var int * * @ORM\Column(name="font_size", type="integer") */ private $fontSize; /** * @var string * * @ORM\Column(name="color", type="string", length=64) */ private $color; /** * @var string * * @ORM\Column(name="style", type="string", length=64) */ private $style; /** * @var bool * * @ORM\Column(name="active", type="boolean") */ private $active; /** * @return int */ public function getId(): int { return $this->id; } /** * @return string */ public function getLogoDestination(): string { return $this->logoDestination; } /** * @param string $logoDestination * * @return PsxdesignLogo * * @throws PsxDesignException */ public function setLogoDestination(string $logoDestination): PsxdesignLogo { $this->logoDestination = (new LogoDestination($logoDestination))->getValue(); return $this; } /** * @return string */ public function getLogoType(): string { return $this->logoType; } /** * @param string $logoType * * @return PsxdesignLogo */ public function setLogoType(string $logoType): PsxdesignLogo { $this->logoType = (new LogoType($logoType))->getValue(); return $this; } /** * @return string|null */ public function getText(): ?string { return $this->text; } /** * @param string $text * * @return PsxdesignLogo */ public function setText(string $text): PsxdesignLogo { $this->text = $text; return $this; } /** * @return string|null */ public function getFont(): ?string { return $this->font; } /** * @param string $font * * @return PsxdesignLogo */ public function setFont(string $font): PsxdesignLogo { $this->font = $font; return $this; } /** * @return bool|null */ public function getUseHeaderLogo(): ?bool { return $this->useHeaderLogo; } /** * @param bool $useHeaderLogo * * @return PsxdesignLogo */ public function setUseHeaderLogo(bool $useHeaderLogo): PsxdesignLogo { $this->useHeaderLogo = $useHeaderLogo; return $this; } /** * @return int|null */ public function getFontSize(): ?int { return $this->fontSize; } /** * @param int $fontSize * * @return PsxdesignLogo */ public function setFontSize(int $fontSize): PsxdesignLogo { $this->fontSize = $fontSize; return $this; } /** * @return string|null */ public function getColor(): ?string { return $this->color; } /** * @param string $color * * @return PsxdesignLogo */ public function setColor(string $color): PsxdesignLogo { $this->color = $color; return $this; } /** * @return string|null */ public function getStyle(): ?string { return $this->style; } /** * @param string $style * * @return PsxdesignLogo */ public function setStyle(string $style): PsxdesignLogo { $this->style = $style; return $this; } /** * @param bool $active * * @return PsxdesignLogo */ public function setActive(bool $active): PsxdesignLogo { $this->active = $active; return $this; } /** * @return bool */ public function getActive(): bool { return $this->active; } /** * @return array */ public function toArray(): array { return [ 'id' => $this->getId(), 'logoDestination' => $this->getLogoDestination(), 'logoType' => $this->getLogoType(), 'text' => $this->getText(), 'useHeaderLogo' => $this->getUseHeaderLogo(), 'font' => $this->getFont(), 'fontSize' => $this->getFontSize(), 'color' => $this->getColor(), 'style' => $this->getStyle(), 'active' => $this->getActive(), ]; } }