forked from loafle/openapi-generator-original
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:
@@ -28,6 +28,6 @@ fi
|
||||
# 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"
|
||||
# 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
|
||||
|
||||
@@ -53,6 +53,9 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
public PerlClientCodegen() {
|
||||
super();
|
||||
|
||||
// add multiple inheritance support (beta)
|
||||
supportsMultipleInheritance = true;
|
||||
|
||||
// clear import mapping (from default generator) as perl does not use it
|
||||
// at the moment
|
||||
importMapping.clear();
|
||||
|
||||
@@ -9,23 +9,44 @@ __PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute (keys %{$class->attribute_map}) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{ $args_key } );
|
||||
}
|
||||
$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 } );
|
||||
}
|
||||
{{#allParents}}
|
||||
|
||||
# initialize parent object {{{.}}}
|
||||
$self->{{moduleName}}::Object::{{{.}}}::init(%args);
|
||||
{{/allParents}}
|
||||
}
|
||||
|
||||
# return perl 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
|
||||
@@ -37,6 +58,12 @@ sub TO_JSON {
|
||||
$_data->{$self->attribute_map->{$_key}} = $self->{$_key};
|
||||
}
|
||||
}
|
||||
{{#allParents}}
|
||||
|
||||
# combine parent ({{{.}}}) TO_JSON
|
||||
$_data = { %$_data, %$self->{{moduleName}}::Object::{{{.}}}::TO_JSON };
|
||||
{{/allParents}}
|
||||
|
||||
return $_data;
|
||||
}
|
||||
|
||||
@@ -60,6 +87,11 @@ sub from_hash {
|
||||
$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;
|
||||
}
|
||||
|
||||
@@ -23,8 +23,7 @@ use DateTime;
|
||||
use {{moduleName}}::Object::{{.}};
|
||||
{{/imports}}
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable"{{#allParents}}, "{{moduleName}}::Object::{{{.}}}"{{/allParents}});
|
||||
|
||||
#
|
||||
#{{description}}
|
||||
|
||||
@@ -1 +1 @@
|
||||
3.3.0-SNAPSHOT
|
||||
4.0.0-SNAPSHOT
|
||||
@@ -234,7 +234,6 @@ To load the models:
|
||||
```perl
|
||||
use WWW::OpenAPIClient::Object::AdditionalPropertiesClass;
|
||||
use WWW::OpenAPIClient::Object::Animal;
|
||||
use WWW::OpenAPIClient::Object::AnimalFarm;
|
||||
use WWW::OpenAPIClient::Object::ApiResponse;
|
||||
use WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly;
|
||||
use WWW::OpenAPIClient::Object::ArrayOfNumberOnly;
|
||||
@@ -265,7 +264,6 @@ use WWW::OpenAPIClient::Object::OuterEnum;
|
||||
use WWW::OpenAPIClient::Object::Pet;
|
||||
use WWW::OpenAPIClient::Object::ReadOnlyFirst;
|
||||
use WWW::OpenAPIClient::Object::SpecialModelName;
|
||||
use WWW::OpenAPIClient::Object::StringBooleanMap;
|
||||
use WWW::OpenAPIClient::Object::Tag;
|
||||
use WWW::OpenAPIClient::Object::User;
|
||||
|
||||
@@ -289,7 +287,6 @@ use WWW::OpenAPIClient::UserApi;
|
||||
# load the models
|
||||
use WWW::OpenAPIClient::Object::AdditionalPropertiesClass;
|
||||
use WWW::OpenAPIClient::Object::Animal;
|
||||
use WWW::OpenAPIClient::Object::AnimalFarm;
|
||||
use WWW::OpenAPIClient::Object::ApiResponse;
|
||||
use WWW::OpenAPIClient::Object::ArrayOfArrayOfNumberOnly;
|
||||
use WWW::OpenAPIClient::Object::ArrayOfNumberOnly;
|
||||
@@ -320,7 +317,6 @@ use WWW::OpenAPIClient::Object::OuterEnum;
|
||||
use WWW::OpenAPIClient::Object::Pet;
|
||||
use WWW::OpenAPIClient::Object::ReadOnlyFirst;
|
||||
use WWW::OpenAPIClient::Object::SpecialModelName;
|
||||
use WWW::OpenAPIClient::Object::StringBooleanMap;
|
||||
use WWW::OpenAPIClient::Object::Tag;
|
||||
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_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_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_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
|
||||
@@ -388,7 +385,6 @@ Class | Method | HTTP request | Description
|
||||
# DOCUMENTATION FOR MODELS
|
||||
- [WWW::OpenAPIClient::Object::AdditionalPropertiesClass](docs/AdditionalPropertiesClass.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::ArrayOfArrayOfNumberOnly](docs/ArrayOfArrayOfNumberOnly.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::ReadOnlyFirst](docs/ReadOnlyFirst.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::User](docs/User.md)
|
||||
|
||||
|
||||
18
samples/client/petstore/perl/docs/Adult.md
Normal file
18
samples/client/petstore/perl/docs/Adult.md
Normal 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)
|
||||
|
||||
|
||||
@@ -8,8 +8,6 @@ use WWW::OpenAPIClient::Object::Cat;
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**class_name** | **string** | |
|
||||
**color** | **string** | | [optional] [default to 'red']
|
||||
**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)
|
||||
|
||||
@@ -9,7 +9,7 @@ use WWW::OpenAPIClient::Object::Category;
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**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)
|
||||
|
||||
|
||||
16
samples/client/petstore/perl/docs/Child.md
Normal file
16
samples/client/petstore/perl/docs/Child.md
Normal 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)
|
||||
|
||||
|
||||
54
samples/client/petstore/perl/docs/DefaultApi.md
Normal file
54
samples/client/petstore/perl/docs/DefaultApi.md
Normal 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)
|
||||
|
||||
@@ -8,8 +8,6 @@ use WWW::OpenAPIClient::Object::Dog;
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**class_name** | **string** | |
|
||||
**color** | **string** | | [optional] [default to 'red']
|
||||
**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)
|
||||
|
||||
@@ -18,6 +18,7 @@ Method | HTTP request | Description
|
||||
[**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_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_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)
|
||||
|
||||
# **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(request_body => $request_body)
|
||||
|
||||
|
||||
15
samples/client/petstore/perl/docs/Foo.md
Normal file
15
samples/client/petstore/perl/docs/Foo.md
Normal 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)
|
||||
|
||||
|
||||
16
samples/client/petstore/perl/docs/Human.md
Normal file
16
samples/client/petstore/perl/docs/Human.md
Normal 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)
|
||||
|
||||
|
||||
16
samples/client/petstore/perl/docs/InlineObject.md
Normal file
16
samples/client/petstore/perl/docs/InlineObject.md
Normal 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)
|
||||
|
||||
|
||||
16
samples/client/petstore/perl/docs/InlineObject1.md
Normal file
16
samples/client/petstore/perl/docs/InlineObject1.md
Normal 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)
|
||||
|
||||
|
||||
16
samples/client/petstore/perl/docs/InlineObject2.md
Normal file
16
samples/client/petstore/perl/docs/InlineObject2.md
Normal 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)
|
||||
|
||||
|
||||
28
samples/client/petstore/perl/docs/InlineObject3.md
Normal file
28
samples/client/petstore/perl/docs/InlineObject3.md
Normal 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)
|
||||
|
||||
|
||||
16
samples/client/petstore/perl/docs/InlineObject4.md
Normal file
16
samples/client/petstore/perl/docs/InlineObject4.md
Normal 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)
|
||||
|
||||
|
||||
16
samples/client/petstore/perl/docs/InlineObject5.md
Normal file
16
samples/client/petstore/perl/docs/InlineObject5.md
Normal 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)
|
||||
|
||||
|
||||
15
samples/client/petstore/perl/docs/InlineResponseDefault.md
Normal file
15
samples/client/petstore/perl/docs/InlineResponseDefault.md
Normal 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)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Name | Type | Description | Notes
|
||||
**map_map_of_string** | **HASH[string,HASH[string,string]]** | | [optional]
|
||||
**map_of_enum_string** | **HASH[string,string]** | | [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)
|
||||
|
||||
|
||||
20
samples/client/petstore/perl/docs/Person.md
Normal file
20
samples/client/petstore/perl/docs/Person.md
Normal 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)
|
||||
|
||||
|
||||
@@ -180,7 +180,7 @@ my $api_instance = WWW::OpenAPIClient::PetApi->new(
|
||||
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 {
|
||||
my $result = $api_instance->find_pets_by_tags(tags => $tags);
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -32,16 +31,15 @@ use WWW::OpenAPIClient::ApiClient;
|
||||
|
||||
use base "Class::Data::Inheritable";
|
||||
|
||||
__PACKAGE__->mk_classdata( 'method_documentation' => {} );
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
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];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
|
||||
}
|
||||
|
||||
@@ -49,6 +47,7 @@ sub new {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# call_123_test_special_tags
|
||||
#
|
||||
@@ -63,23 +62,20 @@ sub new {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'call_123_test_special_tags'} = {
|
||||
__PACKAGE__->method_documentation->{ 'call_123_test_special_tags' } = {
|
||||
summary => 'To test special tags',
|
||||
params => $params,
|
||||
returns => 'Client',
|
||||
};
|
||||
}
|
||||
|
||||
# @return Client
|
||||
#
|
||||
sub call_123_test_special_tags {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'client' is set
|
||||
unless ( exists $args{'client'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'client' when calling call_123_test_special_tags"
|
||||
);
|
||||
unless (exists $args{'client'}) {
|
||||
croak("Missing the required parameter 'client' when calling call_123_test_special_tags");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -91,18 +87,15 @@ sub call_123_test_special_tags {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept =
|
||||
$self->{api_client}->select_header_accept('application/json');
|
||||
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('application/json');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'client'} ) {
|
||||
if ( exists $args{'client'}) {
|
||||
$_body_data = $args{'client'};
|
||||
}
|
||||
|
||||
@@ -110,15 +103,13 @@ sub call_123_test_special_tags {
|
||||
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 ) {
|
||||
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( 'Client', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('Client', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -40,17 +39,14 @@ use Module::Runtime qw(use_module);
|
||||
|
||||
use WWW::OpenAPIClient::Configuration;
|
||||
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
|
||||
my $config;
|
||||
if ( $_[0]
|
||||
&& ref $_[0]
|
||||
&& ref $_[0] eq 'WWW::OpenAPIClient::Configuration' )
|
||||
{
|
||||
if ( $_[0] && ref $_[0] && ref $_[0] eq 'WWW::OpenAPIClient::Configuration' ) {
|
||||
$config = $_[0];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$config = WWW::OpenAPIClient::Configuration->new(@_);
|
||||
}
|
||||
|
||||
@@ -67,8 +63,8 @@ sub new {
|
||||
# @param string $user_agent The user agent of the API client
|
||||
#
|
||||
sub set_user_agent {
|
||||
my ( $self, $user_agent ) = @_;
|
||||
$self->{http_user_agent} = $user_agent;
|
||||
my ($self, $user_agent) = @_;
|
||||
$self->{http_user_agent}= $user_agent;
|
||||
}
|
||||
|
||||
# Set timeout
|
||||
@@ -76,8 +72,8 @@ sub set_user_agent {
|
||||
# @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
|
||||
#
|
||||
sub set_timeout {
|
||||
my ( $self, $seconds ) = @_;
|
||||
if ( !looks_like_number($seconds) ) {
|
||||
my ($self, $seconds) = @_;
|
||||
if (!looks_like_number($seconds)) {
|
||||
croak('Timeout variable must be numeric.');
|
||||
}
|
||||
$self->{http_timeout} = $seconds;
|
||||
@@ -92,82 +88,68 @@ sub set_timeout {
|
||||
# @return mixed
|
||||
sub call_api {
|
||||
my $self = shift;
|
||||
my (
|
||||
$resource_path, $method, $query_params, $post_params,
|
||||
$header_params, $body_data, $auth_settings
|
||||
) = @_;
|
||||
my ($resource_path, $method, $query_params, $post_params, $header_params, $body_data, $auth_settings) = @_;
|
||||
|
||||
# update parameters based on authentication settings
|
||||
$self->update_params_for_auth( $header_params, $query_params,
|
||||
$auth_settings );
|
||||
$self->update_params_for_auth($header_params, $query_params, $auth_settings);
|
||||
|
||||
|
||||
my $_url = $self->{config}{base_url} . $resource_path;
|
||||
|
||||
# build query
|
||||
if (%$query_params) {
|
||||
$_url =
|
||||
( $_url . '?' . eval { URI::Query->new($query_params)->stringify } );
|
||||
$_url = ($_url . '?' . eval { URI::Query->new($query_params)->stringify });
|
||||
}
|
||||
|
||||
|
||||
# body data
|
||||
$body_data = to_json( $body_data->to_hash )
|
||||
if defined $body_data
|
||||
&& $body_data->can('to_hash'); # model to json string
|
||||
$body_data = to_json($body_data->to_hash) if defined $body_data && $body_data->can('to_hash'); # model to json string
|
||||
my $_body_data = %$post_params ? $post_params : $body_data;
|
||||
|
||||
# Make the HTTP request
|
||||
my $_request;
|
||||
if ( $method eq 'POST' ) {
|
||||
|
||||
if ($method eq 'POST') {
|
||||
# multipart
|
||||
$header_params->{'Content-Type'} =
|
||||
lc $header_params->{'Content-Type'} eq 'multipart/form'
|
||||
? 'form-data'
|
||||
: $header_params->{'Content-Type'};
|
||||
$header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
|
||||
'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
|
||||
$header_params->{'Content-Type'} =
|
||||
lc $header_params->{'Content-Type'} eq 'multipart/form'
|
||||
? 'form-data'
|
||||
: $header_params->{'Content-Type'};
|
||||
$header_params->{'Content-Type'} = lc $header_params->{'Content-Type'} eq 'multipart/form' ?
|
||||
'form-data' : $header_params->{'Content-Type'};
|
||||
|
||||
$_request = PUT( $_url, %$header_params, Content => $_body_data );
|
||||
$_request = PUT($_url, %$header_params, Content => $_body_data);
|
||||
|
||||
}
|
||||
elsif ( $method eq 'GET' ) {
|
||||
elsif ($method eq 'GET') {
|
||||
my $headers = HTTP::Headers->new(%$header_params);
|
||||
$_request = GET( $_url, %$header_params );
|
||||
$_request = GET($_url, %$header_params);
|
||||
}
|
||||
elsif ( $method eq 'HEAD' ) {
|
||||
elsif ($method eq 'HEAD') {
|
||||
my $headers = HTTP::Headers->new(%$header_params);
|
||||
$_request = HEAD( $_url, %$header_params );
|
||||
$_request = HEAD($_url,%$header_params);
|
||||
}
|
||||
elsif ( $method eq 'DELETE' ) { #TODO support form data
|
||||
elsif ($method eq 'DELETE') { #TODO support form data
|
||||
my $headers = HTTP::Headers->new(%$header_params);
|
||||
$_request = DELETE( $_url, %$headers );
|
||||
$_request = DELETE($_url, %$headers);
|
||||
}
|
||||
elsif ( $method eq 'PATCH' ) { #TODO
|
||||
elsif ($method eq 'PATCH') { #TODO
|
||||
}
|
||||
else {
|
||||
}
|
||||
|
||||
$self->{ua}
|
||||
->timeout( $self->{http_timeout} || $self->{config}{http_timeout} );
|
||||
$self->{ua}
|
||||
->agent( $self->{http_user_agent} || $self->{config}{http_user_agent} );
|
||||
$self->{ua}->timeout($self->{http_timeout} || $self->{config}{http_timeout});
|
||||
$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);
|
||||
$log->debugf( "RESPONSE: %s", $_response->as_string );
|
||||
$log->debugf("RESPONSE: %s", $_response->as_string);
|
||||
|
||||
unless ( $_response->is_success ) {
|
||||
croak( sprintf "API Exception(%s): %s\n%s",
|
||||
$_response->code, $_response->message, $_response->content );
|
||||
unless ($_response->is_success) {
|
||||
croak(sprintf "API Exception(%s): %s\n%s", $_response->code, $_response->message, $_response->content);
|
||||
}
|
||||
|
||||
return $_response->content;
|
||||
@@ -179,10 +161,11 @@ sub call_api {
|
||||
# @param string $value a string which will be part of the path
|
||||
# @return string the serialized object
|
||||
sub to_path_value {
|
||||
my ( $self, $value ) = @_;
|
||||
return uri_escape( $self->to_string($value) );
|
||||
my ($self, $value) = @_;
|
||||
return uri_escape($self->to_string($value));
|
||||
}
|
||||
|
||||
|
||||
# Take value and turn it into a string suitable for inclusion in
|
||||
# the query, by imploding comma-separated if it's an object.
|
||||
# If it's a string, pass through unchanged. It will be url-encoded
|
||||
@@ -190,22 +173,22 @@ sub to_path_value {
|
||||
# @param object $object an object to be serialized to a string
|
||||
# @return string the serialized object
|
||||
sub to_query_value {
|
||||
my ( $self, $object ) = @_;
|
||||
if ( ref($object) eq 'ARRAY' ) {
|
||||
return join( ',', @$object );
|
||||
}
|
||||
else {
|
||||
my ($self, $object) = @_;
|
||||
if (ref($object) eq 'ARRAY') {
|
||||
return join(',', @$object);
|
||||
} else {
|
||||
return $self->to_string($object);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Take value and turn it into a string suitable for inclusion in
|
||||
# the header. If it's a string, pass through unchanged
|
||||
# If it's a datetime object, format it in ISO8601
|
||||
# @param string $value a string which will be part of the header
|
||||
# @return string the header string
|
||||
sub to_header_value {
|
||||
my ( $self, $value ) = @_;
|
||||
my ($self, $value) = @_;
|
||||
return $self->to_string($value);
|
||||
}
|
||||
|
||||
@@ -215,7 +198,7 @@ sub to_header_value {
|
||||
# @param string $value the value of the form parameter
|
||||
# @return string the form string
|
||||
sub to_form_value {
|
||||
my ( $self, $value ) = @_;
|
||||
my ($self, $value) = @_;
|
||||
return $self->to_string($value);
|
||||
}
|
||||
|
||||
@@ -225,8 +208,8 @@ sub to_form_value {
|
||||
# @param string $value the value of the parameter
|
||||
# @return string the header string
|
||||
sub to_string {
|
||||
my ( $self, $value ) = @_;
|
||||
if ( ref($value) eq "DateTime" ) { # datetime in ISO8601 format
|
||||
my ($self, $value) = @_;
|
||||
if (ref($value) eq "DateTime") { # datetime in ISO8601 format
|
||||
return $value->datetime();
|
||||
}
|
||||
else {
|
||||
@@ -239,65 +222,54 @@ sub to_string {
|
||||
# @param string $class class name is passed as a string
|
||||
# @param string $data data of the body
|
||||
# @return object an instance of $class
|
||||
sub deserialize {
|
||||
my ( $self, $class, $data ) = @_;
|
||||
$log->debugf( "deserializing %s for %s", $data, $class );
|
||||
sub deserialize
|
||||
{
|
||||
my ($self, $class, $data) = @_;
|
||||
$log->debugf("deserializing %s for %s", $data, $class);
|
||||
|
||||
if ( not defined $data ) {
|
||||
if (not defined $data) {
|
||||
return undef;
|
||||
}
|
||||
elsif ( ( substr( $class, 0, 5 ) ) eq 'HASH[' ) { #hash
|
||||
if ( $class =~ /^HASH\[(.*),(.*)\]$/ ) {
|
||||
my ( $key_type, $type ) = ( $1, $2 );
|
||||
} elsif ( (substr($class, 0, 5)) eq 'HASH[') { #hash
|
||||
if ($class =~ /^HASH\[(.*),(.*)\]$/) {
|
||||
my ($key_type, $type) = ($1, $2);
|
||||
my %hash;
|
||||
my $decoded_data = decode_json $data;
|
||||
foreach my $key ( keys %$decoded_data ) {
|
||||
if ( ref $decoded_data->{$key} eq 'HASH' ) {
|
||||
$hash{$key} = $self->deserialize( $type,
|
||||
encode_json $decoded_data->{$key} );
|
||||
}
|
||||
else {
|
||||
$hash{$key} =
|
||||
$self->deserialize( $type, $decoded_data->{$key} );
|
||||
foreach my $key (keys %$decoded_data) {
|
||||
if (ref $decoded_data->{$key} eq 'HASH') {
|
||||
$hash{$key} = $self->deserialize($type, encode_json $decoded_data->{$key});
|
||||
} else {
|
||||
$hash{$key} = $self->deserialize($type, $decoded_data->{$key});
|
||||
}
|
||||
}
|
||||
return \%hash;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
#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
|
||||
|
||||
my $_sub_class = substr( $class, 6, -1 );
|
||||
my $_sub_class = substr($class, 6, -1);
|
||||
my $_json_data = decode_json $data;
|
||||
my @_values = ();
|
||||
foreach my $_value (@$_json_data) {
|
||||
if ( ref $_value eq 'ARRAY' ) {
|
||||
push @_values,
|
||||
$self->deserialize( $_sub_class, encode_json $_value);
|
||||
}
|
||||
else {
|
||||
push @_values, $self->deserialize( $_sub_class, $_value );
|
||||
if (ref $_value eq 'ARRAY') {
|
||||
push @_values, $self->deserialize($_sub_class, encode_json $_value);
|
||||
} else {
|
||||
push @_values, $self->deserialize($_sub_class, $_value);
|
||||
}
|
||||
}
|
||||
return \@_values;
|
||||
}
|
||||
elsif ( $class eq 'DateTime' ) {
|
||||
return DateTime->from_epoch( epoch => str2time($data) );
|
||||
}
|
||||
elsif ( grep /^$class$/, ( 'string', 'int', 'float', 'bool', 'object' ) ) {
|
||||
} elsif ($class eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif (grep /^$class$/, ('string', 'int', 'float', 'bool', 'object')) {
|
||||
return $data;
|
||||
}
|
||||
else { # model
|
||||
} else { # model
|
||||
my $_instance = use_module("WWW::OpenAPIClient::Object::$class")->new;
|
||||
if ( ref $data eq "HASH" ) {
|
||||
if (ref $data eq "HASH") {
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
else { # string, need to json decode first
|
||||
return $_instance->from_hash( decode_json $data);
|
||||
} else { # string, need to json decode first
|
||||
return $_instance->from_hash(decode_json $data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -306,17 +278,16 @@ sub deserialize {
|
||||
# return 'Accept' based on an array of accept provided
|
||||
# @param [Array] header_accept_array Array fo 'Accept'
|
||||
# @return String Accept (e.g. application/json)
|
||||
sub select_header_accept {
|
||||
my ( $self, @header ) = @_;
|
||||
sub select_header_accept
|
||||
{
|
||||
my ($self, @header) = @_;
|
||||
|
||||
if ( @header == 0 || ( @header == 1 && $header[0] eq '' ) ) {
|
||||
if (@header == 0 || (@header == 1 && $header[0] eq '')) {
|
||||
return undef;
|
||||
}
|
||||
elsif ( grep( /^application\/json$/i, @header ) ) {
|
||||
} elsif (grep(/^application\/json$/i, @header)) {
|
||||
return 'application/json';
|
||||
}
|
||||
else {
|
||||
return join( ',', @header );
|
||||
} else {
|
||||
return join(',', @header);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -324,17 +295,16 @@ sub select_header_accept {
|
||||
# return the content type based on an array of content-type provided
|
||||
# @param [Array] content_type_array Array fo content-type
|
||||
# @return String Content-Type (e.g. application/json)
|
||||
sub select_header_content_type {
|
||||
my ( $self, @header ) = @_;
|
||||
sub select_header_content_type
|
||||
{
|
||||
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
|
||||
}
|
||||
elsif ( grep( /^application\/json$/i, @header ) ) {
|
||||
} elsif (grep(/^application\/json$/i, @header)) {
|
||||
return 'application/json';
|
||||
}
|
||||
else {
|
||||
return join( ',', @header );
|
||||
} else {
|
||||
return join(',', @header);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -342,8 +312,9 @@ sub select_header_content_type {
|
||||
# Get API key (with prefix if set)
|
||||
# @param string key name
|
||||
# @return string API key with the prefix
|
||||
sub get_api_key_with_prefix {
|
||||
my ( $self, $key_name ) = @_;
|
||||
sub get_api_key_with_prefix
|
||||
{
|
||||
my ($self, $key_name) = @_;
|
||||
|
||||
my $api_key = $self->{config}{api_key}{$key_name};
|
||||
|
||||
@@ -359,47 +330,41 @@ sub get_api_key_with_prefix {
|
||||
# @param array $queryParams query parameters (by ref)
|
||||
# @param array $authSettings array of authentication scheme (e.g ['api_key'])
|
||||
sub update_params_for_auth {
|
||||
my ( $self, $header_params, $query_params, $auth_settings ) = @_;
|
||||
my ($self, $header_params, $query_params, $auth_settings) = @_;
|
||||
|
||||
return $self->_global_auth_setup( $header_params, $query_params )
|
||||
return $self->_global_auth_setup($header_params, $query_params)
|
||||
unless $auth_settings && @$auth_settings;
|
||||
|
||||
# one endpoint can have more than 1 auth settings
|
||||
foreach my $auth (@$auth_settings) {
|
||||
|
||||
# determine which one to use
|
||||
if ( !defined($auth) ) {
|
||||
|
||||
if (!defined($auth)) {
|
||||
# TODO show warning about auth setting not defined
|
||||
}
|
||||
elsif ( $auth eq 'api_key' ) {
|
||||
elsif ($auth eq 'api_key') {
|
||||
|
||||
my $api_key = $self->get_api_key_with_prefix('api_key');
|
||||
if ($api_key) {
|
||||
$header_params->{'api_key'} = $api_key;
|
||||
}
|
||||
}
|
||||
elsif ( $auth eq 'api_key_query' ) {
|
||||
elsif ($auth eq 'api_key_query') {
|
||||
|
||||
my $api_key = $self->get_api_key_with_prefix('api_key_query');
|
||||
if ($api_key) {
|
||||
$query_params->{'api_key_query'} = $api_key;
|
||||
}
|
||||
}
|
||||
elsif ( $auth eq 'http_basic_test' ) {
|
||||
elsif ($auth eq 'http_basic_test') {
|
||||
|
||||
if ( $self->{config}{username} || $self->{config}{password} ) {
|
||||
$header_params->{'Authorization'} =
|
||||
'Basic '
|
||||
. encode_base64( $self->{config}{username} . ":"
|
||||
. $self->{config}{password} );
|
||||
if ($self->{config}{username} || $self->{config}{password}) {
|
||||
$header_params->{'Authorization'} = 'Basic ' . encode_base64($self->{config}{username} . ":" . $self->{config}{password});
|
||||
}
|
||||
}
|
||||
elsif ( $auth eq 'petstore_auth' ) {
|
||||
elsif ($auth eq 'petstore_auth') {
|
||||
|
||||
if ( $self->{config}{access_token} ) {
|
||||
$header_params->{'Authorization'} =
|
||||
'Bearer ' . $self->{config}{access_token};
|
||||
if ($self->{config}{access_token}) {
|
||||
$header_params->{'Authorization'} = 'Bearer ' . $self->{config}{access_token};
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -413,38 +378,37 @@ sub update_params_for_auth {
|
||||
# OpenAPI Spec does not describe the intended authorization. So we check in the config for any
|
||||
# auth tokens and if we find any, we use them for all endpoints;
|
||||
sub _global_auth_setup {
|
||||
my ( $self, $header_params, $query_params ) = @_;
|
||||
my ($self, $header_params, $query_params) = @_;
|
||||
|
||||
my $tokens = $self->{config}->get_tokens;
|
||||
return unless keys %$tokens;
|
||||
|
||||
# basic
|
||||
if ( my $uname = delete $tokens->{username} ) {
|
||||
if (my $uname = delete $tokens->{username}) {
|
||||
my $pword = delete $tokens->{password};
|
||||
$header_params->{'Authorization'} =
|
||||
'Basic ' . encode_base64( $uname . ":" . $pword );
|
||||
$header_params->{'Authorization'} = 'Basic '.encode_base64($uname.":".$pword);
|
||||
}
|
||||
|
||||
# oauth
|
||||
if ( my $access_token = delete $tokens->{access_token} ) {
|
||||
if (my $access_token = delete $tokens->{access_token}) {
|
||||
$header_params->{'Authorization'} = 'Bearer ' . $access_token;
|
||||
}
|
||||
|
||||
# other keys
|
||||
foreach my $token_name ( keys %$tokens ) {
|
||||
foreach my $token_name (keys %$tokens) {
|
||||
my $in = $tokens->{$token_name}->{in};
|
||||
my $token = $self->get_api_key_with_prefix($token_name);
|
||||
if ( $in eq 'head' ) {
|
||||
if ($in eq 'head') {
|
||||
$header_params->{$token_name} = $token;
|
||||
}
|
||||
elsif ( $in eq 'query' ) {
|
||||
elsif ($in eq 'query') {
|
||||
$query_params->{$token_name} = $token;
|
||||
}
|
||||
else {
|
||||
die
|
||||
"Don't know where to put token '$token_name' ('$in' is not 'head' or 'query')";
|
||||
die "Don't know where to put token '$token_name' ('$in' is not 'head' or 'query')";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -60,7 +59,8 @@ use WWW::OpenAPIClient::ApiClient;
|
||||
|
||||
# Load all the API classes and construct a lookup table at startup time
|
||||
my %_apis = map { $_ =~ /^WWW::OpenAPIClient::(.*)$/; $1 => $_ }
|
||||
grep { $_ =~ /Api$/ } usesub 'WWW::OpenAPIClient';
|
||||
grep {$_ =~ /Api$/}
|
||||
usesub 'WWW::OpenAPIClient';
|
||||
|
||||
=head1 new($api_client)
|
||||
|
||||
@@ -78,10 +78,9 @@ sub new {
|
||||
my ($class) = shift;
|
||||
|
||||
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];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
|
||||
}
|
||||
bless { api_client => $api_client }, $class;
|
||||
@@ -98,10 +97,10 @@ sub new {
|
||||
=cut
|
||||
|
||||
sub get_api {
|
||||
my ( $self, $which ) = @_;
|
||||
my ($self, $which) = @_;
|
||||
croak "API not specified" unless $which;
|
||||
my $api_class = $_apis{"${which}Api"} || croak "No known API for '$which'";
|
||||
return $api_class->new( $self->api_client );
|
||||
return $api_class->new($self->api_client);
|
||||
}
|
||||
|
||||
=head1 api_client()
|
||||
@@ -115,16 +114,15 @@ sub api_client { $_[0]->{api_client} }
|
||||
=head1 apis_available()
|
||||
=cut
|
||||
|
||||
sub apis_available {
|
||||
return map { $_ =~ s/Api$//; $_ } sort keys %_apis;
|
||||
}
|
||||
sub apis_available { return map { $_ =~ s/Api$//; $_ } sort keys %_apis }
|
||||
|
||||
=head1 classname_for()
|
||||
=cut
|
||||
|
||||
sub classname_for {
|
||||
my ( $self, $api_name ) = @_;
|
||||
my ($self, $api_name) = @_;
|
||||
return $_apis{"${api_name}Api"};
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -92,7 +91,7 @@ default: http://petstore.swagger.io:80/v2
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my ( $self, %p ) = ( shift, @_ );
|
||||
my ($self, %p) = (shift,@_);
|
||||
|
||||
# class/static variables
|
||||
$p{http_timeout} //= 180;
|
||||
@@ -116,6 +115,7 @@ sub new {
|
||||
return bless \%p => $self;
|
||||
}
|
||||
|
||||
|
||||
sub get_tokens {
|
||||
my $self = shift;
|
||||
|
||||
@@ -124,7 +124,7 @@ sub get_tokens {
|
||||
$tokens->{password} = $self->{password} if $self->{password};
|
||||
$tokens->{access_token} = $self->{access_token} if $self->{access_token};
|
||||
|
||||
foreach my $token_name ( keys %{ $self->{api_key} } ) {
|
||||
foreach my $token_name (keys %{ $self->{api_key} }) {
|
||||
$tokens->{$token_name}->{token} = $self->{api_key}{$token_name};
|
||||
$tokens->{$token_name}->{prefix} = $self->{api_key_prefix}{$token_name};
|
||||
$tokens->{$token_name}->{in} = $self->{api_key_in}{$token_name};
|
||||
@@ -135,7 +135,7 @@ sub get_tokens {
|
||||
|
||||
sub clear_tokens {
|
||||
my $self = shift;
|
||||
my %tokens = %{ $self->get_tokens }; # copy
|
||||
my %tokens = %{$self->get_tokens}; # copy
|
||||
|
||||
$self->{username} = '';
|
||||
$self->{password} = '';
|
||||
@@ -149,22 +149,20 @@ sub clear_tokens {
|
||||
}
|
||||
|
||||
sub accept_tokens {
|
||||
my ( $self, $tokens ) = @_;
|
||||
my ($self, $tokens) = @_;
|
||||
|
||||
foreach my $known_name (qw(username password access_token)) {
|
||||
next unless $tokens->{$known_name};
|
||||
$self->{$known_name} = delete $tokens->{$known_name};
|
||||
}
|
||||
|
||||
foreach my $token_name ( keys %$tokens ) {
|
||||
foreach my $token_name (keys %$tokens) {
|
||||
$self->{api_key}{$token_name} = $tokens->{$token_name}{token};
|
||||
if ( $tokens->{$token_name}{prefix} ) {
|
||||
$self->{api_key_prefix}{$token_name} =
|
||||
$tokens->{$token_name}{prefix};
|
||||
if ($tokens->{$token_name}{prefix}) {
|
||||
$self->{api_key_prefix}{$token_name} = $tokens->{$token_name}{prefix};
|
||||
}
|
||||
my $in = $tokens->{$token_name}->{in} || 'head';
|
||||
croak "Tokens can only go in 'head' or 'query' (not in '$in')"
|
||||
unless $in =~ /^(?:head|query)$/;
|
||||
croak "Tokens can only go in 'head' or 'query' (not in '$in')" unless $in =~ /^(?:head|query)$/;
|
||||
$self->{api_key_in}{$token_name} = $in;
|
||||
}
|
||||
}
|
||||
|
||||
100
samples/client/petstore/perl/lib/WWW/OpenAPIClient/DefaultApi.pm
Normal file
100
samples/client/petstore/perl/lib/WWW/OpenAPIClient/DefaultApi.pm
Normal 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;
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -32,16 +31,15 @@ use WWW::OpenAPIClient::ApiClient;
|
||||
|
||||
use base "Class::Data::Inheritable";
|
||||
|
||||
__PACKAGE__->mk_classdata( 'method_documentation' => {} );
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
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];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
|
||||
}
|
||||
|
||||
@@ -49,6 +47,7 @@ sub new {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# fake_outer_boolean_serialize
|
||||
#
|
||||
@@ -63,17 +62,16 @@ sub new {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'fake_outer_boolean_serialize'} = {
|
||||
__PACKAGE__->method_documentation->{ 'fake_outer_boolean_serialize' } = {
|
||||
summary => '',
|
||||
params => $params,
|
||||
returns => 'boolean',
|
||||
};
|
||||
}
|
||||
|
||||
# @return boolean
|
||||
#
|
||||
sub fake_outer_boolean_serialize {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# parse inputs
|
||||
my $_resource_path = '/fake/outer/boolean';
|
||||
@@ -88,13 +86,11 @@ sub fake_outer_boolean_serialize {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'body'} ) {
|
||||
if ( exists $args{'body'}) {
|
||||
$_body_data = $args{'body'};
|
||||
}
|
||||
|
||||
@@ -102,15 +98,13 @@ sub fake_outer_boolean_serialize {
|
||||
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 ) {
|
||||
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( 'boolean', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('boolean', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -128,17 +122,16 @@ sub fake_outer_boolean_serialize {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'fake_outer_composite_serialize'} = {
|
||||
__PACKAGE__->method_documentation->{ 'fake_outer_composite_serialize' } = {
|
||||
summary => '',
|
||||
params => $params,
|
||||
returns => 'OuterComposite',
|
||||
};
|
||||
}
|
||||
|
||||
# @return OuterComposite
|
||||
#
|
||||
sub fake_outer_composite_serialize {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# parse inputs
|
||||
my $_resource_path = '/fake/outer/composite';
|
||||
@@ -153,13 +146,11 @@ sub fake_outer_composite_serialize {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'outer_composite'} ) {
|
||||
if ( exists $args{'outer_composite'}) {
|
||||
$_body_data = $args{'outer_composite'};
|
||||
}
|
||||
|
||||
@@ -167,15 +158,13 @@ sub fake_outer_composite_serialize {
|
||||
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 ) {
|
||||
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( 'OuterComposite', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('OuterComposite', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -193,17 +182,16 @@ sub fake_outer_composite_serialize {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'fake_outer_number_serialize'} = {
|
||||
__PACKAGE__->method_documentation->{ 'fake_outer_number_serialize' } = {
|
||||
summary => '',
|
||||
params => $params,
|
||||
returns => 'double',
|
||||
};
|
||||
}
|
||||
|
||||
# @return double
|
||||
#
|
||||
sub fake_outer_number_serialize {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# parse inputs
|
||||
my $_resource_path = '/fake/outer/number';
|
||||
@@ -218,13 +206,11 @@ sub fake_outer_number_serialize {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'body'} ) {
|
||||
if ( exists $args{'body'}) {
|
||||
$_body_data = $args{'body'};
|
||||
}
|
||||
|
||||
@@ -232,15 +218,13 @@ sub fake_outer_number_serialize {
|
||||
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 ) {
|
||||
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( 'double', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('double', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -258,17 +242,16 @@ sub fake_outer_number_serialize {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'fake_outer_string_serialize'} = {
|
||||
__PACKAGE__->method_documentation->{ 'fake_outer_string_serialize' } = {
|
||||
summary => '',
|
||||
params => $params,
|
||||
returns => 'string',
|
||||
};
|
||||
}
|
||||
|
||||
# @return string
|
||||
#
|
||||
sub fake_outer_string_serialize {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# parse inputs
|
||||
my $_resource_path = '/fake/outer/string';
|
||||
@@ -283,13 +266,11 @@ sub fake_outer_string_serialize {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'body'} ) {
|
||||
if ( exists $args{'body'}) {
|
||||
$_body_data = $args{'body'};
|
||||
}
|
||||
|
||||
@@ -297,15 +278,13 @@ sub fake_outer_string_serialize {
|
||||
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 ) {
|
||||
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( 'string', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('string', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -323,23 +302,20 @@ sub fake_outer_string_serialize {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_body_with_file_schema'} = {
|
||||
__PACKAGE__->method_documentation->{ 'test_body_with_file_schema' } = {
|
||||
summary => '',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub test_body_with_file_schema {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'file_schema_test_class' is set
|
||||
unless ( exists $args{'file_schema_test_class'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'file_schema_test_class' when calling test_body_with_file_schema"
|
||||
);
|
||||
unless (exists $args{'file_schema_test_class'}) {
|
||||
croak("Missing the required parameter 'file_schema_test_class' when calling test_body_with_file_schema");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -355,13 +331,11 @@ sub test_body_with_file_schema {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type('application/json');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'file_schema_test_class'} ) {
|
||||
if ( exists $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()];
|
||||
|
||||
# make the API Call
|
||||
$self->{api_client}->call_api(
|
||||
$_resource_path, $_method, $query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -396,30 +369,25 @@ sub test_body_with_file_schema {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_body_with_query_params'} = {
|
||||
__PACKAGE__->method_documentation->{ 'test_body_with_query_params' } = {
|
||||
summary => '',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub test_body_with_query_params {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'query' is set
|
||||
unless ( exists $args{'query'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'query' when calling test_body_with_query_params"
|
||||
);
|
||||
unless (exists $args{'query'}) {
|
||||
croak("Missing the required parameter 'query' when calling test_body_with_query_params");
|
||||
}
|
||||
|
||||
# verify the required parameter 'user' is set
|
||||
unless ( exists $args{'user'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'user' when calling test_body_with_query_params"
|
||||
);
|
||||
unless (exists $args{'user'}) {
|
||||
croak("Missing the required parameter 'user' when calling test_body_with_query_params");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -435,19 +403,16 @@ sub test_body_with_query_params {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type('application/json');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
|
||||
|
||||
# query params
|
||||
if ( exists $args{'query'} ) {
|
||||
$query_params->{'query'} =
|
||||
$self->{api_client}->to_query_value( $args{'query'} );
|
||||
if ( exists $args{'query'}) {
|
||||
$query_params->{'query'} = $self->{api_client}->to_query_value($args{'query'});
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'user'} ) {
|
||||
if ( exists $args{'user'}) {
|
||||
$_body_data = $args{'user'};
|
||||
}
|
||||
|
||||
@@ -455,10 +420,9 @@ sub test_body_with_query_params {
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -476,23 +440,20 @@ sub test_body_with_query_params {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_client_model'} = {
|
||||
__PACKAGE__->method_documentation->{ 'test_client_model' } = {
|
||||
summary => 'To test \"client\" model',
|
||||
params => $params,
|
||||
returns => 'Client',
|
||||
};
|
||||
}
|
||||
|
||||
# @return Client
|
||||
#
|
||||
sub test_client_model {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'client' is set
|
||||
unless ( exists $args{'client'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'client' when calling test_client_model"
|
||||
);
|
||||
unless (exists $args{'client'}) {
|
||||
croak("Missing the required parameter 'client' when calling test_client_model");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -504,18 +465,15 @@ sub test_client_model {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept =
|
||||
$self->{api_client}->select_header_accept('application/json');
|
||||
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('application/json');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'client'} ) {
|
||||
if ( exists $args{'client'}) {
|
||||
$_body_data = $args{'client'};
|
||||
}
|
||||
|
||||
@@ -523,15 +481,13 @@ sub test_client_model {
|
||||
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 ) {
|
||||
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( 'Client', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('Client', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -627,45 +583,35 @@ sub test_client_model {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_endpoint_parameters'} = {
|
||||
summary =>
|
||||
'Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ',
|
||||
__PACKAGE__->method_documentation->{ 'test_endpoint_parameters' } = {
|
||||
summary => 'Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub test_endpoint_parameters {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'number' is set
|
||||
unless ( exists $args{'number'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'number' when calling test_endpoint_parameters"
|
||||
);
|
||||
unless (exists $args{'number'}) {
|
||||
croak("Missing the required parameter 'number' when calling test_endpoint_parameters");
|
||||
}
|
||||
|
||||
# verify the required parameter 'double' is set
|
||||
unless ( exists $args{'double'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'double' when calling test_endpoint_parameters"
|
||||
);
|
||||
unless (exists $args{'double'}) {
|
||||
croak("Missing the required parameter 'double' when calling test_endpoint_parameters");
|
||||
}
|
||||
|
||||
# verify the required parameter 'pattern_without_delimiter' is set
|
||||
unless ( exists $args{'pattern_without_delimiter'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'pattern_without_delimiter' when calling test_endpoint_parameters"
|
||||
);
|
||||
unless (exists $args{'pattern_without_delimiter'}) {
|
||||
croak("Missing the required parameter 'pattern_without_delimiter' when calling test_endpoint_parameters");
|
||||
}
|
||||
|
||||
# verify the required parameter 'byte' is set
|
||||
unless ( exists $args{'byte'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'byte' when calling test_endpoint_parameters"
|
||||
);
|
||||
unless (exists $args{'byte'}) {
|
||||
croak("Missing the required parameter 'byte' when calling test_endpoint_parameters");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -681,103 +627,87 @@ sub test_endpoint_parameters {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} = $self->{api_client}
|
||||
->select_header_content_type('application/x-www-form-urlencoded');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
|
||||
|
||||
# form params
|
||||
if ( exists $args{'integer'} ) {
|
||||
$form_params->{'integer'} =
|
||||
$self->{api_client}->to_form_value( $args{'integer'} );
|
||||
$form_params->{'integer'} = $self->{api_client}->to_form_value($args{'integer'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'int32'} ) {
|
||||
$form_params->{'int32'} =
|
||||
$self->{api_client}->to_form_value( $args{'int32'} );
|
||||
$form_params->{'int32'} = $self->{api_client}->to_form_value($args{'int32'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'int64'} ) {
|
||||
$form_params->{'int64'} =
|
||||
$self->{api_client}->to_form_value( $args{'int64'} );
|
||||
$form_params->{'int64'} = $self->{api_client}->to_form_value($args{'int64'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'number'} ) {
|
||||
$form_params->{'number'} =
|
||||
$self->{api_client}->to_form_value( $args{'number'} );
|
||||
$form_params->{'number'} = $self->{api_client}->to_form_value($args{'number'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'float'} ) {
|
||||
$form_params->{'float'} =
|
||||
$self->{api_client}->to_form_value( $args{'float'} );
|
||||
$form_params->{'float'} = $self->{api_client}->to_form_value($args{'float'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'double'} ) {
|
||||
$form_params->{'double'} =
|
||||
$self->{api_client}->to_form_value( $args{'double'} );
|
||||
$form_params->{'double'} = $self->{api_client}->to_form_value($args{'double'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'string'} ) {
|
||||
$form_params->{'string'} =
|
||||
$self->{api_client}->to_form_value( $args{'string'} );
|
||||
$form_params->{'string'} = $self->{api_client}->to_form_value($args{'string'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'pattern_without_delimiter'} ) {
|
||||
$form_params->{'pattern_without_delimiter'} = $self->{api_client}
|
||||
->to_form_value( $args{'pattern_without_delimiter'} );
|
||||
$form_params->{'pattern_without_delimiter'} = $self->{api_client}->to_form_value($args{'pattern_without_delimiter'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'byte'} ) {
|
||||
$form_params->{'byte'} =
|
||||
$self->{api_client}->to_form_value( $args{'byte'} );
|
||||
$form_params->{'byte'} = $self->{api_client}->to_form_value($args{'byte'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'binary'} ) {
|
||||
$form_params->{'binary'} = [] unless defined $form_params->{'binary'};
|
||||
push @{ $form_params->{'binary'} }, $args{'binary'};
|
||||
push @{$form_params->{'binary'}}, $args{'binary'};
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'date'} ) {
|
||||
$form_params->{'date'} =
|
||||
$self->{api_client}->to_form_value( $args{'date'} );
|
||||
$form_params->{'date'} = $self->{api_client}->to_form_value($args{'date'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'date_time'} ) {
|
||||
$form_params->{'dateTime'} =
|
||||
$self->{api_client}->to_form_value( $args{'date_time'} );
|
||||
$form_params->{'dateTime'} = $self->{api_client}->to_form_value($args{'date_time'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'password'} ) {
|
||||
$form_params->{'password'} =
|
||||
$self->{api_client}->to_form_value( $args{'password'} );
|
||||
$form_params->{'password'} = $self->{api_client}->to_form_value($args{'password'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'callback'} ) {
|
||||
$form_params->{'callback'} =
|
||||
$self->{api_client}->to_form_value( $args{'callback'} );
|
||||
$form_params->{'callback'} = $self->{api_client}->to_form_value($args{'callback'});
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(http_basic_test )];
|
||||
|
||||
# make the API Call
|
||||
$self->{api_client}->call_api(
|
||||
$_resource_path, $_method, $query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -837,17 +767,16 @@ sub test_endpoint_parameters {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_enum_parameters'} = {
|
||||
__PACKAGE__->method_documentation->{ 'test_enum_parameters' } = {
|
||||
summary => 'To test enum parameters',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub test_enum_parameters {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# parse inputs
|
||||
my $_resource_path = '/fake';
|
||||
@@ -862,67 +791,182 @@ sub test_enum_parameters {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} = $self->{api_client}
|
||||
->select_header_content_type('application/x-www-form-urlencoded');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
|
||||
|
||||
# query params
|
||||
if ( exists $args{'enum_query_string_array'} ) {
|
||||
$query_params->{'enum_query_string_array'} = $self->{api_client}
|
||||
->to_query_value( $args{'enum_query_string_array'} );
|
||||
if ( exists $args{'enum_query_string_array'}) {
|
||||
$query_params->{'enum_query_string_array'} = $self->{api_client}->to_query_value($args{'enum_query_string_array'});
|
||||
}
|
||||
|
||||
# query params
|
||||
if ( exists $args{'enum_query_string'} ) {
|
||||
$query_params->{'enum_query_string'} =
|
||||
$self->{api_client}->to_query_value( $args{'enum_query_string'} );
|
||||
if ( exists $args{'enum_query_string'}) {
|
||||
$query_params->{'enum_query_string'} = $self->{api_client}->to_query_value($args{'enum_query_string'});
|
||||
}
|
||||
|
||||
# query params
|
||||
if ( exists $args{'enum_query_integer'} ) {
|
||||
$query_params->{'enum_query_integer'} =
|
||||
$self->{api_client}->to_query_value( $args{'enum_query_integer'} );
|
||||
if ( exists $args{'enum_query_integer'}) {
|
||||
$query_params->{'enum_query_integer'} = $self->{api_client}->to_query_value($args{'enum_query_integer'});
|
||||
}
|
||||
|
||||
# query params
|
||||
if ( exists $args{'enum_query_double'} ) {
|
||||
$query_params->{'enum_query_double'} =
|
||||
$self->{api_client}->to_query_value( $args{'enum_query_double'} );
|
||||
if ( exists $args{'enum_query_double'}) {
|
||||
$query_params->{'enum_query_double'} = $self->{api_client}->to_query_value($args{'enum_query_double'});
|
||||
}
|
||||
|
||||
# header params
|
||||
if ( exists $args{'enum_header_string_array'} ) {
|
||||
$header_params->{'enum_header_string_array'} = $self->{api_client}
|
||||
->to_header_value( $args{'enum_header_string_array'} );
|
||||
if ( exists $args{'enum_header_string_array'}) {
|
||||
$header_params->{'enum_header_string_array'} = $self->{api_client}->to_header_value($args{'enum_header_string_array'});
|
||||
}
|
||||
|
||||
# header params
|
||||
if ( exists $args{'enum_header_string'} ) {
|
||||
$header_params->{'enum_header_string'} =
|
||||
$self->{api_client}->to_header_value( $args{'enum_header_string'} );
|
||||
if ( exists $args{'enum_header_string'}) {
|
||||
$header_params->{'enum_header_string'} = $self->{api_client}->to_header_value($args{'enum_header_string'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'enum_form_string_array'} ) {
|
||||
$form_params->{'enum_form_string_array'} =
|
||||
$self->{api_client}->to_form_value( $args{'enum_form_string_array'} );
|
||||
$form_params->{'enum_form_string_array'} = $self->{api_client}->to_form_value($args{'enum_form_string_array'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'enum_form_string'} ) {
|
||||
$form_params->{'enum_form_string'} =
|
||||
$self->{api_client}->to_form_value( $args{'enum_form_string'} );
|
||||
$form_params->{'enum_form_string'} = $self->{api_client}->to_form_value($args{'enum_form_string'});
|
||||
}
|
||||
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$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;
|
||||
}
|
||||
|
||||
@@ -940,23 +984,20 @@ sub test_enum_parameters {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_inline_additional_properties'} = {
|
||||
__PACKAGE__->method_documentation->{ 'test_inline_additional_properties' } = {
|
||||
summary => 'test inline additionalProperties',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub test_inline_additional_properties {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'request_body' is set
|
||||
unless ( exists $args{'request_body'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'request_body' when calling test_inline_additional_properties"
|
||||
);
|
||||
unless (exists $args{'request_body'}) {
|
||||
croak("Missing the required parameter 'request_body' when calling test_inline_additional_properties");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -972,13 +1013,11 @@ sub test_inline_additional_properties {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type('application/json');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'request_body'} ) {
|
||||
if ( exists $args{'request_body'}) {
|
||||
$_body_data = $args{'request_body'};
|
||||
}
|
||||
|
||||
@@ -986,10 +1025,9 @@ sub test_inline_additional_properties {
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1013,30 +1051,25 @@ sub test_inline_additional_properties {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_json_form_data'} = {
|
||||
__PACKAGE__->method_documentation->{ 'test_json_form_data' } = {
|
||||
summary => 'test json serialization of form data',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub test_json_form_data {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'param' is set
|
||||
unless ( exists $args{'param'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'param' when calling test_json_form_data"
|
||||
);
|
||||
unless (exists $args{'param'}) {
|
||||
croak("Missing the required parameter 'param' when calling test_json_form_data");
|
||||
}
|
||||
|
||||
# verify the required parameter 'param2' is set
|
||||
unless ( exists $args{'param2'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'param2' when calling test_json_form_data"
|
||||
);
|
||||
unless (exists $args{'param2'}) {
|
||||
croak("Missing the required parameter 'param2' when calling test_json_form_data");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -1052,31 +1085,26 @@ sub test_json_form_data {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} = $self->{api_client}
|
||||
->select_header_content_type('application/x-www-form-urlencoded');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
|
||||
|
||||
# form params
|
||||
if ( exists $args{'param'} ) {
|
||||
$form_params->{'param'} =
|
||||
$self->{api_client}->to_form_value( $args{'param'} );
|
||||
$form_params->{'param'} = $self->{api_client}->to_form_value($args{'param'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'param2'} ) {
|
||||
$form_params->{'param2'} =
|
||||
$self->{api_client}->to_form_value( $args{'param2'} );
|
||||
$form_params->{'param2'} = $self->{api_client}->to_form_value($args{'param2'});
|
||||
}
|
||||
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -32,16 +31,15 @@ use WWW::OpenAPIClient::ApiClient;
|
||||
|
||||
use base "Class::Data::Inheritable";
|
||||
|
||||
__PACKAGE__->mk_classdata( 'method_documentation' => {} );
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
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];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
|
||||
}
|
||||
|
||||
@@ -49,6 +47,7 @@ sub new {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# test_classname
|
||||
#
|
||||
@@ -63,23 +62,20 @@ sub new {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'test_classname'} = {
|
||||
__PACKAGE__->method_documentation->{ 'test_classname' } = {
|
||||
summary => 'To test class name in snake case',
|
||||
params => $params,
|
||||
returns => 'Client',
|
||||
};
|
||||
}
|
||||
|
||||
# @return Client
|
||||
#
|
||||
sub test_classname {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'client' is set
|
||||
unless ( exists $args{'client'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'client' when calling test_classname"
|
||||
);
|
||||
unless (exists $args{'client'}) {
|
||||
croak("Missing the required parameter 'client' when calling test_classname");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -91,18 +87,15 @@ sub test_classname {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept =
|
||||
$self->{api_client}->select_header_accept('application/json');
|
||||
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('application/json');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json');
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'client'} ) {
|
||||
if ( exists $args{'client'}) {
|
||||
$_body_data = $args{'client'};
|
||||
}
|
||||
|
||||
@@ -110,15 +103,13 @@ sub test_classname {
|
||||
my $auth_settings = [qw(api_key_query )];
|
||||
|
||||
# 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 ) {
|
||||
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( 'Client', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('Client', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'AdditionalPropertiesClass',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'map_property' => {
|
||||
datatype => 'HASH[string,string]',
|
||||
base_name => 'map_property',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'map_property' => 'HASH[string,string]',
|
||||
'map_of_map_property' => 'HASH[string,HASH[string,string]]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'map_property' => '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;
|
||||
|
||||
@@ -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;
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Animal',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'class_name' => {
|
||||
datatype => 'string',
|
||||
base_name => 'className',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'class_name' => 'string',
|
||||
'color' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'class_name' => 'className',
|
||||
'color' => 'color'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'ApiResponse',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'code' => {
|
||||
datatype => 'int',
|
||||
base_name => 'code',
|
||||
@@ -172,25 +175,21 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'code' => 'int',
|
||||
'type' => 'string',
|
||||
'message' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'code' => 'code',
|
||||
'type' => 'type',
|
||||
'message' => 'message'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'ArrayOfArrayOfNumberOnly',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'array_array_number' => {
|
||||
datatype => 'ARRAY[ARRAY[double]]',
|
||||
base_name => 'ArrayArrayNumber',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'array_array_number' => 'ARRAY[ARRAY[double]]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'array_array_number' => 'ArrayArrayNumber'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'ArrayOfNumberOnly',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'array_number' => {
|
||||
datatype => 'ARRAY[double]',
|
||||
base_name => 'ArrayNumber',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'array_number' => 'ARRAY[double]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'array_number' => 'ArrayNumber'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -33,7 +32,7 @@ use DateTime;
|
||||
|
||||
use WWW::OpenAPIClient::Object::ReadOnlyFirst;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -61,65 +60,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,31 +134,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'ArrayTest',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'array_of_string' => {
|
||||
datatype => 'ARRAY[string]',
|
||||
base_name => 'array_of_string',
|
||||
@@ -174,25 +176,21 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'array_of_string' => 'ARRAY[string]',
|
||||
'array_array_of_integer' => 'ARRAY[ARRAY[int]]',
|
||||
'array_array_of_model' => 'ARRAY[ARRAY[ReadOnlyFirst]]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'array_of_string' => 'array_of_string',
|
||||
'array_array_of_integer' => 'array_array_of_integer',
|
||||
'array_array_of_model' => 'array_array_of_model'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Capitalization',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'small_camel' => {
|
||||
datatype => 'string',
|
||||
base_name => 'smallCamel',
|
||||
@@ -193,31 +196,27 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'small_camel' => 'string',
|
||||
'capital_camel' => 'string',
|
||||
'small_snake' => 'string',
|
||||
'capital_snake' => 'string',
|
||||
'sca_eth_flow_points' => 'string',
|
||||
'att_name' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'small_camel' => 'smallCamel',
|
||||
'capital_camel' => 'CapitalCamel',
|
||||
'small_snake' => 'small_Snake',
|
||||
'capital_snake' => 'Capital_Snake',
|
||||
'sca_eth_flow_points' => 'SCA_ETH_Flow_Points',
|
||||
'att_name' => 'ATT_NAME'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -33,7 +32,7 @@ use DateTime;
|
||||
|
||||
use WWW::OpenAPIClient::Object::Animal;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Animal");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -61,112 +60,113 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 Animal
|
||||
$self->WWW::OpenAPIClient::Object::Animal::init(%args);
|
||||
}
|
||||
|
||||
# return perl 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
|
||||
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};
|
||||
foreach my $_key (keys %{$self->attribute_map}) {
|
||||
if (defined $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;
|
||||
}
|
||||
|
||||
# from Perl hashref
|
||||
sub from_hash {
|
||||
my ( $self, $hash ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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 (Animal) from_hash
|
||||
$self->WWW::OpenAPIClient::Object::Animal::from_hash($hash);
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Cat',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
'class_name' => {
|
||||
datatype => 'string',
|
||||
base_name => 'className',
|
||||
description => '',
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
'color' => {
|
||||
datatype => 'string',
|
||||
base_name => 'color',
|
||||
description => '',
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
__PACKAGE__->method_documentation({
|
||||
'declawed' => {
|
||||
datatype => 'boolean',
|
||||
base_name => 'declawed',
|
||||
@@ -174,25 +174,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
'class_name' => 'string',
|
||||
'color' => 'string',
|
||||
__PACKAGE__->openapi_types( {
|
||||
'declawed' => 'boolean'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
'class_name' => 'className',
|
||||
'color' => 'color',
|
||||
__PACKAGE__->attribute_map( {
|
||||
'declawed' => 'declawed'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Category',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'id' => {
|
||||
datatype => 'int',
|
||||
base_name => 'id',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'id' => 'int',
|
||||
'name' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'id' => 'id',
|
||||
'name' => 'name'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -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;
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#Model for testing model with \"_class\" property
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,32 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description =>
|
||||
'Model for testing model with \"_class\" property',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => 'Model for testing model with \"_class\" property',
|
||||
class => 'ClassModel',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'_class' => {
|
||||
datatype => 'string',
|
||||
base_name => '_class',
|
||||
@@ -159,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'_class' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'_class' => '_class'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Client',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'client' => {
|
||||
datatype => 'string',
|
||||
base_name => 'client',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'client' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'client' => 'client'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -33,7 +32,7 @@ use DateTime;
|
||||
|
||||
use WWW::OpenAPIClient::Object::Animal;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable", "WWW::OpenAPIClient::Object::Animal");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -61,112 +60,113 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 Animal
|
||||
$self->WWW::OpenAPIClient::Object::Animal::init(%args);
|
||||
}
|
||||
|
||||
# return perl 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
|
||||
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};
|
||||
foreach my $_key (keys %{$self->attribute_map}) {
|
||||
if (defined $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;
|
||||
}
|
||||
|
||||
# from Perl hashref
|
||||
sub from_hash {
|
||||
my ( $self, $hash ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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 (Animal) from_hash
|
||||
$self->WWW::OpenAPIClient::Object::Animal::from_hash($hash);
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Dog',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
'class_name' => {
|
||||
datatype => 'string',
|
||||
base_name => 'className',
|
||||
description => '',
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
'color' => {
|
||||
datatype => 'string',
|
||||
base_name => 'color',
|
||||
description => '',
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
__PACKAGE__->method_documentation({
|
||||
'breed' => {
|
||||
datatype => 'string',
|
||||
base_name => 'breed',
|
||||
@@ -174,25 +174,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
'class_name' => 'string',
|
||||
'color' => 'string',
|
||||
__PACKAGE__->openapi_types( {
|
||||
'breed' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
'class_name' => 'className',
|
||||
'color' => 'color',
|
||||
__PACKAGE__->attribute_map( {
|
||||
'breed' => 'breed'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'EnumArrays',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'just_symbol' => {
|
||||
datatype => 'string',
|
||||
base_name => 'just_symbol',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'just_symbol' => 'string',
|
||||
'array_enum' => 'ARRAY[string]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'just_symbol' => 'just_symbol',
|
||||
'array_enum' => 'array_enum'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,43 +133,38 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'EnumClass',
|
||||
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,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -33,7 +32,7 @@ use DateTime;
|
||||
|
||||
use WWW::OpenAPIClient::Object::OuterEnum;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -61,65 +60,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,31 +134,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'EnumTest',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'enum_string' => {
|
||||
datatype => 'string',
|
||||
base_name => 'enum_string',
|
||||
@@ -188,29 +190,25 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'enum_string' => 'string',
|
||||
'enum_string_required' => 'string',
|
||||
'enum_integer' => 'int',
|
||||
'enum_number' => 'double',
|
||||
'outer_enum' => 'OuterEnum'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'enum_string' => 'enum_string',
|
||||
'enum_string_required' => 'enum_string_required',
|
||||
'enum_integer' => 'enum_integer',
|
||||
'enum_number' => 'enum_number',
|
||||
'outer_enum' => 'outerEnum'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#Must be named `File` for test.
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
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',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'source_uri' => {
|
||||
datatype => 'string',
|
||||
base_name => 'sourceURI',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'source_uri' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'source_uri' => 'sourceURI'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -33,7 +32,7 @@ use DateTime;
|
||||
|
||||
use WWW::OpenAPIClient::Object::File;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -61,65 +60,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,31 +134,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'FileSchemaTestClass',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'file' => {
|
||||
datatype => 'File',
|
||||
base_name => 'file',
|
||||
@@ -167,23 +169,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'file' => 'File',
|
||||
'files' => 'ARRAY[File]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'file' => 'file',
|
||||
'files' => 'files'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
177
samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm
Normal file
177
samples/client/petstore/perl/lib/WWW/OpenAPIClient/Object/Foo.pm
Normal 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;
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'FormatTest',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'integer' => {
|
||||
datatype => 'int',
|
||||
base_name => 'integer',
|
||||
@@ -242,11 +245,9 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'integer' => 'int',
|
||||
'int32' => 'int',
|
||||
'int64' => 'int',
|
||||
@@ -260,11 +261,9 @@ __PACKAGE__->openapi_types(
|
||||
'date_time' => 'DateTime',
|
||||
'uuid' => 'string',
|
||||
'password' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'integer' => 'integer',
|
||||
'int32' => 'int32',
|
||||
'int64' => 'int64',
|
||||
@@ -278,9 +277,9 @@ __PACKAGE__->attribute_map(
|
||||
'date_time' => 'dateTime',
|
||||
'uuid' => 'uuid',
|
||||
'password' => 'password'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'HasOnlyReadOnly',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'bar' => {
|
||||
datatype => 'string',
|
||||
base_name => 'bar',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'bar' => 'string',
|
||||
'foo' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'bar' => 'bar',
|
||||
'foo' => 'foo'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'List',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'_123_list' => {
|
||||
datatype => 'string',
|
||||
base_name => '123-list',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'_123_list' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'_123_list' => '123-list'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,9 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use WWW::OpenAPIClient::Object::StringBooleanMap;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -61,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'MapTest',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'map_map_of_string' => {
|
||||
datatype => 'HASH[string,HASH[string,string]]',
|
||||
base_name => 'map_map_of_string',
|
||||
@@ -175,33 +176,29 @@ __PACKAGE__->method_documentation(
|
||||
read_only => '',
|
||||
},
|
||||
'indirect_map' => {
|
||||
datatype => 'StringBooleanMap',
|
||||
datatype => 'HASH[string,boolean]',
|
||||
base_name => 'indirect_map',
|
||||
description => '',
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'map_map_of_string' => 'HASH[string,HASH[string,string]]',
|
||||
'map_of_enum_string' => 'HASH[string,string]',
|
||||
'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_of_enum_string' => 'map_of_enum_string',
|
||||
'direct_map' => 'direct_map',
|
||||
'indirect_map' => 'indirect_map'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -33,7 +32,7 @@ use DateTime;
|
||||
|
||||
use WWW::OpenAPIClient::Object::Animal;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -61,65 +60,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,31 +134,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'MixedPropertiesAndAdditionalPropertiesClass',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'uuid' => {
|
||||
datatype => 'string',
|
||||
base_name => 'uuid',
|
||||
@@ -174,25 +176,21 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'uuid' => 'string',
|
||||
'date_time' => 'DateTime',
|
||||
'map' => 'HASH[string,Animal]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'uuid' => 'uuid',
|
||||
'date_time' => 'dateTime',
|
||||
'map' => 'map'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#Model for testing model name starting with number
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
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',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'name' => {
|
||||
datatype => 'int',
|
||||
base_name => 'name',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'name' => 'int',
|
||||
'class' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'name' => 'name',
|
||||
'class' => 'class'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#Model for testing reserved words
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
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',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'return' => {
|
||||
datatype => 'int',
|
||||
base_name => 'return',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'return' => 'int'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'return' => 'return'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#Model for testing model name same as property name
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
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',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'name' => {
|
||||
datatype => 'int',
|
||||
base_name => 'name',
|
||||
@@ -179,27 +182,23 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'name' => 'int',
|
||||
'snake_case' => 'int',
|
||||
'property' => 'string',
|
||||
'_123_number' => 'int'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'name' => 'name',
|
||||
'snake_case' => 'snake_case',
|
||||
'property' => 'property',
|
||||
'_123_number' => '123Number'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'NumberOnly',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'just_number' => {
|
||||
datatype => 'double',
|
||||
base_name => 'JustNumber',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'just_number' => 'double'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'just_number' => 'JustNumber'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Order',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'id' => {
|
||||
datatype => 'int',
|
||||
base_name => 'id',
|
||||
@@ -193,31 +196,27 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'id' => 'int',
|
||||
'pet_id' => 'int',
|
||||
'quantity' => 'int',
|
||||
'ship_date' => 'DateTime',
|
||||
'status' => 'string',
|
||||
'complete' => 'boolean'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'id' => 'id',
|
||||
'pet_id' => 'petId',
|
||||
'quantity' => 'quantity',
|
||||
'ship_date' => 'shipDate',
|
||||
'status' => 'status',
|
||||
'complete' => 'complete'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'OuterComposite',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'my_number' => {
|
||||
datatype => 'double',
|
||||
base_name => 'my_number',
|
||||
@@ -172,25 +175,21 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'my_number' => 'double',
|
||||
'my_string' => 'string',
|
||||
'my_boolean' => 'boolean'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'my_number' => 'my_number',
|
||||
'my_string' => 'my_string',
|
||||
'my_boolean' => 'my_boolean'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,43 +133,38 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'OuterEnum',
|
||||
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;
|
||||
|
||||
@@ -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;
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -34,7 +33,7 @@ use DateTime;
|
||||
use WWW::OpenAPIClient::Object::Category;
|
||||
use WWW::OpenAPIClient::Object::Tag;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -62,65 +61,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,31 +135,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Pet',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'id' => {
|
||||
datatype => 'int',
|
||||
base_name => 'id',
|
||||
@@ -196,31 +198,27 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'id' => 'int',
|
||||
'category' => 'Category',
|
||||
'name' => 'string',
|
||||
'photo_urls' => 'ARRAY[string]',
|
||||
'tags' => 'ARRAY[Tag]',
|
||||
'status' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'id' => 'id',
|
||||
'category' => 'category',
|
||||
'name' => 'name',
|
||||
'photo_urls' => 'photoUrls',
|
||||
'tags' => 'tags',
|
||||
'status' => 'status'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'ReadOnlyFirst',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'bar' => {
|
||||
datatype => 'string',
|
||||
base_name => 'bar',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'bar' => 'string',
|
||||
'baz' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'bar' => 'bar',
|
||||
'baz' => 'baz'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'SpecialModelName',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'__special[property/name]' => {
|
||||
datatype => 'int',
|
||||
base_name => '$special[property.name]',
|
||||
@@ -158,21 +161,17 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'__special[property/name]' => 'int'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'__special[property/name]' => '$special[property.name]'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'Tag',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'id' => {
|
||||
datatype => 'int',
|
||||
base_name => 'id',
|
||||
@@ -165,23 +168,19 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'id' => 'int',
|
||||
'name' => 'string'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'id' => 'id',
|
||||
'name' => 'name'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -31,7 +30,8 @@ use Log::Any qw($log);
|
||||
use Date::Parse;
|
||||
use DateTime;
|
||||
|
||||
use base ( "Class::Accessor", "Class::Data::Inheritable" );
|
||||
|
||||
use base ("Class::Accessor", "Class::Data::Inheritable");
|
||||
|
||||
#
|
||||
#
|
||||
@@ -59,65 +59,72 @@ Generated by: 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' => {} );
|
||||
__PACKAGE__->mk_classdata('attribute_map' => {});
|
||||
__PACKAGE__->mk_classdata('openapi_types' => {});
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
__PACKAGE__->mk_classdata('class_documentation' => {});
|
||||
|
||||
# new object
|
||||
# new plain object
|
||||
sub new {
|
||||
my ( $class, %args ) = @_;
|
||||
my ($class, %args) = @_;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
foreach my $attribute ( keys %{ $class->attribute_map } ) {
|
||||
my $args_key = $class->attribute_map->{$attribute};
|
||||
$self->$attribute( $args{$args_key} );
|
||||
}
|
||||
$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 {
|
||||
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
|
||||
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};
|
||||
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 ) = @_;
|
||||
my ($self, $hash) = @_;
|
||||
|
||||
# loop through attributes and use openapi_types to deserialize the data
|
||||
while ( my ( $_key, $_type ) = each %{ $self->openapi_types } ) {
|
||||
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 );
|
||||
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 );
|
||||
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 );
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,31 +133,27 @@ sub from_hash {
|
||||
|
||||
# deserialize non-array data
|
||||
sub _deserialize {
|
||||
my ( $self, $type, $data ) = @_;
|
||||
$log->debugf( "deserializing %s with %s", Dumper($data), $type );
|
||||
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' ) ) ) {
|
||||
if ($type eq 'DateTime') {
|
||||
return DateTime->from_epoch(epoch => str2time($data));
|
||||
} elsif ( grep( /^$type$/, ('int', 'double', 'string', 'boolean'))) {
|
||||
return $data;
|
||||
}
|
||||
else { # hash(model)
|
||||
} else { # hash(model)
|
||||
my $_instance = eval "WWW::OpenAPIClient::Object::$type->new()";
|
||||
return $_instance->from_hash($data);
|
||||
}
|
||||
}
|
||||
|
||||
__PACKAGE__->class_documentation(
|
||||
{
|
||||
description => '',
|
||||
|
||||
|
||||
__PACKAGE__->class_documentation({description => '',
|
||||
class => 'User',
|
||||
required => [], # TODO
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->method_documentation(
|
||||
{
|
||||
__PACKAGE__->method_documentation({
|
||||
'id' => {
|
||||
datatype => 'int',
|
||||
base_name => 'id',
|
||||
@@ -207,11 +210,9 @@ __PACKAGE__->method_documentation(
|
||||
format => '',
|
||||
read_only => '',
|
||||
},
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
__PACKAGE__->openapi_types(
|
||||
{
|
||||
__PACKAGE__->openapi_types( {
|
||||
'id' => 'int',
|
||||
'username' => 'string',
|
||||
'first_name' => 'string',
|
||||
@@ -220,11 +221,9 @@ __PACKAGE__->openapi_types(
|
||||
'password' => 'string',
|
||||
'phone' => 'string',
|
||||
'user_status' => 'int'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->attribute_map(
|
||||
{
|
||||
__PACKAGE__->attribute_map( {
|
||||
'id' => 'id',
|
||||
'username' => 'username',
|
||||
'first_name' => 'firstName',
|
||||
@@ -233,9 +232,9 @@ __PACKAGE__->attribute_map(
|
||||
'password' => 'password',
|
||||
'phone' => 'phone',
|
||||
'user_status' => 'userStatus'
|
||||
}
|
||||
);
|
||||
} );
|
||||
|
||||
__PACKAGE__->mk_accessors(keys %{__PACKAGE__->attribute_map});
|
||||
|
||||
__PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } );
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -32,16 +31,15 @@ use WWW::OpenAPIClient::ApiClient;
|
||||
|
||||
use base "Class::Data::Inheritable";
|
||||
|
||||
__PACKAGE__->mk_classdata( 'method_documentation' => {} );
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
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];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
|
||||
}
|
||||
|
||||
@@ -49,6 +47,7 @@ sub new {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# add_pet
|
||||
#
|
||||
@@ -63,20 +62,19 @@ sub new {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'add_pet'} = {
|
||||
__PACKAGE__->method_documentation->{ 'add_pet' } = {
|
||||
summary => 'Add a new pet to the store',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub add_pet {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'pet' is set
|
||||
unless ( exists $args{'pet'} ) {
|
||||
unless (exists $args{'pet'}) {
|
||||
croak("Missing the required parameter 'pet' when calling add_pet");
|
||||
}
|
||||
|
||||
@@ -93,13 +91,11 @@ sub add_pet {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} = $self->{api_client}
|
||||
->select_header_content_type( 'application/json', 'application/xml' );
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'pet'} ) {
|
||||
if ( exists $args{'pet'}) {
|
||||
$_body_data = $args{'pet'};
|
||||
}
|
||||
|
||||
@@ -107,10 +103,9 @@ sub add_pet {
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# make the API Call
|
||||
$self->{api_client}->call_api(
|
||||
$_resource_path, $_method, $query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -134,22 +129,20 @@ sub add_pet {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'delete_pet'} = {
|
||||
__PACKAGE__->method_documentation->{ 'delete_pet' } = {
|
||||
summary => 'Deletes a pet',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub delete_pet {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'pet_id' is set
|
||||
unless ( exists $args{'pet_id'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'pet_id' when calling delete_pet");
|
||||
unless (exists $args{'pet_id'}) {
|
||||
croak("Missing the required parameter 'pet_id' when calling delete_pet");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -165,32 +158,28 @@ sub delete_pet {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# header params
|
||||
if ( exists $args{'api_key'} ) {
|
||||
$header_params->{'api_key'} =
|
||||
$self->{api_client}->to_header_value( $args{'api_key'} );
|
||||
if ( exists $args{'api_key'}) {
|
||||
$header_params->{'api_key'} = $self->{api_client}->to_header_value($args{'api_key'});
|
||||
}
|
||||
|
||||
# path params
|
||||
if ( exists $args{'pet_id'} ) {
|
||||
if ( exists $args{'pet_id'}) {
|
||||
my $_base_variable = "{" . "petId" . "}";
|
||||
my $_base_value = $self->{api_client}->to_path_value( $args{'pet_id'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# make the API Call
|
||||
$self->{api_client}->call_api(
|
||||
$_resource_path, $_method, $query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -204,28 +193,24 @@ sub delete_pet {
|
||||
my $params = {
|
||||
'status' => {
|
||||
data_type => 'ARRAY[string]',
|
||||
description =>
|
||||
'Status values that need to be considered for filter',
|
||||
description => 'Status values that need to be considered for filter',
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'find_pets_by_status'} = {
|
||||
__PACKAGE__->method_documentation->{ 'find_pets_by_status' } = {
|
||||
summary => 'Finds Pets by status',
|
||||
params => $params,
|
||||
returns => 'ARRAY[Pet]',
|
||||
};
|
||||
}
|
||||
|
||||
# @return ARRAY[Pet]
|
||||
#
|
||||
sub find_pets_by_status {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'status' is set
|
||||
unless ( exists $args{'status'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'status' when calling find_pets_by_status"
|
||||
);
|
||||
unless (exists $args{'status'}) {
|
||||
croak("Missing the required parameter 'status' when calling find_pets_by_status");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -237,35 +222,29 @@ sub find_pets_by_status {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept = $self->{api_client}
|
||||
->select_header_accept( 'application/xml', 'application/json' );
|
||||
my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# query params
|
||||
if ( exists $args{'status'} ) {
|
||||
$query_params->{'status'} =
|
||||
$self->{api_client}->to_query_value( $args{'status'} );
|
||||
if ( exists $args{'status'}) {
|
||||
$query_params->{'status'} = $self->{api_client}->to_query_value($args{'status'});
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# 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 ) {
|
||||
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( 'ARRAY[Pet]', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -283,23 +262,20 @@ sub find_pets_by_status {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'find_pets_by_tags'} = {
|
||||
__PACKAGE__->method_documentation->{ 'find_pets_by_tags' } = {
|
||||
summary => 'Finds Pets by tags',
|
||||
params => $params,
|
||||
returns => 'ARRAY[Pet]',
|
||||
};
|
||||
}
|
||||
|
||||
# @return ARRAY[Pet]
|
||||
#
|
||||
sub find_pets_by_tags {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'tags' is set
|
||||
unless ( exists $args{'tags'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'tags' when calling find_pets_by_tags"
|
||||
);
|
||||
unless (exists $args{'tags'}) {
|
||||
croak("Missing the required parameter 'tags' when calling find_pets_by_tags");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -311,35 +287,29 @@ sub find_pets_by_tags {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept = $self->{api_client}
|
||||
->select_header_accept( 'application/xml', 'application/json' );
|
||||
my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# query params
|
||||
if ( exists $args{'tags'} ) {
|
||||
$query_params->{'tags'} =
|
||||
$self->{api_client}->to_query_value( $args{'tags'} );
|
||||
if ( exists $args{'tags'}) {
|
||||
$query_params->{'tags'} = $self->{api_client}->to_query_value($args{'tags'});
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# 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 ) {
|
||||
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( 'ARRAY[Pet]', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('ARRAY[Pet]', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -357,23 +327,20 @@ sub find_pets_by_tags {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'get_pet_by_id'} = {
|
||||
__PACKAGE__->method_documentation->{ 'get_pet_by_id' } = {
|
||||
summary => 'Find pet by ID',
|
||||
params => $params,
|
||||
returns => 'Pet',
|
||||
};
|
||||
}
|
||||
|
||||
# @return Pet
|
||||
#
|
||||
sub get_pet_by_id {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'pet_id' is set
|
||||
unless ( exists $args{'pet_id'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'pet_id' when calling get_pet_by_id"
|
||||
);
|
||||
unless (exists $args{'pet_id'}) {
|
||||
croak("Missing the required parameter 'pet_id' when calling get_pet_by_id");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -385,35 +352,31 @@ sub get_pet_by_id {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept = $self->{api_client}
|
||||
->select_header_accept( 'application/xml', 'application/json' );
|
||||
my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# path params
|
||||
if ( exists $args{'pet_id'} ) {
|
||||
if ( exists $args{'pet_id'}) {
|
||||
my $_base_variable = "{" . "petId" . "}";
|
||||
my $_base_value = $self->{api_client}->to_path_value( $args{'pet_id'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(api_key )];
|
||||
|
||||
# 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 ) {
|
||||
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( 'Pet', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('Pet', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -431,20 +394,19 @@ sub get_pet_by_id {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'update_pet'} = {
|
||||
__PACKAGE__->method_documentation->{ 'update_pet' } = {
|
||||
summary => 'Update an existing pet',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub update_pet {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'pet' is set
|
||||
unless ( exists $args{'pet'} ) {
|
||||
unless (exists $args{'pet'}) {
|
||||
croak("Missing the required parameter 'pet' when calling update_pet");
|
||||
}
|
||||
|
||||
@@ -461,13 +423,11 @@ sub update_pet {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} = $self->{api_client}
|
||||
->select_header_content_type( 'application/json', 'application/xml' );
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/json', 'application/xml');
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'pet'} ) {
|
||||
if ( exists $args{'pet'}) {
|
||||
$_body_data = $args{'pet'};
|
||||
}
|
||||
|
||||
@@ -475,10 +435,9 @@ sub update_pet {
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# make the API Call
|
||||
$self->{api_client}->call_api(
|
||||
$_resource_path, $_method, $query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -508,23 +467,20 @@ sub update_pet {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'update_pet_with_form'} = {
|
||||
__PACKAGE__->method_documentation->{ 'update_pet_with_form' } = {
|
||||
summary => 'Updates a pet in the store with form data',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub update_pet_with_form {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'pet_id' is set
|
||||
unless ( exists $args{'pet_id'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'pet_id' when calling update_pet_with_form"
|
||||
);
|
||||
unless (exists $args{'pet_id'}) {
|
||||
croak("Missing the required parameter 'pet_id' when calling update_pet_with_form");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -540,38 +496,33 @@ sub update_pet_with_form {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} = $self->{api_client}
|
||||
->select_header_content_type('application/x-www-form-urlencoded');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('application/x-www-form-urlencoded');
|
||||
|
||||
# path params
|
||||
if ( exists $args{'pet_id'} ) {
|
||||
if ( exists $args{'pet_id'}) {
|
||||
my $_base_variable = "{" . "petId" . "}";
|
||||
my $_base_value = $self->{api_client}->to_path_value( $args{'pet_id'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'name'} ) {
|
||||
$form_params->{'name'} =
|
||||
$self->{api_client}->to_form_value( $args{'name'} );
|
||||
$form_params->{'name'} = $self->{api_client}->to_form_value($args{'name'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'status'} ) {
|
||||
$form_params->{'status'} =
|
||||
$self->{api_client}->to_form_value( $args{'status'} );
|
||||
$form_params->{'status'} = $self->{api_client}->to_form_value($args{'status'});
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# make the API Call
|
||||
$self->{api_client}->call_api(
|
||||
$_resource_path, $_method, $query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -601,22 +552,20 @@ sub update_pet_with_form {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'upload_file'} = {
|
||||
__PACKAGE__->method_documentation->{ 'upload_file' } = {
|
||||
summary => 'uploads an image',
|
||||
params => $params,
|
||||
returns => 'ApiResponse',
|
||||
};
|
||||
}
|
||||
|
||||
# @return ApiResponse
|
||||
#
|
||||
sub upload_file {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'pet_id' is set
|
||||
unless ( exists $args{'pet_id'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'pet_id' when calling upload_file");
|
||||
unless (exists $args{'pet_id'}) {
|
||||
croak("Missing the required parameter 'pet_id' when calling upload_file");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -628,48 +577,42 @@ sub upload_file {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept =
|
||||
$self->{api_client}->select_header_accept('application/json');
|
||||
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('multipart/form-data');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('multipart/form-data');
|
||||
|
||||
# path params
|
||||
if ( exists $args{'pet_id'} ) {
|
||||
if ( exists $args{'pet_id'}) {
|
||||
my $_base_variable = "{" . "petId" . "}";
|
||||
my $_base_value = $self->{api_client}->to_path_value( $args{'pet_id'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'additional_metadata'} ) {
|
||||
$form_params->{'additionalMetadata'} =
|
||||
$self->{api_client}->to_form_value( $args{'additional_metadata'} );
|
||||
$form_params->{'additionalMetadata'} = $self->{api_client}->to_form_value($args{'additional_metadata'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'file'} ) {
|
||||
$form_params->{'file'} = [] unless defined $form_params->{'file'};
|
||||
push @{ $form_params->{'file'} }, $args{'file'};
|
||||
push @{$form_params->{'file'}}, $args{'file'};
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# 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 ) {
|
||||
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( 'ApiResponse', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('ApiResponse', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -699,30 +642,25 @@ sub upload_file {
|
||||
required => '0',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'upload_file_with_required_file'} = {
|
||||
__PACKAGE__->method_documentation->{ 'upload_file_with_required_file' } = {
|
||||
summary => 'uploads an image (required)',
|
||||
params => $params,
|
||||
returns => 'ApiResponse',
|
||||
};
|
||||
}
|
||||
|
||||
# @return ApiResponse
|
||||
#
|
||||
sub upload_file_with_required_file {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'pet_id' is set
|
||||
unless ( exists $args{'pet_id'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'pet_id' when calling upload_file_with_required_file"
|
||||
);
|
||||
unless (exists $args{'pet_id'}) {
|
||||
croak("Missing the required parameter 'pet_id' when calling upload_file_with_required_file");
|
||||
}
|
||||
|
||||
# verify the required parameter 'required_file' is set
|
||||
unless ( exists $args{'required_file'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'required_file' when calling upload_file_with_required_file"
|
||||
);
|
||||
unless (exists $args{'required_file'}) {
|
||||
croak("Missing the required parameter 'required_file' when calling upload_file_with_required_file");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -734,49 +672,42 @@ sub upload_file_with_required_file {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept =
|
||||
$self->{api_client}->select_header_accept('application/json');
|
||||
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('multipart/form-data');
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type('multipart/form-data');
|
||||
|
||||
# path params
|
||||
if ( exists $args{'pet_id'} ) {
|
||||
if ( exists $args{'pet_id'}) {
|
||||
my $_base_variable = "{" . "petId" . "}";
|
||||
my $_base_value = $self->{api_client}->to_path_value( $args{'pet_id'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'pet_id'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'additional_metadata'} ) {
|
||||
$form_params->{'additionalMetadata'} =
|
||||
$self->{api_client}->to_form_value( $args{'additional_metadata'} );
|
||||
$form_params->{'additionalMetadata'} = $self->{api_client}->to_form_value($args{'additional_metadata'});
|
||||
}
|
||||
|
||||
# form params
|
||||
if ( exists $args{'required_file'} ) {
|
||||
$form_params->{'requiredFile'} = []
|
||||
unless defined $form_params->{'requiredFile'};
|
||||
push @{ $form_params->{'requiredFile'} }, $args{'required_file'};
|
||||
$form_params->{'requiredFile'} = [] unless defined $form_params->{'requiredFile'};
|
||||
push @{$form_params->{'requiredFile'}}, $args{'required_file'};
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(petstore_auth )];
|
||||
|
||||
# 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 ) {
|
||||
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( 'ApiResponse', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('ApiResponse', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -27,100 +26,79 @@ use Class::Inspector;
|
||||
use Log::Any qw($log);
|
||||
use WWW::OpenAPIClient::ApiFactory;
|
||||
|
||||
has base_url => (
|
||||
is => 'ro',
|
||||
has base_url => ( is => 'ro',
|
||||
required => 0,
|
||||
isa => 'Str',
|
||||
documentation => 'Root of the server that requests are sent to',
|
||||
);
|
||||
);
|
||||
|
||||
has api_factory => (
|
||||
is => 'ro',
|
||||
has api_factory => ( is => 'ro',
|
||||
isa => 'WWW::OpenAPIClient::ApiFactory',
|
||||
builder => '_build_af',
|
||||
lazy => 1,
|
||||
documentation => 'Builds an instance of the endpoint API class',
|
||||
);
|
||||
);
|
||||
|
||||
has tokens => (
|
||||
is => 'ro',
|
||||
has tokens => ( is => 'ro',
|
||||
isa => 'HashRef',
|
||||
required => 0,
|
||||
default => sub { {} },
|
||||
documentation =>
|
||||
'The auth tokens required by the application - basic, OAuth and/or API key(s)',
|
||||
);
|
||||
documentation => 'The auth tokens required by the application - basic, OAuth and/or API key(s)',
|
||||
);
|
||||
|
||||
has _cfg => (
|
||||
is => 'ro',
|
||||
has _cfg => ( is => 'ro',
|
||||
isa => 'WWW::OpenAPIClient::Configuration',
|
||||
default => sub { WWW::OpenAPIClient::Configuration->new() },
|
||||
);
|
||||
);
|
||||
|
||||
has version_info => (
|
||||
is => 'ro',
|
||||
has version_info => ( is => 'ro',
|
||||
isa => 'HashRef',
|
||||
default => sub {
|
||||
{
|
||||
default => sub { {
|
||||
app_name => 'OpenAPI Petstore',
|
||||
app_version => '1.0.0',
|
||||
generator_class =>
|
||||
'org.openapitools.codegen.languages.PerlClientCodegen',
|
||||
}
|
||||
},
|
||||
documentation =>
|
||||
'Information about the application version and the codegen codebase version'
|
||||
);
|
||||
generator_class => 'org.openapitools.codegen.languages.PerlClientCodegen',
|
||||
} },
|
||||
documentation => 'Information about the application version and the codegen codebase version'
|
||||
);
|
||||
|
||||
sub BUILD {
|
||||
my $self = shift;
|
||||
|
||||
$self->_cfg->accept_tokens( $self->tokens ) if keys %{ $self->tokens };
|
||||
$self->_cfg->accept_tokens( $self->tokens ) if keys %{$self->tokens};
|
||||
|
||||
# ignore these symbols imported into API namespaces
|
||||
my %outsiders = map { $_ => 1 } qw( croak );
|
||||
my %outsiders = map {$_ => 1} qw( croak );
|
||||
|
||||
my %delegates;
|
||||
|
||||
# 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 $methods = Class::Inspector->methods( $api_class, 'expanded' )
|
||||
; # not Moose, so use CI instead
|
||||
my @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;
|
||||
my $methods = Class::Inspector->methods($api_class, 'expanded'); # not Moose, so use CI instead
|
||||
my @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
|
||||
foreach my $method ( keys %delegates ) {
|
||||
if ( @{ $delegates{$method} } > 1 ) {
|
||||
foreach my $method (keys %delegates) {
|
||||
if ( @{$delegates{$method}} > 1 ) {
|
||||
my ($apis) = delete $delegates{$method};
|
||||
}
|
||||
}
|
||||
|
||||
# build the flattened API
|
||||
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 $api_class = $self->api_factory->classname_for($api_name);
|
||||
my @delegated =
|
||||
grep { $delegates{$_}->[0]->{api_name} eq $api_name } keys %delegates;
|
||||
$log->debugf( "Adding API: '%s' handles %s",
|
||||
$att_name, join ', ', @delegated );
|
||||
$self->meta->add_attribute(
|
||||
$att_name => (
|
||||
my @delegated = grep { $delegates{$_}->[0]->{api_name} eq $api_name } keys %delegates;
|
||||
$log->debugf("Adding API: '%s' handles %s", $att_name, join ', ', @delegated);
|
||||
$self->meta->add_attribute( $att_name => (
|
||||
is => 'ro',
|
||||
isa => $api_class,
|
||||
default => sub { $self->api_factory->get_api($api_name) },
|
||||
default => sub {$self->api_factory->get_api($api_name)},
|
||||
lazy => 1,
|
||||
handles => \@delegated,
|
||||
)
|
||||
);
|
||||
) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -24,7 +23,7 @@ use List::MoreUtils qw(uniq);
|
||||
use Moose::Role;
|
||||
|
||||
sub autodoc {
|
||||
my ( $self, $how ) = @_;
|
||||
my ($self, $how) = @_;
|
||||
|
||||
die "Unknown format '$how'" unless $how =~ /^(pod|wide|narrow)$/;
|
||||
|
||||
@@ -35,17 +34,16 @@ sub autodoc {
|
||||
}
|
||||
|
||||
sub _printisa {
|
||||
my ( $self, $how ) = @_;
|
||||
my ($self, $how) = @_;
|
||||
my $meta = $self->meta;
|
||||
|
||||
my $myclass = ref $self;
|
||||
|
||||
my $super = join ', ', $meta->superclasses;
|
||||
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;
|
||||
my $sub = join ', ', $meta->subclasses;
|
||||
my $dsub = join ', ', $meta->direct_subclasses;
|
||||
|
||||
@@ -57,23 +55,23 @@ sub _printisa {
|
||||
$~ = $how eq 'pod' ? 'INHERIT_POD' : 'INHERIT';
|
||||
write;
|
||||
|
||||
my ( $rolepkg, $role_reqs );
|
||||
my ($rolepkg, $role_reqs);
|
||||
|
||||
foreach my $role (@roles) {
|
||||
$rolepkg = $role->{package} || next; # some are anonymous, or something
|
||||
next if $rolepkg eq 'WWW::OpenAPIClient::Role::AutoDoc';
|
||||
$role_reqs = join ', ', keys %{ $role->{required_methods} };
|
||||
$role_reqs = join ', ', keys %{$role->{required_methods}};
|
||||
$role_reqs ||= '';
|
||||
$~ = $how eq 'pod' ? 'ROLES_POD' : 'ROLES';
|
||||
write;
|
||||
}
|
||||
|
||||
if ( $how eq 'pod' ) {
|
||||
if ($how eq 'pod') {
|
||||
$~ = 'ROLES_POD_CLOSE';
|
||||
write;
|
||||
}
|
||||
|
||||
# ----- format specs -----
|
||||
# ----- format specs -----
|
||||
format INHERIT =
|
||||
|
||||
@* -
|
||||
@@ -167,24 +165,23 @@ $role_reqs
|
||||
|
||||
|
||||
.
|
||||
|
||||
# ----- / format specs -----
|
||||
# ----- / format specs -----
|
||||
}
|
||||
|
||||
sub _printmethods {
|
||||
my ( $self, $how ) = @_;
|
||||
my ($self, $how) = @_;
|
||||
|
||||
if ( $how eq 'narrow' ) {
|
||||
if ($how eq 'narrow') {
|
||||
print <<HEAD;
|
||||
METHODS
|
||||
-------
|
||||
HEAD
|
||||
}
|
||||
elsif ( $how eq 'wide' ) {
|
||||
elsif ($how eq 'wide') {
|
||||
$~ = 'METHODHEAD';
|
||||
write;
|
||||
}
|
||||
elsif ( $how eq 'pod' ) {
|
||||
elsif ($how eq 'pod') {
|
||||
$~ = 'METHODHEAD_POD';
|
||||
write;
|
||||
}
|
||||
@@ -192,28 +189,25 @@ HEAD
|
||||
die "Don't know how to print '$how'";
|
||||
}
|
||||
|
||||
$self->_printmethod( $_, $how )
|
||||
for uniq
|
||||
sort $self->meta->get_all_method_names; #$self->meta->get_method_list,
|
||||
$self->_printmethod($_, $how) 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';
|
||||
write;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
sub _printmethod {
|
||||
my ( $self, $methodname, $how ) = @_;
|
||||
my ($self, $methodname, $how) = @_;
|
||||
return if $methodname =~ /^_/;
|
||||
return if $self->meta->has_attribute($methodname);
|
||||
my %internal = map { $_ => 1 }
|
||||
qw(BUILD BUILDARGS meta can new DEMOLISHALL DESTROY
|
||||
my %internal = map {$_ => 1} qw(BUILD BUILDARGS meta can new DEMOLISHALL DESTROY
|
||||
DOES isa BUILDALL does VERSION dump
|
||||
);
|
||||
return if $internal{$methodname};
|
||||
my $method = $self->meta->get_method($methodname)
|
||||
or return; # symbols imported into namespaces i.e. not known by Moose
|
||||
my $method = $self->meta->get_method($methodname) or return; # symbols imported into namespaces i.e. not known by Moose
|
||||
|
||||
return if $method->original_package_name eq __PACKAGE__;
|
||||
|
||||
@@ -222,7 +216,7 @@ sub _printmethod {
|
||||
my $on = '';
|
||||
my $doc = '';
|
||||
my $original_pkg = $method->original_package_name;
|
||||
if ( $method->can('associated_attribute') ) {
|
||||
if ($method->can('associated_attribute')) {
|
||||
$delegate_to = $method->delegate_to_method;
|
||||
my $aa = $method->associated_attribute;
|
||||
$on = $aa->{isa};
|
||||
@@ -234,15 +228,15 @@ sub _printmethod {
|
||||
$doc = $method->documentation;
|
||||
}
|
||||
|
||||
if ( $how eq 'narrow' ) {
|
||||
if ($how eq 'narrow') {
|
||||
$~ = 'METHOD_NARROW';
|
||||
write;
|
||||
}
|
||||
elsif ( $how eq 'pod' and $delegate_to ) {
|
||||
elsif ($how eq 'pod' and $delegate_to) {
|
||||
$~ = 'METHOD_POD_DELEGATED';
|
||||
write;
|
||||
}
|
||||
elsif ( $how eq 'pod' ) {
|
||||
elsif ($how eq 'pod') {
|
||||
$~ = 'METHOD_POD';
|
||||
write;
|
||||
}
|
||||
@@ -251,7 +245,7 @@ sub _printmethod {
|
||||
write;
|
||||
}
|
||||
|
||||
# ----- format specs -----
|
||||
# ----- format specs -----
|
||||
format METHODHEAD =
|
||||
|
||||
METHODS
|
||||
@@ -316,24 +310,23 @@ $methodname
|
||||
format METHOD_POD_CLOSE =
|
||||
|
||||
.
|
||||
|
||||
# ----- / format specs -----
|
||||
# ----- / format specs -----
|
||||
}
|
||||
|
||||
sub _printattrs {
|
||||
my ( $self, $how ) = @_;
|
||||
my ($self, $how) = @_;
|
||||
|
||||
if ( $how eq 'narrow' ) {
|
||||
if ($how eq 'narrow') {
|
||||
print <<HEAD;
|
||||
ATTRIBUTES
|
||||
----------
|
||||
HEAD
|
||||
}
|
||||
elsif ( $how eq 'wide' ) {
|
||||
elsif ($how eq 'wide') {
|
||||
$~ = 'ATTRHEAD';
|
||||
write;
|
||||
}
|
||||
elsif ( $how eq 'pod' ) {
|
||||
elsif ($how eq 'pod') {
|
||||
$~ = 'ATTRHEAD_POD';
|
||||
write;
|
||||
}
|
||||
@@ -341,44 +334,39 @@ HEAD
|
||||
die "Don't know how to print attributes '$how'";
|
||||
}
|
||||
|
||||
$self->_printattr( $_, $how ) for sort $self->meta->get_attribute_list;
|
||||
$self->_printattr($_, $how) for sort $self->meta->get_attribute_list;
|
||||
|
||||
if ( $how eq 'pod' ) {
|
||||
if ($how eq 'pod') {
|
||||
$~ = 'ATTR_POD_CLOSE';
|
||||
write;
|
||||
}
|
||||
}
|
||||
|
||||
sub _printattr {
|
||||
my ( $self, $attrname, $how ) = @_;
|
||||
my ($self, $attrname, $how) = @_;
|
||||
return if $attrname =~ /^_/;
|
||||
my $attr = $self->meta->get_attribute($attrname)
|
||||
or die "No attr for $attrname";
|
||||
my $attr = $self->meta->get_attribute($attrname) or die "No attr for $attrname";
|
||||
|
||||
my $is;
|
||||
$is = 'rw' if $attr->get_read_method && $attr->get_write_method;
|
||||
$is = 'ro' if $attr->get_read_method && !$attr->get_write_method;
|
||||
$is = 'wo' if $attr->get_write_method && !$attr->get_read_method;
|
||||
$is = '--' if !$attr->get_write_method && !$attr->get_read_method;
|
||||
$is = 'ro' if $attr->get_read_method && ! $attr->get_write_method;
|
||||
$is = 'wo' if $attr->get_write_method && ! $attr->get_read_method;
|
||||
$is = '--' if ! $attr->get_write_method && ! $attr->get_read_method;
|
||||
$is or die "No \$is for $attrname";
|
||||
|
||||
my $tc = $attr->type_constraint || '';
|
||||
my $from = $attr->associated_class->name || '';
|
||||
my $reqd = $attr->is_required ? 'yes' : 'no';
|
||||
my $lazy = $attr->is_lazy ? 'yes' : 'no';
|
||||
my $has_doc =
|
||||
$attr->has_documentation
|
||||
? 'yes'
|
||||
: 'no'
|
||||
; # *_api attributes will never have doc, but other attributes might have
|
||||
my $has_doc = $attr->has_documentation ? 'yes' : 'no'; # *_api attributes will never have doc, but other attributes might have
|
||||
my $doc = $attr->documentation || '';
|
||||
my $handles = join ', ', sort @{ $attr->handles || [] };
|
||||
my $handles = join ', ', sort @{$attr->handles || []};
|
||||
$handles ||= '';
|
||||
|
||||
if ( $how eq 'narrow' ) {
|
||||
if ($how eq 'narrow') {
|
||||
$~ = 'ATTR_NARROW';
|
||||
}
|
||||
elsif ( $how eq 'pod' ) {
|
||||
elsif ($how eq 'pod') {
|
||||
$~ = 'ATTR_POD';
|
||||
}
|
||||
else {
|
||||
@@ -387,7 +375,7 @@ sub _printattr {
|
||||
|
||||
write;
|
||||
|
||||
# ----- format specs -----
|
||||
# ----- format specs -----
|
||||
format ATTRHEAD =
|
||||
|
||||
ATTRIBUTES
|
||||
@@ -450,8 +438,9 @@ $attrname
|
||||
|
||||
|
||||
.
|
||||
|
||||
# ----- / format specs -----
|
||||
# ----- / format specs -----
|
||||
}
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -32,16 +31,15 @@ use WWW::OpenAPIClient::ApiClient;
|
||||
|
||||
use base "Class::Data::Inheritable";
|
||||
|
||||
__PACKAGE__->mk_classdata( 'method_documentation' => {} );
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
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];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
|
||||
}
|
||||
|
||||
@@ -49,6 +47,7 @@ sub new {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# delete_order
|
||||
#
|
||||
@@ -63,23 +62,20 @@ sub new {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'delete_order'} = {
|
||||
__PACKAGE__->method_documentation->{ 'delete_order' } = {
|
||||
summary => 'Delete purchase order by ID',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub delete_order {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'order_id' is set
|
||||
unless ( exists $args{'order_id'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'order_id' when calling delete_order"
|
||||
);
|
||||
unless (exists $args{'order_id'}) {
|
||||
croak("Missing the required parameter 'order_id' when calling delete_order");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -95,27 +91,23 @@ sub delete_order {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# path params
|
||||
if ( exists $args{'order_id'} ) {
|
||||
if ( exists $args{'order_id'}) {
|
||||
my $_base_variable = "{" . "order_id" . "}";
|
||||
my $_base_value =
|
||||
$self->{api_client}->to_path_value( $args{'order_id'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'order_id'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -125,18 +117,18 @@ sub delete_order {
|
||||
# Returns pet inventories by status
|
||||
#
|
||||
{
|
||||
my $params = {};
|
||||
__PACKAGE__->method_documentation->{'get_inventory'} = {
|
||||
my $params = {
|
||||
};
|
||||
__PACKAGE__->method_documentation->{ 'get_inventory' } = {
|
||||
summary => 'Returns pet inventories by status',
|
||||
params => $params,
|
||||
returns => 'HASH[string,int]',
|
||||
};
|
||||
}
|
||||
|
||||
# @return HASH[string,int]
|
||||
#
|
||||
sub get_inventory {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# parse inputs
|
||||
my $_resource_path = '/store/inventory';
|
||||
@@ -147,29 +139,24 @@ sub get_inventory {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept =
|
||||
$self->{api_client}->select_header_accept('application/json');
|
||||
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();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# authentication setting, if any
|
||||
my $auth_settings = [qw(api_key )];
|
||||
|
||||
# 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 ) {
|
||||
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( 'HASH[string,int]', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('HASH[string,int]', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -187,23 +174,20 @@ sub get_inventory {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'get_order_by_id'} = {
|
||||
__PACKAGE__->method_documentation->{ 'get_order_by_id' } = {
|
||||
summary => 'Find purchase order by ID',
|
||||
params => $params,
|
||||
returns => 'Order',
|
||||
};
|
||||
}
|
||||
|
||||
# @return Order
|
||||
#
|
||||
sub get_order_by_id {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'order_id' is set
|
||||
unless ( exists $args{'order_id'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'order_id' when calling get_order_by_id"
|
||||
);
|
||||
unless (exists $args{'order_id'}) {
|
||||
croak("Missing the required parameter 'order_id' when calling get_order_by_id");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -215,37 +199,31 @@ sub get_order_by_id {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept = $self->{api_client}
|
||||
->select_header_accept( 'application/xml', 'application/json' );
|
||||
my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# path params
|
||||
if ( exists $args{'order_id'} ) {
|
||||
if ( exists $args{'order_id'}) {
|
||||
my $_base_variable = "{" . "order_id" . "}";
|
||||
my $_base_value =
|
||||
$self->{api_client}->to_path_value( $args{'order_id'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'order_id'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
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 ) {
|
||||
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( 'Order', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('Order', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -263,22 +241,20 @@ sub get_order_by_id {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'place_order'} = {
|
||||
__PACKAGE__->method_documentation->{ 'place_order' } = {
|
||||
summary => 'Place an order for a pet',
|
||||
params => $params,
|
||||
returns => 'Order',
|
||||
};
|
||||
}
|
||||
|
||||
# @return Order
|
||||
#
|
||||
sub place_order {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'order' is set
|
||||
unless ( exists $args{'order'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'order' when calling place_order");
|
||||
unless (exists $args{'order'}) {
|
||||
croak("Missing the required parameter 'order' when calling place_order");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -290,18 +266,15 @@ sub place_order {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept = $self->{api_client}
|
||||
->select_header_accept( 'application/xml', 'application/json' );
|
||||
my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'order'} ) {
|
||||
if ( exists $args{'order'}) {
|
||||
$_body_data = $args{'order'};
|
||||
}
|
||||
|
||||
@@ -309,15 +282,13 @@ sub place_order {
|
||||
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 ) {
|
||||
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( 'Order', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('Order', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
=begin comment
|
||||
|
||||
OpenAPI Petstore
|
||||
@@ -32,16 +31,15 @@ use WWW::OpenAPIClient::ApiClient;
|
||||
|
||||
use base "Class::Data::Inheritable";
|
||||
|
||||
__PACKAGE__->mk_classdata( 'method_documentation' => {} );
|
||||
__PACKAGE__->mk_classdata('method_documentation' => {});
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
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];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$api_client = WWW::OpenAPIClient::ApiClient->new(@_);
|
||||
}
|
||||
|
||||
@@ -49,6 +47,7 @@ sub new {
|
||||
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# create_user
|
||||
#
|
||||
@@ -63,20 +62,19 @@ sub new {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'create_user'} = {
|
||||
__PACKAGE__->method_documentation->{ 'create_user' } = {
|
||||
summary => 'Create user',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub create_user {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'user' is set
|
||||
unless ( exists $args{'user'} ) {
|
||||
unless (exists $args{'user'}) {
|
||||
croak("Missing the required parameter 'user' when calling create_user");
|
||||
}
|
||||
|
||||
@@ -93,13 +91,11 @@ sub create_user {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'user'} ) {
|
||||
if ( exists $args{'user'}) {
|
||||
$_body_data = $args{'user'};
|
||||
}
|
||||
|
||||
@@ -107,10 +103,9 @@ sub create_user {
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -128,23 +123,20 @@ sub create_user {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'create_users_with_array_input'} = {
|
||||
__PACKAGE__->method_documentation->{ 'create_users_with_array_input' } = {
|
||||
summary => 'Creates list of users with given input array',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub create_users_with_array_input {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'user' is set
|
||||
unless ( exists $args{'user'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'user' when calling create_users_with_array_input"
|
||||
);
|
||||
unless (exists $args{'user'}) {
|
||||
croak("Missing the required parameter 'user' when calling create_users_with_array_input");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -160,13 +152,11 @@ sub create_users_with_array_input {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'user'} ) {
|
||||
if ( exists $args{'user'}) {
|
||||
$_body_data = $args{'user'};
|
||||
}
|
||||
|
||||
@@ -174,10 +164,9 @@ sub create_users_with_array_input {
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -195,23 +184,20 @@ sub create_users_with_array_input {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'create_users_with_list_input'} = {
|
||||
__PACKAGE__->method_documentation->{ 'create_users_with_list_input' } = {
|
||||
summary => 'Creates list of users with given input array',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub create_users_with_list_input {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'user' is set
|
||||
unless ( exists $args{'user'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'user' when calling create_users_with_list_input"
|
||||
);
|
||||
unless (exists $args{'user'}) {
|
||||
croak("Missing the required parameter 'user' when calling create_users_with_list_input");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -227,13 +213,11 @@ sub create_users_with_list_input {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'user'} ) {
|
||||
if ( exists $args{'user'}) {
|
||||
$_body_data = $args{'user'};
|
||||
}
|
||||
|
||||
@@ -241,10 +225,9 @@ sub create_users_with_list_input {
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -262,23 +245,20 @@ sub create_users_with_list_input {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'delete_user'} = {
|
||||
__PACKAGE__->method_documentation->{ 'delete_user' } = {
|
||||
summary => 'Delete user',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub delete_user {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'username' is set
|
||||
unless ( exists $args{'username'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'username' when calling delete_user"
|
||||
);
|
||||
unless (exists $args{'username'}) {
|
||||
croak("Missing the required parameter 'username' when calling delete_user");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -294,27 +274,23 @@ sub delete_user {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# path params
|
||||
if ( exists $args{'username'} ) {
|
||||
if ( exists $args{'username'}) {
|
||||
my $_base_variable = "{" . "username" . "}";
|
||||
my $_base_value =
|
||||
$self->{api_client}->to_path_value( $args{'username'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'username'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -328,28 +304,24 @@ sub delete_user {
|
||||
my $params = {
|
||||
'username' => {
|
||||
data_type => 'string',
|
||||
description =>
|
||||
'The name that needs to be fetched. Use user1 for testing.',
|
||||
description => 'The name that needs to be fetched. Use user1 for testing.',
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'get_user_by_name'} = {
|
||||
__PACKAGE__->method_documentation->{ 'get_user_by_name' } = {
|
||||
summary => 'Get user by user name',
|
||||
params => $params,
|
||||
returns => 'User',
|
||||
};
|
||||
}
|
||||
|
||||
# @return User
|
||||
#
|
||||
sub get_user_by_name {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'username' is set
|
||||
unless ( exists $args{'username'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'username' when calling get_user_by_name"
|
||||
);
|
||||
unless (exists $args{'username'}) {
|
||||
croak("Missing the required parameter 'username' when calling get_user_by_name");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -361,37 +333,31 @@ sub get_user_by_name {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept = $self->{api_client}
|
||||
->select_header_accept( 'application/xml', 'application/json' );
|
||||
my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# path params
|
||||
if ( exists $args{'username'} ) {
|
||||
if ( exists $args{'username'}) {
|
||||
my $_base_variable = "{" . "username" . "}";
|
||||
my $_base_value =
|
||||
$self->{api_client}->to_path_value( $args{'username'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'username'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
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 ) {
|
||||
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( 'User', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('User', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -415,30 +381,25 @@ sub get_user_by_name {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'login_user'} = {
|
||||
__PACKAGE__->method_documentation->{ 'login_user' } = {
|
||||
summary => 'Logs user into the system',
|
||||
params => $params,
|
||||
returns => 'string',
|
||||
};
|
||||
}
|
||||
|
||||
# @return string
|
||||
#
|
||||
sub login_user {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'username' is set
|
||||
unless ( exists $args{'username'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'username' when calling login_user"
|
||||
);
|
||||
unless (exists $args{'username'}) {
|
||||
croak("Missing the required parameter 'username' when calling login_user");
|
||||
}
|
||||
|
||||
# verify the required parameter 'password' is set
|
||||
unless ( exists $args{'password'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'password' when calling login_user"
|
||||
);
|
||||
unless (exists $args{'password'}) {
|
||||
croak("Missing the required parameter 'password' when calling login_user");
|
||||
}
|
||||
|
||||
# parse inputs
|
||||
@@ -450,41 +411,34 @@ sub login_user {
|
||||
my $form_params = {};
|
||||
|
||||
# 'Accept' and 'Content-Type' header
|
||||
my $_header_accept = $self->{api_client}
|
||||
->select_header_accept( 'application/xml', 'application/json' );
|
||||
my $_header_accept = $self->{api_client}->select_header_accept('application/xml', 'application/json');
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# query params
|
||||
if ( exists $args{'username'} ) {
|
||||
$query_params->{'username'} =
|
||||
$self->{api_client}->to_query_value( $args{'username'} );
|
||||
if ( exists $args{'username'}) {
|
||||
$query_params->{'username'} = $self->{api_client}->to_query_value($args{'username'});
|
||||
}
|
||||
|
||||
# query params
|
||||
if ( exists $args{'password'} ) {
|
||||
$query_params->{'password'} =
|
||||
$self->{api_client}->to_query_value( $args{'password'} );
|
||||
if ( exists $args{'password'}) {
|
||||
$query_params->{'password'} = $self->{api_client}->to_query_value($args{'password'});
|
||||
}
|
||||
|
||||
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 ) {
|
||||
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( 'string', $response );
|
||||
my $_response_object = $self->{api_client}->deserialize('string', $response);
|
||||
return $_response_object;
|
||||
}
|
||||
|
||||
@@ -494,18 +448,18 @@ sub login_user {
|
||||
# Logs out current logged in user session
|
||||
#
|
||||
{
|
||||
my $params = {};
|
||||
__PACKAGE__->method_documentation->{'logout_user'} = {
|
||||
my $params = {
|
||||
};
|
||||
__PACKAGE__->method_documentation->{ 'logout_user' } = {
|
||||
summary => 'Logs out current logged in user session',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub logout_user {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# parse inputs
|
||||
my $_resource_path = '/user/logout';
|
||||
@@ -520,19 +474,16 @@ sub logout_user {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$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
|
||||
$self->{api_client}->call_api(
|
||||
$_resource_path, $_method, $query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -556,27 +507,24 @@ sub logout_user {
|
||||
required => '1',
|
||||
},
|
||||
};
|
||||
__PACKAGE__->method_documentation->{'update_user'} = {
|
||||
__PACKAGE__->method_documentation->{ 'update_user' } = {
|
||||
summary => 'Updated user',
|
||||
params => $params,
|
||||
returns => undef,
|
||||
};
|
||||
}
|
||||
|
||||
# @return void
|
||||
#
|
||||
sub update_user {
|
||||
my ( $self, %args ) = @_;
|
||||
my ($self, %args) = @_;
|
||||
|
||||
# verify the required parameter 'username' is set
|
||||
unless ( exists $args{'username'} ) {
|
||||
croak(
|
||||
"Missing the required parameter 'username' when calling update_user"
|
||||
);
|
||||
unless (exists $args{'username'}) {
|
||||
croak("Missing the required parameter 'username' when calling update_user");
|
||||
}
|
||||
|
||||
# verify the required parameter 'user' is set
|
||||
unless ( exists $args{'user'} ) {
|
||||
unless (exists $args{'user'}) {
|
||||
croak("Missing the required parameter 'user' when calling update_user");
|
||||
}
|
||||
|
||||
@@ -593,21 +541,18 @@ sub update_user {
|
||||
if ($_header_accept) {
|
||||
$header_params->{'Accept'} = $_header_accept;
|
||||
}
|
||||
$header_params->{'Content-Type'} =
|
||||
$self->{api_client}->select_header_content_type();
|
||||
$header_params->{'Content-Type'} = $self->{api_client}->select_header_content_type();
|
||||
|
||||
# path params
|
||||
if ( exists $args{'username'} ) {
|
||||
if ( exists $args{'username'}) {
|
||||
my $_base_variable = "{" . "username" . "}";
|
||||
my $_base_value =
|
||||
$self->{api_client}->to_path_value( $args{'username'} );
|
||||
my $_base_value = $self->{api_client}->to_path_value($args{'username'});
|
||||
$_resource_path =~ s/$_base_variable/$_base_value/g;
|
||||
}
|
||||
|
||||
my $_body_data;
|
||||
|
||||
# body params
|
||||
if ( exists $args{'user'} ) {
|
||||
if ( exists $args{'user'}) {
|
||||
$_body_data = $args{'user'};
|
||||
}
|
||||
|
||||
@@ -615,10 +560,9 @@ sub update_user {
|
||||
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
|
||||
);
|
||||
$self->{api_client}->call_api($_resource_path, $_method,
|
||||
$query_params, $form_params,
|
||||
$header_params, $_body_data, $auth_settings);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,6 +78,19 @@
|
||||
</arguments>
|
||||
</configuration>
|
||||
</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>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
33
samples/client/petstore/perl/t/AdultTest.t
Normal file
33
samples/client/petstore/perl/t/AdultTest.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/ChildTest.t
Normal file
33
samples/client/petstore/perl/t/ChildTest.t
Normal 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');
|
||||
|
||||
40
samples/client/petstore/perl/t/DefaultApiTest.t
Normal file
40
samples/client/petstore/perl/t/DefaultApiTest.t
Normal 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;
|
||||
33
samples/client/petstore/perl/t/FooTest.t
Normal file
33
samples/client/petstore/perl/t/FooTest.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/HumanTest.t
Normal file
33
samples/client/petstore/perl/t/HumanTest.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/InlineObject1Test.t
Normal file
33
samples/client/petstore/perl/t/InlineObject1Test.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/InlineObject2Test.t
Normal file
33
samples/client/petstore/perl/t/InlineObject2Test.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/InlineObject3Test.t
Normal file
33
samples/client/petstore/perl/t/InlineObject3Test.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/InlineObject4Test.t
Normal file
33
samples/client/petstore/perl/t/InlineObject4Test.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/InlineObject5Test.t
Normal file
33
samples/client/petstore/perl/t/InlineObject5Test.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/InlineObjectTest.t
Normal file
33
samples/client/petstore/perl/t/InlineObjectTest.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/InlineResponseDefaultTest.t
Normal file
33
samples/client/petstore/perl/t/InlineResponseDefaultTest.t
Normal 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');
|
||||
|
||||
33
samples/client/petstore/perl/t/PersonTest.t
Normal file
33
samples/client/petstore/perl/t/PersonTest.t
Normal 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');
|
||||
|
||||
64
samples/client/petstore/perl/tests/06_inheritance.t
Normal file
64
samples/client/petstore/perl/tests/06_inheritance.t
Normal 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');
|
||||
#
|
||||
Reference in New Issue
Block a user