gds-api-adapters 71.3.0 → 71.4.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 +4 -4
- data/lib/gds_api/account_api.rb +15 -4
- data/lib/gds_api/test_helpers/account_api.rb +26 -13
- data/lib/gds_api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1bcd6f2192952444f80e49762cc4d1e2820c767162d194de9ce6c0f1b78ad2c
|
4
|
+
data.tar.gz: cc96d6dc6f18b3ec2a58187977147b8be0bf6025e7a47c4b55671f2ab900c78f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b0911632959b5c61c22ca3c5f208bd69d8cd6db5984fe83c4912251d38f1e895f8a90eda372de721a9f85a59af4931517eb468c3a23d554d9d3a9e4ecd24734
|
7
|
+
data.tar.gz: 1ed0f2a61ed3833a05283684a443ae148324ae22e92daa49e14982af4e908ea5e4f96cda2f74ad20bedae96fdad3d4641fee09c01b958fd63e53190e319b7357
|
data/lib/gds_api/account_api.rb
CHANGED
@@ -54,6 +54,17 @@ class GdsApi::AccountApi < GdsApi::Base
|
|
54
54
|
get_json("#{endpoint}/api/user", auth_headers(govuk_account_session))
|
55
55
|
end
|
56
56
|
|
57
|
+
# Update the user record with privileged information from the auth service. Only the auth service will call this.
|
58
|
+
#
|
59
|
+
# @param [String] subject_identifier The identifier of the user, shared between the auth service and GOV.UK.
|
60
|
+
# @param [String, nil] email The new email address
|
61
|
+
# @param [Boolean, nil] email_verified Whether the new email address is verified
|
62
|
+
#
|
63
|
+
# @return [Hash] The user's subject identifier and email attributes
|
64
|
+
def update_user_by_subject_identifier(subject_identifier:, email: nil, email_verified: nil)
|
65
|
+
patch_json("#{endpoint}/api/oidc-users/#{subject_identifier}", { email: email, email_verified: email_verified }.compact)
|
66
|
+
end
|
67
|
+
|
57
68
|
# Check if a user has an email subscription for the Transition Checker
|
58
69
|
#
|
59
70
|
# @param [String] govuk_account_session Value of the session header
|
@@ -111,7 +122,7 @@ class GdsApi::AccountApi < GdsApi::Base
|
|
111
122
|
#
|
112
123
|
# @return [Hash] containing :saved_pages, an array of single saved page hashes def get_saved_pages(govuk_account_session:)
|
113
124
|
def get_saved_pages(govuk_account_session:)
|
114
|
-
get_json("#{endpoint}/api/
|
125
|
+
get_json("#{endpoint}/api/saved-pages", auth_headers(govuk_account_session))
|
115
126
|
end
|
116
127
|
|
117
128
|
# Return a single page by unique URL
|
@@ -121,7 +132,7 @@ class GdsApi::AccountApi < GdsApi::Base
|
|
121
132
|
#
|
122
133
|
# @return [Hash] containing :saved_page, a hash of a single saved page value
|
123
134
|
def get_saved_page(page_path:, govuk_account_session:)
|
124
|
-
get_json("#{endpoint}/api/
|
135
|
+
get_json("#{endpoint}/api/saved-pages/#{CGI.escape(page_path)}", auth_headers(govuk_account_session))
|
125
136
|
end
|
126
137
|
|
127
138
|
# Upsert a single saved page entry in a users account
|
@@ -131,7 +142,7 @@ class GdsApi::AccountApi < GdsApi::Base
|
|
131
142
|
#
|
132
143
|
# @return [Hash] A single saved page value (if sucessful)
|
133
144
|
def save_page(page_path:, govuk_account_session:)
|
134
|
-
put_json("#{endpoint}/api/
|
145
|
+
put_json("#{endpoint}/api/saved-pages/#{CGI.escape(page_path)}", {}, auth_headers(govuk_account_session))
|
135
146
|
end
|
136
147
|
|
137
148
|
# Delete a single saved page entry from a users account
|
@@ -142,7 +153,7 @@ class GdsApi::AccountApi < GdsApi::Base
|
|
142
153
|
# @return [GdsApi::Response] A status code of 204 indicates the saved page has been successfully deleted.
|
143
154
|
# A status code of 404 indicates there is no saved page with this path.
|
144
155
|
def delete_saved_page(page_path:, govuk_account_session:)
|
145
|
-
delete_json("#{endpoint}/api/
|
156
|
+
delete_json("#{endpoint}/api/saved-pages/#{CGI.escape(page_path)}", {}, auth_headers(govuk_account_session))
|
146
157
|
end
|
147
158
|
|
148
159
|
private
|
@@ -69,6 +69,19 @@ module GdsApi
|
|
69
69
|
)
|
70
70
|
end
|
71
71
|
|
72
|
+
def stub_update_user_by_subject_identifier(subject_identifier:, email: nil, email_verified: nil, old_email: nil, old_email_verified: nil)
|
73
|
+
stub_account_api_request(
|
74
|
+
:patch,
|
75
|
+
"/api/oidc-users/#{subject_identifier}",
|
76
|
+
with: { body: hash_including({ email: email, email_verified: email_verified }.compact) },
|
77
|
+
response_body: {
|
78
|
+
sub: subject_identifier,
|
79
|
+
email: email || old_email,
|
80
|
+
email_verified: email_verified || old_email_verified,
|
81
|
+
},
|
82
|
+
)
|
83
|
+
end
|
84
|
+
|
72
85
|
def stub_account_api_has_email_subscription(**options)
|
73
86
|
stub_account_api_request(
|
74
87
|
:get,
|
@@ -240,12 +253,12 @@ module GdsApi
|
|
240
253
|
end
|
241
254
|
|
242
255
|
######################
|
243
|
-
# GET /api/
|
256
|
+
# GET /api/saved-pages
|
244
257
|
######################
|
245
258
|
def stub_account_api_returning_saved_pages(saved_pages: [], **options)
|
246
259
|
stub_account_api_request(
|
247
260
|
:get,
|
248
|
-
"/api/
|
261
|
+
"/api/saved-pages",
|
249
262
|
response_body: { saved_pages: saved_pages },
|
250
263
|
**options,
|
251
264
|
)
|
@@ -254,7 +267,7 @@ module GdsApi
|
|
254
267
|
def stub_account_api_unauthorized_get_saved_pages(**options)
|
255
268
|
stub_account_api_request(
|
256
269
|
:get,
|
257
|
-
"/api/
|
270
|
+
"/api/saved-pages",
|
258
271
|
response_status: 401,
|
259
272
|
**options,
|
260
273
|
)
|
@@ -266,7 +279,7 @@ module GdsApi
|
|
266
279
|
def stub_account_api_get_saved_page(page_path:, content_id: "46163ed2-1777-4ee6-bdd4-6a2007e49d8f", title: "Ministry of Magic", **options)
|
267
280
|
stub_account_api_request(
|
268
281
|
:get,
|
269
|
-
"/api/
|
282
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
270
283
|
response_body: {
|
271
284
|
saved_page: {
|
272
285
|
page_path: page_path,
|
@@ -281,7 +294,7 @@ module GdsApi
|
|
281
294
|
def stub_account_api_does_not_have_saved_page(page_path:, **options)
|
282
295
|
stub_account_api_request(
|
283
296
|
:get,
|
284
|
-
"/api/
|
297
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
285
298
|
response_status: 404,
|
286
299
|
**options,
|
287
300
|
)
|
@@ -290,19 +303,19 @@ module GdsApi
|
|
290
303
|
def stub_account_api_unauthorized_get_saved_page(page_path:, **options)
|
291
304
|
stub_account_api_request(
|
292
305
|
:get,
|
293
|
-
"/api/
|
306
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
294
307
|
response_status: 401,
|
295
308
|
**options,
|
296
309
|
)
|
297
310
|
end
|
298
311
|
|
299
312
|
#################################
|
300
|
-
# PUT /api/
|
313
|
+
# PUT /api/saved-pages/:page_path
|
301
314
|
#################################
|
302
315
|
def stub_account_api_save_page(page_path:, content_id: "c840bfa2-011a-42cc-ac7a-a6da990aff0b", title: "Ministry of Magic", **options)
|
303
316
|
stub_account_api_request(
|
304
317
|
:put,
|
305
|
-
"/api/
|
318
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
306
319
|
response_body: {
|
307
320
|
saved_page: {
|
308
321
|
page_path: page_path,
|
@@ -321,7 +334,7 @@ module GdsApi
|
|
321
334
|
def stub_account_api_save_page_cannot_save_page(page_path:, **options)
|
322
335
|
stub_account_api_request(
|
323
336
|
:put,
|
324
|
-
"/api/
|
337
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
325
338
|
response_status: 422,
|
326
339
|
response_body: cannot_save_page_problem_detail({ page_path: page_path }),
|
327
340
|
**options,
|
@@ -331,7 +344,7 @@ module GdsApi
|
|
331
344
|
def stub_account_api_unauthorized_save_page(page_path:, **options)
|
332
345
|
stub_account_api_request(
|
333
346
|
:put,
|
334
|
-
"/api/
|
347
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
335
348
|
response_status: 401,
|
336
349
|
**options,
|
337
350
|
)
|
@@ -352,7 +365,7 @@ module GdsApi
|
|
352
365
|
def stub_account_api_delete_saved_page(page_path:, **options)
|
353
366
|
stub_account_api_request(
|
354
367
|
:delete,
|
355
|
-
"/api/
|
368
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
356
369
|
response_status: 204,
|
357
370
|
**options,
|
358
371
|
)
|
@@ -361,7 +374,7 @@ module GdsApi
|
|
361
374
|
def stub_account_api_delete_saved_page_does_not_exist(page_path:, **options)
|
362
375
|
stub_account_api_request(
|
363
376
|
:delete,
|
364
|
-
"/api/
|
377
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
365
378
|
response_status: 404,
|
366
379
|
**options,
|
367
380
|
)
|
@@ -370,7 +383,7 @@ module GdsApi
|
|
370
383
|
def stub_account_api_delete_saved_page_unauthorised(page_path:, **options)
|
371
384
|
stub_account_api_request(
|
372
385
|
:delete,
|
373
|
-
"/api/
|
386
|
+
"/api/saved-pages/#{CGI.escape(page_path)}",
|
374
387
|
response_status: 401,
|
375
388
|
**options,
|
376
389
|
)
|
data/lib/gds_api/version.rb
CHANGED
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: 71.
|
4
|
+
version: 71.4.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: 2021-06-
|
11
|
+
date: 2021-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|