module OpConnect::Client::Items

Public Instance Methods

create_item(vault_id:, **attributes) click to toggle source
# File lib/op_connect/client/items.rb, line 28
def create_item(vault_id:, **attributes)
  Item.new post("vaults/#{vault_id}/items", body: attributes).body
end
delete_item(vault_id:, id:) click to toggle source
# File lib/op_connect/client/items.rb, line 36
def delete_item(vault_id:, id:)
  return true if delete("vaults/#{vault_id}/items/#{id}").status == 204
  false
rescue OpConnect::Error
  false
end
get_item(vault_id:, id:) click to toggle source
# File lib/op_connect/client/items.rb, line 23
def get_item(vault_id:, id:)
  Item.new get("vaults/#{vault_id}/items/#{id}").body
end
Also aliased as: item
item(vault_id:, id:)
Alias for: get_item
items(vault_id:, **params)
Alias for: list_items
list_items(vault_id:, **params) click to toggle source

Get a list of items from a vault.

@param vault_id [String] The vault UUID. @param params [Hash] Query parameters. @option params [String] :filter Optionally filter the item collection

based on item title using SCIM-sytle filters.

@example

client.items(vault_id: vault.id, filter: 'title eq "foo"')

@see ldapwiki.com/wiki/SCIM%20Filtering SCIM Filtering

@return [<Type>] <description>

# File lib/op_connect/client/items.rb, line 18
def list_items(vault_id:, **params)
  get("vaults/#{vault_id}/items", params: params).body.map { |item| Item.new(item) }
end
Also aliased as: items
replace_item(vault_id:, id:, **attributes) click to toggle source
# File lib/op_connect/client/items.rb, line 32
def replace_item(vault_id:, id:, **attributes)
  Item.new put("vaults/#{vault_id}/items/#{id}", body: attributes).body
end
update_item(vault_id:, id:, **attributes) click to toggle source
# File lib/op_connect/client/items.rb, line 43
def update_item(vault_id:, id:, **attributes)
  Item.new patch("vaults/#{vault_id}/items/#{id}", body: attributes, headers: {"Content-Type": "applicatoin/json-patch+json"}).body
end