getContent(); // Use the default value if no value was provided // Deserialize the input values that needs it try { $inputFormat = $request->getMimeType($request->getContentType()); $body = $this->deserialize($body, 'OpenAPI\Server\Model\User', $inputFormat); } catch (SerializerRuntimeException $exception) { return $this->createBadRequestResponse($exception->getMessage()); } // Validate the input values $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\Type("OpenAPI\Server\Model\User"); $asserts[] = new Assert\Valid(); $response = $this->validate($body, $asserts); if ($response instanceof Response) { return $response; } try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 204; $responseHeaders = []; $result = $handler->createUser($body, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; // Find a more specific message, if available switch ($responseCode) { case 0: $message = 'successful operation'; break; } return new Response( '', $responseCode, array_merge( $responseHeaders, [ 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Operation createUsersWithArrayInput * * Creates list of users with given input array * * @param Request $request The Symfony request to handle. * @return Response The Symfony response. */ public function createUsersWithArrayInputAction(Request $request) { // Make sure that the client is providing something that we can consume $consumes = []; if (!static::isContentTypeAllowed($request, $consumes)) { // We can't consume the content that the client is sending us return new Response('', 415); } // Handle authentication // Read out all input parameter values into variables $body = $request->getContent(); // Use the default value if no value was provided // Deserialize the input values that needs it try { $inputFormat = $request->getMimeType($request->getContentType()); $body = $this->deserialize($body, 'array', $inputFormat); } catch (SerializerRuntimeException $exception) { return $this->createBadRequestResponse($exception->getMessage()); } // Validate the input values $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\All([ new Assert\Type("OpenAPI\Server\Model\User"), new Assert\Valid(), ]); $response = $this->validate($body, $asserts); if ($response instanceof Response) { return $response; } try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 204; $responseHeaders = []; $result = $handler->createUsersWithArrayInput($body, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; // Find a more specific message, if available switch ($responseCode) { case 0: $message = 'successful operation'; break; } return new Response( '', $responseCode, array_merge( $responseHeaders, [ 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Operation createUsersWithListInput * * Creates list of users with given input array * * @param Request $request The Symfony request to handle. * @return Response The Symfony response. */ public function createUsersWithListInputAction(Request $request) { // Make sure that the client is providing something that we can consume $consumes = []; if (!static::isContentTypeAllowed($request, $consumes)) { // We can't consume the content that the client is sending us return new Response('', 415); } // Handle authentication // Read out all input parameter values into variables $body = $request->getContent(); // Use the default value if no value was provided // Deserialize the input values that needs it try { $inputFormat = $request->getMimeType($request->getContentType()); $body = $this->deserialize($body, 'array', $inputFormat); } catch (SerializerRuntimeException $exception) { return $this->createBadRequestResponse($exception->getMessage()); } // Validate the input values $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\All([ new Assert\Type("OpenAPI\Server\Model\User"), new Assert\Valid(), ]); $response = $this->validate($body, $asserts); if ($response instanceof Response) { return $response; } try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 204; $responseHeaders = []; $result = $handler->createUsersWithListInput($body, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; // Find a more specific message, if available switch ($responseCode) { case 0: $message = 'successful operation'; break; } return new Response( '', $responseCode, array_merge( $responseHeaders, [ 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Operation deleteUser * * Delete user * * @param Request $request The Symfony request to handle. * @return Response The Symfony response. */ public function deleteUserAction(Request $request, $username) { // Handle authentication // Read out all input parameter values into variables // Use the default value if no value was provided // Deserialize the input values that needs it try { $username = $this->deserialize($username, 'string', 'string'); } catch (SerializerRuntimeException $exception) { return $this->createBadRequestResponse($exception->getMessage()); } // Validate the input values $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\Type("string"); $response = $this->validate($username, $asserts); if ($response instanceof Response) { return $response; } try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 204; $responseHeaders = []; $result = $handler->deleteUser($username, $responseCode, $responseHeaders); // Find default response message $message = ''; // Find a more specific message, if available switch ($responseCode) { case 400: $message = 'Invalid username supplied'; break; case 404: $message = 'User not found'; break; } return new Response( '', $responseCode, array_merge( $responseHeaders, [ 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Operation getUserByName * * Get user by user name * * @param Request $request The Symfony request to handle. * @return Response The Symfony response. */ public function getUserByNameAction(Request $request, $username) { // Figure out what data format to return to the client $produces = ['application/xml', 'application/json']; // Figure out what the client accepts $clientAccepts = $request->headers->has('Accept')?$request->headers->get('Accept'):'*/*'; $responseFormat = $this->getOutputFormat($clientAccepts, $produces); if ($responseFormat === null) { return new Response('', 406); } // Handle authentication // Read out all input parameter values into variables // Use the default value if no value was provided // Deserialize the input values that needs it try { $username = $this->deserialize($username, 'string', 'string'); } catch (SerializerRuntimeException $exception) { return $this->createBadRequestResponse($exception->getMessage()); } // Validate the input values $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\Type("string"); $response = $this->validate($username, $asserts); if ($response instanceof Response) { return $response; } try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 200; $responseHeaders = []; $result = $handler->getUserByName($username, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; // Find a more specific message, if available switch ($responseCode) { case 200: $message = 'successful operation'; break; case 400: $message = 'Invalid username supplied'; break; case 404: $message = 'User not found'; break; } return new Response( $result !== null ?$this->serialize($result, $responseFormat):'', $responseCode, array_merge( $responseHeaders, [ 'Content-Type' => $responseFormat, 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Operation loginUser * * Logs user into the system * * @param Request $request The Symfony request to handle. * @return Response The Symfony response. */ public function loginUserAction(Request $request) { // Figure out what data format to return to the client $produces = ['application/xml', 'application/json']; // Figure out what the client accepts $clientAccepts = $request->headers->has('Accept')?$request->headers->get('Accept'):'*/*'; $responseFormat = $this->getOutputFormat($clientAccepts, $produces); if ($responseFormat === null) { return new Response('', 406); } // Handle authentication // Read out all input parameter values into variables $username = $request->query->get('username'); $password = $request->query->get('password'); // Use the default value if no value was provided // Deserialize the input values that needs it try { $username = $this->deserialize($username, 'string', 'string'); $password = $this->deserialize($password, 'string', 'string'); } catch (SerializerRuntimeException $exception) { return $this->createBadRequestResponse($exception->getMessage()); } // Validate the input values $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\Type("string"); $response = $this->validate($username, $asserts); if ($response instanceof Response) { return $response; } $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\Type("string"); $response = $this->validate($password, $asserts); if ($response instanceof Response) { return $response; } try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 200; $responseHeaders = []; $result = $handler->loginUser($username, $password, $responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; // Find a more specific message, if available switch ($responseCode) { case 200: $message = 'successful operation'; break; case 400: $message = 'Invalid username/password supplied'; break; } return new Response( $result !== null ?$this->serialize($result, $responseFormat):'', $responseCode, array_merge( $responseHeaders, [ 'Content-Type' => $responseFormat, 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Operation logoutUser * * Logs out current logged in user session * * @param Request $request The Symfony request to handle. * @return Response The Symfony response. */ public function logoutUserAction(Request $request) { // Handle authentication // Read out all input parameter values into variables // Use the default value if no value was provided // Validate the input values try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 204; $responseHeaders = []; $result = $handler->logoutUser($responseCode, $responseHeaders); // Find default response message $message = 'successful operation'; // Find a more specific message, if available switch ($responseCode) { case 0: $message = 'successful operation'; break; } return new Response( '', $responseCode, array_merge( $responseHeaders, [ 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Operation updateUser * * Updated user * * @param Request $request The Symfony request to handle. * @return Response The Symfony response. */ public function updateUserAction(Request $request, $username) { // Make sure that the client is providing something that we can consume $consumes = []; if (!static::isContentTypeAllowed($request, $consumes)) { // We can't consume the content that the client is sending us return new Response('', 415); } // Handle authentication // Read out all input parameter values into variables $body = $request->getContent(); // Use the default value if no value was provided // Deserialize the input values that needs it try { $username = $this->deserialize($username, 'string', 'string'); $inputFormat = $request->getMimeType($request->getContentType()); $body = $this->deserialize($body, 'OpenAPI\Server\Model\User', $inputFormat); } catch (SerializerRuntimeException $exception) { return $this->createBadRequestResponse($exception->getMessage()); } // Validate the input values $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\Type("string"); $response = $this->validate($username, $asserts); if ($response instanceof Response) { return $response; } $asserts = []; $asserts[] = new Assert\NotNull(); $asserts[] = new Assert\Type("OpenAPI\Server\Model\User"); $asserts[] = new Assert\Valid(); $response = $this->validate($body, $asserts); if ($response instanceof Response) { return $response; } try { $handler = $this->getApiHandler(); // Make the call to the business logic $responseCode = 204; $responseHeaders = []; $result = $handler->updateUser($username, $body, $responseCode, $responseHeaders); // Find default response message $message = ''; // Find a more specific message, if available switch ($responseCode) { case 400: $message = 'Invalid user supplied'; break; case 404: $message = 'User not found'; break; } return new Response( '', $responseCode, array_merge( $responseHeaders, [ 'X-OpenAPI-Message' => $message ] ) ); } catch (Exception $fallthrough) { return $this->createErrorResponse(new HttpException(500, 'An unsuspected error occurred.', $fallthrough)); } } /** * Returns the handler for this API controller. * @return UserApiInterface */ public function getApiHandler() { return $this->apiServer->getApiHandler('user'); } }