public function create($name, $type, $description, $applicationWebsite, User $creator = null, $redirectUri = null) { $application = new ApiApplication(); $application->setCreator($creator); $application->setName($name); $application->setDescription($description); $this->doSetType($application, $type); $this->doSetWebsiteUrl($application, $applicationWebsite); $this->doSetRedirectUri($application, $redirectUri); $application->setNonce($this->randomGenerator->generateString(64)); $application->setClientId($this->randomGenerator->generateString(32, TokenManipulator::LETTERS_AND_NUMBERS)); $application->setClientSecret($this->randomGenerator->generateString(32, TokenManipulator::LETTERS_AND_NUMBERS)); $this->om->persist($application); $this->om->flush(); return $application; }