forked from loafle/openapi-generator-original
274 lines
11 KiB
Plaintext
274 lines
11 KiB
Plaintext
<?php
|
|
/**
|
|
* {{classname}}
|
|
* PHP version 5
|
|
*
|
|
* @category Class
|
|
* @package {{invokerPackage}}
|
|
* @author http://github.com/swagger-api/swagger-codegen
|
|
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache Licene v2
|
|
* @link https://github.com/swagger-api/swagger-codegen
|
|
*/
|
|
/**
|
|
* Copyright 2016 SmartBear Software
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
/**
|
|
* 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 {{apiPackage}};
|
|
|
|
use \{{invokerPackage}}\Configuration;
|
|
use \{{invokerPackage}}\ApiClient;
|
|
use \{{invokerPackage}}\ApiException;
|
|
use \{{invokerPackage}}\ObjectSerializer;
|
|
|
|
/**
|
|
* {{classname}} Class Doc Comment
|
|
*
|
|
* @category Class
|
|
* @package {{invokerPackage}}
|
|
* @author http://github.com/swagger-api/swagger-codegen
|
|
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache Licene v2
|
|
* @link https://github.com/swagger-api/swagger-codegen
|
|
*/
|
|
{{#operations}}class {{classname}}
|
|
{
|
|
|
|
/**
|
|
* API Client
|
|
* @var \{{invokerPackage}}\ApiClient instance of the ApiClient
|
|
*/
|
|
protected $apiClient;
|
|
|
|
/**
|
|
* Constructor
|
|
* @param \{{invokerPackage}}\ApiClient|null $apiClient The api client to use
|
|
*/
|
|
function __construct(\{{invokerPackage}}\ApiClient $apiClient = null)
|
|
{
|
|
if ($apiClient == null) {
|
|
$apiClient = new ApiClient();
|
|
$apiClient->getConfig()->setHost('{{basePath}}');
|
|
}
|
|
|
|
$this->apiClient = $apiClient;
|
|
}
|
|
|
|
/**
|
|
* Get API client
|
|
* @return \{{invokerPackage}}\ApiClient get the API client
|
|
*/
|
|
public function getApiClient()
|
|
{
|
|
return $this->apiClient;
|
|
}
|
|
|
|
/**
|
|
* Set the API client
|
|
* @param \{{invokerPackage}}\ApiClient $apiClient set the API client
|
|
* @return {{classname}}
|
|
*/
|
|
public function setApiClient(\{{invokerPackage}}\ApiClient $apiClient)
|
|
{
|
|
$this->apiClient = $apiClient;
|
|
return $this;
|
|
}
|
|
|
|
{{#operation}}
|
|
/**
|
|
* {{{operationId}}}
|
|
*
|
|
* {{{summary}}}
|
|
*
|
|
{{#allParams}} * @param {{dataType}} ${{paramName}} {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
|
|
{{/allParams}} * @return {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}
|
|
* @throws \{{invokerPackage}}\ApiException on non-2xx response
|
|
*/
|
|
public function {{operationId}}({{#allParams}}${{paramName}}{{^required}} = null{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
|
|
{
|
|
list($response) = $this->{{operationId}}WithHttpInfo ({{#allParams}}${{paramName}}{{#hasMore}}, {{/hasMore}}{{/allParams}});
|
|
return $response;
|
|
}
|
|
|
|
|
|
/**
|
|
* {{{operationId}}}WithHttpInfo
|
|
*
|
|
* {{{summary}}}
|
|
*
|
|
{{#allParams}} * @param {{dataType}} ${{paramName}} {{description}} {{#required}}(required){{/required}}{{^required}}(optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
|
|
{{/allParams}} * @return Array of {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}null{{/returnType}}, HTTP status code, HTTP response headers (array of strings)
|
|
* @throws \{{invokerPackage}}\ApiException on non-2xx response
|
|
*/
|
|
public function {{operationId}}WithHttpInfo({{#allParams}}${{paramName}}{{^required}} = null{{/required}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
|
|
{
|
|
{{#allParams}}{{#required}}
|
|
// verify the required parameter '{{paramName}}' is set
|
|
if (${{paramName}} === null) {
|
|
throw new \InvalidArgumentException('Missing the required parameter ${{paramName}} when calling {{operationId}}');
|
|
}
|
|
{{/required}}
|
|
{{#hasValidation}}
|
|
{{#maxLength}}
|
|
if (strlen(${{paramName}}) > {{maxLength}}) {
|
|
throw new \InvalidArgumentException('invalid length for "${{paramName}}" when calling {{classname}}.{{operationId}}, must be smaller than or equal to {{maxLength}}.');
|
|
}
|
|
{{/maxLength}}
|
|
{{#minLength}}
|
|
if (strlen(${{paramName}}) < {{minLength}}) {
|
|
throw new \InvalidArgumentException('invalid length for "${{paramName}}" when calling {{classname}}.{{operationId}}, must be bigger than or equal to {{minLength}}.');
|
|
}
|
|
{{/minLength}}
|
|
{{#maximum}}
|
|
if (${{paramName}} > {{maximum}}) {
|
|
throw new \InvalidArgumentException('invalid value for "${{paramName}}" when calling {{classname}}.{{operationId}}, must be smaller than or equal to {{maximum}}.');
|
|
}
|
|
{{/maximum}}
|
|
{{#minimum}}
|
|
if (${{paramName}} < {{minimum}}) {
|
|
throw new \InvalidArgumentException('invalid value for "${{paramName}}" when calling {{classname}}.{{operationId}}, must be bigger than or equal to {{minimum}}.');
|
|
}
|
|
{{/minimum}}
|
|
{{#pattern}}
|
|
if (!preg_match("{{pattern}}", ${{paramName}})) {
|
|
throw new \InvalidArgumentException('invalid value for "{{paramName}}" when calling {{classname}}.{{operationId}}, must conform to the pattern {{pattern}}.');
|
|
}
|
|
{{/pattern}}
|
|
|
|
{{/hasValidation}}
|
|
{{/allParams}}
|
|
|
|
// parse inputs
|
|
$resourcePath = "{{path}}";
|
|
$httpBody = '';
|
|
$queryParams = array();
|
|
$headerParams = array();
|
|
$formParams = array();
|
|
$_header_accept = $this->apiClient->selectHeaderAccept(array({{#produces}}'{{mediaType}}'{{#hasMore}}, {{/hasMore}}{{/produces}}));
|
|
if (!is_null($_header_accept)) {
|
|
$headerParams['Accept'] = $_header_accept;
|
|
}
|
|
$headerParams['Content-Type'] = $this->apiClient->selectHeaderContentType(array({{#consumes}}'{{mediaType}}'{{#hasMore}},{{/hasMore}}{{/consumes}}));
|
|
|
|
{{#queryParams}}// query params
|
|
{{#collectionFormat}}
|
|
if (is_array(${{paramName}})) {
|
|
${{paramName}} = $this->apiClient->getSerializer()->serializeCollection(${{paramName}}, '{{collectionFormat}}', true);
|
|
}
|
|
{{/collectionFormat}}
|
|
if (${{paramName}} !== null) {
|
|
$queryParams['{{baseName}}'] = $this->apiClient->getSerializer()->toQueryValue(${{paramName}});
|
|
}{{/queryParams}}
|
|
{{#headerParams}}// header params
|
|
{{#collectionFormat}}
|
|
if (is_array(${{paramName}})) {
|
|
${{paramName}} = $this->apiClient->getSerializer()->serializeCollection(${{paramName}}, '{{collectionFormat}}');
|
|
}
|
|
{{/collectionFormat}}
|
|
if (${{paramName}} !== null) {
|
|
$headerParams['{{baseName}}'] = $this->apiClient->getSerializer()->toHeaderValue(${{paramName}});
|
|
}{{/headerParams}}
|
|
{{#pathParams}}// path params
|
|
{{#collectionFormat}}
|
|
if (is_array(${{paramName}})) {
|
|
${{paramName}} = $this->apiClient->getSerializer()->serializeCollection(${{paramName}}, '{{collectionFormat}}');
|
|
}
|
|
{{/collectionFormat}}
|
|
if (${{paramName}} !== null) {
|
|
$resourcePath = str_replace(
|
|
"{" . "{{baseName}}" . "}",
|
|
$this->apiClient->getSerializer()->toPathValue(${{paramName}}),
|
|
$resourcePath
|
|
);
|
|
}{{/pathParams}}
|
|
// default format to json
|
|
$resourcePath = str_replace("{format}", "json", $resourcePath);
|
|
|
|
{{#formParams}}// form params
|
|
if (${{paramName}} !== null) {
|
|
{{#isFile}}
|
|
// PHP 5.5 introduced a CurlFile object that deprecates the old @filename syntax
|
|
// See: https://wiki.php.net/rfc/curl-file-upload
|
|
if (function_exists('curl_file_create')) {
|
|
$formParams['{{baseName}}'] = curl_file_create($this->apiClient->getSerializer()->toFormValue(${{paramName}}));
|
|
} else {
|
|
$formParams['{{baseName}}'] = '@' . $this->apiClient->getSerializer()->toFormValue(${{paramName}});
|
|
}
|
|
{{/isFile}}
|
|
{{^isFile}}
|
|
$formParams['{{baseName}}'] = $this->apiClient->getSerializer()->toFormValue(${{paramName}});
|
|
{{/isFile}}
|
|
}{{/formParams}}
|
|
{{#bodyParams}}// body params
|
|
$_tempBody = null;
|
|
if (isset(${{paramName}})) {
|
|
$_tempBody = ${{paramName}};
|
|
}{{/bodyParams}}
|
|
|
|
// for model (json/xml)
|
|
if (isset($_tempBody)) {
|
|
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
|
|
} elseif (count($formParams) > 0) {
|
|
$httpBody = $formParams; // for HTTP post (form)
|
|
}
|
|
{{#authMethods}}{{#isApiKey}}
|
|
// this endpoint requires API key authentication
|
|
$apiKey = $this->apiClient->getApiKeyWithPrefix('{{keyParamName}}');
|
|
if (strlen($apiKey) !== 0) {
|
|
{{#isKeyInHeader}}$headerParams['{{keyParamName}}'] = $apiKey;{{/isKeyInHeader}}{{#isKeyInQuery}}$queryParams['{{keyParamName}}'] = $apiKey;{{/isKeyInQuery}}
|
|
}{{/isApiKey}}
|
|
{{#isBasic}}// this endpoint requires HTTP basic authentication
|
|
if (strlen($this->apiClient->getConfig()->getUsername()) !== 0 or strlen($this->apiClient->getConfig()->getPassword()) !== 0) {
|
|
$headerParams['Authorization'] = 'Basic ' . base64_encode($this->apiClient->getConfig()->getUsername() . ":" . $this->apiClient->getConfig()->getPassword());
|
|
}{{/isBasic}}{{#isOAuth}}// this endpoint requires OAuth (access token)
|
|
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
|
|
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
|
|
}{{/isOAuth}}
|
|
{{/authMethods}}
|
|
// make the API Call
|
|
try {
|
|
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
|
|
$resourcePath, '{{httpMethod}}',
|
|
$queryParams, $httpBody,
|
|
$headerParams{{#returnType}}, '{{returnType}}'{{/returnType}}
|
|
);
|
|
{{#returnType}}
|
|
if (!$response) {
|
|
return array(null, $statusCode, $httpHeader);
|
|
}
|
|
|
|
return array($this->apiClient->getSerializer()->deserialize($response, '{{returnType}}', $httpHeader{{#discriminator}}, '{{discriminator}}'{{/discriminator}}), $statusCode, $httpHeader);
|
|
{{/returnType}}{{^returnType}}
|
|
return array(null, $statusCode, $httpHeader);
|
|
{{/returnType}}
|
|
} catch (ApiException $e) {
|
|
switch ($e->getCode()) { {{#responses}}{{#dataType}}
|
|
{{^isWildcard}}case {{code}}:{{/isWildcard}}{{#isWildcard}}default:{{/isWildcard}}
|
|
$data = $this->apiClient->getSerializer()->deserialize($e->getResponseBody(), '{{dataType}}', $e->getResponseHeaders());
|
|
$e->setResponseObject($data);
|
|
break;{{/dataType}}{{/responses}}
|
|
}
|
|
|
|
throw $e;
|
|
}
|
|
}
|
|
{{/operation}}
|
|
}
|
|
{{/operations}}
|