finapps 6.4.3 → 6.7.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/.github/release-drafter.yml +1 -1
- data/.github/workflows/ci.yaml +1 -1
- data/.github/workflows/release.yml +1 -1
- data/.github/workflows/verify-pr-labeled.yml +1 -1
- data/.rubocop.yml +3 -0
- data/finapps.gemspec +1 -1
- data/lib/finapps/rest/actors.rb +13 -0
- data/lib/finapps/rest/client.rb +3 -1
- data/lib/finapps/rest/operators.rb +23 -12
- data/lib/finapps/rest/screening_metadatas.rb +32 -0
- data/lib/finapps/rest/screenings.rb +1 -1
- data/lib/finapps/version.rb +1 -1
- data/lib/finapps.rb +2 -0
- data/spec/rest/actors_spec.rb +39 -0
- data/spec/rest/documents_orders_spec.rb +1 -1
- data/spec/rest/documents_upload_types_spec.rb +1 -1
- data/spec/rest/documents_uploads_spec.rb +1 -1
- data/spec/rest/esign_templates_spec.rb +1 -1
- data/spec/rest/operators_spec.rb +164 -170
- data/spec/rest/plaid/plaid_account_permissions_spec.rb +1 -1
- data/spec/rest/plaid/plaid_accounts_spec.rb +1 -1
- data/spec/rest/plaid/plaid_consumer_institutions_spec.rb +1 -1
- data/spec/rest/plaid/plaid_institution_logos_spec.rb +1 -1
- data/spec/rest/plaid/plaid_webhooks_spec.rb +1 -1
- data/spec/rest/screening_metadatas_spec.rb +131 -0
- data/spec/rest/screenings_spec.rb +8 -12
- data/spec/rest/signed_documents_downloads_spec.rb +1 -1
- data/spec/rest/verix/verix_documents_spec.rb +1 -1
- data/spec/rest/verix/verix_metadata_spec.rb +1 -1
- data/spec/rest/verix/verix_pdf_documents_spec.rb +1 -1
- data/spec/rest/verix/verix_records_spec.rb +1 -1
- data/spec/{rest → spec_helpers}/api_request.rb +11 -8
- data/spec/support/fake_api.rb +8 -7
- data/spec/support/fixtures/actors/details.json +19 -0
- data/spec/support/fixtures/screening_metadatas/not_found.json +3 -0
- data/spec/support/fixtures/screening_metadatas/show.json +4 -0
- data/spec/support/routes/actors.rb +14 -0
- data/spec/support/routes/screening_metadatas.rb +45 -0
- metadata +57 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 735176ac6ed0687571813a8c336c16b69af0c5667c6596700ff9e2a9f68f360a
|
4
|
+
data.tar.gz: c6d8d16e7eefd52b3394211874bb3e525c012b63729465d0fdbad4ff06d23b53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4839196dbed34dce8f802b4e4b95b45b0ce0a8d1e43993290a3783711c6a43394e1ad1680084590ec0ecc3baaa5ae3f4c3c5f52e69b06d72449ef2fd35698e70
|
7
|
+
data.tar.gz: 60afeee0003d524c52a7e966e49e8f6972e5308c7d92c34451149ef25a3041078551eb391a72e38b6723bbcad6e2a8ae284f2b659a5814d6a22fbdb13bc491d8
|
data/.github/release-drafter.yml
CHANGED
@@ -39,7 +39,7 @@ exclude-labels:
|
|
39
39
|
- invalid
|
40
40
|
|
41
41
|
template: |
|
42
|
-
## [$RESOLVED_VERSION](https://github.com/finapps/ruby-client/compare/$PREVIOUS_TAG
|
42
|
+
## [$RESOLVED_VERSION](https://github.com/finapps/ruby-client/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION)
|
43
43
|
$CHANGES
|
44
44
|
|
45
45
|
replacers:
|
data/.github/workflows/ci.yaml
CHANGED
data/.rubocop.yml
CHANGED
data/finapps.gemspec
CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency 'rspec', '~> 3.10', '>= 3.10.0'
|
28
28
|
spec.add_development_dependency 'rubocop-performance', '~> 1.11', '>= 1.11.5'
|
29
29
|
spec.add_development_dependency 'rubocop-rake', '~> 0.5', '>= 0.5.1'
|
30
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 2.
|
30
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.5', '>= 2.5.0'
|
31
31
|
spec.add_development_dependency 'simplecov', '~> 0.21', '>= 0.21.2'
|
32
32
|
spec.add_development_dependency 'simplecov-console', '~> 0.9'
|
33
33
|
spec.add_development_dependency 'sinatra', '~> 2.1', '>= 2.1.0'
|
data/lib/finapps/rest/client.rb
CHANGED
@@ -7,6 +7,7 @@ module FinApps
|
|
7
7
|
module REST
|
8
8
|
class Client < FinAppsCore::REST::BaseClient # :nodoc:
|
9
9
|
RESOURCES = %i[
|
10
|
+
actors
|
10
11
|
alert_definitions
|
11
12
|
alert_occurrences
|
12
13
|
consumers
|
@@ -41,6 +42,7 @@ module FinApps
|
|
41
42
|
portfolio_reports
|
42
43
|
products
|
43
44
|
screenings
|
45
|
+
screening_metadatas
|
44
46
|
sessions
|
45
47
|
signed_documents_downloads
|
46
48
|
tenant_settings
|
@@ -74,7 +76,7 @@ module FinApps
|
|
74
76
|
end
|
75
77
|
|
76
78
|
def set_variable(class_name, variable)
|
77
|
-
klass = Object.const_get(
|
79
|
+
klass = Object.const_get(:FinApps).const_get(:REST).const_get class_name
|
78
80
|
instance_variable_set(variable, klass.new(self))
|
79
81
|
end
|
80
82
|
|
@@ -57,22 +57,33 @@ module FinApps
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def build_filter(params)
|
60
|
-
|
61
|
-
filter.merge!(search_query(params[:searchTerm])) if params[:searchTerm]
|
62
|
-
filter.merge!(role_query(params[:role])) if params[:role]
|
63
|
-
filter
|
60
|
+
term_filter(params[:searchTerm]).merge(role_filter(params[:role]))
|
64
61
|
end
|
65
62
|
|
66
|
-
def
|
67
|
-
{
|
63
|
+
def term_filter(term)
|
64
|
+
return {} unless term
|
65
|
+
|
66
|
+
{'$or': term_array(term)}
|
67
|
+
end
|
68
|
+
|
69
|
+
def term_array(term)
|
70
|
+
[
|
71
|
+
{email: term},
|
72
|
+
{last_name: term}
|
73
|
+
]
|
74
|
+
end
|
75
|
+
|
76
|
+
def role_filter(role)
|
77
|
+
return {} unless role
|
78
|
+
|
79
|
+
roles = to_integers_array(role)
|
80
|
+
return {} if roles.empty?
|
81
|
+
|
82
|
+
{role: {'$in': roles}}
|
68
83
|
end
|
69
84
|
|
70
|
-
def
|
71
|
-
|
72
|
-
{role: {'$in': role.map(&:to_i)}}
|
73
|
-
else
|
74
|
-
{role: role.to_i}
|
75
|
-
end
|
85
|
+
def to_integers_array(role)
|
86
|
+
(role.respond_to?(:map) ? role : [role]).map {|i| Integer(i) }.compact
|
76
87
|
end
|
77
88
|
end
|
78
89
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module FinApps
|
4
|
+
module REST
|
5
|
+
class ScreeningMetadatas < FinAppsCore::REST::Resources # :nodoc:
|
6
|
+
def show(id, key)
|
7
|
+
not_blank(id, :session_id)
|
8
|
+
not_blank(key, :key)
|
9
|
+
|
10
|
+
path = "screenings/#{ERB::Util.url_encode(id)}/meta/#{ERB::Util.url_encode(key)}"
|
11
|
+
super(nil, path)
|
12
|
+
end
|
13
|
+
|
14
|
+
def create(id, key, value)
|
15
|
+
not_blank(id, :session_id)
|
16
|
+
not_blank(key, :key)
|
17
|
+
not_blank(value, :value)
|
18
|
+
|
19
|
+
path = "screenings/#{ERB::Util.url_encode(id)}/meta"
|
20
|
+
super({key => value}, path)
|
21
|
+
end
|
22
|
+
|
23
|
+
def destroy(id, key)
|
24
|
+
not_blank(id, :session_id)
|
25
|
+
not_blank(key, :key)
|
26
|
+
|
27
|
+
path = "screenings/#{ERB::Util.url_encode(id)}/meta/#{ERB::Util.url_encode(key)}"
|
28
|
+
super(nil, path)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/finapps/version.rb
CHANGED
data/lib/finapps.rb
CHANGED
@@ -4,6 +4,7 @@ require 'faraday'
|
|
4
4
|
require 'faraday_middleware'
|
5
5
|
|
6
6
|
require 'finapps_core'
|
7
|
+
require 'finapps/rest/actors'
|
7
8
|
require 'finapps/rest/version'
|
8
9
|
require 'finapps/rest/consumers'
|
9
10
|
require 'finapps/rest/consumer_login_tokens'
|
@@ -39,6 +40,7 @@ require 'finapps/rest/documents_upload_types'
|
|
39
40
|
require 'finapps/rest/signed_documents_downloads'
|
40
41
|
require 'finapps/rest/documents_orders_notifications'
|
41
42
|
require 'finapps/rest/screenings'
|
43
|
+
require 'finapps/rest/screening_metadatas'
|
42
44
|
|
43
45
|
require 'finapps/rest/plaid/plaid_resources'
|
44
46
|
require 'finapps/rest/plaid/plaid_webhooks'
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helpers/client'
|
4
|
+
require 'spec_helpers/api_request'
|
5
|
+
|
6
|
+
RSpec.describe FinApps::REST::Actors do
|
7
|
+
include SpecHelpers::Client
|
8
|
+
|
9
|
+
let(:results) { subject[RESULTS] }
|
10
|
+
let(:error_messages) { subject[ERROR_MESSAGES] }
|
11
|
+
|
12
|
+
describe '#show' do
|
13
|
+
subject(:show) { described_class.new(client).show }
|
14
|
+
|
15
|
+
context 'when authorization is not valid' do
|
16
|
+
before { stub_unauthorized_request }
|
17
|
+
|
18
|
+
it { expect { show }.to raise_error(FinAppsCore::ApiUnauthenticatedError) }
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'when authorization is valid' do
|
22
|
+
it_behaves_like 'an API request'
|
23
|
+
it_behaves_like 'a successful request'
|
24
|
+
|
25
|
+
it('returns a valid actor') { expect(results).to be_a(Hash) }
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def stub_unauthorized_request
|
30
|
+
stub_request(:get, %r{/actor/details}).to_return(
|
31
|
+
status: 401,
|
32
|
+
body: {
|
33
|
+
error_messages: ['Unauthorized'],
|
34
|
+
results: nil
|
35
|
+
}.to_json,
|
36
|
+
headers: {}
|
37
|
+
)
|
38
|
+
end
|
39
|
+
end
|