[PHP][Symfony] Enhancements (#6615)

* Removed commented code

* Input validation is now supported as strict JSON validation

* [PHP][Symfony] Improve the implementation
Closes #6614

* Generated code is tested to assure it compiles and updated README to dynamically load dependencies via composer

* Updated shell script because shippable tests were failing
This commit is contained in:
naelrashdeen
2017-10-23 16:50:56 +02:00
committed by wing328
parent a63e3f14f5
commit b034e4446a
84 changed files with 8575 additions and 956 deletions

View File

@@ -0,0 +1,80 @@
<?php
/**
* ApiServer
*
* PHP version 5
*
* @category Class
* @package Swagger\Server\Api
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
/**
* Swagger Petstore
*
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
*
* OpenAPI spec version: 1.0.0
* Contact: apiteam@swagger.io
* Generated by: https://github.com/swagger-api/swagger-codegen.git
*
*/
/**
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen
* Do not edit the class manually.
*/
namespace Swagger\Server\Api;
/**
* ApiServer Class Doc Comment
*
* PHP version 5
*
* @category Class
* @package Swagger\Server\Api
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
class ApiServer
{
/**
* @var array
*/
private $apis = array();
/**
* Adds an API handler to the server.
*
* @param string $api An API name of the handle
* @param mixed $handler A handler to set for the given API
*/
public function addApiHandler($api, $handler)
{
if (isset($this->apis[$api])) {
throw new \InvalidArgumentException('API has already a handler: '.$api);
}
$this->apis[$api] = $handler;
}
/**
* Returns an API handler.
*
* @param string $api An API name of the handle
* @return mixed Returns a handler
* @throws \InvalidArgumentException When no such handler exists
*/
public function getApiHandler($api)
{
if (!isset($this->apis[$api])) {
throw new \InvalidArgumentException('No handler for '.$api.' implemented.');
}
return $this->apis[$api];
}
}

View File

@@ -0,0 +1,172 @@
<?php
/**
* PetApiInterface
* PHP version 5
*
* @category Class
* @package Swagger\Server
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
/**
* Swagger Petstore
*
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
*
* OpenAPI spec version: 1.0.0
* Contact: apiteam@swagger.io
* Generated by: https://github.com/swagger-api/swagger-codegen.git
*
*/
/**
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen
* Do not edit the class manually.
*/
namespace Swagger\Server\Api;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Swagger\Server\Model\ApiResponse;
use Swagger\Server\Model\Pet;
/**
* PetApiInterface Interface Doc Comment
*
* @category Interface
* @package Swagger\Server\Api
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
interface PetApiInterface
{
/**
* Sets authentication method petstore_auth
*
* @param string $value Value of the petstore_auth authentication method.
*
* @return void
*/
public function setpetstore_auth($value);
/**
* Sets authentication method api_key
*
* @param string $value Value of the api_key authentication method.
*
* @return void
*/
public function setapi_key($value);
/**
* Operation addPet
*
* Add a new pet to the store
*
* @param Swagger\Server\Model\Pet $body Pet object that needs to be added to the store (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function addPet(Pet $body, &$responseCode, array &$responseHeaders);
/**
* Operation deletePet
*
* Deletes a pet
*
* @param int $petId Pet id to delete (required)
* @param string $apiKey (optional)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function deletePet($petId, $apiKey = null, &$responseCode, array &$responseHeaders);
/**
* Operation findPetsByStatus
*
* Finds Pets by status
*
* @param string[] $status Status values that need to be considered for filter (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return Swagger\Server\Model\Pet[]
*
*/
public function findPetsByStatus(array $status, &$responseCode, array &$responseHeaders);
/**
* Operation findPetsByTags
*
* Finds Pets by tags
*
* @param string[] $tags Tags to filter by (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return Swagger\Server\Model\Pet[]
*
*/
public function findPetsByTags(array $tags, &$responseCode, array &$responseHeaders);
/**
* Operation getPetById
*
* Find pet by ID
*
* @param int $petId ID of pet to return (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return Swagger\Server\Model\Pet
*
*/
public function getPetById($petId, &$responseCode, array &$responseHeaders);
/**
* Operation updatePet
*
* Update an existing pet
*
* @param Swagger\Server\Model\Pet $body Pet object that needs to be added to the store (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function updatePet(Pet $body, &$responseCode, array &$responseHeaders);
/**
* Operation updatePetWithForm
*
* Updates a pet in the store with form data
*
* @param int $petId ID of pet that needs to be updated (required)
* @param string $name Updated name of the pet (optional)
* @param string $status Updated status of the pet (optional)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function updatePetWithForm($petId, $name = null, $status = null, &$responseCode, array &$responseHeaders);
/**
* Operation uploadFile
*
* uploads an image
*
* @param int $petId ID of pet to update (required)
* @param string $additionalMetadata Additional data to pass to server (optional)
* @param UploadedFile $file file to upload (optional)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return Swagger\Server\Model\ApiResponse
*
*/
public function uploadFile($petId, $additionalMetadata = null, UploadedFile $file = null, &$responseCode, array &$responseHeaders);
}

