Beispiel #1
0
 /**
  * Return Location: /api/v1/rooms/12 (ou HATEOAS)
  * @ApiDoc(
  *      description="Crée une partie.",
  *      section="1 - Parties",
  *      statusCodes={
  *          201: "Partie créée. Renvoie son ID et le secret du joueur."
  *      }
  * )
  * @RequestParam(name="password", nullable=true, description="Mot de passe de la partie")
  * @RequestParam(name="name", requirements=".+", allowBlank=false, strict=true, description="Nom de la partie")
  * @Post("/api/v1/games", name="create_game_api")
  * @Post("/games", name="create_game")
  */
 public function createGameAction(ParamFetcher $paramFetcher)
 {
     $game = new Game();
     $game->setName($paramFetcher->get('name'));
     $game->generateP1Secret();
     $game->setPassword($paramFetcher->get('password'));
     $em = $this->getDoctrine()->getManager();
     $em->persist($game);
     $em->flush();
     return $this->view(array('game_id' => $game->getId(), 'secret' => $game->getP1Secret()))->setTemplate('AppBundle:Api:create_game.html.twig')->setTemplateData(array('game' => $game));
 }