strongmind-platform-sdk 3.19.10 → 3.19.12

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: 10187a8eb94f16ef74713d4ebc7050e2b26dd3765fd0833f27aa9c9f2ffbe620
4
- data.tar.gz: 29525b19fec16e6369fe505b2597be11a7a065392c09197c8f39c199aca70196
3
+ metadata.gz: f51b19ad7dfc60230158963a43cb8ed825ecbc4317f2ebd6cae0f953ae660535
4
+ data.tar.gz: 866d4c83d9c4b964a10b9ce00cfdedc570a5d98116507e4445a20848461a507d
5
5
  SHA512:
6
- metadata.gz: b2d1bd26b0775c4317629bb9429de29ab1838cff997e0a343e9c2229aa95442701ccb545f5c047ffce0cad2701ab5887c1692d95f21e26f6e0d8c9fc753c9606
7
- data.tar.gz: 137bd7142f18e0350d2a6441d16f06b7ff9e2c0831b22d48e8def53efc57007955affee28d141e4236eaa4f5a6c8e4c50a8e5a39921082062fa98b6509dd78d6
6
+ metadata.gz: 3eb54deacfcc857d009dbb1d3e28c990cc3705c29f1a0323664f554a4ab06023cf5146d26235132108f604a6d990b839f10c5945f04c1b27d2b046580f28e6d3
7
+ data.tar.gz: 6726411078df88893d8fdeb8bb95b3b27253c72f16f48d83a485275fb49f23ca4fc905ad7807a1eb2f70656abd2fd8f3a1c7a0d122921e0b767310f8d2e3d197
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- strongmind-platform-sdk (3.19.10)
4
+ strongmind-platform-sdk (3.19.12)
5
5
  activesupport (~> 7.1)
6
6
  aws-sdk-secretsmanager (~> 1.66)
7
7
  faraday (~> 2.5, >= 2.5.2)
@@ -95,7 +95,7 @@ GEM
95
95
  public_suffix (>= 2.0.2, < 6.0)
96
96
  ast (2.4.2)
97
97
  aws-eventstream (1.3.0)
98
- aws-partitions (1.934.0)
98
+ aws-partitions (1.937.0)
99
99
  aws-sdk-cloudwatch (1.91.0)
100
100
  aws-sdk-core (~> 3, >= 3.193.0)
101
101
  aws-sigv4 (~> 1.1)
@@ -273,14 +273,7 @@ module PlatformSdk
273
273
  if success?(response.status)
274
274
  MultiJson.load response.body, symbolize_keys: true
275
275
  else
276
- result = MultiJson.load response.body, symbolize_keys: true
277
- message = 'Error creating quiz submission'
278
- if response.status == 403
279
- raise "#{message}: #{result[:message]}"
280
- end
281
- if result[:errors]
282
- raise parse_response_errors message:, result:
283
- end
276
+ handle_post_response_errors(response, 'Error creating quiz submission')
284
277
  end
285
278
  end
286
279
 
@@ -300,14 +293,7 @@ module PlatformSdk
300
293
  if success?(response.status)
301
294
  MultiJson.load response.body, symbolize_keys: true
302
295
  else
303
- result = MultiJson.load response.body, symbolize_keys: true
304
- message = 'Error completing quiz submission'
305
- if response.status == 403
306
- raise "#{message}: #{result[:message]}"
307
- end
308
- if result[:errors]
309
- raise parse_response_errors message:, result:
310
- end
296
+ handle_post_response_errors(response, 'Error completing quiz submission')
311
297
  end
312
298
  end
313
299
 
@@ -323,14 +309,23 @@ module PlatformSdk
323
309
  if success?(response.status)
324
310
  MultiJson.load response.body, symbolize_keys: true
325
311
  else
326
- result = MultiJson.load response.body, symbolize_keys: true
327
- message = 'Error marking module items read'
328
- if response.status == 403
329
- raise "#{message}: #{result[:message]}"
330
- end
331
- if result[:errors]
332
- raise parse_response_errors message:, result:
333
- end
312
+ handle_post_response_errors(response, 'Error marking module items read')
313
+ end
314
+ end
315
+
316
+ # @param course_id [Integer]
317
+ # @param module_id [Integer]
318
+ # @param module_item_id [Integer]
319
+ # @param user_id [Integer]
320
+ # @return nil
321
+ def post_mark_module_item_done(course_id:, module_id:, module_item_id:, user_id:)
322
+ uri = "api/v1/courses/#{course_id}/modules/#{module_id}/items/#{module_item_id}/done?as_user_id=#{user_id}"
323
+ response = @connection.post(uri)
324
+ handle_rate_limiting response
325
+ if success?(response.status)
326
+ MultiJson.load response.body, symbolize_keys: true
327
+ else
328
+ handle_post_response_errors(response, 'Error marking module item done')
334
329
  end
335
330
  end
336
331
 
@@ -408,6 +403,15 @@ module PlatformSdk
408
403
  sleep_time = [reset_time - Time.now.to_i, 0].max + 1
409
404
  sleep(sleep_time)
410
405
  end
406
+
407
+ # @param response [Faraday::Response]
408
+ # @param message [String]
409
+ def handle_post_response_errors(response, message)
410
+ result = MultiJson.load response.body, symbolize_keys: true
411
+ raise "#{message}: #{result[:message]}" if response.status == 403
412
+ raise parse_response_errors(message:, result:) if result[:errors]
413
+
414
+ end
411
415
  end
412
416
  end
413
417
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlatformSdk
4
- VERSION = "3.19.10"
4
+ VERSION = "3.19.12"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongmind-platform-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.19.10
4
+ version: 3.19.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Platform Team
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-30 00:00:00.000000000 Z
11
+ date: 2024-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday