示例#1
0
 /**
  * @param ChatPostMessageRequest $request
  * @return mixed
  */
 public function processPostMessage(ChatPostMessageRequest $request) : ChatMessage
 {
     $me = $this->container->get("core.service.security")->getUserIfCredentialsIsOk($request, $this->getRequestError());
     $this->container->get('core.handler.user')->banUserIfIpIsBanned($me, true);
     if ($me->isBanned()) {
         $this->getRequestError()->addError("user", "You are banned")->throwException(ResponseStatusCode::FORBIDDEN);
     }
     $chatMessage = $this->createEntity();
     $chatMessage->setType(ChatMessageType::COMMON())->setMessage($request->getMessage())->setUser($me);
     $this->manager->persist($chatMessage);
     $this->manager->flush();
     return $chatMessage;
 }
示例#2
0
 /**
  * @param GamePostAddmessageRequest $request
  * @return Game
  */
 public function processPostAddmessage(GamePostAddmessageRequest $request) : Game
 {
     $me = $this->container->get("core.service.security")->getUserIfCredentialsIsOk($request, $this->getRequestError());
     $game = $this->repository->find($request->getId());
     if (!$game instanceof Game) {
         $this->getRequestError()->addError("id", "Game is not found");
         $this->getRequestError()->throwException(ResponseStatusCode::NOT_FOUND);
     }
     $chatMessage = $this->container->get("core.handler.chat")->createEntity()->setMessage($request->getMessage())->setUser($me)->setType(ChatMessageType::GAME());
     $game->addChatMessage($chatMessage);
     $this->manager->persist($chatMessage);
     $this->saveEntity($game);
     return $this->getUserGame($game, $me);
 }
示例#3
0
 /**
  * @param ChatMessageType $type
  * @return ChatMessage
  */
 public function setType(ChatMessageType $type)
 {
     $this->type = $type->getValue();
     return $this;
 }