Skip to content
Snippets Groups Projects
Commit d513d294 authored by Moreau Elise's avatar Moreau Elise
Browse files

create a new message controller

parent 4ef7bbf8
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ namespace App\Application\Actions\Message; ...@@ -6,6 +6,7 @@ namespace App\Application\Actions\Message;
use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ServerRequestInterface as Request;
use App\Domain\Message\Message ; use App\Domain\Message\Message ;
use DateTime;
class CreateMessageAction extends MessageAction class CreateMessageAction extends MessageAction
{ {
...@@ -16,18 +17,24 @@ class CreateMessageAction extends MessageAction ...@@ -16,18 +17,24 @@ class CreateMessageAction extends MessageAction
{ {
$parsedRequestBody = (array)$this->request->getParsedBody(); $parsedRequestBody = (array)$this->request->getParsedBody();
$id_receiver = $parsedRequestBody['id_receiver']; $transmitter = $this->userRepository->find($_SESSION['userId']);
$id_transmitter = $parsedRequestBody['id_transmitter'];
$date = $parsedRequestBody['date']; $groupId = (int) $this->resolveArg('id');
$receiver = $this->groupRepository->find($groupId);
$date = new DateTime('now');;
$body = $parsedRequestBody['body']; $body = $parsedRequestBody['body'];
$message = new Message(null, $id_receiver, $id_transmitter, $date, $body); $message = new Message(null, $receiver, $transmitter, $date, $body);
$this->em->persist($message); $this->em->persist($message);
$this->em->flush(); $this->em->flush();
$this->logger->info("Message has been created."); $this->logger->info("Message has been created.");
return $this->respondWithData($message);
return $this->response
->withHeader('Location', '/groups/' . $groupId . '/messages')
->withStatus(302);
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment