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

(-)a/Koha/REST/V1/Patrons/Holds.pm (-1 / +67 lines)
Line 0 Link Here
0
- 
1
package Koha::REST::V1::Patrons::Holds;
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::Patrons;
23
24
=head1 NAME
25
26
Koha::REST::V1::Patrons::Holds
27
28
=head1 API
29
30
=head2 Methods
31
32
=head3 list
33
34
Controller function that handles listing Koha::Hold objects for the requested patron
35
36
=cut
37
38
sub list {
39
    my $c = shift->openapi->valid_input or return;
40
41
    my $patron = Koha::Patrons->find( $c->validation->param('patron_id') );
42
43
    unless ( $patron ) {
44
        return $c->render(
45
            status  => 404,
46
            openapi => {
47
                error => 'Patron not found'
48
            }
49
        );
50
    }
51
52
    return try {
53
54
        my $holds_rs = $patron->holds;
55
        my $holds    = $c->objects->search( $holds_rs );
56
57
        return $c->render(
58
            status  => 200,
59
            openapi => $holds
60
        );
61
    }
62
    catch {
63
        $c->unhandled_exception($_);
64
    };
65
}
66
67
1;

Return to bug 27366