/** * Create new user in the global chromedia accounts * * @param \HealthCareAbroad\UserBundle\Entity\SiteUser $user * @throws \HealthCareAbroad\UserBundle\Services\Exception\FailedAccountRequestException * @return SiteUser */ protected function createUser(\HealthCareAbroad\UserBundle\Entity\SiteUser $user) { $form_data = array('email' => $user->getEmail(), 'password' => $user->getPassword(), 'first_name' => $user->getFirstName(), 'last_name' => $user->getLastName(), 'middle_name' => $user->getMiddleName()); $response = $this->request->post($this->chromediaAccountsUri, array('data' => \base64_encode(\json_encode($form_data)))); if (200 == $response->getStatusCode()) { $account_data = \json_decode($response->getBody(true), true); $user->setAccountId($account_data['id']); return $user; } else { throw new FailedAccountRequestException($response->getBody()); } }