[Archivesspace_Users_Group] Batch delete

Chris Fitzpatrick Chris.Fitzpatrick at lyrasis.org
Thu Jun 5 06:00:48 EDT 2014


Hi Steven,


To send a list via a POST command, you need to put a [] in the parameter


http://stackoverflow.com/questions/13368316/how-to-do-a-http-post-a-list-of-value-using-curl


Like this:


curl -H "X-ArchivesSpace-Session: $TOKEN" -d "record_uris[]=/repositories/2/resources/3&record_uris[]=/repositories/2/resources/4" http://localhost:8089/batch_delete



best, chris.


Chris Fitzpatrick | Developer, ArchivesSpace
Skype: chrisfitzpat  | Phone: 918.236.6048
http://archivesspace.org/
________________________________
From: archivesspace_users_group-bounces at lyralists.lyrasis.org <archivesspace_users_group-bounces at lyralists.lyrasis.org> on behalf of Steven Majewski <sdm7g at virginia.edu>
Sent: Thursday, May 29, 2014 8:50 PM
To: Archivesspace Users Group
Subject: Re: [Archivesspace_Users_Group] Batch delete


Apparently, there is also a  /batch_delete method, but I haven't yet managed to figure out
how to give it the correct record_uris parameter.  I've tried several different ways of encoding
record_uris (as a plain string, a json string, a json list of strings... ), and several different resource URIs,
but I always seem to get something like:

{"error":{"record_uris":["Wanted type [String] but got '/repositories/25/resources/3610/tree'"]}}


POST /batch_delete

Description

Carry out delete requests against a list of records

Parameters

[String] record_uris -- A list of record uris


Returns

200 -- deleted




Also: attempting to delete an empty repository from the admin interface yields the error:

Cannot delete - repository not empty

even though the admin browse  shows  no Accessions, Resources or Digital Objects in the repo,
and  API /repositories/:repo_id/resources?all_ids=true   returns  empty  [ ] .

However, after doing a 'transfer repository' to another repo, I am able to delete the first repository.


Since we're still testing, we've had to frequently resort to just deleting all of the mysql database
tables and starting over fresh.


- Steve.


On May 28, 2014, at 11:38 AM, Bridger Dyson-Smith <bdysonsm at utk.edu<mailto:bdysonsm at utk.edu>> wrote:

On 05/28/2014 11:36, Steven Majewski wrote:

On May 28, 2014, at 9:15 AM, Bridger Dyson-Smith <bdysonsm at utk.edu<mailto:bdysonsm at utk.edu>
<mailto:bdysonsm at utk.edu>> wrote:

Hi all,

Is there a batch process for deleting/backing out of an import job? Or
is there some other work-around to accomplish a bulk resource removal?

Thanks!


You can delete all of the resources in a repo thru the backend web api
with something like this:


REPO=http://localhost:8089
#
REPO_ID=$1
#
DELETE='-X DELETE'
for ID in $( curl_as_osx admin admin
"$REPO/repositories/$REPO_ID/resources?all_ids=true" | tail -1 | tr
'[],' ' ' )
do
curl_as_osx admin admin $DELETE
$REPO/repositories/$REPO_ID/resources/$ID | tail -1 | json_pp
done


i.e. First curl gets the list of resource ids in that repo. Loop over
the list and do a HTTP DELETE on each resource.

If you don't want to delete them all, there may be a way to do a finer
selection thru the search API, but I haven't figure out how to do it.
Perhaps something like this  is easier to do in the jirb console.


- Steve Majewski



Hi Steve -
thanks for that snippet - it is much appreciated.

Bridger
_______________________________________________
Archivesspace_Users_Group mailing list
Archivesspace_Users_Group at lyralists.lyrasis.org<mailto:Archivesspace_Users_Group at lyralists.lyrasis.org>
http://lyralists.lyrasis.org/mailman/listinfo/archivesspace_users_group

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lyralists.lyrasis.org/pipermail/archivesspace_users_group/attachments/20140605/1ee8e587/attachment.html>


More information about the Archivesspace_Users_Group mailing list