dor-services-client 14.7.0 → 14.9.0

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: ab2f881e234a336b06ace164c42eed78bb9ac3f286ef4dffcaad1f0085fa3abb
4
- data.tar.gz: 218f7087e0df111b46d304ca42224a95b949d4b9d15b389427a6df2dd9232d8b
3
+ metadata.gz: 5843a507e487e1da137d521f9248440a4c8680a6fdbdcfcd8791a17788aeac3d
4
+ data.tar.gz: ca2900a871814c6e9f3921dc319505e0edde39f6fe28ac437ff8e967d229fa06
5
5
  SHA512:
6
- metadata.gz: d66632338d084e408c97e126162662f33a040633e2f16dd60207d037a696605984baba73d191a170f95cc2b873677d930528f8eb1069047563c8bb68eefdaee6
7
- data.tar.gz: af855efdb398086e72051b4497cea0e74004fd3c900a875c83d15b684db81a25ed500906b64ff3c5eaa3d2d6441b388bbdd02c638a3f710a68dd44471f57eccb
6
+ metadata.gz: 1e663d3d99e82b8b5775d7a1f99bf0db9a4e2f5cb9684d4207c79d2181450e14ad8237dad041e21731aa0785512e0877dc6c358268fcfec2b925d9f6f4d1e225
7
+ data.tar.gz: 3faa6fc0dff1ad7297d4b73075cad8deb23858fdce1cba4f0645cb346897d81a448159876314552d4df3688b35054110f0ce4844f063ad66558ea37298349b51
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dor-services-client (14.7.0)
4
+ dor-services-client (14.9.0)
5
5
  activesupport (>= 4.2, < 8)
6
6
  cocina-models (~> 0.96.0)
7
7
  deprecation
@@ -27,7 +27,7 @@ GEM
27
27
  ast (2.4.2)
28
28
  attr_extras (7.1.0)
29
29
  base64 (0.2.0)
30
- bigdecimal (3.1.7)
30
+ bigdecimal (3.1.8)
31
31
  byebug (11.1.3)
32
32
  cocina-models (0.96.0)
33
33
  activesupport
@@ -87,7 +87,7 @@ GEM
87
87
  faraday-retry (2.2.1)
88
88
  faraday (~> 2.0)
89
89
  hashdiff (1.1.0)
90
- i18n (1.14.4)
90
+ i18n (1.14.5)
91
91
  concurrent-ruby (~> 1.0)
92
92
  ice_nine (0.11.2)
93
93
  json (2.7.2)
@@ -99,16 +99,18 @@ GEM
99
99
  mutex_m (0.2.0)
100
100
  net-http (0.4.1)
101
101
  uri
102
- nokogiri (1.16.4-x86_64-darwin)
102
+ nokogiri (1.16.5-arm64-darwin)
103
103
  racc (~> 1.4)
104
- nokogiri (1.16.4-x86_64-linux)
104
+ nokogiri (1.16.5-x86_64-darwin)
105
+ racc (~> 1.4)
106
+ nokogiri (1.16.5-x86_64-linux)
105
107
  racc (~> 1.4)
106
108
  openapi3_parser (0.9.2)
107
109
  commonmarker (~> 0.17)
108
110
  openapi_parser (1.0.0)
109
111
  optimist (3.1.0)
110
112
  parallel (1.24.0)
111
- parser (3.3.0.5)
113
+ parser (3.3.1.0)
112
114
  ast (~> 2.4.1)
113
115
  racc
114
116
  patience_diff (1.2.0)
@@ -117,7 +119,7 @@ GEM
117
119
  racc (1.7.3)
118
120
  rainbow (3.1.1)
119
121
  rake (13.2.1)
120
- regexp_parser (2.9.0)
122
+ regexp_parser (2.9.1)
121
123
  rexml (3.2.6)
122
124
  rspec (3.13.0)
123
125
  rspec-core (~> 3.13.0)
@@ -128,13 +130,13 @@ GEM
128
130
  rspec-expectations (3.13.0)
129
131
  diff-lcs (>= 1.2.0, < 2.0)
130
132
  rspec-support (~> 3.13.0)
131
- rspec-mocks (3.13.0)
133
+ rspec-mocks (3.13.1)
132
134
  diff-lcs (>= 1.2.0, < 2.0)
133
135
  rspec-support (~> 3.13.0)
134
136
  rspec-support (3.13.1)
135
137
  rss (0.3.0)
136
138
  rexml
137
- rubocop (1.63.2)
139
+ rubocop (1.63.5)
138
140
  json (~> 2.3)
139
141
  language_server-protocol (>= 3.17.0)
140
142
  parallel (~> 1.10)
@@ -145,13 +147,13 @@ GEM
145
147
  rubocop-ast (>= 1.31.1, < 2.0)
146
148
  ruby-progressbar (~> 1.7)
147
149
  unicode-display_width (>= 2.4.0, < 3.0)
148
- rubocop-ast (1.31.2)
149
- parser (>= 3.3.0.4)
150
+ rubocop-ast (1.31.3)
151
+ parser (>= 3.3.1.0)
150
152
  rubocop-capybara (2.20.0)
151
153
  rubocop (~> 1.41)
152
154
  rubocop-factory_bot (2.25.1)
