forked from loafle/openapi-generator-original
709 lines
23 KiB
PHP
709 lines
23 KiB
PHP
<?php
|
|
|
|
/**
|
|
* UserController
|
|
* PHP version 5
|
|
*
|
|
* @category Class
|
|
* @package OpenAPI\Server\Controller
|
|
* @author OpenAPI Generator team
|
|
* @link https://github.com/openapitools/openapi-generator
|
|
*/
|
|
|
|
/**
|
|
* OpenAPI Petstore
|
|
*
|
|
* This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters.
|
|
*
|
|
* OpenAPI spec version: 1.0.0
|
|
*
|
|
* Generated by: https://github.com/openapitools/openapi-generator.git
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* NOTE: This class is auto generated by the openapi generator program.
|
|
* https://github.com/openapitools/openapi-generator
|
|
* Do not edit the class manually.
|
|
*/
|
|
|
|
namespace OpenAPI\Server\Controller;
|
|
|
|
use \Exception;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
|
use OpenAPI\Server\Api\UserApiInterface;
|
|
use OpenAPI\Server\Model\User;
|
|
|
|
/**
|
|
* UserController Class Doc Comment
|
|
*
|
|
* @category Class
|
|
* @package OpenAPI\Server\Controller
|
|
* @author OpenAPI Generator team
|
|
* @link https://github.com/openapitools/openapi-generator
|
|
*/
|
|
class UserController extends Controller
|
|
{
|
|
|
|
/**
|
|
* Operation createUser
|
|
*
|
|
* Create user
|
|
*
|
|
* @param Request $request The Symfony request to handle.
|
|
* @return Response The Symfony response.
|
|
*/
|
|
public function createUserAction(Request $request)
|
|
{
|
|
// Make sure that the client is providing something that we can consume
|
|
$consumes = [];
|
|
$inputFormat = $request->headers->has('Content-Type')?$request->headers->get('Content-Type'):$consumes[0];
|
|
if (!in_array($inputFormat, $consumes)) {
|
|
// We can't consume the content that the client is sending us
|
|
return new Response('', 415);
|
|
}
|
|
|
|
// Figure out what data format to return to the client
|
|
$produces = [];
|
|
// 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
|
|
$body = $request->getContent();
|
|
|
|
// Use the default value if no value was provided
|
|
|
|
// Deserialize the input values that needs it
|
|
$body = $this->deserialize($body, 'OpenAPI\Server\Model\User', $inputFormat);
|
|
|
|
// Validate the input values
|
|
$asserts = [];
|
|
$asserts[] = new Assert\NotNull();
|
|
$asserts[] = new Assert\Type("OpenAPI\Server\Model\User");
|
|
$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(
|
|
$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 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 = [];
|
|
$inputFormat = $request->headers->has('Content-Type')?$request->headers->get('Content-Type'):$consumes[0];
|
|
if (!in_array($inputFormat, $consumes)) {
|
|
// We can't consume the content that the client is sending us
|
|
return new Response('', 415);
|
|
}
|
|
|
|
// Figure out what data format to return to the client
|
|
$produces = [];
|
|
// 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
|
|
$body = $request->getContent();
|
|
|
|
// Use the default value if no value was provided
|
|
|
|
// Deserialize the input values that needs it
|
|
$body = $this->deserialize($body, 'array<OpenAPI\Server\Model\User>', $inputFormat);
|
|
|
|
// Validate the input values
|
|
$asserts = [];
|
|
$asserts[] = new Assert\NotNull();
|
|
$asserts[] = new Assert\All([
|
|
new Assert\Type("OpenAPI\Server\Model\User")
|
|
]);
|
|
$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(
|
|
$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 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 = [];
|
|
$inputFormat = $request->headers->has('Content-Type')?$request->headers->get('Content-Type'):$consumes[0];
|
|
if (!in_array($inputFormat, $consumes)) {
|
|
// We can't consume the content that the client is sending us
|
|
return new Response('', 415);
|
|
}
|
|
|
|
// Figure out what data format to return to the client
|
|
$produces = [];
|
|
// 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
|
|
$body = $request->getContent();
|
|
|
|
// Use the default value if no value was provided
|
|
|
|
// Deserialize the input values that needs it
|
|
$body = $this->deserialize($body, 'array<OpenAPI\Server\Model\User>', $inputFormat);
|
|
|
|
// Validate the input values
|
|
$asserts = [];
|
|
$asserts[] = new Assert\NotNull();
|
|
$asserts[] = new Assert\All([
|
|
new Assert\Type("OpenAPI\Server\Model\User")
|
|
]);
|
|
$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(
|
|
$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 deleteUser
|
|
*
|
|
* Delete user
|
|
*
|
|
* @param Request $request The Symfony request to handle.
|
|
* @return Response The Symfony response.
|
|
*/
|
|
public function deleteUserAction(Request $request, $username)
|
|
{
|
|
// Figure out what data format to return to the client
|
|
$produces = [];
|
|
// 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
|
|
$username = $this->deserialize($username, 'string', 'string');
|
|
|
|
// 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(
|
|
$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 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
|
|
$username = $this->deserialize($username, 'string', 'string');
|
|
|
|
// 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
|
|
$username = $this->deserialize($username, 'string', 'string');
|
|
$password = $this->deserialize($password, 'string', 'string');
|
|
|
|
// 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)
|
|
{
|
|
// Figure out what data format to return to the client
|
|
$produces = [];
|
|
// 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
|
|
|
|
// 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(
|
|
$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 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 = [];
|
|
$inputFormat = $request->headers->has('Content-Type')?$request->headers->get('Content-Type'):$consumes[0];
|
|
if (!in_array($inputFormat, $consumes)) {
|
|
// We can't consume the content that the client is sending us
|
|
return new Response('', 415);
|
|
}
|
|
|
|
// Figure out what data format to return to the client
|
|
$produces = [];
|
|
// 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
|
|
$body = $request->getContent();
|
|
|
|
// Use the default value if no value was provided
|
|
|
|
// Deserialize the input values that needs it
|
|
$username = $this->deserialize($username, 'string', 'string');
|
|
$body = $this->deserialize($body, 'OpenAPI\Server\Model\User', $inputFormat);
|
|
|
|
// 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");
|
|
$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(
|
|
$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));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Returns the handler for this API controller.
|
|
* @return UserApiInterface
|
|
*/
|
|
public function getApiHandler()
|
|
{
|
|
return $this->apiServer->getApiHandler('user');
|
|
}
|
|
}
|