<?php
namespace App\Entity;
use App\Repository\AccountRepository;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @Gedmo\Loggable()
*/
#[UniqueEntity(fields: "name", message: "Ya existe una cuenta con ese nombre")]
#[ORM\Entity(repositoryClass: AccountRepository::class)]
#[ORM\Table(name: '`account`')]
class Account
{
#[ORM\Id]
#[ORM\GeneratedValue(strategy:"AUTO")]
#[ORM\Column(type: "integer")]
protected ?int $id = null;
/**
* @Gedmo\Versioned()
*/
#[ORM\Column(type: "boolean")]
private $enabled = true;
/**
* @Gedmo\Versioned()
*/
#[Assert\NotBlank]
#[ORM\Column(type: "string", nullable: true)]
private $name;
public static function create($name)
{
$self = new self;
$self->setName($name);
return $self;
}
public function getId()
{
return $this->id;
}
public function getName()
{
return $this->name;
}
public function setName(string $name)
{
$this->name = $name;
}
public function getEnabled()
{
return $this->enabled;
}
public function setEnabled($enabled)
{
$this->enabled = $enabled;
}
public function __toString()
{
return $this->name;
}
}