gds-api-adapters 79.1.2 → 80.0.1

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: 659e2cb6bd909708fb12456695cc971240b79685ad35181bec90a365354c8dd9
4
- data.tar.gz: 6e995ea0a6b68dc218a2eb05f0eabb9a413a4dbfffcc34745795cd20fdc6802b
3
+ metadata.gz: d176cb409b66bc4df5c376c244660cd23fe992e70fa982b3d3403638a97855e4
4
+ data.tar.gz: 507564fc5d9cde9f3bcb9d20ef056a273dd1ff6f7f79a7e4631141cd46ed92bb
5
5
  SHA512:
6
- metadata.gz: dde1459c2c812098ea2d830088970369ba1b9e87347b590d45a2e3be85551f8a833fb851e55c9f82079ebd749c1eda001d364ca07822005046f437b3101f61a6
7
- data.tar.gz: d1a063b5239d0b4cf0e15c1fe90c1034358c5bd326942b2b778ea4b89923621f510816700af21eee0b71115f31e5dfa8997a982b29fbaeeefdb19a35b37a5f83
6
+ metadata.gz: 18f2478cee5688ec61a3c55b4f010b6bc1dd663929b8313b17affbc4056f78825e008a448242c30668a4acd0cd6fbbc118df4eb691bfa913f5aba76461cbe017
7
+ data.tar.gz: 3ecfd09796febbb411404015894024df599b2edb733a0658d730057f5c90e9a60926fa1bfd73a9c258db0a6e24282c41e9d548ba7a04b161f1d39550f827b10b
@@ -252,7 +252,7 @@ class GdsApi::EmailAlertApi < GdsApi::Base
252
252
  # optionally send a notification email explaining the reason
253
253
  #
254
254
  # @param [string] slug Identifier for the subscription list
255
- # @param [string] (optional) govuk_request_id An ID allowing us to trace requests across our infra. Required if you want to send an email.
255
+ # @param [string] (optional) govuk_request_id An ID allowing us to trace requests across our infra. Required if you want to send an email by running out-of-band processes via asynchronous workers.
256
256
  # @param [string] (optional) body Optional email body to send to alert users they are being unsubscribed. Required if you want to send an email
257
257
  # @param [string] (optional) sender_message_id A UUID to prevent multiple emails for the same event. Required if you want to send an email.
258
258
  def bulk_unsubscribe(slug:, govuk_request_id: nil, body: nil, sender_message_id: nil)
@@ -4,8 +4,8 @@ require_relative "exceptions"
4
4
  # Adapter for the Publishing API.
5
5
  #
6
6
  # @see https://github.com/alphagov/publishing-api
7
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/publishing-application-examples.md
8
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/model.md
7
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/publishing-application-examples.md
8
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/model.md
9
9
  # @api documented
10
10
  class GdsApi::PublishingApi < GdsApi::Base
11
11
  class NoLiveVersion < GdsApi::BaseError; end
@@ -15,7 +15,7 @@ class GdsApi::PublishingApi < GdsApi::Base
15
15
  # @param content_id [UUID]
16
16
  # @param payload [Hash] A valid content item
17
17
  #
18
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#put-v2contentcontent_id
18
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#put-v2contentcontent_id
19
19
  def put_content(content_id, payload)
20
20
  put_json(content_url(content_id), payload)
21
21
  end
@@ -31,7 +31,7 @@ class GdsApi::PublishingApi < GdsApi::Base
31
31
  # @return [GdsApi::Response] a content item
32
32
  #
33
33
  # @raise [HTTPNotFound] when the content item is not found
34
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2contentcontent_id
34
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2contentcontent_id
35
35
  def get_content(content_id, params = {})
36
36
  get_json(content_url(content_id, params))
37
37
  end
@@ -46,7 +46,7 @@ class GdsApi::PublishingApi < GdsApi::Base
46
46
  # @return [GdsApi::Response] a content item
47
47
  #
48
48
  # @raise [NoLiveVersion] when the content item is not found
49
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2contentcontent_id
49
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2contentcontent_id
50
50
  def get_live_content(content_id, locale = "en")
51
51
  content_item = get_content(content_id, locale: locale)
52
52
 
