<?php

declare(strict_types=1);

namespace App\Message;

use App\Entity\Content;
use App\Entity\Content\Status;
use App\Entity\User;

final class EventLogMessage
{
    /**
     * @var User|null
     */
    private $oldUser;
    /**
     * @var User|null
     */
    private $newUser;
    /**
     * @var Status|null
     */
    private $oldStatus;
    /**
     * @var Status|null
     */
    private $newStatus;
    /**
     * @var Content
     */
    private $content;

    public function __construct(?User $oldUser, ?User $newUser, ?Status $oldStatus, ?Status $newStatus, Content $content)
    {
        $this->oldUser = $oldUser;
        $this->newUser = $newUser;
        $this->oldStatus = $oldStatus;
        $this->newStatus = $newStatus;
        $this->content = $content;
    }

    /**
     * @return User|null
     */
    public function getOldUser(): ?User
    {
        return $this->oldUser;
    }

    /**
     * @return User|null
     */
    public function getNewUser(): ?User
    {
        return $this->newUser;
    }

    /**
     * @return Status|null
     */
    public function getOldStatus(): ?Status
    {
        return $this->oldStatus;
    }

    /**
     * @return Status|null
     */
    public function getNewStatus(): ?Status
    {
        return $this->newStatus;
    }

    /**
     * @return Content
     */
    public function getContent(): Content
    {
        return $this->content;
    }
}
