Class: FractalApi::Consent
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from BaseModel
#as_json, attribute_aliases, attributes, format_url, #format_url, get, #get, #initialize, key_transformer, post, #post, put, #put
Class Method Details
.build(json:) ⇒ Object
20
21
22
23
24
|
# File 'lib/fractal_api/consent.rb', line 20
def self.build(json:)
super.tap do |record|
record.date_created = Time.parse(record.date_created) if record.date_created
end
end
|
.build_from_state(state) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/fractal_api/consent.rb', line 26
def self.build_from_state(state)
decoded = JSON.parse(Base64.decode64(state), symbolize_names: true)
new(
consent_id: decoded[:accReq],
company_id: decoded[:cId],
bank_id: decoded[:bId]
)
rescue JSON::ParserError
nil
end
|
.create(bank_id, company_id, redirect_url) ⇒ Object
13
14
15
16
17
18
|
# File 'lib/fractal_api/consent.rb', line 13
def self.create(bank_id, company_id, redirect_url)
params = { bankId: bank_id.to_s, redirect: redirect_url, permissions: 'READALLBANKDATA' }
result = post('/banking/v2/consents', params: params, headers: { 'X-Company-Id' => company_id })
build(json: result.body)
end
|
Instance Method Details
#update(code:, id_token:, state:) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/fractal_api/consent.rb', line 38
def update(code:, id_token:, state:)
url = format_url(
'/banking/v2/consents/:consent_id',
consent_id: consent_id
)
result = put(
url,
params: { bankId: bank_id, code: code, id_token: id_token, state: state },
headers: { 'X-Company-Id' => company_id }
)
result.body
end
|