/** * @param Request $request * @return JsonResponse */ public function postConfigsAction(Request $request) { $params = $this->getPostJson($request); $this->checkParams(['name'], $params); try { $this->configuration->exists(); } catch (ConfigurationException $e) { $this->configuration->create(); } $account = $this->configuration->getAccountBy('accountId', $this->configuration->getIdFromName($params['name'])); if (null != $account) { throw new ConfigurationException('Account already exists'); } $account = $this->configuration->addAccount($params); return $this->createJsonResponse(['id' => $account->getAccountId(), 'name' => $account->getAccountName(), 'description' => $account->getDescription()]); }