<?php
namespace 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;
}
}