<?php
declare(strict_types=1);
namespace App\Supplier\Doctrine\Entity;
use App\Shared\Doctrine\Entity\Company;
use App\Shared\Doctrine\EntityListener\CompanyListener;
use App\Supplier\Doctrine\Repository\SupplierRepository;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\EntityListeners;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints\NotBlank;
#[EntityListeners([CompanyListener::class])]
#[Entity(repositoryClass: SupplierRepository::class)]
#[UniqueEntity('code')]
class Supplier extends Company
{
#[Column(unique: true)]
#[NotBlank]
private string $code;
#[Column(nullable: true)]
private ?string $dsn = null;
#[Column(type: 'boolean', nullable: true)]
private ?bool $mostUsed = false;
public function getCode(): string
{
return $this->code;
}
public function setCode(string $code): void
{
$this->code = $code;
}
public function getDsn(): ?string
{
return $this->dsn;
}
public function setDsn(?string $dsn): void
{
$this->dsn = $dsn;
}
public function isMostUsed(): ?bool
{
return $this->mostUsed;
}
public function setMostUsed(?bool $mostUsed): void
{
$this->mostUsed = $mostUsed;
}
}