| Lines 538-543
          sub prefetch_whitelist {
      
      
        Link Here | 
        
          | 538 |                     ... | 538 |                     ... | 
        
          | 539 |                 } | 539 |                 } | 
        
          | 540 |             }, | 540 |             }, | 
            
              |  |  | 541 |             public => 0|1, | 
        
          | 541 |             ... | 542 |             ... | 
        
          | 542 |          ] | 543 |          ] | 
        
          | 543 |         } | 544 |         } | 
  
    | Lines 572-578
          sub to_api {
      
      
        Link Here | 
        
          | 572 |         } | 573 |         } | 
        
          | 573 |     } | 574 |     } | 
        
          | 574 |  | 575 |  | 
          
            
              | 575 |     my $embeds = $params->{embed}; | 576 |     # Remove forbidden attributes if required | 
            
              |  |  | 577 |     if (    $params->{public} | 
            
              | 578 |         and $self->can('api_privileged_attrs') ) | 
            
              | 579 |     { | 
            
              | 580 |         foreach my $privileged_attr ( @{ $self->api_privileged_attrs } ) { | 
            
              | 581 |             delete $json_object->{$privileged_attr}; | 
            
              | 582 |         } | 
            
              | 583 |     } | 
            
              | 584 |  | 
            
              | 585 |     # Make sure we duplicate the $params variable to avoid | 
            
              | 586 |     # breaking calls in a loop (Koha::Objects->to_api) | 
            
              | 587 |     $params    = {%$params}; | 
            
              | 588 |     my $embeds = delete $params->{embed}; | 
        
          | 576 |  | 589 |  | 
        
          | 577 |     if ($embeds) { | 590 |     if ($embeds) { | 
        
          | 578 |         foreach my $embed ( keys %{$embeds} ) { | 591 |         foreach my $embed ( keys %{$embeds} ) { | 
  
    | Lines 591-610
          sub to_api {
      
      
        Link Here | 
        
          | 591 |                 if ( defined $children and ref($children) eq 'ARRAY' ) { | 604 |                 if ( defined $children and ref($children) eq 'ARRAY' ) { | 
        
          | 592 |                     my @list = map { | 605 |                     my @list = map { | 
        
          | 593 |                         $self->_handle_to_api_child( | 606 |                         $self->_handle_to_api_child( | 
          
            
              | 594 |                             { child => $_, next => $next, curr => $curr } ) | 607 |                             { | 
            
              |  |  | 608 |                                 child  => $_, | 
            
              | 609 |                                 next   => $next, | 
            
              | 610 |                                 curr   => $curr, | 
            
              | 611 |                                 params => $params | 
            
              | 612 |                             } | 
            
              | 613 |                         ) | 
        
          | 595 |                     } @{$children}; | 614 |                     } @{$children}; | 
        
          | 596 |                     $json_object->{$curr} = \@list; | 615 |                     $json_object->{$curr} = \@list; | 
        
          | 597 |                 } | 616 |                 } | 
        
          | 598 |                 else { | 617 |                 else { | 
        
          | 599 |                     $json_object->{$curr} = $self->_handle_to_api_child( | 618 |                     $json_object->{$curr} = $self->_handle_to_api_child( | 
          
            
              | 600 |                         { child => $children, next => $next, curr => $curr } ); | 619 |                         { | 
            
              |  |  | 620 |                             child  => $children, | 
            
              | 621 |                             next   => $next, | 
            
              | 622 |                             curr   => $curr, | 
            
              | 623 |                             params => $params | 
            
              | 624 |                         } | 
            
              | 625 |                     ); | 
        
          | 601 |                 } | 626 |                 } | 
        
          | 602 |             } | 627 |             } | 
        
          | 603 |         } | 628 |         } | 
        
          | 604 |     } | 629 |     } | 
        
          | 605 |  | 630 |  | 
            
              | 606 |  |  |  | 
            
              | 607 |  | 
        
          | 608 |     return $json_object; | 631 |     return $json_object; | 
        
          | 609 | } | 632 | } | 
        
          | 610 |  | 633 |  | 
  
    | Lines 850-858
          sub _type { }
      
      
        Link Here | 
        
          | 850 | sub _handle_to_api_child { | 873 | sub _handle_to_api_child { | 
        
          | 851 |     my ($self, $args ) = @_; | 874 |     my ($self, $args ) = @_; | 
        
          | 852 |  | 875 |  | 
          
            
              | 853 |     my $child = $args->{child}; | 876 |     my $child  = $args->{child}; | 
            
              | 854 |     my $next  = $args->{next}; | 877 |     my $next   = $args->{next}; | 
            
              | 855 |     my $curr  = $args->{curr}; | 878 |     my $curr   = $args->{curr}; | 
            
              |  |  | 879 |     my $params = $args->{params}; | 
        
          | 856 |  | 880 |  | 
        
          | 857 |     my $res; | 881 |     my $res; | 
        
          | 858 |  | 882 |  | 
  
    | Lines 862-868
          sub _handle_to_api_child {
      
      
        Link Here | 
        
          | 862 |             if defined $next and blessed $child and !$child->can('to_api'); | 886 |             if defined $next and blessed $child and !$child->can('to_api'); | 
        
          | 863 |  | 887 |  | 
        
          | 864 |         if ( blessed $child ) { | 888 |         if ( blessed $child ) { | 
          
            
              | 865 |             $res = $child->to_api({ embed => $next }); | 889 |             $params->{embed} = $next; | 
            
              |  |  | 890 |             $res = $child->to_api($params); | 
        
          | 866 |         } | 891 |         } | 
        
          | 867 |         else { | 892 |         else { | 
        
          | 868 |             $res = $child; | 893 |             $res = $child; |