gds-api-adapters 87.1.0 → 88.1.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: 252fd93c8ba325603ea79d072ec0574500dd2866a66ca4d05c347acc75f19649
4
- data.tar.gz: 97b3e1e58349fd011d41b8611253f1ec65cc9dd93a578555d6b1de7fd61f9f93
3
+ metadata.gz: 79fe1575665027a5ad13f85d14e744690c101f68b96eb07bdcaddda05cb64e8a
4
+ data.tar.gz: 660f4807575e2cf6027eac405bcf0dbe5b07d176a8416be908d44c6a785f1af9
5
5
  SHA512:
6
- metadata.gz: b7a24ca2fa6c1e1f5c2e6867eac0b1bdb89b07b8280a65c34b25444755fdad8136d9ea57393cebfb67721a7932dd1519c1ab88822fe5c5b67243da87c59b4fb9
7
- data.tar.gz: 82b38474030f15b6f1aa91b36f0f82f1e11109c2b78be2d5e086e924b73dd5bb4b4291cf308f5da6324c05aa7f80fbd5df7f6ca9dfa6376012b3e2258ed7b3b7
6
+ metadata.gz: 6a50caa040385b76a6238df0f1f13ffce44a2b807434b6cc51f280109b3f15ae9d756cbf93c2ea3c7ae7b9790ae3a314aae1e28ed85bf6be24414edf7911d7af
7
+ data.tar.gz: 68e20ea7f52cb1451d1cdb847125c3278901381d6346941e74a13fdf21dafd58bd74a3363348c2f573b5f046eddc3e271de06a569374304eff3887c0fdd0e8d4
@@ -260,6 +260,19 @@ class GdsApi::EmailAlertApi < GdsApi::Base
260
260
  )
261
261
  end
262
262
 
263
+ # Migrate all users from one existing subscriber list to another existing subscriber list
264
+ #
265
+ # @param [string] to_slug Identifier for the successor subscription list
266
+ # @param [string] from_slug Identifier for the source subscription list
267
+
268
+ def bulk_migrate(from_slug:, to_slug:)
269
+ post_json(
270
+ "#{endpoint}/subscriber-lists/bulk-migrate",
271
+ from_slug: from_slug,
272
+ to_slug: to_slug,
273
+ )
274
+ end
275
+
263
276
  # Update subscriber list details, such as title
264
277
  # @param [Hash] params A hash of detail paramaters that can be updated. For example title.
265
278
  # For allowed parameters see:
@@ -21,14 +21,20 @@ class GdsApi::Router < GdsApi::Base
21
21
  get_json("#{endpoint}/routes?incoming_path=#{CGI.escape(path)}")
22
22
  end
23
23
 
24
- def add_route(path, type, backend_id, options = {})
25
- response = put_json("#{endpoint}/routes", route: { incoming_path: path, route_type: type, handler: "backend", backend_id: backend_id })
26
- commit_routes if options[:commit]
27
- response
24
+ def add_route(path, type, backend_id)
25
+ put_json(
26
+ "#{endpoint}/routes",
27
+ route: {
28
+ incoming_path: path,
29
+ route_type: type,
30
+ handler: "backend",
31
+ backend_id: backend_id,
32
+ },
33
+ )
28
34
  end
29
35
 
30
36
  def add_redirect_route(path, type, destination, redirect_type = "permanent", options = {})