@@ -71,7 +71,7 @@ class GdsApi::PublishingApi < GdsApi::Base
71
71
  # publishing_api.lookup_content_ids(base_paths: ['/foo', '/bar'])
72
72
  # # => { "/foo" => "51ac4247-fd92-470a-a207-6b852a97f2db", "/bar" => "261bd281-f16c-48d5-82d2-9544019ad9ca" }
73
73
  #
74
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#post-lookup-by-base-path
74
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#post-lookup-by-base-path
75
75
  def lookup_content_ids(base_paths:, exclude_document_types: nil, exclude_unpublishing_types: nil, with_drafts: false)
76
76
  options = { base_paths: base_paths }
77
77
  options[:exclude_document_types] = exclude_document_types if exclude_document_types
@@ -98,7 +98,7 @@ class GdsApi::PublishingApi < GdsApi::Base
98
98
  # publishing_api.lookup_content_id(base_path: '/foo')
99
99
  # # => "51ac4247-fd92-470a-a207-6b852a97f2db"
100
100
  #
101
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#post-lookup-by-base-path
101
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#post-lookup-by-base-path
102
102
  def lookup_content_id(base_path:, exclude_document_types: nil, exclude_unpublishing_types: nil, with_drafts: false)
103
103
  lookups = lookup_content_ids(
104
104
  base_paths: [base_path],
@@ -119,7 +119,7 @@ class GdsApi::PublishingApi < GdsApi::Base
119
119
  # @param options [Hash]
120
120
  # @option options [String] locale The language, defaults to 'en' in publishing-api.
121
121
  #
122
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#post-v2contentcontent_idpublish
122
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#post-v2contentcontent_idpublish
123
123
  def publish(content_id, update_type = nil, options = {})
124
124
  params = {
125
125
  update_type: update_type,
@@ -150,23 +150,6 @@ class GdsApi::PublishingApi < GdsApi::Base
150
150
  post_json(republish_url(content_id), params)
151
151
  end
152
152
 
153
- # Import content into the publishing API
154
- #
155
- # The publishing-api will delete any content which has the content
156
- # id provided, and then import the data given.
157
- #
158
- # @param content_id [UUID]
159
- # @param content_items [Array]
160
- #
161
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#post-v2contentcontent_idimport
162
- def import(content_id, locale, content_items)
163
- params = {
164
- history: content_items,
165
- }
166
-
167
- post_json("#{endpoint}/v2/content/#{content_id}/import?locale=#{locale}", params)
168
- end
169
-
170
153
  # Unpublish a content item
171
154
  #
172
155
  # The publishing API will "unpublish" a live item, to remove it from the public
@@ -182,7 +165,7 @@ class GdsApi::PublishingApi < GdsApi::Base
182
165
  # @param unpublished_at [Time] (optional) The time the content was withdrawn. Ignored for types other than withdrawn
183
166
  # @param redirects [Array] (optional) Required if no alternative_path is given. An array of redirect values, ie: { path:, type:, destination: }
184
167
  #
185
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#post-v2contentcontent_idunpublish
168
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#post-v2contentcontent_idunpublish
186
169
  def unpublish(content_id, type:, explanation: nil, alternative_path: nil, discard_drafts: false, allow_draft: false, previous_version: nil, locale: nil, unpublished_at: nil, redirects: nil)
187
170
  params = {
188
171
  type: type,
@@ -208,7 +191,7 @@ class GdsApi::PublishingApi < GdsApi::Base
208
191
  # @option options [String] locale The language, defaults to 'en' in publishing-api.
209
192
  # @option options [Integer] previous_version used to ensure the request is discarding the latest lock version of the draft
210
193
  #
211
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#post-v2contentcontent_iddiscard-draft
194
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#post-v2contentcontent_iddiscard-draft
212
195
  def discard_draft(content_id, options = {})
213
196
  optional_keys = %i[locale previous_version]
214
197
 
@@ -237,7 +220,7 @@ class GdsApi::PublishingApi < GdsApi::Base
237
220
  # "version" => 17
238
221
  # }
239
222
  #
240
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2linkscontent_id
223
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2linkscontent_id
241
224
  def get_links(content_id)
242
225
  get_json(links_url(content_id))
243
226
  end
@@ -288,7 +271,7 @@ class GdsApi::PublishingApi < GdsApi::Base
288
271
  # }
289
272
  # }
290
273
  #
291
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2expanded-linkscontent_id
274
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2expanded-linkscontent_id
292
275
  def get_expanded_links(content_id, locale: nil, with_drafts: true, generate: false)
293
276
  params = {}
294
277
  params[:with_drafts] = "false" unless with_drafts
@@ -318,7 +301,7 @@ class GdsApi::PublishingApi < GdsApi::Base
318
301
  # bulk_publishing: true
319
302
  # )
320
303
  #
321
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#patch-v2linkscontent_id
304
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#patch-v2linkscontent_id
322
305
  def patch_links(content_id, params)
323
306
  payload = {
324
307
  links: params.fetch(:links),
@@ -348,7 +331,7 @@ class GdsApi::PublishingApi < GdsApi::Base
348
331
  # order: '-public_updated_at'
349
332
  # )
350
333
  #
351
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2content
334
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2content
352
335
  def get_content_items(params)
353
336
  query = query_string(params)
354
337
  get_json("#{endpoint}/v2/content#{query}")
@@ -361,7 +344,7 @@ class GdsApi::PublishingApi < GdsApi::Base
361
344
  #
362
345
  # @return [Enumerator] an enumerator of content items
363
346
  #
364
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2content
347
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2content
365
348
  def get_content_items_enum(params)
366
349
  Enumerator.new do |yielder|
367
350
  (1..Float::INFINITY).each do |index|
@@ -378,7 +361,7 @@ class GdsApi::PublishingApi < GdsApi::Base
378
361
 
379
362
  # FIXME: Add documentation
380
363
  #
381
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2linkables
364
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2linkables
382
365
  def get_linkables(document_type: nil)
383
366
  if document_type.nil?
384
367
  raise ArgumentError, "Please provide a `document_type`"
@@ -389,7 +372,7 @@ class GdsApi::PublishingApi < GdsApi::Base
389
372
 
390
373
  # FIXME: Add documentation
391
374
  #
392
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2linkedcontent_id
375
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2linkedcontent_id
393
376
  def get_linked_items(content_id, params = {})
394
377
  query = query_string(params)
395
378
  validate_content_id(content_id)
@@ -403,7 +386,7 @@ class GdsApi::PublishingApi < GdsApi::Base
403
386
  #
404
387
  # @return [GdsApi::Response] a paginated list of editions
405
388
  #
406
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2editions
389
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2editions
407
390
  def get_editions(params = {})
408
391
  get_json(get_editions_url(params))
409
392
  end
@@ -415,7 +398,7 @@ class GdsApi::PublishingApi < GdsApi::Base
415
398
  #
416
399
  # @return [Enumerator] an enumerator of editions responses
417
400
  #
418
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#get-v2editions
401
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#get-v2editions
419
402
  def get_paged_editions(params = {})
420
403
  Enumerator.new do |yielder|
421
404
  next_link = get_editions_url(params)
@@ -488,7 +471,7 @@ class GdsApi::PublishingApi < GdsApi::Base
488
471
  # }
489
472
  # )
490
473
  #
491
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#put-publish-intentbase_path
474
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#put-publish-intentbase_path
492
475
  def put_intent(base_path, payload)
493
476
  put_json(intent_url(base_path), payload)
494
477
  end
@@ -497,7 +480,7 @@ class GdsApi::PublishingApi < GdsApi::Base
497
480
  #
498
481
  # @param base_path [String]
499
482
  #
500
- # @see https://github.com/alphagov/publishing-api/blob/master/doc/api.md#delete-publish-intentbase_path
483
+ # @see https://github.com/alphagov/publishing-api/blob/main/docs/api.md#delete-publish-intentbase_path
501
484
  def destroy_intent(base_path)
502
485
  delete_json(intent_url(base_path))
503
486
  rescue GdsApi::HTTPNotFound => e
@@ -413,15 +413,15 @@ module GdsApi
413
413
  .to_return(status: 202)
414
414
  end
415
415
 
416
- def stub_email_alert_api_bulk_unsubscribe_with_message(slug:, govuk_request_id:, body:, sender_message_id:)
416
+ def stub_email_alert_api_bulk_unsubscribe_with_message(slug:, body:, sender_message_id:, govuk_request_id: nil)
417
417
  stub_request(:post, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/#{slug}/bulk-unsubscribe")
418
- .with(
418
+ .with({
419
419
  body: {
420
420
  body: body,
421
421
  sender_message_id: sender_message_id,
422
422
  }.to_json,
423
- headers: { "Govuk-Request-Id" => govuk_request_id },
424
- ).to_return(status: 202)
423
+ }.tap { |attr| attr[:headers] = { "Govuk-Request-Id" => govuk_request_id } if govuk_request_id })
424
+ .to_return(status: 202)
425
425
  end
426
426
 
427
427
  def stub_email_alert_api_bulk_unsubscribe_not_found(slug:)
@@ -429,15 +429,15 @@ module GdsApi
429
429
  .to_return(status: 404)
430
430
  end
431
431
 
432
- def stub_email_alert_api_bulk_unsubscribe_not_found_with_message(slug:, govuk_request_id:, body:, sender_message_id:)
432
+ def stub_email_alert_api_bulk_unsubscribe_not_found_with_message(slug:, body:, sender_message_id:, govuk_request_id: nil)
433
433
  stub_request(:post, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/#{slug}/bulk-unsubscribe")
434
- .with(
434
+ .with({
435
435
  body: {
436
436
  body: body,
437
437
  sender_message_id: sender_message_id,
438
438
  }.to_json,
439
- headers: { "Govuk-Request-Id" => govuk_request_id },
440
- ).to_return(status: 404)
439
+ }.tap { |attr| attr[:headers] = { "Govuk-Request-Id" => govuk_request_id } if govuk_request_id })
440
+ .to_return(status: 404)
441
441
  end
442
442
 
443
443
  def stub_email_alert_api_bulk_unsubscribe_conflict(slug:)
@@ -445,15 +445,15 @@ module GdsApi
445
445
  .to_return(status: 409)
446
446
  end
447
447
 
448
- def stub_email_alert_api_bulk_unsubscribe_conflict_with_message(slug:, govuk_request_id:, body:, sender_message_id:)
448
+ def stub_email_alert_api_bulk_unsubscribe_conflict_with_message(slug:, body:, sender_message_id:, govuk_request_id: nil)
449
449
  stub_request(:post, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/#{slug}/bulk-unsubscribe")
450
- .with(
450
+ .with({
451
451
  body: {
452
452
  body: body,
453
453
  sender_message_id: sender_message_id,
454
454
  }.to_json,
455
- headers: { "Govuk-Request-Id" => govuk_request_id },
456
- ).to_return(status: 409)
455
+ }.tap { |attr| attr[:headers] = { "Govuk-Request-Id" => govuk_request_id } if govuk_request_id })
456
+ .to_return(status: 409)
457
457
  end
458
458
 
459
459
  def stub_email_alert_api_bulk_unsubscribe_bad_request(slug:)
@@ -461,15 +461,15 @@ module GdsApi
461
461
  .to_return(status: 422)
462
462
  end
463
463
 
464
- def stub_email_alert_api_bulk_unsubscribe_bad_request_with_message(slug:, govuk_request_id:, body:, sender_message_id:)
464
+ def stub_email_alert_api_bulk_unsubscribe_bad_request_with_message(slug:, body:, sender_message_id:, govuk_request_id: nil)
465
465
  stub_request(:post, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/#{slug}/bulk-unsubscribe")
466
- .with(
466
+ .with({
467
467
  body: {
468
468
  body: body,
469
469
  sender_message_id: sender_message_id,
470
470
  }.to_json,
471
- headers: { "Govuk-Request-Id" => govuk_request_id },
472
- ).to_return(status: 422)
471
+ }.tap { |attr| attr[:headers] = { "Govuk-Request-Id" => govuk_request_id } if govuk_request_id })
472
+ .to_return(status: 422)
473
473
  end
474
474
 
475
475
  def stub_update_subscriber_list_details(slug:, params:)
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = "79.1.2".freeze
2
+ VERSION = "80.0.1".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds-api-adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 79.1.2
4
+ version: 80.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-06 00:00:00.000000000 Z
11
+ date: 2022-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable