|
Lines 562-570
sub to_api {
Link Here
|
| 562 |
my $strings = delete $params->{strings}; |
562 |
my $strings = delete $params->{strings}; |
| 563 |
|
563 |
|
| 564 |
# coded values handling |
564 |
# coded values handling |
| 565 |
my $avs = {}; |
565 |
my $string_map = {}; |
| 566 |
if ( $strings and $self->can('api_strings_mapping') ) { |
566 |
if ( $strings and $self->can('strings_map') ) { |
| 567 |
$avs = $self->api_strings_mapping($params); |
567 |
$string_map = $self->strings_map($params); |
| 568 |
} |
568 |
} |
| 569 |
|
569 |
|
| 570 |
# Remove forbidden attributes if required (including their coded values) |
570 |
# Remove forbidden attributes if required (including their coded values) |
|
Lines 575-582
sub to_api {
Link Here
|
| 575 |
} |
575 |
} |
| 576 |
|
576 |
|
| 577 |
if ($strings) { |
577 |
if ($strings) { |
| 578 |
foreach my $field ( keys %{$avs} ) { |
578 |
foreach my $field ( keys %{$string_map} ) { |
| 579 |
delete $avs->{$field} |
579 |
delete $string_map->{$field} |
| 580 |
unless any { $_ eq $field } @{ $self->public_read_list }; |
580 |
unless any { $_ eq $field } @{ $self->public_read_list }; |
| 581 |
} |
581 |
} |
| 582 |
} |
582 |
} |
|
Lines 594-601
sub to_api {
Link Here
|
| 594 |
|
594 |
|
| 595 |
# key != undef |
595 |
# key != undef |
| 596 |
$json_object->{$mapped_column} = delete $json_object->{$column}; |
596 |
$json_object->{$mapped_column} = delete $json_object->{$column}; |
| 597 |
$avs->{$mapped_column} = delete $avs->{$column} |
597 |
$string_map->{$mapped_column} = delete $string_map->{$column} |
| 598 |
if exists $avs->{$column}; |
598 |
if exists $string_map->{$column}; |
| 599 |
|
599 |
|
| 600 |
} |
600 |
} |
| 601 |
elsif ( exists $json_object->{$column} |
601 |
elsif ( exists $json_object->{$column} |
|
Lines 604-615
sub to_api {
Link Here
|
| 604 |
|
604 |
|
| 605 |
# key == undef |
605 |
# key == undef |
| 606 |
delete $json_object->{$column}; |
606 |
delete $json_object->{$column}; |
| 607 |
delete $avs->{$column}; |
607 |
delete $string_map->{$column}; |
| 608 |
} |
608 |
} |
| 609 |
} |
609 |
} |
| 610 |
} |
610 |
} |
| 611 |
|
611 |
|
| 612 |
$json_object->{_strings} = $avs |
612 |
$json_object->{_strings} = $string_map |
| 613 |
if $strings; |
613 |
if $strings; |
| 614 |
|
614 |
|
| 615 |
if ($embeds) { |
615 |
if ($embeds) { |
|
Lines 676-685
sub to_api_mapping {
Link Here
|
| 676 |
return {}; |
676 |
return {}; |
| 677 |
} |
677 |
} |
| 678 |
|
678 |
|
| 679 |
=head3 api_strings_mapping |
679 |
=head3 strings_map |
| 680 |
|
680 |
|
| 681 |
my $params = { is_public => 1 }; |
681 |
my $params = { is_public => 1 }; |
| 682 |
my $string_map = $object->api_strings_mapping($params); |
682 |
my $string_map = $object->strings_map($params); |
| 683 |
|
683 |
|
| 684 |
Generic method that returns the string map for coded attributes. |
684 |
Generic method that returns the string map for coded attributes. |
| 685 |
|
685 |
|
|
Lines 693-699
own mapping returned.
Link Here
|
| 693 |
|
693 |
|
| 694 |
=cut |
694 |
=cut |
| 695 |
|
695 |
|
| 696 |
sub api_strings_mapping { |
696 |
sub strings_map { |
| 697 |
return {}; |
697 |
return {}; |
| 698 |
} |
698 |
} |
| 699 |
|
699 |
|
| 700 |
- |
|
|