31
- response = put_json(
37
+ put_json(
32
38
  "#{endpoint}/routes",
33
39
  route: {
34
40
  incoming_path: path,
@@ -39,27 +45,19 @@ class GdsApi::Router < GdsApi::Base
39
45
  segments_mode: options[:segments_mode],
40
46
  },
41
47
  )
42
-
43
- commit_routes if options[:commit]
44
- response
45
48
  end
46
49
 
47
- def add_gone_route(path, type, options = {})
48
- response = put_json("#{endpoint}/routes", route: { incoming_path: path, route_type: type, handler: "gone" })
49
- commit_routes if options[:commit]
50
- response
50
+ def add_gone_route(path, type)
51
+ put_json(
52
+ "#{endpoint}/routes",
53
+ route: { incoming_path: path, route_type: type, handler: "gone" },
54
+ )
51
55
  end
52
56
 
53
- def delete_route(path, hard_delete: false, commit: false)
57
+ def delete_route(path, hard_delete: false)
54
58
  url = "#{endpoint}/routes?incoming_path=#{CGI.escape(path)}"
55
59
  url += "&hard_delete=true" if hard_delete
56
60
 
57
- response = delete_json(url)
58
- commit_routes if commit
59
- response
60
- end
61
-
62
- def commit_routes
63
- post_json("#{endpoint}/routes/commit", {})
61
+ delete_json(url)
64
62
  end
65
63
  end
@@ -456,6 +456,24 @@ module GdsApi
456
456
  .to_return(status: 422)
457
457
  end
458
458
 
459
+ def stub_email_alert_api_bulk_migrate(from_slug:, to_slug:)
460
+ stub_request(:post, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/bulk-migrate")
461
+ .with(body: { from_slug: from_slug, to_slug: to_slug }.to_json)
462
+ .to_return(status: 202)
463
+ end
464
+
465
+ def stub_email_alert_api_bulk_migrate_bad_request(from_slug:, to_slug:)
466
+ stub_request(:post, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/bulk-migrate")
467
+ .with(body: { from_slug: from_slug, to_slug: to_slug }.to_json)
468
+ .to_return(status: 422)
469
+ end
470
+
471
+ def stub_email_alert_api_bulk_migrate_not_found(from_slug:, to_slug:)
472
+ stub_request(:post, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/bulk-migrate")
473
+ .with(body: { from_slug: from_slug, to_slug: to_slug }.to_json)
474
+ .to_return(status: 404)
475
+ end
476
+
459
477
  def stub_update_subscriber_list_details(slug:, params:)
460
478
  stub_request(:patch, "#{EMAIL_ALERT_API_ENDPOINT}/subscriber-lists/#{slug}")
461
479
  .with(body: params.to_json)
@@ -32,7 +32,6 @@ module GdsApi
32
32
  def stub_all_router_registration
33
33
  stub_request(:put, %r{\A#{ROUTER_API_ENDPOINT}/backends/[a-z0-9-]+\z})
34
34
  stub_request(:put, "#{ROUTER_API_ENDPOINT}/routes")
35
- stub_request(:post, "#{ROUTER_API_ENDPOINT}/routes/commit")
36
35
  end
37
36
 
38
37
  def stub_router_backend_registration(backend_id, backend_url)
@@ -43,22 +42,18 @@ module GdsApi
43
42
  end
44
43
 
45
44
  def stub_route_registration(path, type, backend_id)
46
- route = {
45
+ stub_route_put({
47
46
  route: {
48
47
  incoming_path: path,
49
48
  route_type: type,
50
49
  handler: "backend",
51
50
  backend_id: backend_id,
52
51
  },
53
- }
54
-
55
- register_stub = stub_route_put(route)
56
- commit_stub = stub_router_commit
57
- [register_stub, commit_stub]
52
+ })
58
53
  end
59
54
 
60
55
  def stub_redirect_registration(path, type, destination, redirect_type, segments_mode = nil)
61
- redirect = {
56
+ stub_route_put({
62
57
  route: {
63
58
  incoming_path: path,
64
59
  route_type: type,
@@ -67,29 +62,17 @@ module GdsApi
67
62
  redirect_type: redirect_type,
68
63
  segments_mode: segments_mode,
69
64
  },
70
- }
71
-
72
- register_stub = stub_route_put(redirect)
73
- commit_stub = stub_router_commit
74
- [register_stub, commit_stub]
65
+ })
75
66
  end
76
67
 
77
68
  def stub_gone_route_registration(path, type)
78
- route = {
69
+ stub_route_put({
79
70
  route: {
80
71
  incoming_path: path,
81
72
  route_type: type,
82
73
  handler: "gone",
83
74
  },
84
- }
85
-
86
- register_stub = stub_route_put(route)
87
- commit_stub = stub_router_commit
88
- [register_stub, commit_stub]
89
- end
90
-
91
- def stub_router_commit
92
- stub_http_request(:post, "#{ROUTER_API_ENDPOINT}/routes/commit")
75
+ })
93
76
  end
94
77
 
95
78
  private
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = "87.1.0".freeze
2
+ VERSION = "88.1.0".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: 87.1.0
4
+ version: 88.1.0
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: 2023-05-10 00:00:00.000000000 Z
11
+ date: 2023-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable