From 90ba1c1bfe765146c04dfc4e3255dbebd3606ea5 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 18 Sep 2024 04:59:27 +0100 Subject: [PATCH] Bug 37592: (QA follow-up) Fetch database fields for api return Creation and Modification times are maintained by the database, but on add/update we were not fetching the updated fields from the database for the api response. This patch corrects that and also updates the api schema to reflect that these are readOnly fields. Signed-off-by: Martin Renvoize --- Koha/REST/V1/Bookings.pm | 2 ++ api/v1/swagger/definitions/booking.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Koha/REST/V1/Bookings.pm b/Koha/REST/V1/Bookings.pm index 44e381ef1b..945614cd90 100644 --- a/Koha/REST/V1/Bookings.pm +++ b/Koha/REST/V1/Bookings.pm @@ -77,6 +77,7 @@ sub add { return try { my $booking = Koha::Booking->new_from_api( $c->req->json ); $booking->store; + $booking->discard_changes; $c->res->headers->location( $c->req->url->to_string . '/' . $booking->booking_id ); return $c->render( status => 201, @@ -118,6 +119,7 @@ sub update { return try { $booking->set_from_api( $c->req->json ); $booking->store(); + $booking->discard_changes; return $c->render( status => 200, openapi => $c->objects->to_api($booking) ); } catch { $c->unhandled_exception($_); diff --git a/api/v1/swagger/definitions/booking.yaml b/api/v1/swagger/definitions/booking.yaml index 34a4ab2852..b40330dcd5 100644 --- a/api/v1/swagger/definitions/booking.yaml +++ b/api/v1/swagger/definitions/booking.yaml @@ -12,6 +12,7 @@ properties: type: integer creation_date: description: Creation date and time of this booking + readOnly: true format: date-time type: string end_date: @@ -30,6 +31,7 @@ properties: - 'null' modification_date: description: Modification date and time of this booking + readOnly: true format: date-time type: string patron_id: