dor-services-client 15.33.0 → 15.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 717881481779efa716e15dc5f1f5028fe98817cbdc0108bf3a576fbb47856a0c
4
- data.tar.gz: 4c2c6320fc5ce8bf075eadbaf8188a8d314652de5762af2ae53f63dc51c14348
3
+ metadata.gz: 6006578d9c1200071a5c5f649d9a91bb1fe0d02199c009575796772db94a6b40
4
+ data.tar.gz: 8950118cf5d28e602d82b783ae1eee710d58e32677281cb6129ab4ab852b99f5
5
5
  SHA512:
6
- metadata.gz: 114b93e3eb847e69ec9ff212f72d58c51e1eeb9aecc07d87f0fa8e8ef068949f13b5637de5ff93fe06b80589e3de4e8a5c559f6bc1b99a6743c5110d15f399e6
7
- data.tar.gz: 188bc1ce6789025b677dfc28fe4acecfef02dbb00f13783304c2d577cc8fbbb8dbd6ac5a86710c5badd9bffac35ea1d74e4b6dce125e35cf9acd309497b3668c
6
+ metadata.gz: 52beafa824323b21cabcbca06650561969a002992fd2d37679f46ccee07cbb6ff6914fd8f765997f72a1020126f69d0e682b3e4b000610e1995102abb02ebd5a
7
+ data.tar.gz: b9b17d5d79e7e7b2781d42ca8141a2b4ff33be34d13c61bd32b6d814c9ccfcfccffd2d6f1467f910dbee30e6dd40283b84640c48ad024867641ff62a672d19c9
data/Gemfile.lock CHANGED
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dor-services-client (15.33.0)
4
+ dor-services-client (15.34.0)
5
5
  activesupport (>= 7.0.0)
6
6
  cocina-models (~> 0.114.0)
7
7
  deprecation
8
8
  faraday (~> 2.0)
9
9
  faraday-retry
10
+ hashie
10
11
  nokogiri
11
12
  zeitwerk (~> 2.1)
12
13
 
@@ -94,6 +95,8 @@ GEM
94
95
  faraday (~> 2.0)
95
96
  hana (1.3.7)
96
97
  hashdiff (1.2.1)
98
+ hashie (5.1.0)
99
+ logger
97
100
  i18n (1.14.8)
98
101
  concurrent-ruby (~> 1.0)
99
102
  ice_nine (0.11.2)
@@ -167,7 +170,7 @@ GEM
167
170
  rubocop-ast (>= 1.49.0, < 2.0)
168
171
  ruby-progressbar (~> 1.7)
169
172
  unicode-display_width (>= 2.4.0, < 4.0)
170
- rubocop-ast (1.49.0)
173
+ rubocop-ast (1.49.1)
171
174
  parser (>= 3.3.7.2)
172
175
  prism (~> 1.7)
173
176
  rubocop-rspec (3.9.0)
@@ -221,4 +224,4 @@ DEPENDENCIES
221
224
  webmock
222
225
 
223
226
  BUNDLED WITH
224
- 4.0.7
227
+ 4.0.8
data/README.md CHANGED
@@ -110,6 +110,8 @@ object_client.version.current
110
110
  object_client.version.status
111
111
  # Returns object version as Cocina instance if valid; returns a Hash<cocina_object:, error_message:> if invalid
112
112
  object_client.version.find(3)
113
+ # Include `validate: false` as a param to return the Solr representation of a version w/ invalid Cocina
114
+ object_client.version.solr(2)
113
115
 
114
116
  # see dor-services-app openapi.yml for optional params
115
117
  object_client.version.open(description: 'Changed title')
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency 'deprecation', '>= 0'
30
30
  spec.add_dependency 'faraday', '~> 2.0'
31
31
  spec.add_dependency 'faraday-retry'
32
+ spec.add_dependency 'hashie'
32
33
  spec.add_dependency 'nokogiri'
33
34
  spec.add_dependency 'zeitwerk', '~> 2.1'
34
35
 
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dor
4
+ module Services
5
+ class Client
6
+ # A Cocina-like object that wraps an invalid Cocina object
7
+ class InvalidCocina < Hashie::Mash
8
+ include Hashie::Extensions::Mash::SymbolizeKeys
9
+
10
+ disable_warnings :size
11
+ end
12
+ end
13
+ end
14
+ end
@@ -53,8 +53,8 @@ module Dor
53
53
  @object_identifier = object_identifier
54
54
  end
55
55
 
56
- # @return [Cocina::Models::DROWithMetadata, Hash] the object metadata or a hash with
57
- # invalid metadata and a message about the source of the invalidity
56
+ # @return [Cocina::Models::DROWithMetadata, Dor::Services::Client::InvalidCocina] the object version or an
57
+ # InvalidCocina instance that behaves similarly to a Cocina object
58
58
  # @raise [Dor::Services::Client::Error] on an unsuccessful response from the server
59
59
  def find(version)
60
60
  resp = connection.get do |req|
@@ -145,9 +145,9 @@ module Dor
145
145
 
146
146
  # @return [Hash] the solr document for the user version
147
147
  # @raise [UnexpectedResponse] on an unsuccessful response from the server
148
- def solr(version)
148
+ def solr(version, validate: true)
149
149
  resp = connection.get do |req|
150
- req.url "#{base_path}/#{version}/solr"
150
+ req.url "#{base_path}/#{version}/solr?validate=#{validate}"
151
151
  end
152
152
  raise_exception_based_on_response!(resp) unless resp.success?
153
153
 
@@ -3,7 +3,7 @@
3
3
  module Dor
4
4
  module Services
5
5
  class Client
6
- VERSION = '15.33.0'
6
+ VERSION = '15.34.0'
7
7
  end
8
8
  end
9
9
  end
@@ -57,10 +57,7 @@ module Dor
57
57
  def build_invalid_cocina_from_response(response)
58
58
  invalid_cocina_error = JSON.parse(response.body).dig('errors', 0)
59
59
 
60
- {
61
- cocina_object: invalid_cocina_error.dig('meta', 'json'),
62
- error_message: invalid_cocina_error['message']
63
- }.with_indifferent_access
60
+ InvalidCocina.new(invalid_cocina_error.dig('meta', 'json').merge(error_message: invalid_cocina_error['detail']))
64
61
  end
65
62
 
66
63
  def date_from_header(headers, key)
@@ -10,6 +10,7 @@ require 'active_support/json'
10
10
  require 'cocina/models'
11
11
  require 'faraday'
12
12
  require 'faraday/retry'
13
+ require 'hashie'
13
14
  require 'nokogiri'
14
15
  require 'singleton'
15
16
  require 'zeitwerk'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dor-services-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.33.0
4
+ version: 15.34.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  - Michael Giarlo
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-13 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: hashie
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: nokogiri
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -250,6 +264,7 @@ files:
250
264
  - lib/dor/services/client/collections.rb
251
265
  - lib/dor/services/client/error_faraday_middleware.rb
252
266
  - lib/dor/services/client/events.rb
267
+ - lib/dor/services/client/invalid_cocina.rb
253
268
  - lib/dor/services/client/members.rb
254
269
  - lib/dor/services/client/milestones.rb
255
270
  - lib/dor/services/client/mutate.rb
@@ -292,7 +307,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
292
307
  - !ruby/object:Gem::Version
293
308
  version: '0'
294
309
  requirements: []
295
- rubygems_version: 3.6.2
310
+ rubygems_version: 4.0.6
296
311
  specification_version: 4
297
312
  summary: A client for dor-services-app
298
313
  test_files: []