diff --git a/src/Domain/Message/Message.php b/src/Domain/Message/Message.php index e90209c8451475431ba022195535c78b4c2f3cc3..015be5a5259c7275088e91be1fffd5a4a6ca274a 100755 --- a/src/Domain/Message/Message.php +++ b/src/Domain/Message/Message.php @@ -5,6 +5,9 @@ namespace App\Domain\Message; use JsonSerializable; use DateTime; +use App\Domain\Group\Group ; +use App\Domain\User\User ; + use Doctrine\ORM\Mapping as ORM; use Doctrine\Common\Collections\ArrayCollection; @@ -24,20 +27,22 @@ class Message implements JsonSerializable private $id; /** - * @var int - * @ORM\OneToMany(targetEntity="App\Domain\User\User", mappedBy="username") + * @var + * @ORM\ManyToOne(targetEntity="App\Domain\Group\Group") + * @ORM\JoinColumn(name="id_receiver", referencedColumnName="id") */ - private $id_receiver; + private $receiver; /** - * @var int - * @ORM\OneToMany(targetEntity="App\Domain\User\User", mappedBy="username") + * @var + * @ORM\ManyToOne(targetEntity="App\Domain\User\User") + * @ORM\JoinColumn(name="id_transmitter", referencedColumnName="id") */ - private $id_transmitter; + private $transmitter; /** * @var string - * @ORM\Column(type="date") + * @ORM\Column(type="datetime") */ private $date; @@ -50,19 +55,18 @@ class Message implements JsonSerializable /** * @param int|null $id - * @param string $id_receiver - * @param string $id_transmitter - * @param string $date + * @param Group $receiver + * @param User $transmitter + * @param DateTime $date * @param string $body */ - public function __construct(?int $id, int $id_receiver, int $id_transmitter, string $date, + public function __construct(?int $id, Group $receiver, User $transmitter, DateTime $date, string $body) { - $date_format = 'd/m/Y'; $this->id = $id; - $this->id_receiver = new ArrayCollection(); - $this->id_transmitter = new ArrayCollection(); - $this->date = DateTime::createFromFormat($date_format, $date); + $this->receiver = $receiver; + $this->transmitter = $transmitter; + $this->date = $date; $this->body = $body; } @@ -75,19 +79,19 @@ class Message implements JsonSerializable } /** - * @return int + * @return Group */ - public function getIdReceiver(): int + public function getReceiver(): Group { - return $this->id_receiver; + return $this->receiver; } /** - * @return int + * @return User */ - public function getIdTransmitter(): int + public function getTransmitter(): User { - return $this->id_transmitter; + return $this->transmitter; } /** @@ -95,7 +99,7 @@ class Message implements JsonSerializable */ public function getDate(): string { - return $this->date; + return $this->date->format('d/M/Y'); } /** @@ -114,8 +118,8 @@ class Message implements JsonSerializable { return [ 'id' => $this->id, - 'id_receiver' => $this->id_receiver, - 'id_transmitter' => $this->id_transmitter, + 'receiver' => $this->receiver, + 'transmitter' => $this->transmitter, 'date' => $this->date, 'body' => $this->body ];