<?php
namespace App\Entity\ReseauSociaux;
use App\Entity\Company;
use App\Entity\User;
use App\Repository\ReseauSociaux\MessageRepository;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=MessageRepository::class)
*/
class Message
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
* @Groups("message:read")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=User::class, inversedBy="messages")
* @Groups("message:read")
*/
private $sender;
/**
* @ORM\ManyToOne(targetEntity=Conversation::class, inversedBy="messages")
* @Groups("message:read")
*/
private $conversation;
/**
* @ORM\Column(type="text", nullable=true)
* @Groups("message:read")
*/
private $content;
/**
* @ORM\Column(type="datetime")
* @Groups("message:read")
*/
private $sendedAt;
/**
* @ORM\Column(type="boolean")
* @Groups("message:read")
*/
private $isSenderDeleteThis;
/**
* @ORM\Column(type="boolean")
* @Groups("message:read")
*/
private $isRecipientDeleteThis;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isClicked;
/**
* @ORM\Column(type="boolean")
* @Groups("message:read")
*/
private $is_read;
/**
* @ORM\Column(type="string", length=50, nullable=true)
* @Groups("message:read")
*/
private $fichier;
/**
* @Groups("message:read")
*/
private $mine;
/**
* @ORM\ManyToOne(targetEntity=Company::class, inversedBy="messages")
* @Groups("message:read")
*/
private $senderComp;
public function getId(): ?int
{
return $this->id;
}
public function getSender(): ?User
{
return $this->sender;
}
public function setSender(?User $sender): self
{
$this->sender = $sender;
return $this;
}
public function getConversation(): ?Conversation
{
return $this->conversation;
}
public function setConversation(?Conversation $conversation): self
{
$this->conversation = $conversation;
return $this;
}
public function getContent(): ?string
{
return $this->content;
}
public function setContent(string $content): self
{
$this->content = $content;
return $this;
}
public function getSendedAt(): ?\DateTimeInterface
{
return $this->sendedAt;
}
public function setSendedAt(\DateTimeInterface $sendedAt): self
{
$this->sendedAt = $sendedAt;
return $this;
}
public function getIsSenderDeleteThis(): ?bool
{
return $this->isSenderDeleteThis;
}
public function setIsSenderDeleteThis(bool $isSenderDeleteThis): self
{
$this->isSenderDeleteThis = $isSenderDeleteThis;
return $this;
}
public function getIsRecipientDeleteThis(): ?bool
{
return $this->isRecipientDeleteThis;
}
public function setIsRecipientDeleteThis(bool $isRecipientDeleteThis): self
{
$this->isRecipientDeleteThis = $isRecipientDeleteThis;
return $this;
}
public function getIsRead(): ?bool
{
return $this->is_read;
}
public function setIsRead(bool $is_read): self
{
$this->is_read = $is_read;
return $this;
}
public function getFichier(): ?string
{
return $this->fichier;
}
public function setFichier(?string $fichier): self
{
$this->fichier = $fichier;
return $this;
}
/**
* @return mixed
*/
public function getMine()
{
return $this->mine;
}
/**
* @param mixed $mine
*/
public function setMine($mine): void
{
$this->mine = $mine;
}
public function getIsClicked(): ?bool
{
return $this->isClicked;
}
public function setIsClicked(?bool $isClicked): self
{
$this->isClicked = $isClicked;
return $this;
}
public function getSenderComp(): ?Company
{
return $this->senderComp;
}
public function setSenderComp(?Company $senderComp): self
{
$this->senderComp = $senderComp;
return $this;
}
}