From 51b5ce20a2e1415521960bccc9760577a17fbff6 Mon Sep 17 00:00:00 2001 From: Agustin Moyano Date: Fri, 9 Oct 2020 10:20:33 -0300 Subject: [PATCH] Bug 26636: Add objects.find helper This patch adds the objects.find helper. Much like objects.search, it returns the to_api method with embedded. Sponsored-by: Virginia Tech Libraries --- Koha/REST/Plugin/Objects.pm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Koha/REST/Plugin/Objects.pm b/Koha/REST/Plugin/Objects.pm index 246aece704f..635f6d08c73 100644 --- a/Koha/REST/Plugin/Objects.pm +++ b/Koha/REST/Plugin/Objects.pm @@ -44,6 +44,28 @@ for API rendering. sub register { my ( $self, $app ) = @_; + $app->helper( + 'objects.find' => sub { + my ( $c, $result_set, $id ) = @_; + + my $attributes = {}; + + # Look for embeds + my $embed = $c->stash('koha.embed'); + # Generate prefetches for embedded stuff + $c->dbic_merge_prefetch( + { + attributes => $attributes, + result_set => $result_set + } + ); + + my $object = $result_set->find( $id, $attributes ); + + return $object->to_api({ embed => $embed }); + } + ); + $app->helper( 'objects.search' => sub { my ( $c, $result_set ) = @_; -- 2.30.0