<?phpnamespace App\Entity;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Validator\Constraints as Assert;use Gedmo\Timestampable\Traits\TimestampableEntity;/** * @ORM\Entity() * @ORM\Table() * @ORM\HasLifecycleCallbacks() */class AuditTrail{ use TimestampableEntity; /** * @var int * * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @var string * * @ORM\Column() * @Assert\NotBlank(groups={"api"}) */ private $username; /** * @var string * * @ORM\Column() * @Assert\NotBlank(groups={"api"}) */ private $path; /** * @var string * * @ORM\Column() * @Assert\NotBlank(groups={"api"}) */ private $method; /** * @var string * * @ORM\Column(nullable=true) * @Assert\NotBlank(groups={"api"}) */ private $parameters; /** * @return string */ public function getUsername() { return $this->username; } /** * @param string $username * * @return self */ public function setUsername($username) { $this->username = $username; return $this; } /** * @return string */ public function getPath() { return $this->path; } /** * @param string $path * * @return self */ public function setPath($path) { $this->path = $path; return $this; } /** * @return string */ public function getMethod() { return $this->method; } /** * @param string $method * * @return self */ public function setMethod($method) { $this->method = $method; return $this; } /** * @return array */ public function getParameters() { return json_decode($this->parameters); } /** * @param array $parameters * * @return self */ public function setParameters($parameters) { $this->parameters = (!empty($parameters)) ? json_encode($parameters) : null; return $this; }}