<?php
namespace App\Entity\Log;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
/**
* LogInteraction
*
* @ORM\Table(name="log_interaction", indexes={@ORM\Index(name="IDX_USERNAME", columns={"username"})})
* @ORM\Entity(repositoryClass="App\Repository\Log\LogInteractionRepository")
*/
class LogInteraction
{
public static $LIST = 'LIST';
public static $UPDATE = 'UPDATE';
public static $CREATE = 'CREATE';
public static $DELETE = 'DELETE';
public static $LOGIN = 'LOGIN';
public static $LOGOUT = 'LOGOUT';
public static $SOAP = 'SOAP';
/**
* @var integer|null
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
private $id;
/**
* @var integer|null
*
* @ORM\Column(name="user_id", type="integer", nullable=true)
*/
private $userId;
/**
* @var string|null
*
* @ORM\Column(name="username", type="string", length=255, nullable=true)
*/
private $username;
/**
* @var string
*
* @ORM\Column(name="action", type="string", length=255)
*/
private $action;
/**
* @var string|null
*
* @ORM\Column(name="message", type="text", nullable=true)
* @Assert\Length(
* max = 4000,
* maxMessage = "The field cannot be longer than {{ limit }} characters"
* )
*/
private $message;
/**
* @var string|null
*
* @ORM\Column(name="error_message", type="text", nullable=true)
* @Assert\Length(
* max = 4000,
* maxMessage = "The field cannot be longer than {{ limit }} characters"
* )
*/
private $errorMessage;
/**
* @var string|null
*
* @ORM\Column(name="stack_trace", type="text", nullable=true)
*/
private $stackTrace;
/**
* @var string|null
*
* @ORM\Column(name="parameters", type="text", nullable=true)
* @Assert\Length(
* max = 4000,
* maxMessage = "The field cannot be longer than {{ limit }} characters"
* )
*/
private $parameters;
/**
* @var string
*
* @ORM\Column(name="controller", type="string", length=255)
*/
private $controller;
/**
* @var string
*
* @ORM\Column(name="aplication", type="string", length=255)
*/
private $aplication;
/**
* @var string
*
* @ORM\Column(name="client_ip", type="string", length=255)
*/
private $clientIp;
/**
* @var string
*
* @ORM\Column(name="request_uri", type="text", nullable=true)
*/
private $requestUri;
/**
* @var string
*
* @ORM\Column(name="port", type="string", length=255, nullable=true)
*/
private $port;
/**
* @var string
*
* @ORM\Column(name="method", type="string", length=255, nullable=true)
*/
private $method;
/**
* @var DateTime $createdAt
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime")
*/
private $createdAt;
/**
* @return int|null
*/
public function getId(): ?int
{
return $this->id;
}
/**
* @return int|null
*/
public function getUserId(): ?int
{
return $this->userId;
}
/**
* @param int|null $userId
*/
public function setUserId(?int $userId): void
{
$this->userId = $userId;
}
/**
* @return string|null
*/
public function getUsername(): ?string
{
return $this->username;
}
/**
* @param string|null $username
*/
public function setUsername(?string $username): void
{
$this->username = $username;
}
/**
* @return string
*/
public function getAction(): string
{
return $this->action;
}
/**
* @param string $action
*/
public function setAction(string $action): void
{
$this->action = $action;
}
/**
* @return string|null
*/
public function getMessage(): ?string
{
return $this->message;
}
/**
* @param string|null $message
*/
public function setMessage(?string $message): void
{
$this->message = $message;
}
/**
* @return string|null
*/
public function getErrorMessage(): ?string
{
return $this->errorMessage;
}
/**
* @param string|null $errorMessage
*/
public function setErrorMessage(?string $errorMessage): void
{
$this->errorMessage = $errorMessage;
}
/**
* @return string|null
*/
public function getStackTrace(): ?string
{
return $this->stackTrace;
}
/**
* @param string|null $stackTrace
*/
public function setStackTrace(?string $stackTrace): void
{
$this->stackTrace = $stackTrace;
}
/**
* @return string|null
*/
public function getParameters(): ?string
{
return $this->parameters;
}
/**
* @param string|null $parameters
*/
public function setParameters(?string $parameters): void
{
$this->parameters = $parameters;
}
/**
* @return string
*/
public function getController(): string
{
return $this->controller;
}
/**
* @param string $controller
*/
public function setController(string $controller): void
{
$this->controller = $controller;
}
/**
* @return string
*/
public function getAplication(): string
{
return $this->aplication;
}
/**
* @param string $aplication
*/
public function setAplication(string $aplication): void
{
$this->aplication = $aplication;
}
/**
* @return string
*/
public function getClientIp(): string
{
return $this->clientIp;
}
/**
* @param string $clientIp
*/
public function setClientIp(string $clientIp): void
{
$this->clientIp = $clientIp;
}
/**
* @return string
*/
public function getRequestUri(): string
{
return $this->requestUri;
}
/**
* @param string $requestUri
*/
public function setRequestUri(string $requestUri): void
{
$this->requestUri = $requestUri;
}
/**
* @return string
*/
public function getPort(): string
{
return $this->port;
}
/**
* @param string $port
*/
public function setPort(string $port): void
{
$this->port = $port;
}
/**
* @return string
*/
public function getMethod(): string
{
return $this->method;
}
/**
* @param string $method
*/
public function setMethod(string $method): void
{
$this->method = $method;
}
/**
* @return DateTime
*/
public function getCreatedAt(): DateTime
{
return $this->createdAt;
}
/**
* @param DateTime $createdAt
*/
public function setCreatedAt(DateTime $createdAt): void
{
$this->createdAt = $createdAt;
}
public function getPrettyParameters()
{
$params = json_decode($this->getParameters(), true);
if (count($params) > 0) {
return json_encode($params, JSON_PRETTY_PRINT);
}
return '-';
}
public function __toString()
{
return $this->getMessage() ?: $this->getErrorMessage();
}
}