From 189c562bde96d17aee50577f1c926eacab333984 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Tue, 24 Jan 2023 15:00:03 +0000 Subject: [PATCH] Bug 32711: Add 'public_read_list' appropriately We're exposing biblio (and thus biblioitem) to the public API now and as such we need to explisitely list which fields to include in the response when called on teh public api. --- Koha/Biblio.pm | 17 ++++++++++++++++- Koha/Biblioitem.pm | 21 ++++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Koha/Biblio.pm b/Koha/Biblio.pm index 5b7541a36e0..20b5465b533 100644 --- a/Koha/Biblio.pm +++ b/Koha/Biblio.pm @@ -1162,6 +1162,21 @@ sub get_marc_authors { return [@first_authors, @other_authors]; } +=head3 public_read_list + +This method returns the list of publicly readable database fields for both API and UI output purposes + +=cut + +sub public_read_list { + return [ + 'biblionumber', 'frameworkcode', 'author', + 'title', 'medium', 'subtitle', + 'part_number', 'part_name', 'unititle', + 'notes', 'serial', 'seriestitle', + 'copyrightdate', 'abstract' + ]; +} =head3 to_api @@ -1177,7 +1192,7 @@ sub to_api { my ($self, $args) = @_; my $response = $self->SUPER::to_api( $args ); - my $biblioitem = $self->biblioitem->to_api; + my $biblioitem = $self->biblioitem->to_api( $args ); return { %$response, %$biblioitem }; } diff --git a/Koha/Biblioitem.pm b/Koha/Biblioitem.pm index eec0cdc6374..9cc3a05ca26 100644 --- a/Koha/Biblioitem.pm +++ b/Koha/Biblioitem.pm @@ -30,6 +30,26 @@ Koha::Biblioitem - Koha Biblioitem Object class =head2 Class methods +=head3 public_read_list + +This method returns the list of publicly readable database fields for both API and UI output purposes + +=cut + +sub public_read_list { + return [ + 'volume', 'number', 'isbn', + 'issn', 'ean', 'publicationyear', + 'publishercode', 'volumedate', 'columedesc', + 'collectiontitle', 'collectionissn', 'collectionvolume', + 'editionstatement', 'editionresponsibility', 'pages', + 'place', 'lccn', 'url', + 'cn_source', 'cn_class', 'cn)item', + 'cn_suffix', 'cn_sort', 'agerestriction', + 'totalissues' + ]; +} + =head3 to_api_mapping This method returns the mapping for representing a Koha::Biblioitem object @@ -57,7 +77,6 @@ sub to_api_mapping { totalissues => 'serial_total_issues', volumedate => 'volume_date', volumedesc => 'volume_description', - }; } -- 2.39.1