From 89947649eda630a1db58597410d661de696aa8c0 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Thu, 7 Mar 2024 17:12:51 +0000 Subject: [PATCH] Bug 36120: Add pickup_library support to bookings API Signed-off-by: Lisette Scheer Signed-off-by: Kristi Krueger --- Koha/Booking.pm | 13 +++++++++++++ api/v1/swagger/definitions/booking.yaml | 9 +++++++++ api/v1/swagger/paths/biblios.yaml | 6 ++++-- api/v1/swagger/paths/bookings.yaml | 3 ++- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/Koha/Booking.pm b/Koha/Booking.pm index 65d3122b6ee..f1004ae1f73 100644 --- a/Koha/Booking.pm +++ b/Koha/Booking.pm @@ -58,6 +58,19 @@ sub patron { return Koha::Patron->_new_from_dbic($patron_rs); } +=head3 pickup_library + +Returns the related Koha::Library object for this booking + +=cut + +sub pickup_library { + my ($self) = @_; + + my $pickup_library_rs = $self->_result->pickup_library; + return Koha::Library->_new_from_dbic($pickup_library_rs); +} + =head3 item Returns the related Koha::Item object for this Booking diff --git a/api/v1/swagger/definitions/booking.yaml b/api/v1/swagger/definitions/booking.yaml index 23393a60ff3..aed1e31b3f9 100644 --- a/api/v1/swagger/definitions/booking.yaml +++ b/api/v1/swagger/definitions/booking.yaml @@ -32,6 +32,14 @@ properties: type: - object - "null" + pickup_library_id: + description: Internal pickup_library identifier + type: string + pickup_library: + description: Embedable pickup_library representation + type: + - object + - "null" start_date: description: Start date and time of this booking format: date-time @@ -40,6 +48,7 @@ required: - biblio_id - item_id - patron_id + - pickup_library_id - start_date - end_date type: object diff --git a/api/v1/swagger/paths/biblios.yaml b/api/v1/swagger/paths/biblios.yaml index 30702535577..25e73cd8cde 100644 --- a/api/v1/swagger/paths/biblios.yaml +++ b/api/v1/swagger/paths/biblios.yaml @@ -299,6 +299,7 @@ enum: - item - patron + - pickup_library collectionFormat: csv consumes: - application/json @@ -372,7 +373,8 @@ collectionFormat: csv - name: checked_in in: query - description: By default, current checkouts are returned, when this is true then + description: + By default, current checkouts are returned, when this is true then checked in checkouts are returned as result. type: boolean produces: @@ -787,7 +789,7 @@ - integer - "null" required: - - rating + - rating additionalProperties: false produces: - application/json diff --git a/api/v1/swagger/paths/bookings.yaml b/api/v1/swagger/paths/bookings.yaml index f7bb0b88045..35a50a34108 100644 --- a/api/v1/swagger/paths/bookings.yaml +++ b/api/v1/swagger/paths/bookings.yaml @@ -46,6 +46,7 @@ - biblio - item - patron + - pickup_library collectionFormat: csv produces: - application/json @@ -121,7 +122,7 @@ permissions: circulate: manage_bookings x-mojo-to: Bookings#add -'/bookings/{booking_id}': +"/bookings/{booking_id}": delete: operationId: deleteBooking parameters: -- 2.44.0