View File

@@ -0,0 +1,106 @@
<?php
/**
* StoreApiInterface
* PHP version 5
*
* @category Class
* @package Swagger\Server
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
/**
* Swagger Petstore
*
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
*
* OpenAPI spec version: 1.0.0
* Contact: apiteam@swagger.io
* Generated by: https://github.com/swagger-api/swagger-codegen.git
*
*/
/**
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen
* Do not edit the class manually.
*/
namespace Swagger\Server\Api;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Swagger\Server\Model\Order;
/**
* StoreApiInterface Interface Doc Comment
*
* @category Interface
* @package Swagger\Server\Api
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
interface StoreApiInterface
{
/**
* Sets authentication method api_key
*
* @param string $value Value of the api_key authentication method.
*
* @return void
*/
public function setapi_key($value);
/**
* Operation deleteOrder
*
* Delete purchase order by ID
*
* @param string $orderId ID of the order that needs to be deleted (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function deleteOrder($orderId, &$responseCode, array &$responseHeaders);
/**
* Operation getInventory
*
* Returns pet inventories by status
*
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return int[]
*
*/
public function getInventory(&$responseCode, array &$responseHeaders);
/**
* Operation getOrderById
*
* Find purchase order by ID
*
* @param int $orderId ID of pet that needs to be fetched (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return Swagger\Server\Model\Order
*
*/
public function getOrderById($orderId, &$responseCode, array &$responseHeaders);
/**
* Operation placeOrder
*
* Place an order for a pet
*
* @param Swagger\Server\Model\Order $body order placed for purchasing the pet (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return Swagger\Server\Model\Order
*
*/
public function placeOrder(Order $body, &$responseCode, array &$responseHeaders);
}

View File

@@ -0,0 +1,145 @@
<?php
/**
* UserApiInterface
* PHP version 5
*
* @category Class
* @package Swagger\Server
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
/**
* Swagger Petstore
*
* This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.
*
* OpenAPI spec version: 1.0.0
* Contact: apiteam@swagger.io
* Generated by: https://github.com/swagger-api/swagger-codegen.git
*
*/
/**
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen
* Do not edit the class manually.
*/
namespace Swagger\Server\Api;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Swagger\Server\Model\User;
/**
* UserApiInterface Interface Doc Comment
*
* @category Interface
* @package Swagger\Server\Api
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
interface UserApiInterface
{
/**
* Operation createUser
*
* Create user
*
* @param Swagger\Server\Model\User $body Created user object (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function createUser(User $body, &$responseCode, array &$responseHeaders);
/**
* Operation createUsersWithArrayInput
*
* Creates list of users with given input array
*
* @param Swagger\Server\Model\User[] $body List of user object (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function createUsersWithArrayInput(array $body, &$responseCode, array &$responseHeaders);
/**
* Operation createUsersWithListInput
*
* Creates list of users with given input array
*
* @param Swagger\Server\Model\User[] $body List of user object (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function createUsersWithListInput(array $body, &$responseCode, array &$responseHeaders);
/**
* Operation deleteUser
*
* Delete user
*
* @param string $username The name that needs to be deleted (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function deleteUser($username, &$responseCode, array &$responseHeaders);
/**
* Operation getUserByName
*
* Get user by user name
*
* @param string $username The name that needs to be fetched. Use user1 for testing. (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return Swagger\Server\Model\User
*
*/
public function getUserByName($username, &$responseCode, array &$responseHeaders);
/**
* Operation loginUser
*
* Logs user into the system
*
* @param string $username The user name for login (required)
* @param string $password The password for login in clear text (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
* @return string
*
*/
public function loginUser($username, $password, &$responseCode, array &$responseHeaders);
/**
* Operation logoutUser
*
* Logs out current logged in user session
*
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function logoutUser(&$responseCode, array &$responseHeaders);
/**
* Operation updateUser
*
* Updated user
*
* @param string $username name that need to be deleted (required)
* @param Swagger\Server\Model\User $body Updated user object (required)
* @param integer $responseCode The HTTP response code to return
* @param array $responseHeaders Additional HTTP headers to return with the response ()
*
*/
public function updateUser($username, User $body, &$responseCode, array &$responseHeaders);
}