forest_admin_agent 1.0.0.pre.beta.45 → 1.0.0.pre.beta.47
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/forest_admin_agent/auth/oidc_client_manager.rb +6 -0
- data/lib/forest_admin_agent/http/forest_admin_api_requester.rb +2 -1
- data/lib/forest_admin_agent/services/ip_whitelist.rb +8 -8
- data/lib/forest_admin_agent/utils/query_string_parser.rb +14 -5
- data/lib/forest_admin_agent/utils/schema/schema_emitter.rb +1 -1
- data/lib/forest_admin_agent/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: 56cd6d9f71a53bee234570bccd942191684758b3a0b261549c8cf504f02d7b64
|
4
|
+
data.tar.gz: 5e1ef6098d3e45feccf9e521a4e1ee0684a76eaa0c7b19fcd3a09a1a565604b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34525c9a9648c71da21fd815b4a16608db211fc897fbe8def79445c3d800b56ac6339f8a3e6e4ae6f9b5043da9c735bd5c3ebd4fed434dc7c279dc6781531c3c
|
7
|
+
data.tar.gz: 1fd874f037ef715a8f1f8cc9a887abc97311c304c5171c37a94f6b9499cb5fc8b1d57d3fcfca6734f3b129d91a1af2dfebe8b1231d6a747feada2ff7b4a026da
|
@@ -9,6 +9,12 @@ module ForestAdminAgent
|
|
9
9
|
TTL = 60 * 60 * 24
|
10
10
|
|
11
11
|
def make_forest_provider(rendering_id)
|
12
|
+
if Facades::Container.cache(:debug)
|
13
|
+
OpenIDConnect.http_config do |options|
|
14
|
+
options.ssl.verify = false
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
12
18
|
config_agent = Facades::Container.config_from_cache
|
13
19
|
cache_key = "#{config_agent[:env_secret]}-client-data"
|
14
20
|
cache = setup_cache(cache_key, config_agent)
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'ipaddress'
|
2
|
-
require 'net/http'
|
3
2
|
|
4
3
|
module ForestAdminAgent
|
5
4
|
module Services
|
@@ -8,15 +7,19 @@ module ForestAdminAgent
|
|
8
7
|
RULE_MATCH_RANGE = 1
|
9
8
|
RULE_MATCH_SUBNET = 2
|
10
9
|
|
10
|
+
attr_reader :forest_api
|
11
|
+
|
11
12
|
def initialize
|
12
|
-
|
13
|
+
@forest_api = ForestAdminAgent::Http::ForestAdminApiRequester.new
|
13
14
|
end
|
14
15
|
|
15
16
|
def use_ip_whitelist
|
17
|
+
fetch_rules if @use_ip_whitelist.nil?
|
16
18
|
@use_ip_whitelist ||= false
|
17
19
|
end
|
18
20
|
|
19
21
|
def rules
|
22
|
+
fetch_rules if @rules.nil?
|
20
23
|
@rules ||= []
|
21
24
|
end
|
22
25
|
|
@@ -82,18 +85,15 @@ module ForestAdminAgent
|
|
82
85
|
private
|
83
86
|
|
84
87
|
def fetch_rules
|
85
|
-
response =
|
86
|
-
URI("#{Facades::Container.cache(:forest_server_url)}/liana/v1/ip-whitelist-rules"),
|
87
|
-
{ 'Content-Type' => 'application/json', 'forest-secret-key' => Facades::Container.cache(:env_secret) }
|
88
|
-
)
|
89
|
-
|
90
|
-
raise Error, ForestAdminAgent::Utils::ErrorMessages::UNEXPECTED unless response.is_a?(Net::HTTPSuccess)
|
88
|
+
response = forest_api.get('/liana/v1/ip-whitelist-rules')
|
91
89
|
|
92
90
|
body = JSON.parse(response.body)
|
93
91
|
ip_whitelist_data = body['data']['attributes']
|
94
92
|
|
95
93
|
@use_ip_whitelist = ip_whitelist_data['use_ip_whitelist']
|
96
94
|
@rules = ip_whitelist_data['rules']
|
95
|
+
rescue StandardError
|
96
|
+
raise Error, ForestAdminAgent::Utils::ErrorMessages::UNEXPECTED
|
97
97
|
end
|
98
98
|
end
|
99
99
|
end
|
@@ -106,15 +106,24 @@ module ForestAdminAgent
|
|
106
106
|
end
|
107
107
|
|
108
108
|
def self.parse_sort(collection, args)
|
109
|
-
|
109
|
+
raw_sort_string = args.dig(:params, :sort)
|
110
110
|
|
111
|
-
return SortUtils::SortFactory.by_primary_keys(collection) unless
|
111
|
+
return SortUtils::SortFactory.by_primary_keys(collection) unless raw_sort_string
|
112
112
|
|
113
|
-
|
114
|
-
|
115
|
-
|
113
|
+
sort_list = []
|
114
|
+
raw_sort_string.split(',').map do |sort_string|
|
115
|
+
field = sort_string.tr('.', ':')
|
116
|
+
ascending = !sort_string.start_with?('-')
|
117
|
+
field = field[1..] unless ascending
|
118
|
+
|
119
|
+
sort_list.push({ field: field, ascending: ascending })
|
120
|
+
end
|
121
|
+
|
122
|
+
sort = Sort.new(sort_list)
|
116
123
|
|
117
124
|
ForestAdminDatasourceToolkit::Validations::SortValidator.validate(collection, sort)
|
125
|
+
|
126
|
+
sort
|
118
127
|
end
|
119
128
|
end
|
120
129
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forest_admin_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.pre.beta.
|
4
|
+
version: 1.0.0.pre.beta.47
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthieu
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-05-
|
12
|
+
date: 2024-05-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|