From fff0da34feef951ebcf38bb403e0cba56707c607 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Wed, 7 Oct 2015 17:19:34 +0200 Subject: [PATCH] Bug 13799: Reword 'borrower' to 'patron' Also, complete the Swagger definition of a patron Signed-off-by: Martin Renvoize --- Koha/REST/V1/{Borrowers.pm => Patrons.pm} | 18 +-- api/v1/swagger.json | 227 +++++++++++++++++++++++++++--- 2 files changed, 217 insertions(+), 28 deletions(-) rename Koha/REST/V1/{Borrowers.pm => Patrons.pm} (79%) diff --git a/Koha/REST/V1/Borrowers.pm b/Koha/REST/V1/Patrons.pm similarity index 79% rename from Koha/REST/V1/Borrowers.pm rename to Koha/REST/V1/Patrons.pm index 7942b77..6468bba 100644 --- a/Koha/REST/V1/Borrowers.pm +++ b/Koha/REST/V1/Patrons.pm @@ -1,4 +1,4 @@ -package Koha::REST::V1::Borrowers; +package Koha::REST::V1::Patrons; # This file is part of Koha. # @@ -22,7 +22,7 @@ use Mojo::Base 'Mojolicious::Controller'; use C4::Auth qw( haspermission ); use Koha::Borrowers; -sub list_borrowers { +sub list_patrons { my ($c, $args, $cb) = @_; my $user = $c->stash('koha.user'); @@ -30,12 +30,12 @@ sub list_borrowers { return $c->$cb({error => "You don't have the required permission"}, 403); } - my $borrowers = Koha::Borrowers->search; + my $patrons = Koha::Borrowers->search; - $c->$cb($borrowers->unblessed, 200); + $c->$cb($patrons->unblessed, 200); } -sub get_borrower { +sub get_patron { my ($c, $args, $cb) = @_; my $user = $c->stash('koha.user'); @@ -47,12 +47,12 @@ sub get_borrower { return $c->$cb({error => "You don't have the required permission"}, 403); } - my $borrower = Koha::Borrowers->find($args->{borrowernumber}); - unless ($borrower) { - return $c->$cb({error => "Borrower not found"}, 404); + my $patron = Koha::Borrowers->find($args->{borrowernumber}); + unless ($patron) { + return $c->$cb({error => "Patron not found"}, 404); } - return $c->$cb($borrower->unblessed, 200); + return $c->$cb($patron->unblessed, 200); } 1; diff --git a/api/v1/swagger.json b/api/v1/swagger.json index 5654dc0..09b679e 100644 --- a/api/v1/swagger.json +++ b/api/v1/swagger.json @@ -14,21 +14,21 @@ }, "basePath": "/api/v1", "paths": { - "/borrowers": { + "/patrons": { "get": { - "x-mojo-controller": "Koha::REST::V1::Borrowers", - "operationId": "listBorrowers", - "tags": ["borrowers"], + "x-mojo-controller": "Koha::REST::V1::Patrons", + "operationId": "listPatrons", + "tags": ["patrons"], "produces": [ "application/json" ], "responses": { "200": { - "description": "A list of borrowers", + "description": "A list of patrons", "schema": { "type": "array", "items": { - "$ref": "#/definitions/borrower" + "$ref": "#/definitions/patron" } } }, @@ -41,11 +41,11 @@ } } }, - "/borrowers/{borrowernumber}": { + "/patrons/{borrowernumber}": { "get": { - "x-mojo-controller": "Koha::REST::V1::Borrowers", - "operationId": "getBorrower", - "tags": ["borrowers"], + "x-mojo-controller": "Koha::REST::V1::Patrons", + "operationId": "getPatron", + "tags": ["patrons"], "parameters": [ { "$ref": "#/parameters/borrowernumberPathParam" @@ -56,9 +56,9 @@ ], "responses": { "200": { - "description": "A borrower", + "description": "A patron", "schema": { - "$ref": "#/definitions/borrower" + "$ref": "#/definitions/patron" } }, "403": { @@ -68,7 +68,7 @@ } }, "404": { - "description": "Borrower not found", + "description": "Patron not found", "schema": { "$ref": "#/definitions/error" } @@ -78,25 +78,214 @@ } }, "definitions": { - "borrower": { + "patron": { "type": "object", "properties": { "borrowernumber": { "$ref": "#/definitions/borrowernumber" }, "cardnumber": { - "description": "library assigned ID number for borrowers" + "description": "library assigned ID number for patrons" }, "surname": { - "description": "borrower's last name" + "description": "patron's last name" }, "firstname": { - "description": "borrower's first name" + "description": "patron's first name" + }, + "title": { + "description": "patron's title" + }, + "othernames": { + "description": "any other names associated with the patron" + }, + "initials": { + "description": "initials of the patron" + }, + "streetnumber": { + "description": "street number of patron's primary address" + }, + "streettype": { + "description": "street type of patron's primary address" + }, + "address": { + "description": "first address line of patron's primary address" + }, + "address2": { + "description": "second address line of patron's primary address" + }, + "city": { + "description": "city or town of patron's primary address" + }, + "state": { + "description": "state or province of patron's primary address" + }, + "zipcode": { + "description": "zip or postal code of patron's primary address" + }, + "country": { + "description": "country of patron's primary address" + }, + "email": { + "description": "primary email address for patron's primary address" + }, + "phone": { + "description": "primary phone number for patron's primary address" + }, + "mobile": { + "description": "the other phone number for patron's primary address" + }, + "fax": { + "description": "fax number for patron's primary address" + }, + "emailpro": { + "description": "secondary email address for patron's primary address" + }, + "phonepro": { + "description": "secondary phone number for patron's primary address" + }, + "B_streetnumber": { + "description": "street number of patron's alternate address" + }, + "B_streettype": { + "description": "street type of patron's alternate address" + }, + "B_address": { + "description": "first address line of patron's alternate address" + }, + "B_address2": { + "description": "second address line of patron's alternate address" + }, + "B_city": { + "description": "city or town of patron's alternate address" + }, + "B_state": { + "description": "state or province of patron's alternate address" + }, + "B_zipcode": { + "description": "zip or postal code of patron's alternate address" + }, + "B_country": { + "description": "country of patron's alternate address" + }, + "B_email": { + "description": "email address for patron's alternate address" + }, + "B_phone": { + "description": "phone number for patron's alternate address" + }, + "dateofbirth": { + "description": "patron's date of birth" + }, + "branchcode": { + "description": "code of patron's home branch" + }, + "categorycode": { + "description": "code of patron's category" + }, + "dateenrolled": { + "description": "date the patron was added to Koha" + }, + "dateexpiry": { + "description": "date the patron's card is set to expire" + }, + "gonenoaddress": { + "description": "set to 1 if library marked this patron as having an unconfirmed address" + }, + "lost": { + "description": "set to 1 if library marked this patron as having lost his card" + }, + "debarred": { + "description": "until this date the patron can only check-in" + }, + "debarredcomment": { + "description": "comment on the stop of the patron" + }, + "contactname": { + "description": "used for children and professionals to include surname or last name of guarantor or organization name" + }, + "contactfirstname": { + "description": "used for children to include first name of guarantor" + }, + "contacttitle": { + "description": "used for children to include title of guarantor" + }, + "guarantorid": { + "description": "borrowernumber used for children or professionals to link them to guarantor or organizations" + }, + "borrowernotes": { + "description": "a note on the patron's account" + }, + "relationship": { + "description": "used for children to include the relationship to their guarantor" + }, + "ethnicity": { + "description": "unused" + }, + "ethnotes": { + "description": "unused" + }, + "sex": { + "description": "patron's gender" + }, + "password": { + "description": "patron's encrypted password" + }, + "flags": { + "description": "a number associated with the patron's permissions" + }, + "userid": { + "description": "patron's login" + }, + "opacnote": { + "description": "a note on the patron's account visible in OPAC and staff client" + }, + "contactnote": { + "description": "a note related to patron's alternate address" + }, + "sort1": { + "description": "a field that can be used for any information unique to the library" + }, + "sort2": { + "description": "a field that can be used for any information unique to the library" + }, + "altcontactfirstname": { + "description": "first name of alternate contact for the patron" + }, + "altcontactsurname": { + "description": "surname or last name of the alternate contact for the patron" + }, + "altcontactaddress1": { + "description": "the first address line for the alternate contact for the patron" + }, + "altcontactaddress2": { + "description": "the second address line for the alternate contact for the patron" + }, + "altcontactaddress3": { + "description": "the city for the alternate contact for the patron" + }, + "altcontactstate": { + "description": "the state for the alternate contact for the patron" + }, + "altcontactzipcode": { + "description": "the zipcode for the alternate contact for the patron" + }, + "altcontactcountry": { + "description": "the country for the alternate contact for the patron" + }, + "altcontactphone": { + "description": "the phone number for the alternate contact for the patron" + }, + "smsalertnumber": { + "description": "the mobile phone number where the patron would like to receive notices (if SMS turned on)" + }, + "privacy": { + "description": "patron's privacy settings related to their reading history" } } }, "borrowernumber": { - "description": "Borrower internal identifier" + "description": "Patron internal identifier" }, "error": { "type": "object", @@ -112,7 +301,7 @@ "borrowernumberPathParam": { "name": "borrowernumber", "in": "path", - "description": "Internal borrower identifier", + "description": "Internal patron identifier", "required": true, "type": "integer" } -- 2.1.4