Created attachment 144745 [details] [review] Bug 31796: Add REST endpoint to modify an authority To test: 1. Apply patch 2. Set RESTBasicAuth preference to true 3. Pick an authority to modify, and modify it's marc record 4. Make a PUT request to /api/v1/authorities/:authid with one of the following content type header - application/json - application/marcxml+xml - application/marc-in-json - application/marc 5. If content type is other than 'application/json' place the following header in the request 'x-authority-type: <auth type>' 5. Check that the authority was modified 6. Sign off
Created attachment 144752 [details] [review] Bug 31796: Add REST endpoint to modify an authority To test: 1. Apply patch 2. Set RESTBasicAuth preference to true 3. Pick an authority to modify, and modify it's marc record 4. Make a PUT request to /api/v1/authorities/:authid with one of the following content type header - application/json - application/marcxml+xml - application/marc-in-json - application/marc 5. If content type is other than 'application/json' place the following header in the request 'x-authority-type: <auth type>' 5. Check that the authority was modified 6. Sign off Signed-off-by: David Nind <david@davidnind.com>
Testing notes (using KTD) - similar to bug 31795 I used Postman to test with these details: 1. Changed to a PUT with the URL as http://127.0.0.1:8081/api/v1/authorities/973 (any existing authority will work) 2. Body: changed to 'raw', pasted in the XML with the 150 field to change the heading[1], and changed the type to XML 3. Added Headers: . x-authority-type: used TOPIC_TERM as the value . Content-Type: used application/marcxml+xml as the value 4. For authorization, added the Basic Auth type with koha as the username and password The heading in 150 was changed! [1] XML used to change the heading: <?xml version="1.0" encoding="UTF-8"?> <record xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim"> <datafield tag="150" ind1=" " ind2=" "> <subfield code="a">This is a new heading title</subfield> </datafield> </record>
The patch no longer applies (was trying to test bug 32735): git bz apply 31796 Bug 31796 - REST API: PUT endpoint for Authorities 144752 - Bug 31796: Add REST endpoint to modify an authority Apply? [(y)es, (n)o, (i)nteractive] y Applying: Bug 31796: Add REST endpoint to modify an authority error: sha1 information is lacking or useless (Koha/REST/V1/Authorities.pm). error: could not build fake ancestor Patch failed at 0001 Bug 31796: Add REST endpoint to modify an authority
Created attachment 149702 [details] [review] Bug 31796: Add REST endpoint to modify an authority To test: 1. Apply patch 2. Set RESTBasicAuth preference to true 3. Pick an authority to modify, and modify it's marc record 4. Make a PUT request to /api/v1/authorities/:authid with one of the following content type header - application/json - application/marcxml+xml - application/marc-in-json - application/marc 5. If content type is other than 'application/json' place the following header in the request 'x-authority-type: <auth type>' 5. Check that the authority was modified 6. Sign off Signed-off-by: David Nind <david@davidnind.com>
Created attachment 150374 [details] [review] Bug 31796: Add REST endpoint to modify an authority To test: 1. Apply patch 2. Set RESTBasicAuth preference to true 3. Pick an authority to modify, and modify it's marc record 4. Make a PUT request to /api/v1/authorities/:authid with one of the following content type header - application/json - application/marcxml+xml - application/marc-in-json - application/marc 5. If content type is other than 'application/json' place the following header in the request 'x-authority-type: <auth type>' 5. Check that the authority was modified 6. Sign off Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Pushed to master for 23.05. Nice work everyone, thanks!
Enhancement, won't be backporting as the tree above has also not been ported. If you're desperate for this in 22.11 let me know and we can look at backporting the whole tree as one set.