Sha256: 8e1b5748c2661062969f00486a40592fb01fb4cb635ba570cf5e60fbb6ba6295

Contents?: true

Size: 1.38 KB

Versions: 1

Compression:

Stored size: 1.38 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: "http://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, 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, 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

1 entries across 1 versions & 1 rubygems

Version Path
archivesspace-client-0.2.0 examples/repo_and_user.rb