Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions finicity-ruby.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ Gem::Specification.new do |spec|
spec.required_rubygems_version = ">= 2.0.0"

spec.add_runtime_dependency "hashie", "~> 3.4.4"
spec.add_runtime_dependency "httparty", "~> 0.18.0"
spec.add_runtime_dependency "redis", "~> 3.3.1"
spec.add_runtime_dependency "httparty", "~> 0.20.0"
spec.add_runtime_dependency "redis", "~> 4.7.1"
spec.add_runtime_dependency "activesupport"

spec.add_development_dependency "bundler", "~> 1.11"
Expand Down
9 changes: 9 additions & 0 deletions lib/finicity/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
require "finicity/resources/customer"
require "finicity/resources/account"
require "finicity/resources/transaction"
require "finicity/resources/connect_url"

module Finicity
class Client
Expand All @@ -20,6 +21,10 @@ def self.institution
Finicity::Resources::Institution
end

def self.connect_url
Finicity::Resources::ConnectUrl
end

def customer
@customer ||= Finicity::Resources::Customer.new(customer_id)
end
Expand All @@ -32,6 +37,10 @@ def transaction
@transaction ||= Finicity::Resources::Transaction.new(customer_id)
end

def connect_url
@connect_url ||= Finicity::Resources::ConnectUrl.new(customer_id)
end

protected

def initialize(customer_id)
Expand Down
8 changes: 4 additions & 4 deletions lib/finicity/fetchers/token.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ def refresh

raise Finicity::TokenRefreshError, response.body unless response.success?

redis["finicity-token-expires-at"] = 90.minutes.from_now.to_s
redis["finicity-token"] = response.body.token
redis.set("finicity-token-expires-at", 90.minutes.from_now.to_s)
redis.set("finicity-token", response.body.token)
end

protected
Expand All @@ -34,11 +34,11 @@ def token_expired?
end

def token
redis["finicity-token"]
redis.get("finicity-token")
end

def token_expired_at
redis["finicity-token-expires-at"]
redis.get("finicity-token-expires-at")
end

def redis
Expand Down
12 changes: 11 additions & 1 deletion lib/finicity/resources/account.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,18 @@ def refresh_mfa(institution_login_id, mfa_session, questions)
request(:post, endpoint, body: body, headers: headers)
end

def owner(account_id)
endpoint = "/aggregation/v1/customers/#{customer_id}/accounts/#{account_id}/owner"
request(:get, endpoint)
end

def details(account_id)
endpoint = "/aggregation/v1/customers/#{customer_id}/accounts/#{account_id}/details"
request(:get, endpoint)
end

def get(account_id)
endpoint = "/aggregation/v1/customers/#{customer_id}/accounts/#{account_id}"
endpoint = "/aggregation/v2/customers/#{customer_id}/accounts/#{account_id}"

request(:get, endpoint)
end
Expand Down
20 changes: 20 additions & 0 deletions lib/finicity/resources/connect_url.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
module Finicity
module Resources
class ConnectUrl < Base
def generate_lite_url(institution_id, redirect_url, webhook_url)
endpoint = "/connect/v2/generate/lite"

body = {
institutionId: institution_id,
customerId: customer_id,
partnerId: Finicity.configs.partner_id,
redirectUri: redirect_url,
webhook: webhook_url,
webhookContentType: 'application/json'
}

request(:post, endpoint, body: body)
end
end
end
end
6 changes: 5 additions & 1 deletion lib/finicity/resources/institution.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ def self.list(query = {})
request(:get, endpoint, query)
end

def self.get_branding(institution_id)
endpoint = "/institution/v2/institutions/#{institution_id}/branding"
request(:get, endpoint)
end

def self.get(institution_id)
endpoint = "/aggregation/v1/institutions/#{institution_id}/details"

request(:get, endpoint)
end
end
Expand Down
2 changes: 1 addition & 1 deletion lib/finicity/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module Finicity
VERSION = "1.2.1".freeze
VERSION = "1.2.2".freeze
end