sdr-client 0.23.0 → 0.26.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 26eecb6134b706eb60ac7623c53576d6ae93f18d7bb9399b8e18c07f04e6da99
4
- data.tar.gz: 9c2a3d384225a21571ef5618e0bf1606599a44f429a0c81735c8c7f0f04172a3
3
+ metadata.gz: f2f9928c696ecb5051e4f6ba708985a2448aaa3189f93df4fcd0b85ab733ea87
4
+ data.tar.gz: 457989602bdece5c31cbcc95276531721a6c5682c040176de7645c1730be4326
5
5
  SHA512:
6
- metadata.gz: adadb90117ec098b281ff87b03796fd20fed3772fd03e3aa165f8c97b8c05a5510ed7980d9321effa15757cd505bbae8ba30bbdb3dd2c57257b24ce7bf40aa0e
7
- data.tar.gz: 06ee1f2f6b22e364cfe1fe32059619b527026e7f9dd2dd2e05a6e30865c07946d8e9d1c8b98d1fbb91b68f7867400534a9eb83c3406942e54438947c2eed1ed3
6
+ metadata.gz: 94ed5ab0d789c3d2669979bb8753bd60d0f1a51f6434f6c8b28e210fc04dc4ffcd2af9125ef3b08e4e49996c5d05c2e53b5e8348794fbad351cc5dc57e4b0b0f
7
+ data.tar.gz: a816a3c86dccc3f90939a81eecf5cf46ef659b3fcc5d4c97948e41796bf13a1b2d5da8de958c0f58c5a46d0ab16f56fa813ef3d3c796671d7dd4b04fd591168f
@@ -2,4 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- ## Was the documentation (README, wiki) updated?
5
+ ## How was this change tested?
6
+
7
+
8
+
9
+ ## Which documentation and/or configurations were updated?
10
+
11
+
12
+
@@ -1,16 +1,17 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2020-03-02 15:54:47 -0600 using RuboCop version 0.79.0.
3
+ # on 2020-04-27 08:24:29 -0400 using RuboCop version 0.82.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 1
9
+ # Offense count: 2
10
+ # Configuration parameters: IgnoredMethods.
10
11
  Metrics/AbcSize:
11
12
  Max: 16
12
13
 
13
- # Offense count: 4
14
+ # Offense count: 7
14
15
  # Configuration parameters: CountComments, ExcludedMethods.
15
16
  Metrics/MethodLength:
16
- Max: 14
17
+ Max: 15
@@ -15,6 +15,7 @@ require 'sdr_client/login'
15
15
  require 'sdr_client/login_prompt'
16
16
  require 'sdr_client/cli'
17
17
  require 'sdr_client/connection'
18
+ require 'sdr_client/background_job_results'
18
19
 
19
20
  module SdrClient
20
21
  class Error < StandardError; end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ module SdrClient
6
+ # API calls around background job results from dor-services-app
7
+ module BackgroundJobResults
8
+ # Get status/result of a background job
9
+ # @param url [String] url for the service
10
+ # @param job_id [String] required string representing a job identifier
11
+ # @return [Hash] result of background job
12
+ def self.show(url:, job_id:)
13
+ connection = Connection.new(url: "#{url}/v1/background_job_results/#{job_id}").connection
14
+ resp = connection.get
15
+
16
+ raise "unexpected response: #{resp.status} #{resp.body}" unless resp.success?
17
+
18
+ JSON.parse(resp.body).with_indifferent_access
19
+ end
20
+ end
21
+ end
@@ -8,10 +8,12 @@ module SdrClient
8
8
  BOOK_TYPE = 'http://cocina.sul.stanford.edu/models/book.jsonld'
9
9
  # rubocop:disable Metrics/ParameterLists
10
10
  # rubocop:disable Metrics/MethodLength
