strongmind-platform-sdk 2.16.3 → 3.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 +4 -4
- data/Gemfile +3 -0
- data/Gemfile.lock +23 -17
- data/README.md +1 -1
- data/lib/platform_sdk/data_pipeline/data_pipeline_client.rb +46 -0
- data/lib/platform_sdk/data_pipeline.rb +15 -0
- data/lib/platform_sdk/id_mapper/client.rb +0 -36
- data/lib/platform_sdk/id_mapper/models/domain.rb +1 -1
- data/lib/platform_sdk/id_mapper/models.rb +0 -2
- data/lib/platform_sdk/version.rb +1 -1
- data/lib/platform_sdk.rb +1 -0
- metadata +4 -4
- data/lib/platform_sdk/id_mapper/models/domain_lti.rb +0 -18
- data/lib/platform_sdk/id_mapper/models/lti.rb +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6b27963ad4b935166f36fdde29ed3ec509a719b04ba8180d7ca0f8dabf1b28e
|
4
|
+
data.tar.gz: f958e112abf2ab7da82e158264a3fc4e4208728787f36f70124accc62498989e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98d5841fe9b7073bfe28f897bf60d902351949736a5960a5de3c53ef5c144fd9b99355842ae86f26c560417ebdd33922404c423b2c1f5605c8225cad155968ac
|
7
|
+
data.tar.gz: b21f35fa99b96294ec5d24a3aa780b68f5d6439c8c3d65500d5bfd2528d29a322c3f02a6c9083e8f8faa93eec07b586dd725d079bd3cf6237b4f51ddfa14df8e
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
strongmind-platform-sdk (
|
4
|
+
strongmind-platform-sdk (3.1.0)
|
5
5
|
aws-sdk-secretsmanager (~> 1.66)
|
6
6
|
devise
|
7
7
|
faraday (~> 2.5, >= 2.5.2)
|
@@ -38,16 +38,16 @@ GEM
|
|
38
38
|
ast (2.4.2)
|
39
39
|
attr_required (1.0.1)
|
40
40
|
aws-eventstream (1.2.0)
|
41
|
-
aws-partitions (1.
|
42
|
-
aws-sdk-core (3.
|
41
|
+
aws-partitions (1.805.0)
|
42
|
+
aws-sdk-core (3.180.3)
|
43
43
|
aws-eventstream (~> 1, >= 1.0.2)
|
44
44
|
aws-partitions (~> 1, >= 1.651.0)
|
45
45
|
aws-sigv4 (~> 1.5)
|
46
46
|
jmespath (~> 1, >= 1.6.1)
|
47
|
-
aws-sdk-secretsmanager (1.
|
48
|
-
aws-sdk-core (~> 3, >= 3.
|
47
|
+
aws-sdk-secretsmanager (1.82.0)
|
48
|
+
aws-sdk-core (~> 3, >= 3.177.0)
|
49
49
|
aws-sigv4 (~> 1.1)
|
50
|
-
aws-sigv4 (1.
|
50
|
+
aws-sigv4 (1.6.0)
|
51
51
|
aws-eventstream (~> 1, >= 1.0.2)
|
52
52
|
bcrypt (3.1.19)
|
53
53
|
bindata (2.4.15)
|
@@ -75,6 +75,8 @@ GEM
|
|
75
75
|
faraday-follow_redirects (0.3.0)
|
76
76
|
faraday (>= 1, < 3)
|
77
77
|
faraday-net_http (3.0.2)
|
78
|
+
faraday-retry (2.1.0)
|
79
|
+
faraday (~> 2.0)
|
78
80
|
ffi (1.15.5)
|
79
81
|
hashie (5.0.0)
|
80
82
|
i18n (1.13.0)
|
@@ -97,10 +99,10 @@ GEM
|
|
97
99
|
net-pop
|
98
100
|
net-smtp
|
99
101
|
method_source (1.0.0)
|
100
|
-
mini_mime (1.1.
|
101
|
-
mini_portile2 (2.8.
|
102
|
+
mini_mime (1.1.5)
|
103
|
+
mini_portile2 (2.8.4)
|
102
104
|
minitest (5.18.0)
|
103
|
-
net-imap (0.3.
|
105
|
+
net-imap (0.3.7)
|
104
106
|
date
|
105
107
|
net-protocol
|
106
108
|
net-pop (0.1.2)
|
@@ -139,9 +141,9 @@ GEM
|
|
139
141
|
parallel (1.23.0)
|
140
142
|
parser (3.2.2.1)
|
141
143
|
ast (~> 2.4.1)
|
142
|
-
public_suffix (5.0.
|
144
|
+
public_suffix (5.0.3)
|
143
145
|
racc (1.7.1)
|
144
|
-
rack (2.2.
|
146
|
+
rack (2.2.8)
|
145
147
|
rack-oauth2 (2.2.0)
|
146
148
|
activesupport
|
147
149
|
attr_required
|
@@ -149,12 +151,13 @@ GEM
|
|
149
151
|
faraday-follow_redirects
|
150
152
|
json-jwt (>= 1.11.0)
|
151
153
|
rack (>= 2.1.0)
|
152
|
-
rack-protection (3.0
|
153
|
-
rack
|
154
|
+
rack-protection (3.1.0)
|
155
|
+
rack (~> 2.2, >= 2.2.4)
|
154
156
|
rack-test (2.1.0)
|
155
157
|
rack (>= 1.3)
|
156
|
-
rails-dom-testing (2.0
|
157
|
-
activesupport (>=
|
158
|
+
rails-dom-testing (2.2.0)
|
159
|
+
activesupport (>= 5.0.0)
|
160
|
+
minitest
|
158
161
|
nokogiri (>= 1.6)
|
159
162
|
rails-html-sanitizer (1.6.0)
|
160
163
|
loofah (~> 2.21)
|
@@ -215,7 +218,7 @@ GEM
|
|
215
218
|
tzinfo (2.0.6)
|
216
219
|
concurrent-ruby (~> 1.0)
|
217
220
|
unicode-display_width (2.4.2)
|
218
|
-
uri (0.12.
|
221
|
+
uri (0.12.2)
|
219
222
|
validate_email (0.1.6)
|
220
223
|
activemodel (>= 3.0)
|
221
224
|
mail (>= 2.2.5)
|
@@ -228,7 +231,7 @@ GEM
|
|
228
231
|
activesupport
|
229
232
|
faraday (~> 2.0)
|
230
233
|
faraday-follow_redirects
|
231
|
-
zeitwerk (2.6.
|
234
|
+
zeitwerk (2.6.11)
|
232
235
|
|
233
236
|
PLATFORMS
|
234
237
|
ruby
|
@@ -238,6 +241,9 @@ PLATFORMS
|
|
238
241
|
DEPENDENCIES
|
239
242
|
factory_bot
|
240
243
|
faker
|
244
|
+
faraday
|
245
|
+
faraday-net_http
|
246
|
+
faraday-retry
|
241
247
|
jwt (~> 1.5, >= 1.5.4)
|
242
248
|
rake (~> 13.0)
|
243
249
|
rspec (~> 3.6, >= 3.6.0)
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ First [configure your GitHub credentials](#configure-github-credentials)
|
|
11
11
|
Install the gem and add to the application's Gemfile by executing:
|
12
12
|
|
13
13
|
```
|
14
|
-
gem "strongmind-platform-sdk", "~>
|
14
|
+
gem "strongmind-platform-sdk", "~> 3.0.0"
|
15
15
|
```
|
16
16
|
|
17
17
|
If bundler is not being used to manage dependencies, install the gem by executing:
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PlatformSdk
|
4
|
+
module DataPipeline
|
5
|
+
# DataPipeline::Client
|
6
|
+
class Client
|
7
|
+
attr_reader :credentials, :conn
|
8
|
+
|
9
|
+
def initialize(credentials)
|
10
|
+
@credentials = credentials
|
11
|
+
|
12
|
+
raise ArgumentError, "pipeline_host is required" if @credentials[:pipeline_host].nil?
|
13
|
+
raise ArgumentError, "pipeline_username is required" if @credentials[:pipeline_username].nil?
|
14
|
+
raise ArgumentError, "pipeline_password is required" if @credentials[:pipeline_password].nil?
|
15
|
+
|
16
|
+
@conn = Faraday.new(url: "https://#{@credentials[:pipeline_host]}") do |faraday|
|
17
|
+
faraday.request(:retry, retry_options)
|
18
|
+
faraday.request(:authorization, :basic, @credentials[:pipeline_username], @credentials[:pipeline_password])
|
19
|
+
faraday.headers = headers
|
20
|
+
faraday.adapter(:net_http)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def headers
|
27
|
+
{ "Content-Type" => "application/json" }
|
28
|
+
end
|
29
|
+
|
30
|
+
def retry_options
|
31
|
+
{
|
32
|
+
max: 3,
|
33
|
+
interval: 0.05,
|
34
|
+
interval_randomness: 0.5,
|
35
|
+
backoff_factor: 2
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
39
|
+
public
|
40
|
+
|
41
|
+
def post(message)
|
42
|
+
@conn.post("messages", message.to_json)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "faraday"
|
4
|
+
require "faraday/net_http"
|
5
|
+
require "faraday/retry"
|
6
|
+
|
7
|
+
require "platform_sdk/data_pipeline/data_pipeline_client"
|
8
|
+
|
9
|
+
module PlatformSdk
|
10
|
+
module DataPipeline
|
11
|
+
class Error < StandardError; end
|
12
|
+
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -62,42 +62,6 @@ module PlatformSdk
|
|
62
62
|
body = get(path)
|
63
63
|
models::Domain.new(body)
|
64
64
|
end
|
65
|
-
|
66
|
-
def domain_ltis(**params)
|
67
|
-
path = 'api/v1/domainLtis/'
|
68
|
-
body = get(path, params)
|
69
|
-
list_of_models(models::DomainLti, body)
|
70
|
-
end
|
71
|
-
|
72
|
-
def domain_ltis_by_domain(domain_name)
|
73
|
-
path = "api/v1/domains/#{domain_name}/ltis/"
|
74
|
-
body = get(path)
|
75
|
-
list_of_models(models::DomainLti, body)
|
76
|
-
end
|
77
|
-
|
78
|
-
def domain_ltis_by_lti(lti_identifier)
|
79
|
-
path = "api/v1/domainLtis/?lti__identifier=#{lti_identifier}"
|
80
|
-
body = get(path)
|
81
|
-
list_of_models(models::DomainLti, body)
|
82
|
-
end
|
83
|
-
|
84
|
-
def domain_lti_by_domain_and_lti(domain_name, lti_identifier)
|
85
|
-
path = "api/v1/domains/#{domain_name}/ltis/#{lti_identifier}/"
|
86
|
-
body = get(path)
|
87
|
-
list_of_models(models::DomainLti, body)
|
88
|
-
end
|
89
|
-
|
90
|
-
def ltis(**params)
|
91
|
-
path = 'api/v1/ltis/'
|
92
|
-
body = get(path, params)
|
93
|
-
list_of_models(models::Lti, body)
|
94
|
-
end
|
95
|
-
|
96
|
-
def lti_by_identifier(identifier)
|
97
|
-
path = "api/v1/ltis/#{identifier}/"
|
98
|
-
body = get(path)
|
99
|
-
models::Lti.new(body)
|
100
|
-
end
|
101
65
|
end
|
102
66
|
end
|
103
67
|
end
|
@@ -5,7 +5,7 @@ module PlatformSdk
|
|
5
5
|
module Models
|
6
6
|
# Domain object returned by IdMapper
|
7
7
|
class Domain
|
8
|
-
attr_accessor :id, :name, :key, :secret, :is_disabled, :partner
|
8
|
+
attr_accessor :id, :name, :key, :secret, :token, :is_disabled, :partner
|
9
9
|
|
10
10
|
def initialize(attributes = {})
|
11
11
|
attributes.each do |key, value|
|
data/lib/platform_sdk/version.rb
CHANGED
data/lib/platform_sdk.rb
CHANGED
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:
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Platform Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -158,6 +158,8 @@ files:
|
|
158
158
|
- lib/platform_sdk.rb
|
159
159
|
- lib/platform_sdk/aws.rb
|
160
160
|
- lib/platform_sdk/aws/secrets_manager_client.rb
|
161
|
+
- lib/platform_sdk/data_pipeline.rb
|
162
|
+
- lib/platform_sdk/data_pipeline/data_pipeline_client.rb
|
161
163
|
- lib/platform_sdk/edkey.rb
|
162
164
|
- lib/platform_sdk/edkey/client.rb
|
163
165
|
- lib/platform_sdk/id_mapper.rb
|
@@ -165,8 +167,6 @@ files:
|
|
165
167
|
- lib/platform_sdk/id_mapper/constants.rb
|
166
168
|
- lib/platform_sdk/id_mapper/models.rb
|
167
169
|
- lib/platform_sdk/id_mapper/models/domain.rb
|
168
|
-
- lib/platform_sdk/id_mapper/models/domain_lti.rb
|
169
|
-
- lib/platform_sdk/id_mapper/models/lti.rb
|
170
170
|
- lib/platform_sdk/identity.rb
|
171
171
|
- lib/platform_sdk/identity/clients.rb
|
172
172
|
- lib/platform_sdk/one_roster.rb
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module PlatformSdk
|
4
|
-
module IdMapper
|
5
|
-
module Models
|
6
|
-
# DomainLti object returned by IdMapper
|
7
|
-
class DomainLti
|
8
|
-
attr_accessor :key, :secret, :is_disabled, :domain, :domain_name, :lti, :lti_title, :lti_identifier, :lti_is_disabled
|
9
|
-
|
10
|
-
def initialize(attributes = {})
|
11
|
-
attributes.each do |key, value|
|
12
|
-
instance_variable_set("@#{key}", value)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module PlatformSdk
|
4
|
-
module IdMapper
|
5
|
-
module Models
|
6
|
-
# Lti object returned by IdMapper
|
7
|
-
class Lti
|
8
|
-
attr_accessor :id, :title, :identifier, :is_disabled
|
9
|
-
|
10
|
-
def initialize(attributes = {})
|
11
|
-
attributes.each do |key, value|
|
12
|
-
send("#{key}=", value)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|