View | Details | Raw Unified | Return to bug 39091
Collapse All | Expand All

(-)a/Koha/REST/V1/CashRegisters/Registers.pm (+46 lines)
Line 0 Link Here
1
package Koha::REST::V1::CashRegisters::Registers;
2
3
# This file is part of Koha.
4
#
5
# Koha is free software; you can redistribute it and/or modify it
6
# under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# Koha is distributed in the hope that it will be useful, but
11
# WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
18
use Modern::Perl;
19
20
use Mojo::Base 'Mojolicious::Controller';
21
22
use Koha::Cash::Registers;
23
24
use Try::Tiny qw( catch try );
25
26
=head1 API
27
28
=head2 Methods
29
30
=head3 list
31
32
=cut
33
34
sub list {
35
    my $c = shift->openapi->valid_input or return;
36
37
    return try {
38
        my $cash_registers = $c->objects->search( Koha::Cash::Registers->new );
39
        return $c->render( status => 200, openapi => $cash_registers );
40
    } catch {
41
        $c->unhandled_exception($_);
42
    };
43
44
}
45
46
1;
(-)a/api/v1/swagger/paths/cash_registers.yaml (+53 lines)
Lines 1-4 Link Here
1
---
1
---
2
/cash_registers:
3
  get:
4
    x-mojo-to: CashRegisters::Registers#list
5
    operationId: listCashRegisters
6
    tags:
7
      - cash_registers
8
    summary: List cash registers
9
    produces:
10
      - application/json
11
    parameters:
12
      - description: Case insensitive search on cash register cash_register_id
13
        in: query
14
        name: cash_register_id
15
        required: false
16
        type: string
17
        collectionFormat: csv
18
      - $ref: "../swagger.yaml#/parameters/match"
19
      - $ref: "../swagger.yaml#/parameters/order_by"
20
      - $ref: "../swagger.yaml#/parameters/page"
21
      - $ref: "../swagger.yaml#/parameters/per_page"
22
      - $ref: "../swagger.yaml#/parameters/q_param"
23
      - $ref: "../swagger.yaml#/parameters/q_body"
24
    responses:
25
      200:
26
        description: A list of cash registers
27
        schema:
28
          items:
29
            $ref: "../swagger.yaml#/definitions/cash_register"
30
          type: array
31
      "400":
32
        description: |
33
          Bad request. Possible `error_code` attribute values:
34
35
            * `invalid_query`
36
        schema:
37
          $ref: "../swagger.yaml#/definitions/error"
38
      403:
39
        description: Access forbidden
40
        schema:
41
          $ref: "../swagger.yaml#/definitions/error"
42
      500:
43
        description: |-
44
          Internal server error. Possible `error_code` attribute values:
45
          * `internal_server_error`
46
        schema:
47
          $ref: "../swagger.yaml#/definitions/error"
48
      503:
49
        description: Under maintenance
50
        schema:
51
          $ref: "../swagger.yaml#/definitions/error"
52
    x-koha-authorization:
53
      permissions:
54
        parameters: manage_cash_registers
2
"/cash_registers/{cash_register_id}/cashups":
55
"/cash_registers/{cash_register_id}/cashups":
3
  get:
56
  get:
4
    x-mojo-to: CashRegisters::Cashups#list
57
    x-mojo-to: CashRegisters::Cashups#list
(-)a/api/v1/swagger/swagger.yaml (-1 / +2 lines)
Lines 285-290 paths: Link Here
285
    $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items~1{item_id}"
285
    $ref: "./paths/biblios_item_groups.yaml#/~1biblios~1{biblio_id}~1item_groups~1{item_group_id}~1items~1{item_id}"
286
  "/biblios/{biblio_id}/merge":
286
  "/biblios/{biblio_id}/merge":
287
    $ref: "./paths/biblios_merge.yaml#/~1biblios~1{biblio_id}~1merge"
287
    $ref: "./paths/biblios_merge.yaml#/~1biblios~1{biblio_id}~1merge"
288
  /cash_registers:
289
    $ref: "./paths/cash_registers.yaml#/~1cash_registers"
288
  "/cash_registers/{cash_register_id}/cashups":
290
  "/cash_registers/{cash_register_id}/cashups":
289
    $ref: "./paths/cash_registers.yaml#/~1cash_registers~1{cash_register_id}~1cashups"
291
    $ref: "./paths/cash_registers.yaml#/~1cash_registers~1{cash_register_id}~1cashups"
290
  "/cashups/{cashup_id}":
292
  "/cashups/{cashup_id}":
291
- 

Return to bug 39091