Sha256: da0d0c4cb8c600608745df546a70a058d3968a27cd4210343ce449636eda581d

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
require "awesome_print"
require "archivesspace/client"

# official sandbox
config = ArchivesSpace::Configuration.new(
  {
    base_uri: "https://sandbox.archivesspace.org/api",
    base_repo: "",
    username: "admin",
    password: "admin",
    page_size: 50,
    throttle: 0,
    verify_ssl: false
  }
)

client = ArchivesSpace::Client.new(config).login

ap ArchivesSpace::Template.list # view available templates

repo_data = {
  repo_code: "XYZ",
  name: "XYZ Archive",
  agent_contact_name: "XYZ Admin"
}

user_data = {
  username: "lmessi",
  name: "Lionel Messi",
  is_admin: true
}
user_password = "123456"

repository = ArchivesSpace::Template.process("repository_with_agent.json.erb", repo_data)

begin
  response = client.post("/repositories/with_agent", repository)
  if response.result.success?
    repository = client.repositories.find { |r| r["repo_code"] == "XYZ" }
    ap repository
    ap client.delete(repository["uri"])
  else
    ap response.parsed
  end

  user = ArchivesSpace::Template.process("user.json.erb", user_data)
  response = client.post("users", user, {password: user_password})
  if response.result.success?
    user = client.users.find { |r| r["username"] == "lmessi" }
    ap user
    ap client.delete user["uri"]
  else
    ap response.parsed
  end
rescue ArchivesSpace::RequestError => e
  puts e.message
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
archivesspace-client-0.4.1 examples/repo_and_user.rb
archivesspace-client-0.4.0 examples/repo_and_user.rb