src/Entity/ActionLog.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\ActionLogRepository;
  4. use DateTime;
  5. use Doctrine\ORM\Mapping as ORM;
  6. /**
  7.  * @ORM\Entity(repositoryClass=ActionLogRepository::class)
  8.  *
  9.  * @ORM\HasLifecycleCallbacks()
  10.  */
  11. class ActionLog
  12. {
  13.     /**
  14.      * @ORM\Id
  15.      * @ORM\GeneratedValue
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private int $id;
  19.     /**
  20.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="actionLogs")
  21.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true, onDelete="CASCADE")
  22.      */
  23.     private User|null $user;
  24.     /**
  25.      * @ORM\Column(type="string", length=10)
  26.      */
  27.     private string $method;
  28.     /**
  29.      * @ORM\Column(type="text", length=255)
  30.      */
  31.     private string $action;
  32.     /**
  33.      * @ORM\Column(name="controller_action", type="string", length=255)
  34.      */
  35.     private string $controllerAction;
  36.     /**
  37.      * @var array<mixed>
  38.      * @ORM\Column(type="json", nullable=true)
  39.      */
  40.     private array|null $body = [];
  41.     /**
  42.      * @ORM\Column(name="created_at", type="datetime")
  43.      */
  44.     private DateTime|null $createdAt null;
  45.     /**
  46.      * @ORM\Column(name="updated_at", type="datetime")
  47.      */
  48.     private DateTime|null $updatedAt null;
  49.     public function __construct()
  50.     {
  51.         $this->incrementCreatedAt();
  52.     }
  53.     /**
  54.      * @return int|null
  55.      */
  56.     public function getId(): ?int
  57.     {
  58.         return $this->id;
  59.     }
  60.     /**
  61.      * @return User|null
  62.      */
  63.     public function getUser(): ?User
  64.     {
  65.         return $this->user;
  66.     }
  67.     /**
  68.      * @param User|null $user
  69.      * @return $this
  70.      */
  71.     public function setUser(?User $user): self
  72.     {
  73.         $this->user $user;
  74.         return $this;
  75.     }
  76.     /**
  77.      * @return string
  78.      */
  79.     public function getMethod(): string
  80.     {
  81.         return $this->method;
  82.     }
  83.     /**
  84.      * @param string $method
  85.      * @return $this
  86.      */
  87.     public function setMethod(string $method): self
  88.     {
  89.         $this->method $method;
  90.         return $this;
  91.     }
  92.     /**
  93.      * @return string
  94.      */
  95.     public function getAction(): string
  96.     {
  97.         return $this->action;
  98.     }
  99.     /**
  100.      * @param string $action
  101.      * @return $this
  102.      */
  103.     public function setAction(string $action): self
  104.     {
  105.         $this->action $action;
  106.         return $this;
  107.     }
  108.     /**
  109.      * @return string
  110.      */
  111.     public function getControllerAction(): string
  112.     {
  113.         return $this->controllerAction;
  114.     }
  115.     /**
  116.      * @param string $controllerAction
  117.      * @return $this
  118.      */
  119.     public function setControllerAction(string $controllerAction): self
  120.     {
  121.         $this->controllerAction $controllerAction;
  122.         return $this;
  123.     }
  124.     /**
  125.      * @return array<mixed>|null
  126.      */
  127.     public function getBody(): ?array
  128.     {
  129.         return $this->body;
  130.     }
  131.     /**
  132.      * @param array<mixed>|null $body
  133.      * @return $this
  134.      */
  135.     public function setBody(?array $body): self
  136.     {
  137.         $this->body $body;
  138.         return $this;
  139.     }
  140.     /**
  141.      * @return DateTime
  142.      */
  143.     public function getCreatedAt(): DateTime
  144.     {
  145.         return $this->createdAt;
  146.     }
  147.     /**
  148.      * @param DateTime $createdAt
  149.      * @return $this
  150.      */
  151.     public function setCreatedAt(DateTime $createdAt): self
  152.     {
  153.         $this->createdAt $createdAt;
  154.         return $this;
  155.     }
  156.     /**
  157.      * @return DateTime
  158.      */
  159.     public function getUpdatedAt(): DateTime
  160.     {
  161.         return $this->updatedAt;
  162.     }
  163.     /**
  164.      * @param DateTime $updatedAt
  165.      * @return $this
  166.      */
  167.     public function setUpdatedAt(DateTime $updatedAt): self
  168.     {
  169.         $this->updatedAt $updatedAt;
  170.         return $this;
  171.     }
  172.     /**
  173.      * @ORM\PrePersist
  174.      */
  175.     public function incrementCreatedAt(): void
  176.     {
  177.         if ($this->createdAt === null) {
  178.             $this->createdAt = new DateTime();
  179.         }
  180.         $this->updatedAt = new DateTime();
  181.     }
  182.     /**
  183.      * @ORM\PreUpdate
  184.      */
  185.     public function incrementUpdatedAt(): void
  186.     {
  187.         $this->updatedAt = new DateTime();
  188.     }
  189. }