Add multiple inheritance support to Perl client (#1681)

* add multiple inheritance support to perl client

* remove allof test from fake petstore
This commit is contained in:
William Cheng 2018-12-17 15:28:20 +08:00 committed by GitHub
parent b6a23986b3
commit d7d994620c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
98 changed files with 8153 additions and 5047 deletions

View File

@ -28,6 +28,6 @@ fi
# if you've executed sbt assembly previously it will use that instead. # if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
# complex module name used for testing # complex module name used for testing
ags="generate -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl -DhideGenerationTimestamp=true $@" ags="generate -t modules/openapi-generator/src/main/resources/perl -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g perl -o samples/client/petstore/perl -DhideGenerationTimestamp=true $@"
java $JAVA_OPTS -jar $executable $ags java $JAVA_OPTS -jar $executable $ags

View File

@ -53,6 +53,9 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig {
public PerlClientCodegen() { public PerlClientCodegen() {
super(); super();
// add multiple inheritance support (beta)
supportsMultipleInheritance = true;
// clear import mapping (from default generator) as perl does not use it // clear import mapping (from default generator) as perl does not use it
// at the moment // at the moment
importMapping.clear(); importMapping.clear();

View File

@ -9,23 +9,44 @@ __PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute (keys %{$class->attribute_map}) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
{{#allParents}}
# initialize parent object {{{.}}}
$self->{{moduleName}}::Object::{{{.}}}::init(%args);
{{/allParents}}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json(JSON->new->convert_blessed->encode( shift )); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
{{#allParents}}
# call {{{.}}} to_hash and then combine hash
$_hash = { %$_hash, %$self->{{moduleName}}::Object::{{{.}}}::to_hash };
{{/allParents}}
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -37,6 +58,12 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
{{#allParents}}
# combine parent ({{{.}}}) TO_JSON
$_data = { %$_data, %$self->{{moduleName}}::Object::{{{.}}}::TO_JSON };
{{/allParents}}
return $_data; return $_data;
} }
@ -60,6 +87,11 @@ sub from_hash {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute); $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
} }
} }
{{#allParents}}
# call parent ({{{.}}}) from_hash
$self->{{moduleName}}::Object::{{{.}}}::from_hash($hash);
{{/allParents}}
return $self; return $self;
} }

View File

@ -23,8 +23,7 @@ use DateTime;
use {{moduleName}}::Object::{{.}}; use {{moduleName}}::Object::{{.}};
{{/imports}} {{/imports}}
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable"{{#allParents}}, "{{moduleName}}::Object::{{{.}}}"{{/allParents}});
# #
#{{description}} #{{description}}

View File

@ -1 +1 @@
3.3.0-SNAPSHOT 4.0.0-SNAPSHOT

View File

@ -234,7 +234,6 @@ To load the models:
```perl ```perl
use WWW::OpenAPIClient::Object::AdditionalPropertiesClass; use WWW::OpenAPIClient::Object::AdditionalPropertiesClass;
use WWW::OpenAPIClient::Object::Animal; use WWW::OpenAPIClient::Object::Animal;
use WWW::OpenAPIClient::Object::AnimalFarm;
use WWW::OpenAPIClient::Object::ApiResponse; use WWW::OpenAPIClient::Object::ApiResponse;
use WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly; use WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly;
use WWW::OpenAPIClient::Object::ArrayOfNumberOnly; use WWW::OpenAPIClient::Object::ArrayOfNumberOnly;
@ -265,7 +264,6 @@ use WWW::OpenAPIClient::Object::OuterEnum;
use WWW::OpenAPIClient::Object::Pet; use WWW::OpenAPIClient::Object::Pet;
use WWW::OpenAPIClient::Object::ReadOnlyFirst; use WWW::OpenAPIClient::Object::ReadOnlyFirst;
use WWW::OpenAPIClient::Object::SpecialModelName; use WWW::OpenAPIClient::Object::SpecialModelName;
use WWW::OpenAPIClient::Object::StringBooleanMap;
use WWW::OpenAPIClient::Object::Tag; use WWW::OpenAPIClient::Object::Tag;
use WWW::OpenAPIClient::Object::User; use WWW::OpenAPIClient::Object::User;
@ -289,7 +287,6 @@ use WWW::OpenAPIClient::UserApi;
# load the models # load the models
use WWW::OpenAPIClient::Object::AdditionalPropertiesClass; use WWW::OpenAPIClient::Object::AdditionalPropertiesClass;
use WWW::OpenAPIClient::Object::Animal; use WWW::OpenAPIClient::Object::Animal;
use WWW::OpenAPIClient::Object::AnimalFarm;
use WWW::OpenAPIClient::Object::ApiResponse; use WWW::OpenAPIClient::Object::ApiResponse;
use WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly; use WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly;
use WWW::OpenAPIClient::Object::ArrayOfNumberOnly; use WWW::OpenAPIClient::Object::ArrayOfNumberOnly;
@ -320,7 +317,6 @@ use WWW::OpenAPIClient::Object::OuterEnum;
use WWW::OpenAPIClient::Object::Pet; use WWW::OpenAPIClient::Object::Pet;
use WWW::OpenAPIClient::Object::ReadOnlyFirst; use WWW::OpenAPIClient::Object::ReadOnlyFirst;
use WWW::OpenAPIClient::Object::SpecialModelName; use WWW::OpenAPIClient::Object::SpecialModelName;
use WWW::OpenAPIClient::Object::StringBooleanMap;
use WWW::OpenAPIClient::Object::Tag; use WWW::OpenAPIClient::Object::Tag;
use WWW::OpenAPIClient::Object::User; use WWW::OpenAPIClient::Object::User;
@ -359,6 +355,7 @@ Class | Method | HTTP request | Description
*FakeApi* | [**test_client_model**](docs/FakeApi.md#test_client_model) | **PATCH** /fake | To test \"client\" model *FakeApi* | [**test_client_model**](docs/FakeApi.md#test_client_model) | **PATCH** /fake | To test \"client\" model
*FakeApi* | [**test_endpoint_parameters**](docs/FakeApi.md#test_endpoint_parameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 *FakeApi* | [**test_endpoint_parameters**](docs/FakeApi.md#test_endpoint_parameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
*FakeApi* | [**test_enum_parameters**](docs/FakeApi.md#test_enum_parameters) | **GET** /fake | To test enum parameters *FakeApi* | [**test_enum_parameters**](docs/FakeApi.md#test_enum_parameters) | **GET** /fake | To test enum parameters
*FakeApi* | [**test_group_parameters**](docs/FakeApi.md#test_group_parameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional)
*FakeApi* | [**test_inline_additional_properties**](docs/FakeApi.md#test_inline_additional_properties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties *FakeApi* | [**test_inline_additional_properties**](docs/FakeApi.md#test_inline_additional_properties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties
*FakeApi* | [**test_json_form_data**](docs/FakeApi.md#test_json_form_data) | **GET** /fake/jsonFormData | test json serialization of form data *FakeApi* | [**test_json_form_data**](docs/FakeApi.md#test_json_form_data) | **GET** /fake/jsonFormData | test json serialization of form data
*FakeClassnameTags123Api* | [**test_classname**](docs/FakeClassnameTags123Api.md#test_classname) | **PATCH** /fake_classname_test | To test class name in snake case *FakeClassnameTags123Api* | [**test_classname**](docs/FakeClassnameTags123Api.md#test_classname) | **PATCH** /fake_classname_test | To test class name in snake case
@ -388,7 +385,6 @@ Class | Method | HTTP request | Description
# DOCUMENTATION FOR MODELS # DOCUMENTATION FOR MODELS
- [WWW::OpenAPIClient::Object::AdditionalPropertiesClass](docs/AdditionalPropertiesClass.md) - [WWW::OpenAPIClient::Object::AdditionalPropertiesClass](docs/AdditionalPropertiesClass.md)
- [WWW::OpenAPIClient::Object::Animal](docs/Animal.md) - [WWW::OpenAPIClient::Object::Animal](docs/Animal.md)
- [WWW::OpenAPIClient::Object::AnimalFarm](docs/AnimalFarm.md)
- [WWW::OpenAPIClient::Object::ApiResponse](docs/ApiResponse.md) - [WWW::OpenAPIClient::Object::ApiResponse](docs/ApiResponse.md)
- [WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly](docs/ArrayOfArrayOfNumberOnly.md) - [WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly](docs/ArrayOfArrayOfNumberOnly.md)
- [WWW::OpenAPIClient::Object::ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md) - [WWW::OpenAPIClient::Object::ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md)
@ -419,7 +415,6 @@ Class | Method | HTTP request | Description
- [WWW::OpenAPIClient::Object::Pet](docs/Pet.md) - [WWW::OpenAPIClient::Object::Pet](docs/Pet.md)
- [WWW::OpenAPIClient::Object::ReadOnlyFirst](docs/ReadOnlyFirst.md) - [WWW::OpenAPIClient::Object::ReadOnlyFirst](docs/ReadOnlyFirst.md)
- [WWW::OpenAPIClient::Object::SpecialModelName](docs/SpecialModelName.md) - [WWW::OpenAPIClient::Object::SpecialModelName](docs/SpecialModelName.md)
- [WWW::OpenAPIClient::Object::StringBooleanMap](docs/StringBooleanMap.md)
- [WWW::OpenAPIClient::Object::Tag](docs/Tag.md) - [WWW::OpenAPIClient::Object::Tag](docs/Tag.md)
- [WWW::OpenAPIClient::Object::User](docs/User.md) - [WWW::OpenAPIClient::Object::User](docs/User.md)

View File

@ -0,0 +1,18 @@
# WWW::OpenAPIClient::Object::Adult
## Load the model package
```perl
use WWW::OpenAPIClient::Object::Adult;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**duplicated_optional** | **int** | | [optional]
**duplicated_required** | **int** | |
**children** | [**ARRAY[Child]**](Child.md) | | [optional]
**adult_required** | **boolean** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -8,8 +8,6 @@ use WWW::OpenAPIClient::Object::Cat;
## Properties ## Properties
Name | Type | Description | Notes Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**class_name** | **string** | |
**color** | **string** | | [optional] [default to 'red']
**declawed** | **boolean** | | [optional] **declawed** | **boolean** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -9,7 +9,7 @@ use WWW::OpenAPIClient::Object::Category;
Name | Type | Description | Notes Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional] **id** | **int** | | [optional]
**name** | **string** | | [optional] **name** | **string** | | [default to 'default-name']
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# WWW::OpenAPIClient::Object::Child
## Load the model package
```perl
use WWW::OpenAPIClient::Object::Child;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**age** | **int** | | [optional]
**first_name** | **string** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,54 @@
# WWW::OpenAPIClient::DefaultApi
## Load the API package
```perl
use WWW::OpenAPIClient::Object::DefaultApi;
```
All URIs are relative to *http://petstore.swagger.io:80/v2*
Method | HTTP request | Description
------------- | ------------- | -------------
[**foo_get**](DefaultApi.md#foo_get) | **GET** /foo |
# **foo_get**
> InlineResponseDefault foo_get()
### Example
```perl
use Data::Dumper;
use WWW::OpenAPIClient::DefaultApi;
my $api_instance = WWW::OpenAPIClient::DefaultApi->new(
);
eval {
my $result = $api_instance->foo_get();
print Dumper($result);
};
if ($@) {
warn "Exception when calling DefaultApi->foo_get: $@\n";
}
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**InlineResponseDefault**](InlineResponseDefault.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -8,8 +8,6 @@ use WWW::OpenAPIClient::Object::Dog;
## Properties ## Properties
Name | Type | Description | Notes Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**class_name** | **string** | |
**color** | **string** | | [optional] [default to 'red']
**breed** | **string** | | [optional] **breed** | **string** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -18,6 +18,7 @@ Method | HTTP request | Description
[**test_client_model**](FakeApi.md#test_client_model) | **PATCH** /fake | To test \"client\" model [**test_client_model**](FakeApi.md#test_client_model) | **PATCH** /fake | To test \"client\" model
[**test_endpoint_parameters**](FakeApi.md#test_endpoint_parameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 [**test_endpoint_parameters**](FakeApi.md#test_endpoint_parameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
[**test_enum_parameters**](FakeApi.md#test_enum_parameters) | **GET** /fake | To test enum parameters [**test_enum_parameters**](FakeApi.md#test_enum_parameters) | **GET** /fake | To test enum parameters
[**test_group_parameters**](FakeApi.md#test_group_parameters) | **DELETE** /fake | Fake endpoint to test group parameters (optional)
[**test_inline_additional_properties**](FakeApi.md#test_inline_additional_properties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties [**test_inline_additional_properties**](FakeApi.md#test_inline_additional_properties) | **POST** /fake/inline-additionalProperties | test inline additionalProperties
[**test_json_form_data**](FakeApi.md#test_json_form_data) | **GET** /fake/jsonFormData | test json serialization of form data [**test_json_form_data**](FakeApi.md#test_json_form_data) | **GET** /fake/jsonFormData | test json serialization of form data
@ -476,6 +477,61 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **test_group_parameters**
> test_group_parameters(required_string_group => $required_string_group, required_boolean_group => $required_boolean_group, required_int64_group => $required_int64_group, string_group => $string_group, boolean_group => $boolean_group, int64_group => $int64_group)
Fake endpoint to test group parameters (optional)
Fake endpoint to test group parameters (optional)
### Example
```perl
use Data::Dumper;
use WWW::OpenAPIClient::FakeApi;
my $api_instance = WWW::OpenAPIClient::FakeApi->new(
);
my $required_string_group = 56; # int | Required String in group parameters
my $required_boolean_group = null; # boolean | Required Boolean in group parameters
my $required_int64_group = 789; # int | Required Integer in group parameters
my $string_group = 56; # int | String in group parameters
my $boolean_group = null; # boolean | Boolean in group parameters
my $int64_group = 789; # int | Integer in group parameters
eval {
$api_instance->test_group_parameters(required_string_group => $required_string_group, required_boolean_group => $required_boolean_group, required_int64_group => $required_int64_group, string_group => $string_group, boolean_group => $boolean_group, int64_group => $int64_group);
};
if ($@) {
warn "Exception when calling FakeApi->test_group_parameters: $@\n";
}
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**required_string_group** | **int**| Required String in group parameters |
**required_boolean_group** | **boolean**| Required Boolean in group parameters |
**required_int64_group** | **int**| Required Integer in group parameters |
**string_group** | **int**| String in group parameters | [optional]
**boolean_group** | **boolean**| Boolean in group parameters | [optional]
**int64_group** | **int**| Integer in group parameters | [optional]
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **test_inline_additional_properties** # **test_inline_additional_properties**
> test_inline_additional_properties(request_body => $request_body) > test_inline_additional_properties(request_body => $request_body)

View File

@ -0,0 +1,15 @@
# WWW::OpenAPIClient::Object::Foo
## Load the model package
```perl
use WWW::OpenAPIClient::Object::Foo;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**bar** | **string** | | [optional] [default to 'bar']
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# WWW::OpenAPIClient::Object::Human
## Load the model package
```perl
use WWW::OpenAPIClient::Object::Human;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**___type** | **string** | | [optional]
**body** | **string** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# WWW::OpenAPIClient::Object::InlineObject
## Load the model package
```perl
use WWW::OpenAPIClient::Object::InlineObject;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **string** | Updated name of the pet | [optional]
**status** | **string** | Updated status of the pet | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# WWW::OpenAPIClient::Object::InlineObject1
## Load the model package
```perl
use WWW::OpenAPIClient::Object::InlineObject1;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**additional_metadata** | **string** | Additional data to pass to server | [optional]
**file** | **string** | file to upload | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# WWW::OpenAPIClient::Object::InlineObject2
## Load the model package
```perl
use WWW::OpenAPIClient::Object::InlineObject2;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**enum_form_string_array** | **ARRAY[string]** | Form parameter enum test (string array) | [optional]
**enum_form_string** | **string** | Form parameter enum test (string) | [optional] [default to '-efg']
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,28 @@
# WWW::OpenAPIClient::Object::InlineObject3
## Load the model package
```perl
use WWW::OpenAPIClient::Object::InlineObject3;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**integer** | **int** | None | [optional]
**int32** | **int** | None | [optional]
**int64** | **int** | None | [optional]
**number** | **double** | None |
**float** | **double** | None | [optional]
**double** | **double** | None |
**string** | **string** | None | [optional]
**pattern_without_delimiter** | **string** | None |
**byte** | **string** | None |
**binary** | **string** | None | [optional]
**date** | **DateTime** | None | [optional]
**date_time** | **DateTime** | None | [optional]
**password** | **string** | None | [optional]
**callback** | **string** | None | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# WWW::OpenAPIClient::Object::InlineObject4
## Load the model package
```perl
use WWW::OpenAPIClient::Object::InlineObject4;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**param** | **string** | field1 |
**param2** | **string** | field2 |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,16 @@
# WWW::OpenAPIClient::Object::InlineObject5
## Load the model package
```perl
use WWW::OpenAPIClient::Object::InlineObject5;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**additional_metadata** | **string** | Additional data to pass to server | [optional]
**required_file** | **string** | file to upload |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,15 @@
# WWW::OpenAPIClient::Object::InlineResponseDefault
## Load the model package
```perl
use WWW::OpenAPIClient::Object::InlineResponseDefault;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**string** | [**Foo**](Foo.md) | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -11,7 +11,7 @@ Name | Type | Description | Notes
**map_map_of_string** | **HASH[string,HASH[string,string]]** | | [optional] **map_map_of_string** | **HASH[string,HASH[string,string]]** | | [optional]
**map_of_enum_string** | **HASH[string,string]** | | [optional] **map_of_enum_string** | **HASH[string,string]** | | [optional]
**direct_map** | **HASH[string,boolean]** | | [optional] **direct_map** | **HASH[string,boolean]** | | [optional]
**indirect_map** | [**StringBooleanMap**](StringBooleanMap.md) | | [optional] **indirect_map** | **HASH[string,boolean]** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -0,0 +1,20 @@
# WWW::OpenAPIClient::Object::Person
## Load the model package
```perl
use WWW::OpenAPIClient::Object::Person;
```
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**___type** | **string** | | [optional]
**last_name** | **string** | | [optional]
**first_name** | **string** | | [optional]
**duplicated_optional** | **string** | | [optional]
**duplicated_required** | **string** | |
**person_required** | **DateTime** | |
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -180,7 +180,7 @@ my $api_instance = WWW::OpenAPIClient::PetApi->new(
access_token => 'YOUR_ACCESS_TOKEN', access_token => 'YOUR_ACCESS_TOKEN',
); );
my $tags = [("inner_example")]; # ARRAY[string] | Tags to filter by my $tags = [("null")]; # ARRAY[string] | Tags to filter by
eval { eval {
my $result = $api_instance->find_pets_by_tags(tags => $tags); my $result = $api_instance->find_pets_by_tags(tags => $tags);

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -40,8 +39,7 @@ sub new {
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) { if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0]; $api_client = $_[0];
} } else {
else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_); $api_client = WWW::OpenAPIClient::ApiClient->new(@_);
} }
@ -49,6 +47,7 @@ sub new {
} }
# #
# call_123_test_special_tags # call_123_test_special_tags
# #
@ -69,7 +68,6 @@ sub new {
returns => 'Client', returns => 'Client',
}; };
} }
# @return Client # @return Client
# #
sub call_123_test_special_tags { sub call_123_test_special_tags {
@ -77,9 +75,7 @@ sub call_123_test_special_tags {
# verify the required parameter 'client' is set # verify the required parameter 'client' is set
unless (exists $args{'client'}) { unless (exists $args{'client'}) {
croak( croak("Missing the required parameter 'client' when calling call_123_test_special_tags");
"Missing the required parameter 'client' when calling call_123_test_special_tags"
);
} }
# parse inputs # parse inputs
@ -91,16 +87,13 @@ sub call_123_test_special_tags {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = my $_header_accept = $self->{api_client}->select_header_accept('application/json');
$self->{api_client}->select_header_accept('application/json');
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
$self->{api_client}->select_header_content_type('application/json');
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'client'}) { if ( exists $args{'client'}) {
$_body_data = $args{'client'}; $_body_data = $args{'client'};
@ -110,15 +103,13 @@ sub call_123_test_special_tags {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('Client', $response);
$self->{api_client}->deserialize( 'Client', $response );
return $_response_object; return $_response_object;
} }

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -40,17 +39,14 @@ use Module::Runtime qw(use_module);
use WWW::OpenAPIClient::Configuration; use WWW::OpenAPIClient::Configuration;
sub new { sub new {
my $class = shift; my $class = shift;
my $config; my $config;
if ( $_[0] if ( $_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::Configuration' ) {
&& ref $_[0]
&& ref $_[0] eq 'WWW::OpenAPIClient::Configuration' )
{
$config = $_[0]; $config = $_[0];
} } else {
else {
$config = WWW::OpenAPIClient::Configuration->new(@_); $config = WWW::OpenAPIClient::Configuration->new(@_);
} }
@ -92,49 +88,38 @@ sub set_timeout {
# @return mixed # @return mixed
sub call_api { sub call_api {
my $self = shift; my $self = shift;
my ( my ($resource_path, $method, $query_params, $post_params, $header_params, $body_data, $auth_settings) = @_;
$resource_path, $method, $query_params, $post_params,
$header_params, $body_data, $auth_settings
) = @_;
# update parameters based on authentication settings # update parameters based on authentication settings
$self->update_params_for_auth( $header_params, $query_params, $self->update_params_for_auth($header_params, $query_params, $auth_settings);
$auth_settings );
my $_url = $self->{config}{base_url} . $resource_path; my $_url = $self->{config}{base_url} . $resource_path;
# build query # build query
if (%$query_params) { if (%$query_params) {
$_url = $_url = ($_url . '?' . eval { URI::Query->new($query_params)->stringify });
( $_url . '?' . eval { URI::Query->new($query_params)->stringify } );
} }
# body data # body data
$body_data = to_json( $body_data->to_hash ) $body_data = to_json($body_data->to_hash) if defined $body_data && $body_data->can('to_hash'); # model to json string
if defined $body_data
&& $body_data->can('to_hash'); # model to json string
my $_body_data = %$post_params ? $post_params : $body_data; my $_body_data = %$post_params ? $post_params : $body_data;
# Make the HTTP request # Make the HTTP request
my $_request; my $_request;
if ($method eq 'POST') { if ($method eq 'POST') {
# multipart # multipart
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
lc $header_params->{'Content-Type'} eq 'multipart/form' 'form-data' : $header_params->{'Content-Type'};
? 'form-data'
: $header_params->{'Content-Type'};
$_request = POST($_url, %$header_params, Content => $_body_data); $_request = POST($_url, %$header_params, Content => $_body_data);
} }
elsif ($method eq 'PUT') { elsif ($method eq 'PUT') {
# multipart # multipart
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
lc $header_params->{'Content-Type'} eq 'multipart/form' 'form-data' : $header_params->{'Content-Type'};
? 'form-data'
: $header_params->{'Content-Type'};
$_request = PUT($_url, %$header_params, Content => $_body_data); $_request = PUT($_url, %$header_params, Content => $_body_data);
@ -156,18 +141,15 @@ sub call_api {
else { else {
} }
$self->{ua} $self->{ua}->timeout($self->{http_timeout} || $self->{config}{http_timeout});
->timeout( $self->{http_timeout} || $self->{config}{http_timeout} ); $self->{ua}->agent($self->{http_user_agent} || $self->{config}{http_user_agent});
$self->{ua}
->agent( $self->{http_user_agent} || $self->{config}{http_user_agent} );
$log->debugf("REQUEST: %s", $_request->as_string); $log->debugf("REQUEST: %s", $_request->as_string);
my $_response = $self->{ua}->request($_request); my $_response = $self->{ua}->request($_request);
$log->debugf("RESPONSE: %s", $_response->as_string); $log->debugf("RESPONSE: %s", $_response->as_string);
unless ($_response->is_success) { unless ($_response->is_success) {
croak( sprintf "API Exception(%s): %s\n%s", croak(sprintf "API Exception(%s): %s\n%s", $_response->code, $_response->message, $_response->content);
$_response->code, $_response->message, $_response->content );
} }
return $_response->content; return $_response->content;
@ -183,6 +165,7 @@ sub to_path_value {
return uri_escape($self->to_string($value)); return uri_escape($self->to_string($value));
} }
# Take value and turn it into a string suitable for inclusion in # Take value and turn it into a string suitable for inclusion in
# the query, by imploding comma-separated if it's an object. # the query, by imploding comma-separated if it's an object.
# If it's a string, pass through unchanged. It will be url-encoded # If it's a string, pass through unchanged. It will be url-encoded
@ -193,12 +176,12 @@ sub to_query_value {
my ($self, $object) = @_; my ($self, $object) = @_;
if (ref($object) eq 'ARRAY') { if (ref($object) eq 'ARRAY') {
return join(',', @$object); return join(',', @$object);
} } else {
else {
return $self->to_string($object); return $self->to_string($object);
} }
} }
# Take value and turn it into a string suitable for inclusion in # Take value and turn it into a string suitable for inclusion in
# the header. If it's a string, pass through unchanged # the header. If it's a string, pass through unchanged
# If it's a datetime object, format it in ISO8601 # If it's a datetime object, format it in ISO8601
@ -239,36 +222,31 @@ sub to_string {
# @param string $class class name is passed as a string # @param string $class class name is passed as a string
# @param string $data data of the body # @param string $data data of the body
# @return object an instance of $class # @return object an instance of $class
sub deserialize { sub deserialize
{
my ($self, $class, $data) = @_; my ($self, $class, $data) = @_;
$log->debugf("deserializing %s for %s", $data, $class); $log->debugf("deserializing %s for %s", $data, $class);
if (not defined $data) { if (not defined $data) {
return undef; return undef;
} } elsif ( (substr($class, 0, 5)) eq 'HASH[') { #hash
elsif ( ( substr( $class, 0, 5 ) ) eq 'HASH[' ) { #hash
if ($class =~ /^HASH\[(.*),(.*)\]$/) { if ($class =~ /^HASH\[(.*),(.*)\]$/) {
my ($key_type, $type) = ($1, $2); my ($key_type, $type) = ($1, $2);
my %hash; my %hash;
my $decoded_data = decode_json $data; my $decoded_data = decode_json $data;
foreach my $key (keys %$decoded_data) { foreach my $key (keys %$decoded_data) {
if (ref $decoded_data->{$key} eq 'HASH') { if (ref $decoded_data->{$key} eq 'HASH') {
$hash{$key} = $self->deserialize( $type, $hash{$key} = $self->deserialize($type, encode_json $decoded_data->{$key});
encode_json $decoded_data->{$key} ); } else {
} $hash{$key} = $self->deserialize($type, $decoded_data->{$key});
else {
$hash{$key} =
$self->deserialize( $type, $decoded_data->{$key} );
} }
} }
return \%hash; return \%hash;
} } else {
else {
#TODO log error #TODO log error
} }
} } elsif ( (substr($class, 0, 6)) eq 'ARRAY[' ) { # array of data
elsif ( ( substr( $class, 0, 6 ) ) eq 'ARRAY[' ) { # array of data
return $data if $data eq '[]'; # return if empty array return $data if $data eq '[]'; # return if empty array
my $_sub_class = substr($class, 6, -1); my $_sub_class = substr($class, 6, -1);
@ -276,27 +254,21 @@ sub deserialize {
my @_values = (); my @_values = ();
foreach my $_value (@$_json_data) { foreach my $_value (@$_json_data) {
if (ref $_value eq 'ARRAY') { if (ref $_value eq 'ARRAY') {
push @_values, push @_values, $self->deserialize($_sub_class, encode_json $_value);
$self->deserialize( $_sub_class, encode_json $_value); } else {
}
else {
push @_values, $self->deserialize($_sub_class, $_value); push @_values, $self->deserialize($_sub_class, $_value);
} }
} }
return \@_values; return \@_values;
} } elsif ($class eq 'DateTime') {
elsif ( $class eq 'DateTime' ) {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif (grep /^$class$/, ('string', 'int', 'float', 'bool', 'object')) {
elsif ( grep /^$class$/, ( 'string', 'int', 'float', 'bool', 'object' ) ) {
return $data; return $data;
} } else { # model
else { # model
my $_instance = use_module("WWW::OpenAPIClient::Object::$class")->new; my $_instance = use_module("WWW::OpenAPIClient::Object::$class")->new;
if (ref $data eq "HASH") { if (ref $data eq "HASH") {
return $_instance->from_hash($data); return $_instance->from_hash($data);
} } else { # string, need to json decode first
else { # string, need to json decode first
return $_instance->from_hash(decode_json $data); return $_instance->from_hash(decode_json $data);
} }
} }
@ -306,16 +278,15 @@ sub deserialize {
# return 'Accept' based on an array of accept provided # return 'Accept' based on an array of accept provided
# @param [Array] header_accept_array Array fo 'Accept' # @param [Array] header_accept_array Array fo 'Accept'
# @return String Accept (e.g. application/json) # @return String Accept (e.g. application/json)
sub select_header_accept { sub select_header_accept
{
my ($self, @header) = @_; my ($self, @header) = @_;
if (@header == 0 || (@header == 1 && $header[0] eq '')) { if (@header == 0 || (@header == 1 && $header[0] eq '')) {
return undef; return undef;
} } elsif (grep(/^application\/json$/i, @header)) {
elsif ( grep( /^application\/json$/i, @header ) ) {
return 'application/json'; return 'application/json';
} } else {
else {
return join(',', @header); return join(',', @header);
} }
@ -324,16 +295,15 @@ sub select_header_accept {
# return the content type based on an array of content-type provided # return the content type based on an array of content-type provided
# @param [Array] content_type_array Array fo content-type # @param [Array] content_type_array Array fo content-type
# @return String Content-Type (e.g. application/json) # @return String Content-Type (e.g. application/json)
sub select_header_content_type { sub select_header_content_type
{
my ($self, @header) = @_; my ($self, @header) = @_;
if (@header == 0 || (@header == 1 && $header[0] eq '')) { if (@header == 0 || (@header == 1 && $header[0] eq '')) {
return 'application/json'; # default to application/json return 'application/json'; # default to application/json
} } elsif (grep(/^application\/json$/i, @header)) {
elsif ( grep( /^application\/json$/i, @header ) ) {
return 'application/json'; return 'application/json';
} } else {
else {
return join(',', @header); return join(',', @header);
} }
@ -342,7 +312,8 @@ sub select_header_content_type {
# Get API key (with prefix if set) # Get API key (with prefix if set)
# @param string key name # @param string key name
# @return string API key with the prefix # @return string API key with the prefix
sub get_api_key_with_prefix { sub get_api_key_with_prefix
{
my ($self, $key_name) = @_; my ($self, $key_name) = @_;
my $api_key = $self->{config}{api_key}{$key_name}; my $api_key = $self->{config}{api_key}{$key_name};
@ -366,10 +337,8 @@ sub update_params_for_auth {
# one endpoint can have more than 1 auth settings # one endpoint can have more than 1 auth settings
foreach my $auth (@$auth_settings) { foreach my $auth (@$auth_settings) {
# determine which one to use # determine which one to use
if (!defined($auth)) { if (!defined($auth)) {
# TODO show warning about auth setting not defined # TODO show warning about auth setting not defined
} }
elsif ($auth eq 'api_key') { elsif ($auth eq 'api_key') {
@ -389,17 +358,13 @@ sub update_params_for_auth {
elsif ($auth eq 'http_basic_test') { elsif ($auth eq 'http_basic_test') {
if ($self->{config}{username} || $self->{config}{password}) { if ($self->{config}{username} || $self->{config}{password}) {
$header_params->{'Authorization'} = $header_params->{'Authorization'} = 'Basic ' . encode_base64($self->{config}{username} . ":" . $self->{config}{password});
'Basic '
. encode_base64( $self->{config}{username} . ":"
. $self->{config}{password} );
} }
} }
elsif ($auth eq 'petstore_auth') { elsif ($auth eq 'petstore_auth') {
if ($self->{config}{access_token}) { if ($self->{config}{access_token}) {
$header_params->{'Authorization'} = $header_params->{'Authorization'} = 'Bearer ' . $self->{config}{access_token};
'Bearer ' . $self->{config}{access_token};
} }
} }
else { else {
@ -421,8 +386,7 @@ sub _global_auth_setup {
# basic # basic
if (my $uname = delete $tokens->{username}) { if (my $uname = delete $tokens->{username}) {
my $pword = delete $tokens->{password}; my $pword = delete $tokens->{password};
$header_params->{'Authorization'} = $header_params->{'Authorization'} = 'Basic '.encode_base64($uname.":".$pword);
'Basic ' . encode_base64( $uname . ":" . $pword );
} }
# oauth # oauth
@ -441,10 +405,10 @@ sub _global_auth_setup {
$query_params->{$token_name} = $token; $query_params->{$token_name} = $token;
} }
else { else {
die die "Don't know where to put token '$token_name' ('$in' is not 'head' or 'query')";
"Don't know where to put token '$token_name' ('$in' is not 'head' or 'query')";
} }
} }
} }
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -60,7 +59,8 @@ use WWW::OpenAPIClient::ApiClient;
# Load all the API classes and construct a lookup table at startup time # Load all the API classes and construct a lookup table at startup time
my %_apis = map { $_ =~ /^WWW::OpenAPIClient::(.*)$/; $1 => $_ } my %_apis = map { $_ =~ /^WWW::OpenAPIClient::(.*)$/; $1 => $_ }
grep { $_ =~ /Api$/ } usesub 'WWW::OpenAPIClient'; grep {$_ =~ /Api$/}
usesub 'WWW::OpenAPIClient';
=head1 new($api_client) =head1 new($api_client)
@ -80,8 +80,7 @@ sub new {
my $api_client; my $api_client;
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) { if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0]; $api_client = $_[0];
} } else {
else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_); $api_client = WWW::OpenAPIClient::ApiClient->new(@_);
} }
bless { api_client => $api_client }, $class; bless { api_client => $api_client }, $class;
@ -115,9 +114,7 @@ sub api_client { $_[0]->{api_client} }
=head1 apis_available() =head1 apis_available()
=cut =cut
sub apis_available { sub apis_available { return map { $_ =~ s/Api$//; $_ } sort keys %_apis }
return map { $_ =~ s/Api$//; $_ } sort keys %_apis;
}
=head1 classname_for() =head1 classname_for()
=cut =cut
@ -127,4 +124,5 @@ sub classname_for {
return $_apis{"${api_name}Api"}; return $_apis{"${api_name}Api"};
} }
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -116,6 +115,7 @@ sub new {
return bless \%p => $self; return bless \%p => $self;
} }
sub get_tokens { sub get_tokens {
my $self = shift; my $self = shift;
@ -159,12 +159,10 @@ sub accept_tokens {
foreach my $token_name (keys %$tokens) { foreach my $token_name (keys %$tokens) {
$self->{api_key}{$token_name} = $tokens->{$token_name}{token}; $self->{api_key}{$token_name} = $tokens->{$token_name}{token};
if ($tokens->{$token_name}{prefix}) { if ($tokens->{$token_name}{prefix}) {
$self->{api_key_prefix}{$token_name} = $self->{api_key_prefix}{$token_name} = $tokens->{$token_name}{prefix};
$tokens->{$token_name}{prefix};
} }
my $in = $tokens->{$token_name}->{in} || 'head'; my $in = $tokens->{$token_name}->{in} || 'head';
croak "Tokens can only go in 'head' or 'query' (not in '$in')" croak "Tokens can only go in 'head' or 'query' (not in '$in')" unless $in =~ /^(?:head|query)$/;
unless $in =~ /^(?:head|query)$/;
$self->{api_key_in}{$token_name} = $in; $self->{api_key_in}{$token_name} = $in;
} }
} }

View File

@ -0,0 +1,100 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::DefaultApi;
require 5.6.0;
use strict;
use warnings;
use utf8;
use Exporter;
use Carp qw( croak );
use Log::Any qw($log);
use WWW::OpenAPIClient::ApiClient;
use base "Class::Data::Inheritable";
__PACKAGE__->mk_classdata('method_documentation' => {});
sub new {
my $class = shift;
my $api_client;
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0];
} else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
}
bless { api_client => $api_client }, $class;
}
#
# foo_get
#
#
#
{
my $params = {
};
__PACKAGE__->method_documentation->{ 'foo_get' } = {
summary => '',
params => $params,
returns => 'InlineResponseDefault',
};
}
# @return InlineResponseDefault
#
sub foo_get {
my ($self, %args) = @_;
# parse inputs
my $_resource_path = '/foo';
my $_method = 'GET';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept('application/json');
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
my $_body_data;
# authentication setting, if any
my $auth_settings = [qw()];
# make the API Call
my $response = $self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
if (!$response) {
return;
}
my $_response_object = $self->{api_client}->deserialize('InlineResponseDefault', $response);
return $_response_object;
}
1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -40,8 +39,7 @@ sub new {
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) { if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0]; $api_client = $_[0];
} } else {
else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_); $api_client = WWW::OpenAPIClient::ApiClient->new(@_);
} }
@ -49,6 +47,7 @@ sub new {
} }
# #
# fake_outer_boolean_serialize # fake_outer_boolean_serialize
# #
@ -69,7 +68,6 @@ sub new {
returns => 'boolean', returns => 'boolean',
}; };
} }
# @return boolean # @return boolean
# #
sub fake_outer_boolean_serialize { sub fake_outer_boolean_serialize {
@ -88,11 +86,9 @@ sub fake_outer_boolean_serialize {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'body'}) { if ( exists $args{'body'}) {
$_body_data = $args{'body'}; $_body_data = $args{'body'};
@ -102,15 +98,13 @@ sub fake_outer_boolean_serialize {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('boolean', $response);
$self->{api_client}->deserialize( 'boolean', $response );
return $_response_object; return $_response_object;
} }
@ -134,7 +128,6 @@ sub fake_outer_boolean_serialize {
returns => 'OuterComposite', returns => 'OuterComposite',
}; };
} }
# @return OuterComposite # @return OuterComposite
# #
sub fake_outer_composite_serialize { sub fake_outer_composite_serialize {
@ -153,11 +146,9 @@ sub fake_outer_composite_serialize {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'outer_composite'}) { if ( exists $args{'outer_composite'}) {
$_body_data = $args{'outer_composite'}; $_body_data = $args{'outer_composite'};
@ -167,15 +158,13 @@ sub fake_outer_composite_serialize {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('OuterComposite', $response);
$self->{api_client}->deserialize( 'OuterComposite', $response );
return $_response_object; return $_response_object;
} }
@ -199,7 +188,6 @@ sub fake_outer_composite_serialize {
returns => 'double', returns => 'double',
}; };
} }
# @return double # @return double
# #
sub fake_outer_number_serialize { sub fake_outer_number_serialize {
@ -218,11 +206,9 @@ sub fake_outer_number_serialize {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'body'}) { if ( exists $args{'body'}) {
$_body_data = $args{'body'}; $_body_data = $args{'body'};
@ -232,15 +218,13 @@ sub fake_outer_number_serialize {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('double', $response);
$self->{api_client}->deserialize( 'double', $response );
return $_response_object; return $_response_object;
} }
@ -264,7 +248,6 @@ sub fake_outer_number_serialize {
returns => 'string', returns => 'string',
}; };
} }
# @return string # @return string
# #
sub fake_outer_string_serialize { sub fake_outer_string_serialize {
@ -283,11 +266,9 @@ sub fake_outer_string_serialize {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'body'}) { if ( exists $args{'body'}) {
$_body_data = $args{'body'}; $_body_data = $args{'body'};
@ -297,15 +278,13 @@ sub fake_outer_string_serialize {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('string', $response);
$self->{api_client}->deserialize( 'string', $response );
return $_response_object; return $_response_object;
} }
@ -329,7 +308,6 @@ sub fake_outer_string_serialize {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub test_body_with_file_schema { sub test_body_with_file_schema {
@ -337,9 +315,7 @@ sub test_body_with_file_schema {
# verify the required parameter 'file_schema_test_class' is set # verify the required parameter 'file_schema_test_class' is set
unless (exists $args{'file_schema_test_class'}) { unless (exists $args{'file_schema_test_class'}) {
croak( croak("Missing the required parameter 'file_schema_test_class' when calling test_body_with_file_schema");
"Missing the required parameter 'file_schema_test_class' when calling test_body_with_file_schema"
);
} }
# parse inputs # parse inputs
@ -355,11 +331,9 @@ sub test_body_with_file_schema {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
$self->{api_client}->select_header_content_type('application/json');
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'file_schema_test_class'}) { if ( exists $args{'file_schema_test_class'}) {
$_body_data = $args{'file_schema_test_class'}; $_body_data = $args{'file_schema_test_class'};
@ -369,10 +343,9 @@ sub test_body_with_file_schema {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -402,7 +375,6 @@ sub test_body_with_file_schema {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub test_body_with_query_params { sub test_body_with_query_params {
@ -410,16 +382,12 @@ sub test_body_with_query_params {
# verify the required parameter 'query' is set # verify the required parameter 'query' is set
unless (exists $args{'query'}) { unless (exists $args{'query'}) {
croak( croak("Missing the required parameter 'query' when calling test_body_with_query_params");
"Missing the required parameter 'query' when calling test_body_with_query_params"
);
} }
# verify the required parameter 'user' is set # verify the required parameter 'user' is set
unless (exists $args{'user'}) { unless (exists $args{'user'}) {
croak( croak("Missing the required parameter 'user' when calling test_body_with_query_params");
"Missing the required parameter 'user' when calling test_body_with_query_params"
);
} }
# parse inputs # parse inputs
@ -435,17 +403,14 @@ sub test_body_with_query_params {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
$self->{api_client}->select_header_content_type('application/json');
# query params # query params
if ( exists $args{'query'}) { if ( exists $args{'query'}) {
$query_params->{'query'} = $query_params->{'query'} = $self->{api_client}->to_query_value($args{'query'});
$self->{api_client}->to_query_value( $args{'query'} );
} }
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'user'}) { if ( exists $args{'user'}) {
$_body_data = $args{'user'}; $_body_data = $args{'user'};
@ -455,10 +420,9 @@ sub test_body_with_query_params {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -482,7 +446,6 @@ sub test_body_with_query_params {
returns => 'Client', returns => 'Client',
}; };
} }
# @return Client # @return Client
# #
sub test_client_model { sub test_client_model {
@ -490,9 +453,7 @@ sub test_client_model {
# verify the required parameter 'client' is set # verify the required parameter 'client' is set
unless (exists $args{'client'}) { unless (exists $args{'client'}) {
croak( croak("Missing the required parameter 'client' when calling test_client_model");
"Missing the required parameter 'client' when calling test_client_model"
);
} }
# parse inputs # parse inputs
@ -504,16 +465,13 @@ sub test_client_model {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = my $_header_accept = $self->{api_client}->select_header_accept('application/json');
$self->{api_client}->select_header_accept('application/json');
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
$self->{api_client}->select_header_content_type('application/json');
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'client'}) { if ( exists $args{'client'}) {
$_body_data = $args{'client'}; $_body_data = $args{'client'};
@ -523,15 +481,13 @@ sub test_client_model {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('Client', $response);
$self->{api_client}->deserialize( 'Client', $response );
return $_response_object; return $_response_object;
} }
@ -628,13 +584,11 @@ sub test_client_model {
}, },
}; };
__PACKAGE__->method_documentation->{ 'test_endpoint_parameters' } = { __PACKAGE__->method_documentation->{ 'test_endpoint_parameters' } = {
summary => summary => 'Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ',
'Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ',
params => $params, params => $params,
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub test_endpoint_parameters { sub test_endpoint_parameters {
@ -642,30 +596,22 @@ sub test_endpoint_parameters {
# verify the required parameter 'number' is set # verify the required parameter 'number' is set
unless (exists $args{'number'}) { unless (exists $args{'number'}) {
croak( croak("Missing the required parameter 'number' when calling test_endpoint_parameters");
"Missing the required parameter 'number' when calling test_endpoint_parameters"
);
} }
# verify the required parameter 'double' is set # verify the required parameter 'double' is set
unless (exists $args{'double'}) { unless (exists $args{'double'}) {
croak( croak("Missing the required parameter 'double' when calling test_endpoint_parameters");
"Missing the required parameter 'double' when calling test_endpoint_parameters"
);
} }
# verify the required parameter 'pattern_without_delimiter' is set # verify the required parameter 'pattern_without_delimiter' is set
unless (exists $args{'pattern_without_delimiter'}) { unless (exists $args{'pattern_without_delimiter'}) {
croak( croak("Missing the required parameter 'pattern_without_delimiter' when calling test_endpoint_parameters");
"Missing the required parameter 'pattern_without_delimiter' when calling test_endpoint_parameters"
);
} }
# verify the required parameter 'byte' is set # verify the required parameter 'byte' is set
unless (exists $args{'byte'}) { unless (exists $args{'byte'}) {
croak( croak("Missing the required parameter 'byte' when calling test_endpoint_parameters");
"Missing the required parameter 'byte' when calling test_endpoint_parameters"
);
} }
# parse inputs # parse inputs
@ -681,61 +627,51 @@ sub test_endpoint_parameters {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $self->{api_client} $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
->select_header_content_type('application/x-www-form-urlencoded');
# form params # form params
if ( exists $args{'integer'} ) { if ( exists $args{'integer'} ) {
$form_params->{'integer'} = $form_params->{'integer'} = $self->{api_client}->to_form_value($args{'integer'});
$self->{api_client}->to_form_value( $args{'integer'} );
} }
# form params # form params
if ( exists $args{'int32'} ) { if ( exists $args{'int32'} ) {
$form_params->{'int32'} = $form_params->{'int32'} = $self->{api_client}->to_form_value($args{'int32'});
$self->{api_client}->to_form_value( $args{'int32'} );
} }
# form params # form params
if ( exists $args{'int64'} ) { if ( exists $args{'int64'} ) {
$form_params->{'int64'} = $form_params->{'int64'} = $self->{api_client}->to_form_value($args{'int64'});
$self->{api_client}->to_form_value( $args{'int64'} );
} }
# form params # form params
if ( exists $args{'number'} ) { if ( exists $args{'number'} ) {
$form_params->{'number'} = $form_params->{'number'} = $self->{api_client}->to_form_value($args{'number'});
$self->{api_client}->to_form_value( $args{'number'} );
} }
# form params # form params
if ( exists $args{'float'} ) { if ( exists $args{'float'} ) {
$form_params->{'float'} = $form_params->{'float'} = $self->{api_client}->to_form_value($args{'float'});
$self->{api_client}->to_form_value( $args{'float'} );
} }
# form params # form params
if ( exists $args{'double'} ) { if ( exists $args{'double'} ) {
$form_params->{'double'} = $form_params->{'double'} = $self->{api_client}->to_form_value($args{'double'});
$self->{api_client}->to_form_value( $args{'double'} );
} }
# form params # form params
if ( exists $args{'string'} ) { if ( exists $args{'string'} ) {
$form_params->{'string'} = $form_params->{'string'} = $self->{api_client}->to_form_value($args{'string'});
$self->{api_client}->to_form_value( $args{'string'} );
} }
# form params # form params
if ( exists $args{'pattern_without_delimiter'} ) { if ( exists $args{'pattern_without_delimiter'} ) {
$form_params->{'pattern_without_delimiter'} = $self->{api_client} $form_params->{'pattern_without_delimiter'} = $self->{api_client}->to_form_value($args{'pattern_without_delimiter'});
->to_form_value( $args{'pattern_without_delimiter'} );
} }
# form params # form params
if ( exists $args{'byte'} ) { if ( exists $args{'byte'} ) {
$form_params->{'byte'} = $form_params->{'byte'} = $self->{api_client}->to_form_value($args{'byte'});
$self->{api_client}->to_form_value( $args{'byte'} );
} }
# form params # form params
@ -746,38 +682,32 @@ sub test_endpoint_parameters {
# form params # form params
if ( exists $args{'date'} ) { if ( exists $args{'date'} ) {
$form_params->{'date'} = $form_params->{'date'} = $self->{api_client}->to_form_value($args{'date'});
$self->{api_client}->to_form_value( $args{'date'} );
} }
# form params # form params
if ( exists $args{'date_time'} ) { if ( exists $args{'date_time'} ) {
$form_params->{'dateTime'} = $form_params->{'dateTime'} = $self->{api_client}->to_form_value($args{'date_time'});
$self->{api_client}->to_form_value( $args{'date_time'} );
} }
# form params # form params
if ( exists $args{'password'} ) { if ( exists $args{'password'} ) {
$form_params->{'password'} = $form_params->{'password'} = $self->{api_client}->to_form_value($args{'password'});
$self->{api_client}->to_form_value( $args{'password'} );
} }
# form params # form params
if ( exists $args{'callback'} ) { if ( exists $args{'callback'} ) {
$form_params->{'callback'} = $form_params->{'callback'} = $self->{api_client}->to_form_value($args{'callback'});
$self->{api_client}->to_form_value( $args{'callback'} );
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(http_basic_test )]; my $auth_settings = [qw(http_basic_test )];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -843,7 +773,6 @@ sub test_endpoint_parameters {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub test_enum_parameters { sub test_enum_parameters {
@ -862,67 +791,182 @@ sub test_enum_parameters {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $self->{api_client} $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
->select_header_content_type('application/x-www-form-urlencoded');
# query params # query params
if ( exists $args{'enum_query_string_array'}) { if ( exists $args{'enum_query_string_array'}) {
$query_params->{'enum_query_string_array'} = $self->{api_client} $query_params->{'enum_query_string_array'} = $self->{api_client}->to_query_value($args{'enum_query_string_array'});
->to_query_value( $args{'enum_query_string_array'} );
} }
# query params # query params
if ( exists $args{'enum_query_string'}) { if ( exists $args{'enum_query_string'}) {
$query_params->{'enum_query_string'} = $query_params->{'enum_query_string'} = $self->{api_client}->to_query_value($args{'enum_query_string'});
$self->{api_client}->to_query_value( $args{'enum_query_string'} );
} }
# query params # query params
if ( exists $args{'enum_query_integer'}) { if ( exists $args{'enum_query_integer'}) {
$query_params->{'enum_query_integer'} = $query_params->{'enum_query_integer'} = $self->{api_client}->to_query_value($args{'enum_query_integer'});
$self->{api_client}->to_query_value( $args{'enum_query_integer'} );
} }
# query params # query params
if ( exists $args{'enum_query_double'}) { if ( exists $args{'enum_query_double'}) {
$query_params->{'enum_query_double'} = $query_params->{'enum_query_double'} = $self->{api_client}->to_query_value($args{'enum_query_double'});
$self->{api_client}->to_query_value( $args{'enum_query_double'} );
} }
# header params # header params
if ( exists $args{'enum_header_string_array'}) { if ( exists $args{'enum_header_string_array'}) {
$header_params->{'enum_header_string_array'} = $self->{api_client} $header_params->{'enum_header_string_array'} = $self->{api_client}->to_header_value($args{'enum_header_string_array'});
->to_header_value( $args{'enum_header_string_array'} );
} }
# header params # header params
if ( exists $args{'enum_header_string'}) { if ( exists $args{'enum_header_string'}) {
$header_params->{'enum_header_string'} = $header_params->{'enum_header_string'} = $self->{api_client}->to_header_value($args{'enum_header_string'});
$self->{api_client}->to_header_value( $args{'enum_header_string'} );
} }
# form params # form params
if ( exists $args{'enum_form_string_array'} ) { if ( exists $args{'enum_form_string_array'} ) {
$form_params->{'enum_form_string_array'} = $form_params->{'enum_form_string_array'} = $self->{api_client}->to_form_value($args{'enum_form_string_array'});
$self->{api_client}->to_form_value( $args{'enum_form_string_array'} );
} }
# form params # form params
if ( exists $args{'enum_form_string'} ) { if ( exists $args{'enum_form_string'} ) {
$form_params->{'enum_form_string'} = $form_params->{'enum_form_string'} = $self->{api_client}->to_form_value($args{'enum_form_string'});
$self->{api_client}->to_form_value( $args{'enum_form_string'} );
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
); return;
}
#
# test_group_parameters
#
# Fake endpoint to test group parameters (optional)
#
# @param int $required_string_group Required String in group parameters (required)
# @param boolean $required_boolean_group Required Boolean in group parameters (required)
# @param int $required_int64_group Required Integer in group parameters (required)
# @param int $string_group String in group parameters (optional)
# @param boolean $boolean_group Boolean in group parameters (optional)
# @param int $int64_group Integer in group parameters (optional)
{
my $params = {
'required_string_group' => {
data_type => 'int',
description => 'Required String in group parameters',
required => '1',
},
'required_boolean_group' => {
data_type => 'boolean',
description => 'Required Boolean in group parameters',
required => '1',
},
'required_int64_group' => {
data_type => 'int',
description => 'Required Integer in group parameters',
required => '1',
},
'string_group' => {
data_type => 'int',
description => 'String in group parameters',
required => '0',
},
'boolean_group' => {
data_type => 'boolean',
description => 'Boolean in group parameters',
required => '0',
},
'int64_group' => {
data_type => 'int',
description => 'Integer in group parameters',
required => '0',
},
};
__PACKAGE__->method_documentation->{ 'test_group_parameters' } = {
summary => 'Fake endpoint to test group parameters (optional)',
params => $params,
returns => undef,
};
}
# @return void
#
sub test_group_parameters {
my ($self, %args) = @_;
# verify the required parameter 'required_string_group' is set
unless (exists $args{'required_string_group'}) {
croak("Missing the required parameter 'required_string_group' when calling test_group_parameters");
}
# verify the required parameter 'required_boolean_group' is set
unless (exists $args{'required_boolean_group'}) {
croak("Missing the required parameter 'required_boolean_group' when calling test_group_parameters");
}
# verify the required parameter 'required_int64_group' is set
unless (exists $args{'required_int64_group'}) {
croak("Missing the required parameter 'required_int64_group' when calling test_group_parameters");
}
# parse inputs
my $_resource_path = '/fake';
my $_method = 'DELETE';
my $query_params = {};
my $header_params = {};
my $form_params = {};
# 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client}->select_header_accept();
if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept;
}
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
# query params
if ( exists $args{'required_string_group'}) {
$query_params->{'required_string_group'} = $self->{api_client}->to_query_value($args{'required_string_group'});
}
# query params
if ( exists $args{'required_int64_group'}) {
$query_params->{'required_int64_group'} = $self->{api_client}->to_query_value($args{'required_int64_group'});
}
# query params
if ( exists $args{'string_group'}) {
$query_params->{'string_group'} = $self->{api_client}->to_query_value($args{'string_group'});
}
# query params
if ( exists $args{'int64_group'}) {
$query_params->{'int64_group'} = $self->{api_client}->to_query_value($args{'int64_group'});
}
# header params
if ( exists $args{'required_boolean_group'}) {
$header_params->{'required_boolean_group'} = $self->{api_client}->to_header_value($args{'required_boolean_group'});
}
# header params
if ( exists $args{'boolean_group'}) {
$header_params->{'boolean_group'} = $self->{api_client}->to_header_value($args{'boolean_group'});
}
my $_body_data;
# authentication setting, if any
my $auth_settings = [qw()];
# make the API Call
$self->{api_client}->call_api($_resource_path, $_method,
$query_params, $form_params,
$header_params, $_body_data, $auth_settings);
return; return;
} }
@ -946,7 +990,6 @@ sub test_enum_parameters {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub test_inline_additional_properties { sub test_inline_additional_properties {
@ -954,9 +997,7 @@ sub test_inline_additional_properties {
# verify the required parameter 'request_body' is set # verify the required parameter 'request_body' is set
unless (exists $args{'request_body'}) { unless (exists $args{'request_body'}) {
croak( croak("Missing the required parameter 'request_body' when calling test_inline_additional_properties");
"Missing the required parameter 'request_body' when calling test_inline_additional_properties"
);
} }
# parse inputs # parse inputs
@ -972,11 +1013,9 @@ sub test_inline_additional_properties {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
$self->{api_client}->select_header_content_type('application/json');
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'request_body'}) { if ( exists $args{'request_body'}) {
$_body_data = $args{'request_body'}; $_body_data = $args{'request_body'};
@ -986,10 +1025,9 @@ sub test_inline_additional_properties {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -1019,7 +1057,6 @@ sub test_inline_additional_properties {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub test_json_form_data { sub test_json_form_data {
@ -1027,16 +1064,12 @@ sub test_json_form_data {
# verify the required parameter 'param' is set # verify the required parameter 'param' is set
unless (exists $args{'param'}) { unless (exists $args{'param'}) {
croak( croak("Missing the required parameter 'param' when calling test_json_form_data");
"Missing the required parameter 'param' when calling test_json_form_data"
);
} }
# verify the required parameter 'param2' is set # verify the required parameter 'param2' is set
unless (exists $args{'param2'}) { unless (exists $args{'param2'}) {
croak( croak("Missing the required parameter 'param2' when calling test_json_form_data");
"Missing the required parameter 'param2' when calling test_json_form_data"
);
} }
# parse inputs # parse inputs
@ -1052,31 +1085,26 @@ sub test_json_form_data {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $self->{api_client} $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
->select_header_content_type('application/x-www-form-urlencoded');
# form params # form params
if ( exists $args{'param'} ) { if ( exists $args{'param'} ) {
$form_params->{'param'} = $form_params->{'param'} = $self->{api_client}->to_form_value($args{'param'});
$self->{api_client}->to_form_value( $args{'param'} );
} }
# form params # form params
if ( exists $args{'param2'} ) { if ( exists $args{'param2'} ) {
$form_params->{'param2'} = $form_params->{'param2'} = $self->{api_client}->to_form_value($args{'param2'});
$self->{api_client}->to_form_value( $args{'param2'} );
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -40,8 +39,7 @@ sub new {
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) { if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0]; $api_client = $_[0];
} } else {
else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_); $api_client = WWW::OpenAPIClient::ApiClient->new(@_);
} }
@ -49,6 +47,7 @@ sub new {
} }
# #
# test_classname # test_classname
# #
@ -69,7 +68,6 @@ sub new {
returns => 'Client', returns => 'Client',
}; };
} }
# @return Client # @return Client
# #
sub test_classname { sub test_classname {
@ -77,9 +75,7 @@ sub test_classname {
# verify the required parameter 'client' is set # verify the required parameter 'client' is set
unless (exists $args{'client'}) { unless (exists $args{'client'}) {
croak( croak("Missing the required parameter 'client' when calling test_classname");
"Missing the required parameter 'client' when calling test_classname"
);
} }
# parse inputs # parse inputs
@ -91,16 +87,13 @@ sub test_classname {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = my $_header_accept = $self->{api_client}->select_header_accept('application/json');
$self->{api_client}->select_header_accept('application/json');
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
$self->{api_client}->select_header_content_type('application/json');
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'client'}) { if ( exists $args{'client'}) {
$_body_data = $args{'client'}; $_body_data = $args{'client'};
@ -110,15 +103,13 @@ sub test_classname {
my $auth_settings = [qw(api_key_query )]; my $auth_settings = [qw(api_key_query )];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('Client', $response);
$self->{api_client}->deserialize( 'Client', $response );
return $_response_object; return $_response_object;
} }

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'AdditionalPropertiesClass', class => 'AdditionalPropertiesClass',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'map_property' => { 'map_property' => {
datatype => 'HASH[string,string]', datatype => 'HASH[string,string]',
base_name => 'map_property', base_name => 'map_property',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'map_property' => 'HASH[string,string]', 'map_property' => 'HASH[string,string]',
'map_of_map_property' => 'HASH[string,HASH[string,string]]' 'map_of_map_property' => 'HASH[string,HASH[string,string]]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'map_property' => 'map_property', 'map_property' => 'map_property',
'map_of_map_property' => 'map_of_map_property' 'map_of_map_property' => 'map_of_map_property'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -0,0 +1,231 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::Adult;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use WWW::OpenAPIClient::Object::Child;
use WWW::OpenAPIClient::Object::Human;
use WWW::OpenAPIClient::Object::Person;
use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Person", "WWW::OpenAPIClient::Object::Human");
#
#A representation of an adult
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
# initialize parent object Person
$self->WWW::OpenAPIClient::Object::Person::init(%args);
# initialize parent object Human
$self->WWW::OpenAPIClient::Object::Human::init(%args);
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
# call Person to_hash and then combine hash
$_hash = { %$_hash, %$self->WWW::OpenAPIClient::Object::Person::to_hash };
# call Human to_hash and then combine hash
$_hash = { %$_hash, %$self->WWW::OpenAPIClient::Object::Human::to_hash };
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
# combine parent (Person) TO_JSON
$_data = { %$_data, %$self->WWW::OpenAPIClient::Object::Person::TO_JSON };
# combine parent (Human) TO_JSON
$_data = { %$_data, %$self->WWW::OpenAPIClient::Object::Human::TO_JSON };
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
# call parent (Person) from_hash
$self->WWW::OpenAPIClient::Object::Person::from_hash($hash);
# call parent (Human) from_hash
$self->WWW::OpenAPIClient::Object::Human::from_hash($hash);
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => 'A representation of an adult',
class => 'Adult',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'duplicated_optional' => {
datatype => 'int',
base_name => 'duplicated_optional',
description => '',
format => '',
read_only => '',
},
'duplicated_required' => {
datatype => 'int',
base_name => 'duplicated_required',
description => '',
format => '',
read_only => '',
},
'children' => {
datatype => 'ARRAY[Child]',
base_name => 'children',
description => '',
format => '',
read_only => '',
},
'adult_required' => {
datatype => 'boolean',
base_name => 'adult_required',
description => '',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'duplicated_optional' => 'int',
'duplicated_required' => 'int',
'children' => 'ARRAY[Child]',
'adult_required' => 'boolean'
} );
__PACKAGE__->attribute_map( {
'duplicated_optional' => 'duplicated_optional',
'duplicated_required' => 'duplicated_required',
'children' => 'children',
'adult_required' => 'adult_required'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Animal', class => 'Animal',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'class_name' => { 'class_name' => {
datatype => 'string', datatype => 'string',
base_name => 'className', base_name => 'className',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'class_name' => 'string', 'class_name' => 'string',
'color' => 'string' 'color' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'class_name' => 'className', 'class_name' => 'className',
'color' => 'color' 'color' => 'color'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'ApiResponse', class => 'ApiResponse',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'code' => { 'code' => {
datatype => 'int', datatype => 'int',
base_name => 'code', base_name => 'code',
@ -172,25 +175,21 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'code' => 'int', 'code' => 'int',
'type' => 'string', 'type' => 'string',
'message' => 'string' 'message' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'code' => 'code', 'code' => 'code',
'type' => 'type', 'type' => 'type',
'message' => 'message' 'message' => 'message'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'ArrayOfArrayOfNumberOnly', class => 'ArrayOfArrayOfNumberOnly',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'array_array_number' => { 'array_array_number' => {
datatype => 'ARRAY[ARRAY[double]]', datatype => 'ARRAY[ARRAY[double]]',
base_name => 'ArrayArrayNumber', base_name => 'ArrayArrayNumber',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'array_array_number' => 'ARRAY[ARRAY[double]]' 'array_array_number' => 'ARRAY[ARRAY[double]]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'array_array_number' => 'ArrayArrayNumber' 'array_array_number' => 'ArrayArrayNumber'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'ArrayOfNumberOnly', class => 'ArrayOfNumberOnly',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'array_number' => { 'array_number' => {
datatype => 'ARRAY[double]', datatype => 'ARRAY[double]',
base_name => 'ArrayNumber', base_name => 'ArrayNumber',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'array_number' => 'ARRAY[double]' 'array_number' => 'ARRAY[double]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'array_number' => 'ArrayNumber' 'array_number' => 'ArrayNumber'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -66,23 +65,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -94,6 +104,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -111,15 +122,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -133,26 +139,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'ArrayTest', class => 'ArrayTest',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'array_of_string' => { 'array_of_string' => {
datatype => 'ARRAY[string]', datatype => 'ARRAY[string]',
base_name => 'array_of_string', base_name => 'array_of_string',
@ -174,25 +176,21 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'array_of_string' => 'ARRAY[string]', 'array_of_string' => 'ARRAY[string]',
'array_array_of_integer' => 'ARRAY[ARRAY[int]]', 'array_array_of_integer' => 'ARRAY[ARRAY[int]]',
'array_array_of_model' => 'ARRAY[ARRAY[ReadOnlyFirst]]' 'array_array_of_model' => 'ARRAY[ARRAY[ReadOnlyFirst]]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'array_of_string' => 'array_of_string', 'array_of_string' => 'array_of_string',
'array_array_of_integer' => 'array_array_of_integer', 'array_array_of_integer' => 'array_array_of_integer',
'array_array_of_model' => 'array_array_of_model' 'array_array_of_model' => 'array_array_of_model'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Capitalization', class => 'Capitalization',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'small_camel' => { 'small_camel' => {
datatype => 'string', datatype => 'string',
base_name => 'smallCamel', base_name => 'smallCamel',
@ -193,31 +196,27 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'small_camel' => 'string', 'small_camel' => 'string',
'capital_camel' => 'string', 'capital_camel' => 'string',
'small_snake' => 'string', 'small_snake' => 'string',
'capital_snake' => 'string', 'capital_snake' => 'string',
'sca_eth_flow_points' => 'string', 'sca_eth_flow_points' => 'string',
'att_name' => 'string' 'att_name' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'small_camel' => 'smallCamel', 'small_camel' => 'smallCamel',
'capital_camel' => 'CapitalCamel', 'capital_camel' => 'CapitalCamel',
'small_snake' => 'small_Snake', 'small_snake' => 'small_Snake',
'capital_snake' => 'Capital_Snake', 'capital_snake' => 'Capital_Snake',
'sca_eth_flow_points' => 'SCA_ETH_Flow_Points', 'sca_eth_flow_points' => 'SCA_ETH_Flow_Points',
'att_name' => 'ATT_NAME' 'att_name' => 'ATT_NAME'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -33,7 +32,7 @@ use DateTime;
use WWW::OpenAPIClient::Object::Animal; use WWW::OpenAPIClient::Object::Animal;
use base ( "Class::Accessor", "Class::Data::Inheritable" ); use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Animal");
# #
# #
@ -66,23 +65,40 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
# initialize parent object Animal
$self->WWW::OpenAPIClient::Object::Animal::init(%args);
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
# call Animal to_hash and then combine hash
$_hash = { %$_hash, %$self->WWW::OpenAPIClient::Object::Animal::to_hash };
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -94,6 +110,10 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
# combine parent (Animal) TO_JSON
$_data = { %$_data, %$self->WWW::OpenAPIClient::Object::Animal::TO_JSON };
return $_data; return $_data;
} }
@ -111,18 +131,16 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
# call parent (Animal) from_hash
$self->WWW::OpenAPIClient::Object::Animal::from_hash($hash);
return $self; return $self;
} }
@ -133,40 +151,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Cat', class => 'Cat',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'class_name' => {
datatype => 'string',
base_name => 'className',
description => '',
format => '',
read_only => '',
},
'color' => {
datatype => 'string',
base_name => 'color',
description => '',
format => '',
read_only => '',
},
'declawed' => { 'declawed' => {
datatype => 'boolean', datatype => 'boolean',
base_name => 'declawed', base_name => 'declawed',
@ -174,25 +174,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'class_name' => 'string',
'color' => 'string',
'declawed' => 'boolean' 'declawed' => 'boolean'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'class_name' => 'className',
'color' => 'color',
'declawed' => 'declawed' 'declawed' => 'declawed'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Category', class => 'Category',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'id' => { 'id' => {
datatype => 'int', datatype => 'int',
base_name => 'id', base_name => 'id',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'id' => 'int', 'id' => 'int',
'name' => 'string' 'name' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'id' => 'id', 'id' => 'id',
'name' => 'name' 'name' => 'name'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -0,0 +1,199 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::Child;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use WWW::OpenAPIClient::Object::Person;
use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Person");
#
#A representation of a child
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
# initialize parent object Person
$self->WWW::OpenAPIClient::Object::Person::init(%args);
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
# call Person to_hash and then combine hash
$_hash = { %$_hash, %$self->WWW::OpenAPIClient::Object::Person::to_hash };
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
# combine parent (Person) TO_JSON
$_data = { %$_data, %$self->WWW::OpenAPIClient::Object::Person::TO_JSON };
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
# call parent (Person) from_hash
$self->WWW::OpenAPIClient::Object::Person::from_hash($hash);
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => 'A representation of a child',
class => 'Child',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'age' => {
datatype => 'int',
base_name => 'age',
description => '',
format => '',
read_only => '',
},
'first_name' => {
datatype => 'string',
base_name => 'firstName',
description => '',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'age' => 'int',
'first_name' => 'string'
} );
__PACKAGE__->attribute_map( {
'age' => 'age',
'first_name' => 'firstName'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,27 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => __PACKAGE__->class_documentation({description => 'Model for testing model with \"_class\" property',
'Model for testing model with \"_class\" property',
class => 'ClassModel', class => 'ClassModel',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'_class' => { '_class' => {
datatype => 'string', datatype => 'string',
base_name => '_class', base_name => '_class',
@ -159,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'_class' => 'string' '_class' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'_class' => '_class' '_class' => '_class'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Client', class => 'Client',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'client' => { 'client' => {
datatype => 'string', datatype => 'string',
base_name => 'client', base_name => 'client',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'client' => 'string' 'client' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'client' => 'client' 'client' => 'client'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -33,7 +32,7 @@ use DateTime;
use WWW::OpenAPIClient::Object::Animal; use WWW::OpenAPIClient::Object::Animal;
use base ( "Class::Accessor", "Class::Data::Inheritable" ); use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Animal");
# #
# #
@ -66,23 +65,40 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
# initialize parent object Animal
$self->WWW::OpenAPIClient::Object::Animal::init(%args);
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
# call Animal to_hash and then combine hash
$_hash = { %$_hash, %$self->WWW::OpenAPIClient::Object::Animal::to_hash };
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -94,6 +110,10 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
# combine parent (Animal) TO_JSON
$_data = { %$_data, %$self->WWW::OpenAPIClient::Object::Animal::TO_JSON };
return $_data; return $_data;
} }
@ -111,18 +131,16 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
# call parent (Animal) from_hash
$self->WWW::OpenAPIClient::Object::Animal::from_hash($hash);
return $self; return $self;
} }
@ -133,40 +151,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Dog', class => 'Dog',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'class_name' => {
datatype => 'string',
base_name => 'className',
description => '',
format => '',
read_only => '',
},
'color' => {
datatype => 'string',
base_name => 'color',
description => '',
format => '',
read_only => '',
},
'breed' => { 'breed' => {
datatype => 'string', datatype => 'string',
base_name => 'breed', base_name => 'breed',
@ -174,25 +174,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'class_name' => 'string',
'color' => 'string',
'breed' => 'string' 'breed' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'class_name' => 'className',
'color' => 'color',
'breed' => 'breed' 'breed' => 'breed'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'EnumArrays', class => 'EnumArrays',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'just_symbol' => { 'just_symbol' => {
datatype => 'string', datatype => 'string',
base_name => 'just_symbol', base_name => 'just_symbol',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'just_symbol' => 'string', 'just_symbol' => 'string',
'array_enum' => 'ARRAY[string]' 'array_enum' => 'ARRAY[string]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'just_symbol' => 'just_symbol', 'just_symbol' => 'just_symbol',
'array_enum' => 'array_enum' 'array_enum' => 'array_enum'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,38 +138,33 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'EnumClass', class => 'EnumClass',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( {} ); __PACKAGE__->method_documentation({
});
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -66,23 +65,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -94,6 +104,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -111,15 +122,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -133,26 +139,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'EnumTest', class => 'EnumTest',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'enum_string' => { 'enum_string' => {
datatype => 'string', datatype => 'string',
base_name => 'enum_string', base_name => 'enum_string',
@ -188,29 +190,25 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'enum_string' => 'string', 'enum_string' => 'string',
'enum_string_required' => 'string', 'enum_string_required' => 'string',
'enum_integer' => 'int', 'enum_integer' => 'int',
'enum_number' => 'double', 'enum_number' => 'double',
'outer_enum' => 'OuterEnum' 'outer_enum' => 'OuterEnum'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'enum_string' => 'enum_string', 'enum_string' => 'enum_string',
'enum_string_required' => 'enum_string_required', 'enum_string_required' => 'enum_string_required',
'enum_integer' => 'enum_integer', 'enum_integer' => 'enum_integer',
'enum_number' => 'enum_number', 'enum_number' => 'enum_number',
'outer_enum' => 'outerEnum' 'outer_enum' => 'outerEnum'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => 'Must be named `File` for test.', __PACKAGE__->class_documentation({description => 'Must be named `File` for test.',
class => 'File', class => 'File',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'source_uri' => { 'source_uri' => {
datatype => 'string', datatype => 'string',
base_name => 'sourceURI', base_name => 'sourceURI',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'source_uri' => 'string' 'source_uri' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'source_uri' => 'sourceURI' 'source_uri' => 'sourceURI'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -66,23 +65,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -94,6 +104,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -111,15 +122,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -133,26 +139,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'FileSchemaTestClass', class => 'FileSchemaTestClass',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'file' => { 'file' => {
datatype => 'File', datatype => 'File',
base_name => 'file', base_name => 'file',
@ -167,23 +169,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'file' => 'File', 'file' => 'File',
'files' => 'ARRAY[File]' 'files' => 'ARRAY[File]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'file' => 'file', 'file' => 'file',
'files' => 'files' 'files' => 'files'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -0,0 +1,177 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::Foo;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'Foo',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'bar' => {
datatype => 'string',
base_name => 'bar',
description => '',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'bar' => 'string'
} );
__PACKAGE__->attribute_map( {
'bar' => 'bar'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'FormatTest', class => 'FormatTest',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'integer' => { 'integer' => {
datatype => 'int', datatype => 'int',
base_name => 'integer', base_name => 'integer',
@ -242,11 +245,9 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'integer' => 'int', 'integer' => 'int',
'int32' => 'int', 'int32' => 'int',
'int64' => 'int', 'int64' => 'int',
@ -260,11 +261,9 @@ __PACKAGE__->openapi_types(
'date_time' => 'DateTime', 'date_time' => 'DateTime',
'uuid' => 'string', 'uuid' => 'string',
'password' => 'string' 'password' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'integer' => 'integer', 'integer' => 'integer',
'int32' => 'int32', 'int32' => 'int32',
'int64' => 'int64', 'int64' => 'int64',
@ -278,9 +277,9 @@ __PACKAGE__->attribute_map(
'date_time' => 'dateTime', 'date_time' => 'dateTime',
'uuid' => 'uuid', 'uuid' => 'uuid',
'password' => 'password' 'password' => 'password'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'HasOnlyReadOnly', class => 'HasOnlyReadOnly',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'bar' => { 'bar' => {
datatype => 'string', datatype => 'string',
base_name => 'bar', base_name => 'bar',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'bar' => 'string', 'bar' => 'string',
'foo' => 'string' 'foo' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'bar' => 'bar', 'bar' => 'bar',
'foo' => 'foo' 'foo' => 'foo'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -0,0 +1,186 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::Human;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'Human',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'___type' => {
datatype => 'string',
base_name => '$_type',
description => '',
format => '',
read_only => '',
},
'body' => {
datatype => 'string',
base_name => 'body',
description => '',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'___type' => 'string',
'body' => 'string'
} );
__PACKAGE__->attribute_map( {
'___type' => '$_type',
'body' => 'body'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -0,0 +1,186 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::InlineObject;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'InlineObject',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'name' => {
datatype => 'string',
base_name => 'name',
description => 'Updated name of the pet',
format => '',
read_only => '',
},
'status' => {
datatype => 'string',
base_name => 'status',
description => 'Updated status of the pet',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'name' => 'string',
'status' => 'string'
} );
__PACKAGE__->attribute_map( {
'name' => 'name',
'status' => 'status'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -0,0 +1,186 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::InlineObject1;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'InlineObject1',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'additional_metadata' => {
datatype => 'string',
base_name => 'additionalMetadata',
description => 'Additional data to pass to server',
format => '',
read_only => '',
},
'file' => {
datatype => 'string',
base_name => 'file',
description => 'file to upload',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'additional_metadata' => 'string',
'file' => 'string'
} );
__PACKAGE__->attribute_map( {
'additional_metadata' => 'additionalMetadata',
'file' => 'file'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -0,0 +1,186 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::InlineObject2;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'InlineObject2',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'enum_form_string_array' => {
datatype => 'ARRAY[string]',
base_name => 'enum_form_string_array',
description => 'Form parameter enum test (string array)',
format => '',
read_only => '',
},
'enum_form_string' => {
datatype => 'string',
base_name => 'enum_form_string',
description => 'Form parameter enum test (string)',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'enum_form_string_array' => 'ARRAY[string]',
'enum_form_string' => 'string'
} );
__PACKAGE__->attribute_map( {
'enum_form_string_array' => 'enum_form_string_array',
'enum_form_string' => 'enum_form_string'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -0,0 +1,294 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::InlineObject3;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'InlineObject3',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'integer' => {
datatype => 'int',
base_name => 'integer',
description => 'None',
format => '',
read_only => '',
},
'int32' => {
datatype => 'int',
base_name => 'int32',
description => 'None',
format => '',
read_only => '',
},
'int64' => {
datatype => 'int',
base_name => 'int64',
description => 'None',
format => '',
read_only => '',
},
'number' => {
datatype => 'double',
base_name => 'number',
description => 'None',
format => '',
read_only => '',
},
'float' => {
datatype => 'double',
base_name => 'float',
description => 'None',
format => '',
read_only => '',
},
'double' => {
datatype => 'double',
base_name => 'double',
description => 'None',
format => '',
read_only => '',
},
'string' => {
datatype => 'string',
base_name => 'string',
description => 'None',
format => '',
read_only => '',
},
'pattern_without_delimiter' => {
datatype => 'string',
base_name => 'pattern_without_delimiter',
description => 'None',
format => '',
read_only => '',
},
'byte' => {
datatype => 'string',
base_name => 'byte',
description => 'None',
format => '',
read_only => '',
},
'binary' => {
datatype => 'string',
base_name => 'binary',
description => 'None',
format => '',
read_only => '',
},
'date' => {
datatype => 'DateTime',
base_name => 'date',
description => 'None',
format => '',
read_only => '',
},
'date_time' => {
datatype => 'DateTime',
base_name => 'dateTime',
description => 'None',
format => '',
read_only => '',
},
'password' => {
datatype => 'string',
base_name => 'password',
description => 'None',
format => '',
read_only => '',
},
'callback' => {
datatype => 'string',
base_name => 'callback',
description => 'None',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'integer' => 'int',
'int32' => 'int',
'int64' => 'int',
'number' => 'double',
'float' => 'double',
'double' => 'double',
'string' => 'string',
'pattern_without_delimiter' => 'string',
'byte' => 'string',
'binary' => 'string',
'date' => 'DateTime',
'date_time' => 'DateTime',
'password' => 'string',
'callback' => 'string'
} );
__PACKAGE__->attribute_map( {
'integer' => 'integer',
'int32' => 'int32',
'int64' => 'int64',
'number' => 'number',
'float' => 'float',
'double' => 'double',
'string' => 'string',
'pattern_without_delimiter' => 'pattern_without_delimiter',
'byte' => 'byte',
'binary' => 'binary',
'date' => 'date',
'date_time' => 'dateTime',
'password' => 'password',
'callback' => 'callback'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -0,0 +1,186 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::InlineObject4;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'InlineObject4',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'param' => {
datatype => 'string',
base_name => 'param',
description => 'field1',
format => '',
read_only => '',
},
'param2' => {
datatype => 'string',
base_name => 'param2',
description => 'field2',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'param' => 'string',
'param2' => 'string'
} );
__PACKAGE__->attribute_map( {
'param' => 'param',
'param2' => 'param2'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -0,0 +1,186 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::InlineObject5;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'InlineObject5',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'additional_metadata' => {
datatype => 'string',
base_name => 'additionalMetadata',
description => 'Additional data to pass to server',
format => '',
read_only => '',
},
'required_file' => {
datatype => 'string',
base_name => 'requiredFile',
description => 'file to upload',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'additional_metadata' => 'string',
'required_file' => 'string'
} );
__PACKAGE__->attribute_map( {
'additional_metadata' => 'additionalMetadata',
'required_file' => 'requiredFile'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -0,0 +1,178 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::InlineResponseDefault;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use WWW::OpenAPIClient::Object::Foo;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'InlineResponseDefault',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'string' => {
datatype => 'Foo',
base_name => 'string',
description => '',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'string' => 'Foo'
} );
__PACKAGE__->attribute_map( {
'string' => 'string'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'List', class => 'List',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'_123_list' => { '_123_list' => {
datatype => 'string', datatype => 'string',
base_name => '123-list', base_name => '123-list',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'_123_list' => 'string' '_123_list' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'_123_list' => '123-list' '_123_list' => '123-list'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,7 +30,6 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use WWW::OpenAPIClient::Object::StringBooleanMap;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
@ -66,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -94,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -111,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -133,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'MapTest', class => 'MapTest',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'map_map_of_string' => { 'map_map_of_string' => {
datatype => 'HASH[string,HASH[string,string]]', datatype => 'HASH[string,HASH[string,string]]',
base_name => 'map_map_of_string', base_name => 'map_map_of_string',
@ -175,33 +176,29 @@ __PACKAGE__->method_documentation(
read_only => '', read_only => '',
}, },
'indirect_map' => { 'indirect_map' => {
datatype => 'StringBooleanMap', datatype => 'HASH[string,boolean]',
base_name => 'indirect_map', base_name => 'indirect_map',
description => '', description => '',
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'map_map_of_string' => 'HASH[string,HASH[string,string]]', 'map_map_of_string' => 'HASH[string,HASH[string,string]]',
'map_of_enum_string' => 'HASH[string,string]', 'map_of_enum_string' => 'HASH[string,string]',
'direct_map' => 'HASH[string,boolean]', 'direct_map' => 'HASH[string,boolean]',
'indirect_map' => 'StringBooleanMap' 'indirect_map' => 'HASH[string,boolean]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'map_map_of_string' => 'map_map_of_string', 'map_map_of_string' => 'map_map_of_string',
'map_of_enum_string' => 'map_of_enum_string', 'map_of_enum_string' => 'map_of_enum_string',
'direct_map' => 'direct_map', 'direct_map' => 'direct_map',
'indirect_map' => 'indirect_map' 'indirect_map' => 'indirect_map'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -66,23 +65,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -94,6 +104,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -111,15 +122,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -133,26 +139,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'MixedPropertiesAndAdditionalPropertiesClass', class => 'MixedPropertiesAndAdditionalPropertiesClass',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'uuid' => { 'uuid' => {
datatype => 'string', datatype => 'string',
base_name => 'uuid', base_name => 'uuid',
@ -174,25 +176,21 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'uuid' => 'string', 'uuid' => 'string',
'date_time' => 'DateTime', 'date_time' => 'DateTime',
'map' => 'HASH[string,Animal]' 'map' => 'HASH[string,Animal]'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'uuid' => 'uuid', 'uuid' => 'uuid',
'date_time' => 'dateTime', 'date_time' => 'dateTime',
'map' => 'map' 'map' => 'map'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => 'Model for testing model name starting with number', __PACKAGE__->class_documentation({description => 'Model for testing model name starting with number',
class => 'Model200Response', class => 'Model200Response',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'name' => { 'name' => {
datatype => 'int', datatype => 'int',
base_name => 'name', base_name => 'name',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'name' => 'int', 'name' => 'int',
'class' => 'string' 'class' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'name' => 'name', 'name' => 'name',
'class' => 'class' 'class' => 'class'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => 'Model for testing reserved words', __PACKAGE__->class_documentation({description => 'Model for testing reserved words',
class => 'ModelReturn', class => 'ModelReturn',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'return' => { 'return' => {
datatype => 'int', datatype => 'int',
base_name => 'return', base_name => 'return',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'return' => 'int' 'return' => 'int'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'return' => 'return' 'return' => 'return'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => 'Model for testing model name same as property name', __PACKAGE__->class_documentation({description => 'Model for testing model name same as property name',
class => 'Name', class => 'Name',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'name' => { 'name' => {
datatype => 'int', datatype => 'int',
base_name => 'name', base_name => 'name',
@ -179,27 +182,23 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'name' => 'int', 'name' => 'int',
'snake_case' => 'int', 'snake_case' => 'int',
'property' => 'string', 'property' => 'string',
'_123_number' => 'int' '_123_number' => 'int'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'name' => 'name', 'name' => 'name',
'snake_case' => 'snake_case', 'snake_case' => 'snake_case',
'property' => 'property', 'property' => 'property',
'_123_number' => '123Number' '_123_number' => '123Number'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'NumberOnly', class => 'NumberOnly',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'just_number' => { 'just_number' => {
datatype => 'double', datatype => 'double',
base_name => 'JustNumber', base_name => 'JustNumber',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'just_number' => 'double' 'just_number' => 'double'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'just_number' => 'JustNumber' 'just_number' => 'JustNumber'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Order', class => 'Order',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'id' => { 'id' => {
datatype => 'int', datatype => 'int',
base_name => 'id', base_name => 'id',
@ -193,31 +196,27 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'id' => 'int', 'id' => 'int',
'pet_id' => 'int', 'pet_id' => 'int',
'quantity' => 'int', 'quantity' => 'int',
'ship_date' => 'DateTime', 'ship_date' => 'DateTime',
'status' => 'string', 'status' => 'string',
'complete' => 'boolean' 'complete' => 'boolean'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'id' => 'id', 'id' => 'id',
'pet_id' => 'petId', 'pet_id' => 'petId',
'quantity' => 'quantity', 'quantity' => 'quantity',
'ship_date' => 'shipDate', 'ship_date' => 'shipDate',
'status' => 'status', 'status' => 'status',
'complete' => 'complete' 'complete' => 'complete'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'OuterComposite', class => 'OuterComposite',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'my_number' => { 'my_number' => {
datatype => 'double', datatype => 'double',
base_name => 'my_number', base_name => 'my_number',
@ -172,25 +175,21 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'my_number' => 'double', 'my_number' => 'double',
'my_string' => 'string', 'my_string' => 'string',
'my_boolean' => 'boolean' 'my_boolean' => 'boolean'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'my_number' => 'my_number', 'my_number' => 'my_number',
'my_string' => 'my_string', 'my_string' => 'my_string',
'my_boolean' => 'my_boolean' 'my_boolean' => 'my_boolean'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,38 +138,33 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'OuterEnum', class => 'OuterEnum',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( {} ); __PACKAGE__->method_documentation({
});
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -0,0 +1,222 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
package WWW::OpenAPIClient::Object::Person;
require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable");
#
#
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Do not edit the class manually.
# REF: https://openapi-generator.tech
#
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# Do not edit the class manually.
# Ref: https://openapi-generator.tech
#
__PACKAGE__->mk_classdata('attribute_map' => {});
__PACKAGE__->mk_classdata('openapi_types' => {});
__PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {});
# new plain object
sub new {
my ($class, %args) = @_;
my $self = bless {}, $class;
$self->init(%args);
return $self;
}
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash
sub to_hash {
my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
}
# used by JSON for serialization
sub TO_JSON {
my $self = shift;
my $_data = {};
foreach my $_key (keys %{$self->attribute_map}) {
if (defined $self->{$_key}) {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
}
}
return $_data;
}
# from Perl hashref
sub from_hash {
my ($self, $hash) = @_;
# loop through attributes and use openapi_types to deserialize the data
while ( my ($_key, $_type) = each %{$self->openapi_types} ) {
my $_json_attribute = $self->attribute_map->{$_key};
if ($_type =~ /^array\[/i) { # array
my $_subclass = substr($_type, 6, -1);
my @_array = ();
foreach my $_element (@{$hash->{$_json_attribute}}) {
push @_array, $self->_deserialize($_subclass, $_element);
}
$self->{$_key} = \@_array;
} elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
$self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
} else {
$log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
}
}
return $self;
}
# deserialize non-array data
sub _deserialize {
my ($self, $type, $data) = @_;
$log->debugf("deserializing %s with %s",Dumper($data), $type);
if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data));
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
return $data;
} else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data);
}
}
__PACKAGE__->class_documentation({description => '',
class => 'Person',
required => [], # TODO
} );
__PACKAGE__->method_documentation({
'___type' => {
datatype => 'string',
base_name => '$_type',
description => '',
format => '',
read_only => '',
},
'last_name' => {
datatype => 'string',
base_name => 'lastName',
description => '',
format => '',
read_only => '',
},
'first_name' => {
datatype => 'string',
base_name => 'firstName',
description => '',
format => '',
read_only => '',
},
'duplicated_optional' => {
datatype => 'string',
base_name => 'duplicated_optional',
description => '',
format => '',
read_only => '',
},
'duplicated_required' => {
datatype => 'string',
base_name => 'duplicated_required',
description => '',
format => '',
read_only => '',
},
'person_required' => {
datatype => 'DateTime',
base_name => 'person_required',
description => '',
format => '',
read_only => '',
},
});
__PACKAGE__->openapi_types( {
'___type' => 'string',
'last_name' => 'string',
'first_name' => 'string',
'duplicated_optional' => 'string',
'duplicated_required' => 'string',
'person_required' => 'DateTime'
} );
__PACKAGE__->attribute_map( {
'___type' => '$_type',
'last_name' => 'lastName',
'first_name' => 'firstName',
'duplicated_optional' => 'duplicated_optional',
'duplicated_required' => 'duplicated_required',
'person_required' => 'person_required'
} );
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -67,23 +66,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -95,6 +105,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -112,15 +123,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -134,26 +140,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Pet', class => 'Pet',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'id' => { 'id' => {
datatype => 'int', datatype => 'int',
base_name => 'id', base_name => 'id',
@ -196,31 +198,27 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'id' => 'int', 'id' => 'int',
'category' => 'Category', 'category' => 'Category',
'name' => 'string', 'name' => 'string',
'photo_urls' => 'ARRAY[string]', 'photo_urls' => 'ARRAY[string]',
'tags' => 'ARRAY[Tag]', 'tags' => 'ARRAY[Tag]',
'status' => 'string' 'status' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'id' => 'id', 'id' => 'id',
'category' => 'category', 'category' => 'category',
'name' => 'name', 'name' => 'name',
'photo_urls' => 'photoUrls', 'photo_urls' => 'photoUrls',
'tags' => 'tags', 'tags' => 'tags',
'status' => 'status' 'status' => 'status'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'ReadOnlyFirst', class => 'ReadOnlyFirst',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'bar' => { 'bar' => {
datatype => 'string', datatype => 'string',
base_name => 'bar', base_name => 'bar',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'bar' => 'string', 'bar' => 'string',
'baz' => 'string' 'baz' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'bar' => 'bar', 'bar' => 'bar',
'baz' => 'baz' 'baz' => 'baz'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'SpecialModelName', class => 'SpecialModelName',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'__special[property/name]' => { '__special[property/name]' => {
datatype => 'int', datatype => 'int',
base_name => '$special[property.name]', base_name => '$special[property.name]',
@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'__special[property/name]' => 'int' '__special[property/name]' => 'int'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'__special[property/name]' => '$special[property.name]' '__special[property/name]' => '$special[property.name]'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'Tag', class => 'Tag',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'id' => { 'id' => {
datatype => 'int', datatype => 'int',
base_name => 'id', base_name => 'id',
@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'id' => 'int', 'id' => 'int',
'name' => 'string' 'name' => 'string'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'id' => 'id', 'id' => 'id',
'name' => 'name' 'name' => 'name'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -31,6 +30,7 @@ use Log::Any qw($log);
use Date::Parse; use Date::Parse;
use DateTime; use DateTime;
use base ("Class::Accessor", "Class::Data::Inheritable"); use base ("Class::Accessor", "Class::Data::Inheritable");
# #
@ -64,23 +64,34 @@ __PACKAGE__->mk_classdata( 'openapi_types' => {} );
__PACKAGE__->mk_classdata('method_documentation' => {}); __PACKAGE__->mk_classdata('method_documentation' => {});
__PACKAGE__->mk_classdata('class_documentation' => {}); __PACKAGE__->mk_classdata('class_documentation' => {});
# new object # new plain object
sub new { sub new {
my ($class, %args) = @_; my ($class, %args) = @_;
my $self = bless {}, $class; my $self = bless {}, $class;
foreach my $attribute ( keys %{ $class->attribute_map } ) { $self->init(%args);
my $args_key = $class->attribute_map->{$attribute};
$self->$attribute( $args{$args_key} );
}
return $self; return $self;
} }
# initialize the object
sub init
{
my ($self, %args) = @_;
foreach my $attribute (keys %{$self->attribute_map}) {
my $args_key = $self->attribute_map->{$attribute};
$self->$attribute( $args{ $args_key } );
}
}
# return perl hash # return perl hash
sub to_hash { sub to_hash {
return decode_json( JSON->new->convert_blessed->encode(shift) ); my $self = shift;
my $_hash = decode_json(JSON->new->convert_blessed->encode($self));
return $_hash;
} }
# used by JSON for serialization # used by JSON for serialization
@ -92,6 +103,7 @@ sub TO_JSON {
$_data->{$self->attribute_map->{$_key}} = $self->{$_key}; $_data->{$self->attribute_map->{$_key}} = $self->{$_key};
} }
} }
return $_data; return $_data;
} }
@ -109,15 +121,10 @@ sub from_hash {
push @_array, $self->_deserialize($_subclass, $_element); push @_array, $self->_deserialize($_subclass, $_element);
} }
$self->{$_key} = \@_array; $self->{$_key} = \@_array;
} } elsif (exists $hash->{$_json_attribute}) { #hash(model), primitive, datetime
elsif ( exists $hash->{$_json_attribute} ) $self->{$_key} = $self->_deserialize($_type, $hash->{$_json_attribute});
{ #hash(model), primitive, datetime } else {
$self->{$_key} = $log->debugf("Warning: %s (%s) does not exist in input hash\n", $_key, $_json_attribute);
$self->_deserialize( $_type, $hash->{$_json_attribute} );
}
else {
$log->debugf( "Warning: %s (%s) does not exist in input hash\n",
$_key, $_json_attribute );
} }
} }
@ -131,26 +138,22 @@ sub _deserialize {
if ($type eq 'DateTime') { if ($type eq 'DateTime') {
return DateTime->from_epoch(epoch => str2time($data)); return DateTime->from_epoch(epoch => str2time($data));
} } elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
elsif ( grep( /^$type$/, ( 'int', 'double', 'string', 'boolean' ) ) ) {
return $data; return $data;
} } else { # hash(model)
else { # hash(model)
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()"; my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
return $_instance->from_hash($data); return $_instance->from_hash($data);
} }
} }
__PACKAGE__->class_documentation(
{
description => '', __PACKAGE__->class_documentation({description => '',
class => 'User', class => 'User',
required => [], # TODO required => [], # TODO
} } );
);
__PACKAGE__->method_documentation( __PACKAGE__->method_documentation({
{
'id' => { 'id' => {
datatype => 'int', datatype => 'int',
base_name => 'id', base_name => 'id',
@ -207,11 +210,9 @@ __PACKAGE__->method_documentation(
format => '', format => '',
read_only => '', read_only => '',
}, },
} });
);
__PACKAGE__->openapi_types( __PACKAGE__->openapi_types( {
{
'id' => 'int', 'id' => 'int',
'username' => 'string', 'username' => 'string',
'first_name' => 'string', 'first_name' => 'string',
@ -220,11 +221,9 @@ __PACKAGE__->openapi_types(
'password' => 'string', 'password' => 'string',
'phone' => 'string', 'phone' => 'string',
'user_status' => 'int' 'user_status' => 'int'
} } );
);
__PACKAGE__->attribute_map( __PACKAGE__->attribute_map( {
{
'id' => 'id', 'id' => 'id',
'username' => 'username', 'username' => 'username',
'first_name' => 'firstName', 'first_name' => 'firstName',
@ -233,9 +232,9 @@ __PACKAGE__->attribute_map(
'password' => 'password', 'password' => 'password',
'phone' => 'phone', 'phone' => 'phone',
'user_status' => 'userStatus' 'user_status' => 'userStatus'
} } );
);
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map}); __PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -40,8 +39,7 @@ sub new {
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) { if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0]; $api_client = $_[0];
} } else {
else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_); $api_client = WWW::OpenAPIClient::ApiClient->new(@_);
} }
@ -49,6 +47,7 @@ sub new {
} }
# #
# add_pet # add_pet
# #
@ -69,7 +68,6 @@ sub new {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub add_pet { sub add_pet {
@ -93,11 +91,9 @@ sub add_pet {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $self->{api_client} $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
->select_header_content_type( 'application/json', 'application/xml' );
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'pet'}) { if ( exists $args{'pet'}) {
$_body_data = $args{'pet'}; $_body_data = $args{'pet'};
@ -107,10 +103,9 @@ sub add_pet {
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -140,7 +135,6 @@ sub add_pet {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub delete_pet { sub delete_pet {
@ -148,8 +142,7 @@ sub delete_pet {
# verify the required parameter 'pet_id' is set # verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) { unless (exists $args{'pet_id'}) {
croak( croak("Missing the required parameter 'pet_id' when calling delete_pet");
"Missing the required parameter 'pet_id' when calling delete_pet");
} }
# parse inputs # parse inputs
@ -165,13 +158,11 @@ sub delete_pet {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# header params # header params
if ( exists $args{'api_key'}) { if ( exists $args{'api_key'}) {
$header_params->{'api_key'} = $header_params->{'api_key'} = $self->{api_client}->to_header_value($args{'api_key'});
$self->{api_client}->to_header_value( $args{'api_key'} );
} }
# path params # path params
@ -182,15 +173,13 @@ sub delete_pet {
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -204,8 +193,7 @@ sub delete_pet {
my $params = { my $params = {
'status' => { 'status' => {
data_type => 'ARRAY[string]', data_type => 'ARRAY[string]',
description => description => 'Status values that need to be considered for filter',
'Status values that need to be considered for filter',
required => '1', required => '1',
}, },
}; };
@ -215,7 +203,6 @@ sub delete_pet {
returns => 'ARRAY[Pet]', returns => 'ARRAY[Pet]',
}; };
} }
# @return ARRAY[Pet] # @return ARRAY[Pet]
# #
sub find_pets_by_status { sub find_pets_by_status {
@ -223,9 +210,7 @@ sub find_pets_by_status {
# verify the required parameter 'status' is set # verify the required parameter 'status' is set
unless (exists $args{'status'}) { unless (exists $args{'status'}) {
croak( croak("Missing the required parameter 'status' when calling find_pets_by_status");
"Missing the required parameter 'status' when calling find_pets_by_status"
);
} }
# parse inputs # parse inputs
@ -237,35 +222,29 @@ sub find_pets_by_status {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client} my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
->select_header_accept( 'application/xml', 'application/json' );
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# query params # query params
if ( exists $args{'status'}) { if ( exists $args{'status'}) {
$query_params->{'status'} = $query_params->{'status'} = $self->{api_client}->to_query_value($args{'status'});
$self->{api_client}->to_query_value( $args{'status'} );
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
$self->{api_client}->deserialize( 'ARRAY[Pet]', $response );
return $_response_object; return $_response_object;
} }
@ -289,7 +268,6 @@ sub find_pets_by_status {
returns => 'ARRAY[Pet]', returns => 'ARRAY[Pet]',
}; };
} }
# @return ARRAY[Pet] # @return ARRAY[Pet]
# #
sub find_pets_by_tags { sub find_pets_by_tags {
@ -297,9 +275,7 @@ sub find_pets_by_tags {
# verify the required parameter 'tags' is set # verify the required parameter 'tags' is set
unless (exists $args{'tags'}) { unless (exists $args{'tags'}) {
croak( croak("Missing the required parameter 'tags' when calling find_pets_by_tags");
"Missing the required parameter 'tags' when calling find_pets_by_tags"
);
} }
# parse inputs # parse inputs
@ -311,35 +287,29 @@ sub find_pets_by_tags {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client} my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
->select_header_accept( 'application/xml', 'application/json' );
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# query params # query params
if ( exists $args{'tags'}) { if ( exists $args{'tags'}) {
$query_params->{'tags'} = $query_params->{'tags'} = $self->{api_client}->to_query_value($args{'tags'});
$self->{api_client}->to_query_value( $args{'tags'} );
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
$self->{api_client}->deserialize( 'ARRAY[Pet]', $response );
return $_response_object; return $_response_object;
} }
@ -363,7 +333,6 @@ sub find_pets_by_tags {
returns => 'Pet', returns => 'Pet',
}; };
} }
# @return Pet # @return Pet
# #
sub get_pet_by_id { sub get_pet_by_id {
@ -371,9 +340,7 @@ sub get_pet_by_id {
# verify the required parameter 'pet_id' is set # verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) { unless (exists $args{'pet_id'}) {
croak( croak("Missing the required parameter 'pet_id' when calling get_pet_by_id");
"Missing the required parameter 'pet_id' when calling get_pet_by_id"
);
} }
# parse inputs # parse inputs
@ -385,13 +352,11 @@ sub get_pet_by_id {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client} my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
->select_header_accept( 'application/xml', 'application/json' );
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# path params # path params
if ( exists $args{'pet_id'}) { if ( exists $args{'pet_id'}) {
@ -401,15 +366,13 @@ sub get_pet_by_id {
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(api_key )]; my $auth_settings = [qw(api_key )];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
@ -437,7 +400,6 @@ sub get_pet_by_id {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub update_pet { sub update_pet {
@ -461,11 +423,9 @@ sub update_pet {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $self->{api_client} $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
->select_header_content_type( 'application/json', 'application/xml' );
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'pet'}) { if ( exists $args{'pet'}) {
$_body_data = $args{'pet'}; $_body_data = $args{'pet'};
@ -475,10 +435,9 @@ sub update_pet {
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -514,7 +473,6 @@ sub update_pet {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub update_pet_with_form { sub update_pet_with_form {
@ -522,9 +480,7 @@ sub update_pet_with_form {
# verify the required parameter 'pet_id' is set # verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) { unless (exists $args{'pet_id'}) {
croak( croak("Missing the required parameter 'pet_id' when calling update_pet_with_form");
"Missing the required parameter 'pet_id' when calling update_pet_with_form"
);
} }
# parse inputs # parse inputs
@ -540,8 +496,7 @@ sub update_pet_with_form {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $self->{api_client} $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
->select_header_content_type('application/x-www-form-urlencoded');
# path params # path params
if ( exists $args{'pet_id'}) { if ( exists $args{'pet_id'}) {
@ -552,26 +507,22 @@ sub update_pet_with_form {
# form params # form params
if ( exists $args{'name'} ) { if ( exists $args{'name'} ) {
$form_params->{'name'} = $form_params->{'name'} = $self->{api_client}->to_form_value($args{'name'});
$self->{api_client}->to_form_value( $args{'name'} );
} }
# form params # form params
if ( exists $args{'status'} ) { if ( exists $args{'status'} ) {
$form_params->{'status'} = $form_params->{'status'} = $self->{api_client}->to_form_value($args{'status'});
$self->{api_client}->to_form_value( $args{'status'} );
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -607,7 +558,6 @@ sub update_pet_with_form {
returns => 'ApiResponse', returns => 'ApiResponse',
}; };
} }
# @return ApiResponse # @return ApiResponse
# #
sub upload_file { sub upload_file {
@ -615,8 +565,7 @@ sub upload_file {
# verify the required parameter 'pet_id' is set # verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) { unless (exists $args{'pet_id'}) {
croak( croak("Missing the required parameter 'pet_id' when calling upload_file");
"Missing the required parameter 'pet_id' when calling upload_file");
} }
# parse inputs # parse inputs
@ -628,13 +577,11 @@ sub upload_file {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = my $_header_accept = $self->{api_client}->select_header_accept('application/json');
$self->{api_client}->select_header_accept('application/json');
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('multipart/form-data');
$self->{api_client}->select_header_content_type('multipart/form-data');
# path params # path params
if ( exists $args{'pet_id'}) { if ( exists $args{'pet_id'}) {
@ -645,8 +592,7 @@ sub upload_file {
# form params # form params
if ( exists $args{'additional_metadata'} ) { if ( exists $args{'additional_metadata'} ) {
$form_params->{'additionalMetadata'} = $form_params->{'additionalMetadata'} = $self->{api_client}->to_form_value($args{'additional_metadata'});
$self->{api_client}->to_form_value( $args{'additional_metadata'} );
} }
# form params # form params
@ -656,20 +602,17 @@ sub upload_file {
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('ApiResponse', $response);
$self->{api_client}->deserialize( 'ApiResponse', $response );
return $_response_object; return $_response_object;
} }
@ -705,7 +648,6 @@ sub upload_file {
returns => 'ApiResponse', returns => 'ApiResponse',
}; };
} }
# @return ApiResponse # @return ApiResponse
# #
sub upload_file_with_required_file { sub upload_file_with_required_file {
@ -713,16 +655,12 @@ sub upload_file_with_required_file {
# verify the required parameter 'pet_id' is set # verify the required parameter 'pet_id' is set
unless (exists $args{'pet_id'}) { unless (exists $args{'pet_id'}) {
croak( croak("Missing the required parameter 'pet_id' when calling upload_file_with_required_file");
"Missing the required parameter 'pet_id' when calling upload_file_with_required_file"
);
} }
# verify the required parameter 'required_file' is set # verify the required parameter 'required_file' is set
unless (exists $args{'required_file'}) { unless (exists $args{'required_file'}) {
croak( croak("Missing the required parameter 'required_file' when calling upload_file_with_required_file");
"Missing the required parameter 'required_file' when calling upload_file_with_required_file"
);
} }
# parse inputs # parse inputs
@ -734,13 +672,11 @@ sub upload_file_with_required_file {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = my $_header_accept = $self->{api_client}->select_header_accept('application/json');
$self->{api_client}->select_header_accept('application/json');
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('multipart/form-data');
$self->{api_client}->select_header_content_type('multipart/form-data');
# path params # path params
if ( exists $args{'pet_id'}) { if ( exists $args{'pet_id'}) {
@ -751,32 +687,27 @@ sub upload_file_with_required_file {
# form params # form params
if ( exists $args{'additional_metadata'} ) { if ( exists $args{'additional_metadata'} ) {
$form_params->{'additionalMetadata'} = $form_params->{'additionalMetadata'} = $self->{api_client}->to_form_value($args{'additional_metadata'});
$self->{api_client}->to_form_value( $args{'additional_metadata'} );
} }
# form params # form params
if ( exists $args{'required_file'} ) { if ( exists $args{'required_file'} ) {
$form_params->{'requiredFile'} = [] $form_params->{'requiredFile'} = [] unless defined $form_params->{'requiredFile'};
unless defined $form_params->{'requiredFile'};
push @{$form_params->{'requiredFile'}}, $args{'required_file'}; push @{$form_params->{'requiredFile'}}, $args{'required_file'};
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(petstore_auth )]; my $auth_settings = [qw(petstore_auth )];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('ApiResponse', $response);
$self->{api_client}->deserialize( 'ApiResponse', $response );
return $_response_object; return $_response_object;
} }

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -27,49 +26,39 @@ use Class::Inspector;
use Log::Any qw($log); use Log::Any qw($log);
use WWW::OpenAPIClient::ApiFactory; use WWW::OpenAPIClient::ApiFactory;
has base_url => ( has base_url => ( is => 'ro',
is => 'ro',
required => 0, required => 0,
isa => 'Str', isa => 'Str',
documentation => 'Root of the server that requests are sent to', documentation => 'Root of the server that requests are sent to',
); );
has api_factory => ( has api_factory => ( is => 'ro',
is => 'ro',
isa => 'WWW::OpenAPIClient::ApiFactory', isa => 'WWW::OpenAPIClient::ApiFactory',
builder => '_build_af', builder => '_build_af',
lazy => 1, lazy => 1,
documentation => 'Builds an instance of the endpoint API class', documentation => 'Builds an instance of the endpoint API class',
); );
has tokens => ( has tokens => ( is => 'ro',
is => 'ro',
isa => 'HashRef', isa => 'HashRef',
required => 0, required => 0,
default => sub { {} }, default => sub { {} },
documentation => documentation => 'The auth tokens required by the application - basic, OAuth and/or API key(s)',
'The auth tokens required by the application - basic, OAuth and/or API key(s)',
); );
has _cfg => ( has _cfg => ( is => 'ro',
is => 'ro',
isa => 'WWW::OpenAPIClient::Configuration', isa => 'WWW::OpenAPIClient::Configuration',
default => sub { WWW::OpenAPIClient::Configuration->new() }, default => sub { WWW::OpenAPIClient::Configuration->new() },
); );
has version_info => ( has version_info => ( is => 'ro',
is => 'ro',
isa => 'HashRef', isa => 'HashRef',
default => sub { default => sub { {
{
app_name => 'OpenAPI Petstore', app_name => 'OpenAPI Petstore',
app_version => '1.0.0', app_version => '1.0.0',
generator_class => generator_class => 'org.openapitools.codegen.languages.PerlClientCodegen',
'org.openapitools.codegen.languages.PerlClientCodegen', } },
} documentation => 'Information about the application version and the codegen codebase version'
},
documentation =>
'Information about the application version and the codegen codebase version'
); );
sub BUILD { sub BUILD {
@ -85,16 +74,9 @@ sub BUILD {
# collect the methods callable on each API # collect the methods callable on each API
foreach my $api_name ($self->api_factory->apis_available) { foreach my $api_name ($self->api_factory->apis_available) {
my $api_class = $self->api_factory->classname_for($api_name); my $api_class = $self->api_factory->classname_for($api_name);
my $methods = Class::Inspector->methods( $api_class, 'expanded' ) my $methods = Class::Inspector->methods($api_class, 'expanded'); # not Moose, so use CI instead
; # not Moose, so use CI instead my @local_methods = grep {! /^_/} grep {! $outsiders{$_}} map {$_->[2]} grep {$_->[1] eq $api_class} @$methods;
my @local_methods = push( @{$delegates{$_}}, {api_name => $api_name, api_class => $api_class} ) for @local_methods;
grep { !/^_/ }
grep { !$outsiders{$_} }
map { $_->[2] } grep { $_->[1] eq $api_class } @$methods;
push(
@{ $delegates{$_} },
{ api_name => $api_name, api_class => $api_class }
) for @local_methods;
} }
# remove clashes # remove clashes
@ -108,19 +90,15 @@ sub BUILD {
foreach my $api_name ($self->api_factory->apis_available) { foreach my $api_name ($self->api_factory->apis_available) {
my $att_name = sprintf "%s_api", lc($api_name); my $att_name = sprintf "%s_api", lc($api_name);
my $api_class = $self->api_factory->classname_for($api_name); my $api_class = $self->api_factory->classname_for($api_name);
my @delegated = my @delegated = grep { $delegates{$_}->[0]->{api_name} eq $api_name } keys %delegates;
grep { $delegates{$_}->[0]->{api_name} eq $api_name } keys %delegates; $log->debugf("Adding API: '%s' handles %s", $att_name, join ', ', @delegated);
$log->debugf( "Adding API: '%s' handles %s", $self->meta->add_attribute( $att_name => (
$att_name, join ', ', @delegated );
$self->meta->add_attribute(
$att_name => (
is => 'ro', is => 'ro',
isa => $api_class, isa => $api_class,
default => sub {$self->api_factory->get_api($api_name)}, default => sub {$self->api_factory->get_api($api_name)},
lazy => 1, lazy => 1,
handles => \@delegated, handles => \@delegated,
) ) );
);
} }
} }

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -42,7 +41,6 @@ sub _printisa {
my $super = join ', ', $meta->superclasses; my $super = join ', ', $meta->superclasses;
my @roles = $meta->calculate_all_roles; my @roles = $meta->calculate_all_roles;
#shift(@roles) if @roles > 1; # if > 1, the first is a composite, the rest are the roles #shift(@roles) if @roles > 1; # if > 1, the first is a composite, the rest are the roles
my $isa = join ', ', grep {$_ ne $myclass} $meta->linearized_isa; my $isa = join ', ', grep {$_ ne $myclass} $meta->linearized_isa;
@ -167,7 +165,6 @@ $role_reqs
. .
# ----- / format specs ----- # ----- / format specs -----
} }
@ -192,28 +189,25 @@ HEAD
die "Don't know how to print '$how'"; die "Don't know how to print '$how'";
} }
$self->_printmethod( $_, $how ) $self->_printmethod($_, $how) for uniq sort $self->meta->get_all_method_names; #$self->meta->get_method_list,
for uniq
sort $self->meta->get_all_method_names; #$self->meta->get_method_list,
if ($how eq 'pod') { if ($how eq 'pod') {
$~ = 'METHOD_POD_CLOSE'; $~ = 'METHOD_POD_CLOSE';
write; write;
} }
} }
sub _printmethod { sub _printmethod {
my ($self, $methodname, $how) = @_; my ($self, $methodname, $how) = @_;
return if $methodname =~ /^_/; return if $methodname =~ /^_/;
return if $self->meta->has_attribute($methodname); return if $self->meta->has_attribute($methodname);
my %internal = map { $_ => 1 } my %internal = map {$_ => 1} qw(BUILD BUILDARGS meta can new DEMOLISHALL DESTROY
qw(BUILD BUILDARGS meta can new DEMOLISHALL DESTROY
DOES isa BUILDALL does VERSION dump DOES isa BUILDALL does VERSION dump
); );
return if $internal{$methodname}; return if $internal{$methodname};
my $method = $self->meta->get_method($methodname) my $method = $self->meta->get_method($methodname) or return; # symbols imported into namespaces i.e. not known by Moose
or return; # symbols imported into namespaces i.e. not known by Moose
return if $method->original_package_name eq __PACKAGE__; return if $method->original_package_name eq __PACKAGE__;
@ -316,7 +310,6 @@ $methodname
format METHOD_POD_CLOSE = format METHOD_POD_CLOSE =
. .
# ----- / format specs ----- # ----- / format specs -----
} }
@ -352,8 +345,7 @@ HEAD
sub _printattr { sub _printattr {
my ($self, $attrname, $how) = @_; my ($self, $attrname, $how) = @_;
return if $attrname =~ /^_/; return if $attrname =~ /^_/;
my $attr = $self->meta->get_attribute($attrname) my $attr = $self->meta->get_attribute($attrname) or die "No attr for $attrname";
or die "No attr for $attrname";
my $is; my $is;
$is = 'rw' if $attr->get_read_method && $attr->get_write_method; $is = 'rw' if $attr->get_read_method && $attr->get_write_method;
@ -366,11 +358,7 @@ sub _printattr {
my $from = $attr->associated_class->name || ''; my $from = $attr->associated_class->name || '';
my $reqd = $attr->is_required ? 'yes' : 'no'; my $reqd = $attr->is_required ? 'yes' : 'no';
my $lazy = $attr->is_lazy ? 'yes' : 'no'; my $lazy = $attr->is_lazy ? 'yes' : 'no';
my $has_doc = my $has_doc = $attr->has_documentation ? 'yes' : 'no'; # *_api attributes will never have doc, but other attributes might have
$attr->has_documentation
? 'yes'
: 'no'
; # *_api attributes will never have doc, but other attributes might have
my $doc = $attr->documentation || ''; my $doc = $attr->documentation || '';
my $handles = join ', ', sort @{$attr->handles || []}; my $handles = join ', ', sort @{$attr->handles || []};
$handles ||= ''; $handles ||= '';
@ -450,8 +438,9 @@ $attrname
. .
# ----- / format specs ----- # ----- / format specs -----
} }
1; 1;

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -40,8 +39,7 @@ sub new {
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) { if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0]; $api_client = $_[0];
} } else {
else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_); $api_client = WWW::OpenAPIClient::ApiClient->new(@_);
} }
@ -49,6 +47,7 @@ sub new {
} }
# #
# delete_order # delete_order
# #
@ -69,7 +68,6 @@ sub new {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub delete_order { sub delete_order {
@ -77,9 +75,7 @@ sub delete_order {
# verify the required parameter 'order_id' is set # verify the required parameter 'order_id' is set
unless (exists $args{'order_id'}) { unless (exists $args{'order_id'}) {
croak( croak("Missing the required parameter 'order_id' when calling delete_order");
"Missing the required parameter 'order_id' when calling delete_order"
);
} }
# parse inputs # parse inputs
@ -95,27 +91,23 @@ sub delete_order {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# path params # path params
if ( exists $args{'order_id'}) { if ( exists $args{'order_id'}) {
my $_base_variable = "{" . "order_id" . "}"; my $_base_variable = "{" . "order_id" . "}";
my $_base_value = my $_base_value = $self->{api_client}->to_path_value($args{'order_id'});
$self->{api_client}->to_path_value( $args{'order_id'} );
$_resource_path =~ s/$_base_variable/$_base_value/g; $_resource_path =~ s/$_base_variable/$_base_value/g;
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -125,14 +117,14 @@ sub delete_order {
# Returns pet inventories by status # Returns pet inventories by status
# #
{ {
my $params = {}; my $params = {
};
__PACKAGE__->method_documentation->{ 'get_inventory' } = { __PACKAGE__->method_documentation->{ 'get_inventory' } = {
summary => 'Returns pet inventories by status', summary => 'Returns pet inventories by status',
params => $params, params => $params,
returns => 'HASH[string,int]', returns => 'HASH[string,int]',
}; };
} }
# @return HASH[string,int] # @return HASH[string,int]
# #
sub get_inventory { sub get_inventory {
@ -147,29 +139,24 @@ sub get_inventory {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = my $_header_accept = $self->{api_client}->select_header_accept('application/json');
$self->{api_client}->select_header_accept('application/json');
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw(api_key )]; my $auth_settings = [qw(api_key )];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('HASH[string,int]', $response);
$self->{api_client}->deserialize( 'HASH[string,int]', $response );
return $_response_object; return $_response_object;
} }
@ -193,7 +180,6 @@ sub get_inventory {
returns => 'Order', returns => 'Order',
}; };
} }
# @return Order # @return Order
# #
sub get_order_by_id { sub get_order_by_id {
@ -201,9 +187,7 @@ sub get_order_by_id {
# verify the required parameter 'order_id' is set # verify the required parameter 'order_id' is set
unless (exists $args{'order_id'}) { unless (exists $args{'order_id'}) {
croak( croak("Missing the required parameter 'order_id' when calling get_order_by_id");
"Missing the required parameter 'order_id' when calling get_order_by_id"
);
} }
# parse inputs # parse inputs
@ -215,37 +199,31 @@ sub get_order_by_id {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client} my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
->select_header_accept( 'application/xml', 'application/json' );
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# path params # path params
if ( exists $args{'order_id'}) { if ( exists $args{'order_id'}) {
my $_base_variable = "{" . "order_id" . "}"; my $_base_variable = "{" . "order_id" . "}";
my $_base_value = my $_base_value = $self->{api_client}->to_path_value($args{'order_id'});
$self->{api_client}->to_path_value( $args{'order_id'} );
$_resource_path =~ s/$_base_variable/$_base_value/g; $_resource_path =~ s/$_base_variable/$_base_value/g;
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('Order', $response);
$self->{api_client}->deserialize( 'Order', $response );
return $_response_object; return $_response_object;
} }
@ -269,7 +247,6 @@ sub get_order_by_id {
returns => 'Order', returns => 'Order',
}; };
} }
# @return Order # @return Order
# #
sub place_order { sub place_order {
@ -277,8 +254,7 @@ sub place_order {
# verify the required parameter 'order' is set # verify the required parameter 'order' is set
unless (exists $args{'order'}) { unless (exists $args{'order'}) {
croak( croak("Missing the required parameter 'order' when calling place_order");
"Missing the required parameter 'order' when calling place_order");
} }
# parse inputs # parse inputs
@ -290,16 +266,13 @@ sub place_order {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client} my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
->select_header_accept( 'application/xml', 'application/json' );
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'order'}) { if ( exists $args{'order'}) {
$_body_data = $args{'order'}; $_body_data = $args{'order'};
@ -309,15 +282,13 @@ sub place_order {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('Order', $response);
$self->{api_client}->deserialize( 'Order', $response );
return $_response_object; return $_response_object;
} }

View File

@ -1,4 +1,3 @@
=begin comment =begin comment
OpenAPI Petstore OpenAPI Petstore
@ -40,8 +39,7 @@ sub new {
if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) { if ($_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::ApiClient' ) {
$api_client = $_[0]; $api_client = $_[0];
} } else {
else {
$api_client = WWW::OpenAPIClient::ApiClient->new(@_); $api_client = WWW::OpenAPIClient::ApiClient->new(@_);
} }
@ -49,6 +47,7 @@ sub new {
} }
# #
# create_user # create_user
# #
@ -69,7 +68,6 @@ sub new {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub create_user { sub create_user {
@ -93,11 +91,9 @@ sub create_user {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'user'}) { if ( exists $args{'user'}) {
$_body_data = $args{'user'}; $_body_data = $args{'user'};
@ -107,10 +103,9 @@ sub create_user {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -134,7 +129,6 @@ sub create_user {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub create_users_with_array_input { sub create_users_with_array_input {
@ -142,9 +136,7 @@ sub create_users_with_array_input {
# verify the required parameter 'user' is set # verify the required parameter 'user' is set
unless (exists $args{'user'}) { unless (exists $args{'user'}) {
croak( croak("Missing the required parameter 'user' when calling create_users_with_array_input");
"Missing the required parameter 'user' when calling create_users_with_array_input"
);
} }
# parse inputs # parse inputs
@ -160,11 +152,9 @@ sub create_users_with_array_input {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'user'}) { if ( exists $args{'user'}) {
$_body_data = $args{'user'}; $_body_data = $args{'user'};
@ -174,10 +164,9 @@ sub create_users_with_array_input {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -201,7 +190,6 @@ sub create_users_with_array_input {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub create_users_with_list_input { sub create_users_with_list_input {
@ -209,9 +197,7 @@ sub create_users_with_list_input {
# verify the required parameter 'user' is set # verify the required parameter 'user' is set
unless (exists $args{'user'}) { unless (exists $args{'user'}) {
croak( croak("Missing the required parameter 'user' when calling create_users_with_list_input");
"Missing the required parameter 'user' when calling create_users_with_list_input"
);
} }
# parse inputs # parse inputs
@ -227,11 +213,9 @@ sub create_users_with_list_input {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'user'}) { if ( exists $args{'user'}) {
$_body_data = $args{'user'}; $_body_data = $args{'user'};
@ -241,10 +225,9 @@ sub create_users_with_list_input {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -268,7 +251,6 @@ sub create_users_with_list_input {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub delete_user { sub delete_user {
@ -276,9 +258,7 @@ sub delete_user {
# verify the required parameter 'username' is set # verify the required parameter 'username' is set
unless (exists $args{'username'}) { unless (exists $args{'username'}) {
croak( croak("Missing the required parameter 'username' when calling delete_user");
"Missing the required parameter 'username' when calling delete_user"
);
} }
# parse inputs # parse inputs
@ -294,27 +274,23 @@ sub delete_user {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# path params # path params
if ( exists $args{'username'}) { if ( exists $args{'username'}) {
my $_base_variable = "{" . "username" . "}"; my $_base_variable = "{" . "username" . "}";
my $_base_value = my $_base_value = $self->{api_client}->to_path_value($args{'username'});
$self->{api_client}->to_path_value( $args{'username'} );
$_resource_path =~ s/$_base_variable/$_base_value/g; $_resource_path =~ s/$_base_variable/$_base_value/g;
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -328,8 +304,7 @@ sub delete_user {
my $params = { my $params = {
'username' => { 'username' => {
data_type => 'string', data_type => 'string',
description => description => 'The name that needs to be fetched. Use user1 for testing.',
'The name that needs to be fetched. Use user1 for testing.',
required => '1', required => '1',
}, },
}; };
@ -339,7 +314,6 @@ sub delete_user {
returns => 'User', returns => 'User',
}; };
} }
# @return User # @return User
# #
sub get_user_by_name { sub get_user_by_name {
@ -347,9 +321,7 @@ sub get_user_by_name {
# verify the required parameter 'username' is set # verify the required parameter 'username' is set
unless (exists $args{'username'}) { unless (exists $args{'username'}) {
croak( croak("Missing the required parameter 'username' when calling get_user_by_name");
"Missing the required parameter 'username' when calling get_user_by_name"
);
} }
# parse inputs # parse inputs
@ -361,37 +333,31 @@ sub get_user_by_name {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client} my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
->select_header_accept( 'application/xml', 'application/json' );
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# path params # path params
if ( exists $args{'username'}) { if ( exists $args{'username'}) {
my $_base_variable = "{" . "username" . "}"; my $_base_variable = "{" . "username" . "}";
my $_base_value = my $_base_value = $self->{api_client}->to_path_value($args{'username'});
$self->{api_client}->to_path_value( $args{'username'} );
$_resource_path =~ s/$_base_variable/$_base_value/g; $_resource_path =~ s/$_base_variable/$_base_value/g;
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('User', $response);
$self->{api_client}->deserialize( 'User', $response );
return $_response_object; return $_response_object;
} }
@ -421,7 +387,6 @@ sub get_user_by_name {
returns => 'string', returns => 'string',
}; };
} }
# @return string # @return string
# #
sub login_user { sub login_user {
@ -429,16 +394,12 @@ sub login_user {
# verify the required parameter 'username' is set # verify the required parameter 'username' is set
unless (exists $args{'username'}) { unless (exists $args{'username'}) {
croak( croak("Missing the required parameter 'username' when calling login_user");
"Missing the required parameter 'username' when calling login_user"
);
} }
# verify the required parameter 'password' is set # verify the required parameter 'password' is set
unless (exists $args{'password'}) { unless (exists $args{'password'}) {
croak( croak("Missing the required parameter 'password' when calling login_user");
"Missing the required parameter 'password' when calling login_user"
);
} }
# parse inputs # parse inputs
@ -450,41 +411,34 @@ sub login_user {
my $form_params = {}; my $form_params = {};
# 'Accept' and 'Content-Type' header # 'Accept' and 'Content-Type' header
my $_header_accept = $self->{api_client} my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
->select_header_accept( 'application/xml', 'application/json' );
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# query params # query params
if ( exists $args{'username'}) { if ( exists $args{'username'}) {
$query_params->{'username'} = $query_params->{'username'} = $self->{api_client}->to_query_value($args{'username'});
$self->{api_client}->to_query_value( $args{'username'} );
} }
# query params # query params
if ( exists $args{'password'}) { if ( exists $args{'password'}) {
$query_params->{'password'} = $query_params->{'password'} = $self->{api_client}->to_query_value($args{'password'});
$self->{api_client}->to_query_value( $args{'password'} );
} }
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
my $response = $self->{api_client}->call_api( my $response = $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
if (!$response) { if (!$response) {
return; return;
} }
my $_response_object = my $_response_object = $self->{api_client}->deserialize('string', $response);
$self->{api_client}->deserialize( 'string', $response );
return $_response_object; return $_response_object;
} }
@ -494,14 +448,14 @@ sub login_user {
# Logs out current logged in user session # Logs out current logged in user session
# #
{ {
my $params = {}; my $params = {
};
__PACKAGE__->method_documentation->{ 'logout_user' } = { __PACKAGE__->method_documentation->{ 'logout_user' } = {
summary => 'Logs out current logged in user session', summary => 'Logs out current logged in user session',
params => $params, params => $params,
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub logout_user { sub logout_user {
@ -520,19 +474,16 @@ sub logout_user {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
my $_body_data; my $_body_data;
# authentication setting, if any # authentication setting, if any
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }
@ -562,7 +513,6 @@ sub logout_user {
returns => undef, returns => undef,
}; };
} }
# @return void # @return void
# #
sub update_user { sub update_user {
@ -570,9 +520,7 @@ sub update_user {
# verify the required parameter 'username' is set # verify the required parameter 'username' is set
unless (exists $args{'username'}) { unless (exists $args{'username'}) {
croak( croak("Missing the required parameter 'username' when calling update_user");
"Missing the required parameter 'username' when calling update_user"
);
} }
# verify the required parameter 'user' is set # verify the required parameter 'user' is set
@ -593,19 +541,16 @@ sub update_user {
if ($_header_accept) { if ($_header_accept) {
$header_params->{'Accept'} = $_header_accept; $header_params->{'Accept'} = $_header_accept;
} }
$header_params->{'Content-Type'} = $header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
$self->{api_client}->select_header_content_type();
# path params # path params
if ( exists $args{'username'}) { if ( exists $args{'username'}) {
my $_base_variable = "{" . "username" . "}"; my $_base_variable = "{" . "username" . "}";
my $_base_value = my $_base_value = $self->{api_client}->to_path_value($args{'username'});
$self->{api_client}->to_path_value( $args{'username'} );
$_resource_path =~ s/$_base_variable/$_base_value/g; $_resource_path =~ s/$_base_variable/$_base_value/g;
} }
my $_body_data; my $_body_data;
# body params # body params
if ( exists $args{'user'}) { if ( exists $args{'user'}) {
$_body_data = $args{'user'}; $_body_data = $args{'user'};
@ -615,10 +560,9 @@ sub update_user {
my $auth_settings = [qw()]; my $auth_settings = [qw()];
# make the API Call # make the API Call
$self->{api_client}->call_api( $self->{api_client}->call_api($_resource_path, $_method,
$_resource_path, $_method, $query_params, $form_params, $query_params, $form_params,
$header_params, $_body_data, $auth_settings $header_params, $_body_data, $auth_settings);
);
return; return;
} }

View File

@ -78,6 +78,19 @@
</arguments> </arguments>
</configuration> </configuration>
</execution> </execution>
<!--<execution>
<id>Test::More for Inheritance</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>perl</executable>
<arguments>
<argument>tests/06_inheritance.t</argument>
</arguments>
</configuration>
</execution>-->
</executions> </executions>
</plugin> </plugin>
</plugins> </plugins>

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::Adult');
my $instance = WWW::OpenAPIClient::Object::Adult->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::Adult');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::Child');
my $instance = WWW::OpenAPIClient::Object::Child->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::Child');

View File

@ -0,0 +1,40 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by OpenAPI Generator
# Please update the test cases below to test the API endpoints.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 1; #TODO update number of test cases
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::DefaultApi');
my $api = WWW::OpenAPIClient::DefaultApi->new();
isa_ok($api, 'WWW::OpenAPIClient::DefaultApi');
#
# foo_get test
#
{
my $result = $api->foo_get();
}
1;

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::Foo');
my $instance = WWW::OpenAPIClient::Object::Foo->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::Foo');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::Human');
my $instance = WWW::OpenAPIClient::Object::Human->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::Human');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::InlineObject1');
my $instance = WWW::OpenAPIClient::Object::InlineObject1->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::InlineObject1');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::InlineObject2');
my $instance = WWW::OpenAPIClient::Object::InlineObject2->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::InlineObject2');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::InlineObject3');
my $instance = WWW::OpenAPIClient::Object::InlineObject3->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::InlineObject3');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::InlineObject4');
my $instance = WWW::OpenAPIClient::Object::InlineObject4->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::InlineObject4');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::InlineObject5');
my $instance = WWW::OpenAPIClient::Object::InlineObject5->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::InlineObject5');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::InlineObject');
my $instance = WWW::OpenAPIClient::Object::InlineObject->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::InlineObject');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::InlineResponseDefault');
my $instance = WWW::OpenAPIClient::Object::InlineResponseDefault->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::InlineResponseDefault');

View File

@ -0,0 +1,33 @@
=begin comment
OpenAPI Petstore
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
OpenAPI spec version: 1.0.0
Generated by: https://openapi-generator.tech
=end comment
=cut
#
# NOTE: This class is auto generated by the OpenAPI Generator
# Please update the test cases below to test the model.
# Ref: https://openapi-generator.tech
#
use Test::More tests => 2;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::Person');
my $instance = WWW::OpenAPIClient::Object::Person->new();
isa_ok($instance, 'WWW::OpenAPIClient::Object::Person');

View File

@ -0,0 +1,64 @@
use Test::More tests => 37;
use Test::Exception;
use lib 'lib';
use strict;
use warnings;
use_ok('WWW::OpenAPIClient::Object::Adult');
use_ok('WWW::OpenAPIClient::Object::Person');
use_ok('WWW::OpenAPIClient::Object::Human');
my $pet_id = 10008;
my $adult = WWW::OpenAPIClient::Object::Adult->new('duplicated_optional' => 22,
'duplicated_required' => 11,
'children' => [],
'adult_required' => 1);
my $child = WWW::OpenAPIClient::Object::Child->new('age' => 11, 'first_name' => 'William');
my $human = WWW::OpenAPIClient::Object::Human->new('___type' => $pet_id, 'body' => 'perl test');
isa_ok($adult, 'WWW::OpenAPIClient::Object::Adult');
isa_ok($child, 'WWW::OpenAPIClient::Object::Child');
isa_ok($human, 'WWW::OpenAPIClient::Object::Human');
#my $pet_hash = $pet->to_hash;
#
#is $pet_hash->{category}->{id}, '22', 'get the proper category id';
#is $pet_hash->{category}->{name}, 'perl', 'get the proper category name';
#is $pet_hash->{tags}[0]->{name}, 'just kidding', 'get the proper tag name';
#is $pet_hash->{tags}[0]->{id}, '11', 'get the proper tag id';
#
#my $add_pet = $api->add_pet(pet => $pet);
#
#my $get_pet = $api->get_pet_by_id(pet_id => $pet_id);
#my $get_pet_hash = $get_pet->to_hash;
#is $get_pet_hash->{name}, 'perl test', 'get the proper pet name from get_pet_by_id';
#is $get_pet_hash->{id}, '10008', 'get the proper pet id from get_pet_by_id';
#is $get_pet_hash->{category}->{name}, 'perl', 'get the proper category name from get_pet_by_id';
#is $get_pet_hash->{category}->{id}, '22', 'get the proper category id from get_pet_by_id';
#is $get_pet_hash->{category}->{name}, 'perl', 'get the proper category from get_pet_by_id';
#is $get_pet_hash->{tags}[0]->{name}, 'just kidding', 'get the proper tag from get_pet_by_id';
#is $get_pet_hash->{tags}[0]->{id}, '11', 'get the proper tag id from get_pet_by_id';
#is $get_pet_hash->{photoUrls}->[0], '123', 'get the proper photoUrl from get_pet_by_id';
#is $get_pet_hash->{photoUrls}->[1], 'oop', 'get the proper photoUrl from get_pet_by_id';
#
#
#my $update_pet_with_form = $api->update_pet_with_form(pet_id => $pet_id, name => 'test_name', status => 'sold');
#is $update_pet_with_form, undef, 'get the null response from update_pet_wth_form';
#
#my $get_pet_after_update = $api->get_pet_by_id(pet_id => $pet_id);
#is $get_pet_after_update->{status}, 'sold', 'get the updated status after update_pet_with_form';
#
#my $upload_pet = $api->upload_file(pet_id => $pet_id, additional_metadata => 'testabc', file => 'test.pl');
#isa_ok($upload_pet, 'WWW::OpenAPIClient::Object::ApiResponse');
#
#my $delete_pet = $api->delete_pet(pet_id => $pet_id);
#is $delete_pet, undef, 'get the null response from delete_pet';
#throws_ok{$api->get_pet_by_id(pet_id => $pet_id)} qr/API Exception\(404\): Not Found/, "throw 404 error about pet not found after delete";
##is $get_pet_after_delete->{status}, undef, 'get the updated status after update_pet_with_form';
#
#my $pets;
#lives_ok {$pets = $api->find_pets_by_status(status => [qw(sold available)])} 'array query param processed correctly';
#isa_ok($pets->[0], 'WWW::OpenAPIClient::Object::Pet');
#