Bug 16497: (follow-up) GET operations require staff access
authorTomas Cohen Arazi <tomascohen@theke.io>
Fri, 18 Jan 2019 15:02:38 +0000 (12:02 -0300)
committerroot <root@f1ebe1bec408>
Tue, 19 Feb 2019 13:52:14 +0000 (13:52 +0000)
With the introduction of the /public namespace all other endpoints, the
rest of the endpoints are restricted to privileged users.

This patch makes the GET /libraries and GET /libraries/:library_id
endpoints require 'catalogue' permissions.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
api/v1/swagger/paths/libraries.json
t/db_dependent/api/v1/libraries.t

index 70249ed..c4cd55b 100644 (file)
             "$ref": "../definitions.json#/error"
           }
         }
+      },
+      "x-koha-authorization": {
+        "permissions": {
+          "catalogue": "1"
+        }
       }
     },
     "post": {
             "$ref": "../definitions.json#/error"
           }
         }
+      },
+      "x-koha-authorization": {
+        "permissions": {
+          "catalogue": "1"
+        }
       }
     },
     "put": {
index db76b6d..bd74dd3 100644 (file)
@@ -48,7 +48,7 @@ subtest 'list() tests' => sub {
     my $another_library = $library->unblessed; # create a copy of $library but make
     delete $another_library->{branchcode};     # sure branchcode will be regenerated
     $another_library = $builder->build_object({ class => 'Koha::Libraries', value => $another_library });
-    my ( $borrowernumber, $session_id ) = create_user_and_session( { authorized => 0 } );
+    my ( $borrowernumber, $session_id ) = create_user_and_session( { authorized => 1 } );
 
     ## Authorized user tests
     my $count_of_libraries = Koha::Libraries->search->count;
@@ -119,7 +119,7 @@ subtest 'get() tests' => sub {
 
     my $library = $builder->build_object( { class => 'Koha::Libraries' } );
     my ( $borrowernumber, $session_id ) =
-      create_user_and_session( { authorized => 0 } );
+      create_user_and_session( { authorized => 1 } );
 
     my $tx = $t->ua->build_tx( GET => "/api/v1/libraries/" . $library->branchcode );
     $tx->req->cookies( { name => 'CGISESSID', value => $session_id } );