Bugzilla – Attachment 177731 Details for
Bug 39091
Cash registers should have a list API endpoint
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 39091: Add cash registers list REST API endpoint
Bug-39091-Add-cash-registers-list-REST-API-endpoin.patch (text/plain), 4.58 KB, created by
Pedro Amorim
on 2025-02-11 13:25:52 UTC
(
hide
)
Description:
Bug 39091: Add cash registers list REST API endpoint
Filename:
MIME Type:
Creator:
Pedro Amorim
Created:
2025-02-11 13:25:52 UTC
Size:
4.58 KB
patch
obsolete
>From c12e68e3d0cef805940aaec0fdc6decab4a4dcb3 Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@ptfs-europe.com> >Date: Tue, 11 Feb 2025 11:42:24 -0100 >Subject: [PATCH] Bug 39091: Add cash registers list REST API endpoint > >--- > Koha/REST/V1/CashRegisters/Registers.pm | 46 ++++++++++++++++++++ > api/v1/swagger/paths/cash_registers.yaml | 53 ++++++++++++++++++++++++ > api/v1/swagger/swagger.yaml | 2 + > 3 files changed, 101 insertions(+) > create mode 100644 Koha/REST/V1/CashRegisters/Registers.pm > >diff --git a/Koha/REST/V1/CashRegisters/Registers.pm b/Koha/REST/V1/CashRegisters/Registers.pm >new file mode 100644 >index 00000000000..9ab3f10e172 >--- /dev/null >+++ b/Koha/REST/V1/CashRegisters/Registers.pm >@@ -0,0 +1,46 @@ >+package Koha::REST::V1::CashRegisters::Registers; >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use Mojo::Base 'Mojolicious::Controller'; >+ >+use Koha::Cash::Registers; >+ >+use Try::Tiny qw( catch try ); >+ >+=head1 API >+ >+=head2 Methods >+ >+=head3 list >+ >+=cut >+ >+sub list { >+ my $c = shift->openapi->valid_input or return; >+ >+ return try { >+ my $cash_registers = $c->objects->search( Koha::Cash::Registers->new ); >+ return $c->render( status => 200, openapi => $cash_registers ); >+ } catch { >+ $c->unhandled_exception($_); >+ }; >+ >+} >+ >+1; >diff --git a/api/v1/swagger/paths/cash_registers.yaml b/api/v1/swagger/paths/cash_registers.yaml >index 4fb4dff012c..e1d12731b4c 100644 >--- a/api/v1/swagger/paths/cash_registers.yaml >+++ b/api/v1/swagger/paths/cash_registers.yaml >@@ -1,4 +1,57 @@ > --- >+/cash_registers: >+ get: >+ x-mojo-to: CashRegisters::Registers#list >+ operationId: listCashRegisters >+ tags: >+ - cash_registers >+ summary: List cash registers >+ produces: >+ - application/json >+ parameters: >+ - description: Case insensitive search on cash register cash_register_id >+ in: query >+ name: cash_register_id >+ required: false >+ type: string >+ collectionFormat: csv >+ - $ref: "../swagger.yaml#/parameters/match" >+ - $ref: "../swagger.yaml#/parameters/order_by" >+ - $ref: "../swagger.yaml#/parameters/page" >+ - $ref: "../swagger.yaml#/parameters/per_page" >+ - $ref: "../swagger.yaml#/parameters/q_param" >+ - $ref: "../swagger.yaml#/parameters/q_body" >+ responses: >+ 200: >+ description: A list of cash registers >+ schema: >+ items: >+ $ref: "../swagger.yaml#/definitions/cash_register" >+ type: array >+ "400": >+ description: | >+ Bad request. Possible `error_code` attribute values: >+ >+ * `invalid_query` >+ schema: >+ $ref: "../swagger.yaml#/definitions/error" >+ 403: >+ description: Access forbidden >+ schema: >+ $ref: "../swagger.yaml#/definitions/error" >+ 500: >+ description: |- >+ Internal server error. Possible `error_code` attribute values: >+ * `internal_server_error` >+ schema: >+ $ref: "../swagger.yaml#/definitions/error" >+ 503: >+ description: Under maintenance >+ schema: >+ $ref: "../swagger.yaml#/definitions/error" >+ x-koha-authorization: >+ permissions: >+ parameters: manage_cash_registers > "/cash_registers/{cash_register_id}/cashups": > get: > x-mojo-to: CashRegisters::Cashups#list >diff --git a/api/v1/swagger/swagger.yaml b/api/v1/swagger/swagger.yaml >index 4b80592e38a..00cc5ec0b9d 100644 >--- a/api/v1/swagger/swagger.yaml >+++ b/api/v1/swagger/swagger.yaml >@@ -285,6 +285,8 @@ paths: > $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items~1{item_id}" > "/biblios/{biblio_id}/merge": > $ref: "./paths/biblios_merge.yaml#/~1biblios~1{biblio_id}~1merge" >+ /cash_registers: >+ $ref: "./paths/cash_registers.yaml#/~1cash_registers" > "/cash_registers/{cash_register_id}/cashups": > $ref: "./paths/cash_registers.yaml#/~1cash_registers~1{cash_register_id}~1cashups" > "/cashups/{cashup_id}": >-- >2.39.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 39091
: 177731 |
177732