finapps 6.4.3 → 6.7.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|