11
+ # @return [String] job id for the background job result
11
12
  def self.run(label: nil,
12
13
  type: BOOK_TYPE,
13
14
  viewing_direction: nil,
14
15
  access: 'dark',
16
+ download: 'none',
15
17
  use_statement: nil,
16
18
  copyright: nil,
17
19
  apo:,
@@ -30,6 +32,7 @@ module SdrClient
30
32
  metadata = Request.new(label: label,
31
33
  type: type,
32
34
  access: access,
35
+ download: download,
33
36
  apo: apo,
34
37
  use_statement: use_statement,
35
38
  copyright: copyright,
@@ -6,7 +6,7 @@ module SdrClient
6
6
  class File
7
7
  # rubocop:disable Metrics/ParameterLists
8
8
  def initialize(external_identifier:, label:, filename:,
9
- access: 'dark', preserve: false, shelve: false,
9
+ access: 'world', preserve: true, shelve: true,
10
10
  mime_type: nil, md5: nil, sha1: nil, use: nil)
11
11
  @external_identifier = external_identifier
12
12
  @label = label
@@ -26,6 +26,7 @@ module SdrClient
26
26
  # rubocop:enable Metrics/ParameterLists
27
27
 
28
28
  # rubocop:disable Metrics/AbcSize
29
+ # @return [String] job id for the background job result
29
30
  def run
30
31
  check_files_exist
31
32
  upload_responses = UploadFiles.new(files: files,
@@ -14,6 +14,7 @@ module SdrClient
14
14
  # rubocop:disable Metrics/ParameterLists
15
15
  def initialize(label: nil,
16
16
  access: 'dark',
17
+ download: 'none',
17
18
  use_statement: nil,
18
19
  copyright: nil,
19
20
  apo:,
@@ -34,6 +35,7 @@ module SdrClient
34
35
  @embargo_release_date = embargo_release_date
35
36
  @embargo_access = embargo_access
36
37
  @access = access
38
+ @download = download
37
39
  @use_statement = use_statement
38
40
  @copyright = copyright
39
41
  @apo = apo
@@ -59,6 +61,7 @@ module SdrClient
59
61
  def with_file_sets(file_sets)
60
62
  Request.new(label: label,
61
63
  access: access,
64
+ download: download,
62
65
  apo: apo,
63
66
  collection: collection,
64
67
  copyright: copyright,
@@ -85,7 +88,7 @@ module SdrClient
85
88
 
86
89
  attr_reader :access, :label, :file_sets, :source_id, :catkey, :apo, :collection,
87
90
  :files_metadata, :embargo_release_date, :embargo_access,
88
- :viewing_direction, :use_statement, :copyright
91
+ :viewing_direction, :use_statement, :copyright, :download
89
92
 
90
93
  def administrative
91
94
  {
@@ -108,7 +111,10 @@ module SdrClient
108
111
  end
109
112
 
110
113
  def access_struct
111
- { access: access }.tap do |json|
114
+ {
115
+ access: access,
116
+ download: download
117
+ }.tap do |json|
112
118
  json[:useAndReproductionStatement] = use_statement if use_statement
113
119
  json[:copyright] = copyright if copyright
114
120
 
@@ -21,14 +21,14 @@ module SdrClient
21
21
  end
22
22
 
23
23
  # @param [Hash<Symbol,String>] the result of the metadata call
24
- # @return [Hash<Symbol,String>] the result of the metadata call
24
+ # @return [String] job id for the background job result
25
25
  def run
26
26
  response = metadata_request
27
27
  unexpected_response(response) unless response.status == 201
28
28
 
29
29
  logger.info("Response from server: #{response.body}")
30
30
 
31
- { druid: JSON.parse(response.body)['druid'], background_job: response.headers['Location'] }
31
+ JSON.parse(response.body)['jobId']
32
32
  end
33
33
 
34
34
  private
@@ -8,9 +8,14 @@ module SdrClient
8
8
  def self.model_run(request_dro:,
9
9
  files: [],
10
10
  url:,
11
+ accession:,
11
12
  logger: Logger.new(STDOUT))
12
13
  connection = Connection.new(url: url)
13
- ModelProcess.new(request_dro: request_dro, connection: connection, files: files, logger: logger).run
14
+ ModelProcess.new(request_dro: request_dro,
15
+ connection: connection,
16
+ files: files,
17
+ logger: logger,
18
+ accession: accession).run
14
19
  end
15
20
  end
16
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SdrClient
4
- VERSION = '0.23.0'
4
+ VERSION = '0.26.1'
5
5
  end
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.require_paths = ['lib']
29
29
 
30
30
  spec.add_dependency 'activesupport'
31
- spec.add_dependency 'cocina-models', '~> 0.31.0'
31
+ spec.add_dependency 'cocina-models', '~> 0.32.0'
32
32
  spec.add_dependency 'dry-monads'
33
33
  spec.add_dependency 'faraday', '>= 0.16'
34
34
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdr-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.0
4
+ version: 0.26.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-21 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.31.0
33
+ version: 0.32.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.31.0
40
+ version: 0.32.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: dry-monads
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -188,6 +188,7 @@ files:
188
188
  - exe/sdr
189
189
  - lib/sdr-client.rb
190
190
  - lib/sdr_client.rb
191
+ - lib/sdr_client/background_job_results.rb
191
192
  - lib/sdr_client/cli.rb
192
193
  - lib/sdr_client/connection.rb
193
194
  - lib/sdr_client/credentials.rb
@@ -234,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
235
  - !ruby/object:Gem::Version
235
236
  version: '0'
236
237
  requirements: []
237
- rubygems_version: 3.1.2
238
+ rubygems_version: 3.0.3
238
239
  signing_key:
239
240
  specification_version: 4
240
241
  summary: The CLI for https://github.com/sul-dlss/sdr-api