From 2be1142583b64272273c8511b3ab52c792ceb549 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 21 Oct 2019 13:25:34 -0300 Subject: [PATCH] Bug 23843: Add mapping to Koha::Club::Holds This patch adds a to_api_mapping method to the class. This in effect enables calling ->to_api on the object. The mapping is borrowed from the API controller. It is not removed from the controller so we are able to verify (through the tests) that there is no behavior change. Once this is pushed we need to implement the counter-wise methods and clean the controllers. To test: 1. Run: $ kshell k$ prove t/db_dependent/api/v1/clubs_holds.t => SUCCESS: Tests pass 2. Apply this patch 3. Repeat (1) => SUCCESS: Tests still pass! 4. Sign off :-D --- Koha/Club/Hold.pm | 25 ++++++++++++++++++++++--- Koha/REST/V1/Clubs/Holds.pm | 7 ++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/Koha/Club/Hold.pm b/Koha/Club/Hold.pm index 9ca8f40456..b8b78fb293 100644 --- a/Koha/Club/Hold.pm +++ b/Koha/Club/Hold.pm @@ -40,7 +40,7 @@ Represents a hold made for every member of club =head1 API -=head2 Class Methods +=head2 Class methods =cut @@ -125,7 +125,26 @@ sub add { } -=head3 type + +=head3 to_api_mapping + +This method returns the mapping for representing a Koha::Club::Hold object +on the API. + +=cut + +sub to_api_mapping { + return { + id => 'club_hold_id', + club_id => 'club_id', + biblio_id => 'biblio_id', + item_id => 'item_id' + }; +} + +=head2 Internal methods + +=head3 _type =cut @@ -139,4 +158,4 @@ Agustin Moyano =cut -1; \ No newline at end of file +1; diff --git a/Koha/REST/V1/Clubs/Holds.pm b/Koha/REST/V1/Clubs/Holds.pm index 5d25bd3c5f..6b061dca66 100644 --- a/Koha/REST/V1/Clubs/Holds.pm +++ b/Koha/REST/V1/Clubs/Holds.pm @@ -119,9 +119,10 @@ sub add { item_type => $item_type }); - my $mapping = _to_api($club_hold->unblessed); - - return $c->render( status => 201, openapi => $mapping ); + return $c->render( + status => 201, + openapi => $club_hold->to_api + ); } catch { if ( blessed $_ and $_->isa('Koha::Exceptions::Object') ) { -- 2.23.0