From e9baef1d6d8388e622e5181e5589e6622ba267f1 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 [20.11.x] This patch adds the objects.find helper. Much like objects.search, it returns the to_api method with embedded. Sponsored-by: Virginia Polytechnic Institute and State University Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Martin Renvoize --- 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 0f08a2d37a..18ba929984 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.33.1