Browse Source

Bug 21336: Fix the API

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
19.05.x
Tomás Cohen Arazi 4 years ago
committed by root
parent
commit
da8ca6c865
  1. 2
      Koha/REST/V1/Patrons.pm
  2. 3
      Koha/Schema/Result/Borrower.pm
  3. 5
      api/v1/swagger/definitions/patron.json
  4. 3
      t/db_dependent/api/v1/patrons.t

2
Koha/REST/V1/Patrons.pm

@ -400,6 +400,7 @@ our $to_api_mapping = {
debarredcomment => undef, # calculated, API consumers will use /restrictions instead
emailpro => 'secondary_email',
flags => undef, # permissions manipulation handled in /permissions
flgAnonymized => 'anonymized',
gonenoaddress => 'incorrect_address',
guarantorid => 'guarantor_id',
lastseen => 'last_seen',
@ -443,6 +444,7 @@ our $to_api_mapping = {
our $to_model_mapping = {
altaddress_notes => 'contactnote',
anonymized => 'flgAnonymized',
category_id => 'categorycode',
check_previous_checkout => 'checkprevcheckout',
date_enrolled => 'dateenrolled',

3
Koha/Schema/Result/Borrower.pm

@ -1545,7 +1545,8 @@ __PACKAGE__->belongs_to(
);
__PACKAGE__->add_columns(
'+lost' => { is_boolean => 1 },
'+flgAnonymized' => { is_boolean => 1 },
'+lost' => { is_boolean => 1 },
'+gonenoaddress' => { is_boolean => 1 }
);

5
api/v1/swagger/definitions/patron.json

@ -272,6 +272,11 @@
"overdrive_auth_token": {
"type": ["string", "null"],
"description": "persist OverDrive auth token"
},
"anonymized": {
"type": "boolean",
"readOnly": true,
"description": "If the patron has been anonymized"
}
},
"additionalProperties": false,

3
t/db_dependent/api/v1/patrons.t

@ -143,6 +143,7 @@ subtest 'add() tests' => sub {
# delete RO attributes
delete $newpatron->{patron_id};
delete $newpatron->{restricted};
delete $newpatron->{anonymized};
# Create a library just to make sure its ID doesn't exist on the DB
my $library_to_delete = $builder->build_object({ class => 'Koha::Libraries' });
@ -189,6 +190,7 @@ subtest 'add() tests' => sub {
# delete RO attributes
delete $newpatron->{patron_id};
delete $newpatron->{restricted};
delete $newpatron->{anonymized};
$patron_to_delete->delete;
$tx = $t->ua->build_tx(POST => "/api/v1/patrons" => json => $newpatron);
@ -235,6 +237,7 @@ subtest 'update() tests' => sub {
# delete RO attributes
delete $newpatron->{patron_id};
delete $newpatron->{restricted};
delete $newpatron->{anonymized};
my $tx = $t->ua->build_tx(PUT => "/api/v1/patrons/-1" => json => $newpatron );
$tx->req->cookies({name => 'CGISESSID', value => $session_id});

Loading…
Cancel
Save