dm_api client
Adding to Gemfile
Local - development
Add gem "dm_api", path: "/home/user/clones/dm_api" to your Gemfile and run bundle install
Git
bundle add dm_api --git [email protected]:vm/dm_api.git
Usage
Configuration
DmApi::Configuration.instance.api_key = File.read(Rails.root.join('config', 'dm_api.key')).chomp
DmApi::Configuration.instance.proxy = 'http://localhost:8080'
DmApi::Configuration.instance.ssl_verify = false
Create (empty) document
container_id = '7b1d9be9-e329-45b2-860b-c54462f14312'
dm_doc = DmApi::Resource::Document.create(
  body: {
    title: 'document_title',
    container: { data: {
      id: container_id,
      type: 'binder'
    } }
  }
)
Upload file data
filename = Rails.root.join('example.pdf').to_s
file_uuid, upload_response = DmApi::Resource::File.upload(filename)
file_uuid = '54b49b1f-084e-4e2d-948c-7222f450821a'
Attach file to document
    file_data = [ { data: { id: file_uuid, type: 'file' } } ]
    response = DmApi::Resource::Document.add_file(dm_doc.id, body: file_data)
Display list of info fields
DmApi::Resource::Document.find(dm_doc.id).information.map { |info| info.label }
DmApi::Resource::Document.find(dm_doc.id).information.each do |info|
  case info.label
  when 'DUZP'
    date = Date.today
    DmApi::Resource::Information.update(info.id, body: { value: { data: date.to_time } })
  when 'DPH'
    value = { number: 123.45, unit: 'CZK' }
    DmApi::Resource::Information.update(info.id, body: { value: { data: value } })
  end
end