1 package Koha::REST::V1::Patrons;
3 # This file is part of Koha.
5 # Koha is free software; you can redistribute it and/or modify it under the
6 # terms of the GNU General Public License as published by the Free Software
7 # Foundation; either version 3 of the License, or (at your option) any later
10 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License along
15 # with Koha; if not, write to the Free Software Foundation, Inc.,
16 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 use Mojo::Base 'Mojolicious::Controller';
22 use C4::Auth qw( haspermission );
26 my ($c, $args, $cb) = @_;
28 my $user = $c->stash('koha.user');
29 unless ($user && haspermission($user->userid, {borrowers => 1})) {
30 return $c->$cb({error => "You don't have the required permission"}, 403);
33 my $patrons = Koha::Borrowers->search;
35 $c->$cb($patrons->unblessed, 200);
39 my ($c, $args, $cb) = @_;
41 my $user = $c->stash('koha.user');
44 && ( $user->borrowernumber == $args->{borrowernumber}
45 || haspermission($user->userid, {borrowers => 1}) ) )
47 return $c->$cb({error => "You don't have the required permission"}, 403);
50 my $patron = Koha::Borrowers->find($args->{borrowernumber});
52 return $c->$cb({error => "Patron not found"}, 404);
55 return $c->$cb($patron->unblessed, 200);