/** * 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)); }