EtCcdClient

The ET CCD Client is a ruby interface to the CCD API and the CCD UI API specifically for employment tribunals.

Note that this is general purpose CCD stuff, but this gem cannot claim to be a full CCD client as it only has methods specific to employment tribunal.

In general, the EtApiClient::Client is used for the main CCD API where the secret is known and the EtApiClient::UiClient is used to access the UI (front end) API where a username and password is known (generally in a test environment)

Installation

Add this line to your application's Gemfile:

gem 'et_ccd_client'

And then execute:

$ bundle

Or install it yourself as:

$ gem install et_ccd_client

Usage (Main CCD API)


client = EtApiClient::Client.new
client.

client.caseworker_search_latest_by_reference('222000000100', case_type_id: 'EmpTrib_MVP_1.0_Manc')

Usage (UI API)

client = EtApiClient::UiClient.new
client.

client.search_latest_by_reference('222000000100', case_type_id: 'EmpTrib_MVP_1.0_Manc')

Configuration

To configure the client, use a block like this :-

EtCcdClient.config do |c|
    c.auth_base_url = <value>
    c.idam_base_url = <value>
    c.data_store_base_url = <value>
    c.document_store_base_url = <value>
    c.document_store_url_rewrite = <false OR 4 element array containing source_host, source_port, dest_host, dest_port for rewriting - used in docker environment only>
    c.ecm_base_url = <value> (This is the ECM service known as docmosis but it is much more than that)
    c.jurisdiction_id = <value>
    c.microservice = <value>
    c.microservice_secret = <value>
    c.idam_ui_base_url = <value> (Only needed if using UI API)
    c.idam_ui_redirect_url = <value> (Only needed if using UI API)
    c.use_sidam = <value> (If true uses sidam - else tidam)
    c.sidam_username = <value> (Only needed if use_sidam is true)
    c.sidam_password = value (Only needed if use_sidam is true)
    c.user_id = <value> (Only needed if use_sidam is false)
    c.user_role = <value> (Only needed if use_sidam is false)
    c.pool_size = <value> The size of the connection pool (do not set lower than number of sidekiq threads)
    c.pool_timeout = <value) The time in seconds where we give up waiting for someone to release a client to the pool
    c.logger = Rails.logger (or any instance of an active support logger if you dont have rails)
end

If you don't set any of these, the defaults should work with local ccd-docker

If you don't set the logger, no logging output will be sent. If you share your rails logger or configure a new one, only debug output is set generally.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/hmcts/et_ccd_client.

License

The gem is available as open source under the terms of the MIT License.