Sha256: b8aec8ea4eabfb88947e6f299198433880a3c23a6fd84e301eb8ed4aaafc973a

Contents?: true

Size: 1.77 KB

Versions: 21

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true

module Dor
  module Services
    class Client
      # API calls that are about starting accessioning on a repository object
      class Accession < VersionedService
        # @param connection [Faraday::Connection] an HTTP connection to dor-services-app
        # @param version [String] id for the version of the API call
        # @param object_identifier [String] the pid for the object
        def initialize(connection:, version:, object_identifier:)
          super(connection: connection, version: version)
          @object_identifier = object_identifier
        end

        # Start accession on an object (start specified workflow, assemblyWF by default, and version if needed)
        # @param params [Hash<Symbol,String>] optional parameter hash
        # @option params [String] :significance set significance (major/minor/patch) of version change - required
        # @option params [String] :description set description of version change - required
        # @option params [String] :opening_user_name add opening username to the event - optional
        # @option params [String] :workflow the workflow to start - defaults to 'assemblyWF'
        # @return [Boolean] true on success
        # @raise [NotFoundResponse] when the response is a 404 (object not found)
        # @raise [UnexpectedResponse] when the response is not successful.
        def start(params = {})
          resp = connection.post do |req|
            req.url path
            req.params = params
          end
          return true if resp.success?

          raise_exception_based_on_response!(resp)
        end

        private

        attr_reader :object_identifier

        def path
          "#{api_version}/objects/#{object_identifier}/accession"
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
dor-services-client-12.16.0 lib/dor/services/client/accession.rb
dor-services-client-12.15.0 lib/dor/services/client/accession.rb
dor-services-client-12.14.0 lib/dor/services/client/accession.rb
dor-services-client-12.13.1 lib/dor/services/client/accession.rb
dor-services-client-12.13.0 lib/dor/services/client/accession.rb
dor-services-client-12.12.1 lib/dor/services/client/accession.rb
dor-services-client-12.12.0 lib/dor/services/client/accession.rb
dor-services-client-12.11.0 lib/dor/services/client/accession.rb
dor-services-client-12.10.0 lib/dor/services/client/accession.rb
dor-services-client-12.9.1 lib/dor/services/client/accession.rb
dor-services-client-12.9.0 lib/dor/services/client/accession.rb
dor-services-client-12.8.0 lib/dor/services/client/accession.rb
dor-services-client-12.7.0 lib/dor/services/client/accession.rb
dor-services-client-12.6.0 lib/dor/services/client/accession.rb
dor-services-client-12.5.0 lib/dor/services/client/accession.rb
dor-services-client-12.4.0 lib/dor/services/client/accession.rb
dor-services-client-12.3.0 lib/dor/services/client/accession.rb
dor-services-client-12.2.0 lib/dor/services/client/accession.rb
dor-services-client-12.1.0 lib/dor/services/client/accession.rb
dor-services-client-12.0.0 lib/dor/services/client/accession.rb