=begin comment Smartcat Integration API No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) OpenAPI spec version: v1 Generated by: https://github.com/swagger-api/swagger-codegen.git =end comment =cut # # NOTE: This class is auto generated by the swagger code generator program. # Do not edit the class manually. # Ref: https://github.com/swagger-api/swagger-codegen # package Smartcat::Client::Object::DocumentModel; 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 Smartcat::Client::Object::DocumentWorkflowStageModel; use base ( "Class::Accessor", "Class::Data::Inheritable" ); # # # # NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. # REF: https://github.com/swagger-api/swagger-codegen # =begin comment Smartcat Integration API No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) OpenAPI spec version: v1 Generated by: https://github.com/swagger-api/swagger-codegen.git =end comment =cut # # NOTE: This class is auto generated by the swagger code generator program. # Do not edit the class manually. # Ref: https://github.com/swagger-api/swagger-codegen # __PACKAGE__->mk_classdata( 'attribute_map' => {} ); __PACKAGE__->mk_classdata( 'swagger_types' => {} ); __PACKAGE__->mk_classdata( 'method_documentation' => {} ); __PACKAGE__->mk_classdata( 'class_documentation' => {} ); # new 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} ); } return $self; } # return perl hash sub to_hash { return decode_json( JSON->new->convert_blessed->encode(shift) ); } # 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 swagger_types to deserialize the data while ( my ( $_key, $_type ) = each %{ $self->swagger_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 "Smartcat::Client::Object::$type->new()"; return $_instance->from_hash($data); } } __PACKAGE__->class_documentation( { description => '', class => 'DocumentModel', required => [], # TODO } ); __PACKAGE__->method_documentation( { 'id' => { datatype => 'string', base_name => 'id', description => '', format => '', read_only => '', }, 'name' => { datatype => 'string', base_name => 'name', description => '', format => '', read_only => '', }, 'full_path' => { datatype => 'string', base_name => 'fullPath', description => '', format => '', read_only => '', }, 'creation_date' => { datatype => 'DateTime', base_name => 'creationDate', description => '', format => '', read_only => '', }, 'deadline' => { datatype => 'DateTime', base_name => 'deadline', description => '', format => '', read_only => '', }, 'source_language' => { datatype => 'string', base_name => 'sourceLanguage', description => '', format => '', read_only => '', }, 'document_disassembling_status' => { datatype => 'string', base_name => 'documentDisassemblingStatus', description => '', format => '', read_only => '', }, 'target_language' => { datatype => 'string', base_name => 'targetLanguage', description => '', format => '', read_only => '', }, 'status' => { datatype => 'string', base_name => 'status', description => '', format => '', read_only => '', }, 'words_count' => { datatype => 'int', base_name => 'wordsCount', description => '', format => '', read_only => '', }, 'status_modification_date' => { datatype => 'DateTime', base_name => 'statusModificationDate', description => '', format => '', read_only => '', }, 'pretranslate_completed' => { datatype => 'boolean', base_name => 'pretranslateCompleted', description => '', format => '', read_only => '', }, 'workflow_stages' => { datatype => 'ARRAY[DocumentWorkflowStageModel]', base_name => 'workflowStages', description => '', format => '', read_only => '', }, 'external_id' => { datatype => 'string', base_name => 'externalId', description => '', format => '', read_only => '', }, 'meta_info' => { datatype => 'string', base_name => 'metaInfo', description => '', format => '', read_only => '', }, 'placeholders_are_enabled' => { datatype => 'boolean', base_name => 'placeholdersAreEnabled', description => '', format => '', read_only => '', }, } ); __PACKAGE__->swagger_types( { 'id' => 'string', 'name' => 'string', 'full_path' => 'string', 'creation_date' => 'DateTime', 'deadline' => 'DateTime', 'source_language' => 'string', 'document_disassembling_status' => 'string', 'target_language' => 'string', 'status' => 'string', 'words_count' => 'int', 'status_modification_date' => 'DateTime', 'pretranslate_completed' => 'boolean', 'workflow_stages' => 'ARRAY[DocumentWorkflowStageModel]', 'external_id' => 'string', 'meta_info' => 'string', 'placeholders_are_enabled' => 'boolean' } ); __PACKAGE__->attribute_map( { 'id' => 'id', 'name' => 'name', 'full_path' => 'fullPath', 'creation_date' => 'creationDate', 'deadline' => 'deadline', 'source_language' => 'sourceLanguage', 'document_disassembling_status' => 'documentDisassemblingStatus', 'target_language' => 'targetLanguage', 'status' => 'status', 'words_count' => 'wordsCount', 'status_modification_date' => 'statusModificationDate', 'pretranslate_completed' => 'pretranslateCompleted', 'workflow_stages' => 'workflowStages', 'external_id' => 'externalId', 'meta_info' => 'metaInfo', 'placeholders_are_enabled' => 'placeholdersAreEnabled' } ); __PACKAGE__->mk_accessors( keys %{ __PACKAGE__->attribute_map } ); 1;