/** * @param UserInterface $user * @return ApiTokenInterface */ public function createApiToken(UserInterface $user) { $token = new ApiToken(); $token->setUser($user); $token->setApiKey(RandomStringGenerator::generate()); $token->setExpiresAt(new \DateTime('+ 1 month')); $this->_em->persist($token); $this->_em->flush($token); return $token; }
/** * @Route("/tokens/new", name="user_tokens_new") * @Route("/tokens/new", name="user_tokens_new_process") */ public function newAction(Request $request) { $token = new ApiToken($this->getUser()); $errors = array(); if ($request->isMethod('POST')) { $token->setNotes($request->request->get('notes')); $errors = $this->validate($token); if (empty($errors)) { $this->getApiTokenRepository()->save($token); $this->addFlash('Yeehaw! You just created an API token'); $url = $this->generateUrl('user_tokens'); return $this->redirect($url); } } return $this->render('tokens/new.twig', array('errors' => $errors, 'token' => $token)); }