153
155
  rubocop (~> 1.41)
154
- rubocop-rspec (2.29.1)
156
+ rubocop-rspec (2.29.2)
155
157
  rubocop (~> 1.40)
156
158
  rubocop-capybara (~> 2.17)
157
159
  rubocop-factory_bot (~> 2.22)
@@ -165,7 +167,7 @@ GEM
165
167
  simplecov_json_formatter (~> 0.1)
166
168
  simplecov-html (0.12.3)
167
169
  simplecov_json_formatter (0.1.4)
168
- super_diff (0.11.0)
170
+ super_diff (0.12.1)
169
171
  attr_extras (>= 6.2.4)
170
172
  diff-lcs
171
173
  patience_diff
@@ -181,6 +183,7 @@ GEM
181
183
  zeitwerk (2.6.13)
182
184
 
183
185
  PLATFORMS
186
+ arm64-darwin-23
184
187
  x86_64-darwin-19
185
188
  x86_64-darwin-20
186
189
  x86_64-darwin-21
@@ -18,12 +18,16 @@ module Dor
18
18
  # @option params [String] :description set description of version change - required
19
19
  # @option params [String] :opening_user_name add opening username to the event - optional
20
20
  # @option params [String] :workflow the workflow to start - defaults to 'assemblyWF'
21
+ # @option params [Hash] :context the workflow context - optional
21
22
  # @return [Boolean] true on success
22
23
  # @raise [NotFoundResponse] when the response is a 404 (object not found)
23
24
  # @raise [UnexpectedResponse] when the response is not successful.
24
25
  def start(params = {})
26
+ body = params[:context] ? { 'context' => params[:context] }.to_json : ''
25
27
  resp = connection.post do |req|
26
- req.url with_querystring(url: path, params: params)
28
+ req.url with_querystring(url: path, params: params.except(:context))
29
+ req.headers['Content-Type'] = 'application/json'
30
+ req.body = body
27
31
  end
28
32
  return true if resp.success?
29
33
 
@@ -38,6 +38,10 @@ module Dor
38
38
  @version ||= ObjectVersion.new(**parent_params)
39
39
  end
40
40
 
41
+ def user_version
42
+ @user_version ||= UserVersion.new(**parent_params)
43
+ end
44
+
41
45
  def accession(params = {})
42
46
  @accession ||= Accession.new(**parent_params.merge(params))
43
47
  end
@@ -98,6 +98,7 @@ module Dor
98
98
  # @param description [String] (optional) - a description of the object version being opened
99
99
  # @param user_name [String] (optional) - sunetid
100
100
  # @param start_accession [Boolean] (optional) - whether to start accessioning workflow; defaults to true
101
+ # @param user_versions [String] (optional - values are none, new, or update) - create, update, or do nothing with user versions on close; defaults to none.
101
102
  # @raise [NotFoundResponse] when the response is a 404 (object not found)
102
103
  # @raise [UnexpectedResponse] when the response is not successful.
103
104
  # @return [String] a message confirming successful closing
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dor
4
+ module Services
5
+ class Client
6
+ # API calls that are about user versions
7
+ class UserVersion < VersionedService
8
+ Version = Struct.new(:version, :userVersion, keyword_init: true)
9
+
10
+ # @param object_identifier [String] the pid for the object
11
+ def initialize(connection:, version:, object_identifier:)
12
+ super(connection: connection, version: version)
13
+ @object_identifier = object_identifier
14
+ end
15
+
16
+ # @return [Array] a list of the user versions
17
+ # @raise [UnexpectedResponse] on an unsuccessful response from the server
18
+ def inventory
19
+ resp = connection.get do |req|
20
+ req.url base_path
21
+ end
22
+ raise_exception_based_on_response!(resp, object_identifier) unless resp.success?
23
+
24
+ JSON.parse(resp.body).fetch('user_versions').map { |params| Version.new(**params.symbolize_keys!) }
25
+ end
26
+
27
+ private
28
+
29
+ attr_reader :object_identifier
30
+
31
+ def object_path
32
+ "#{api_version}/objects/#{object_identifier}"
33
+ end
34
+
35
+ def base_path
36
+ "#{object_path}/user_versions"
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -3,7 +3,7 @@
3
3
  module Dor
4
4
  module Services
5
5
  class Client
6
- VERSION = '14.7.0'
6
+ VERSION = '14.9.0'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dor-services-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 14.7.0
4
+ version: 14.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-04-22 00:00:00.000000000 Z
12
+ date: 2024-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -252,6 +252,7 @@ files:
252
252
  - lib/dor/services/client/release_tags.rb
253
253
  - lib/dor/services/client/response_error_formatter.rb
254
254
  - lib/dor/services/client/transfer.rb
255
+ - lib/dor/services/client/user_version.rb
255
256
  - lib/dor/services/client/version.rb
256
257
  - lib/dor/services/client/versioned_service.rb
257
258
  - lib/dor/services/client/virtual_objects.rb
@@ -278,7 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
278
279
  - !ruby/object:Gem::Version
279
280
  version: '0'
280
281
  requirements: []
281
- rubygems_version: 3.5.7
282
+ rubygems_version: 3.4.19
282
283
  signing_key:
283
284
  specification_version: 4
284
285
  summary: A client for dor-services-app