ibanity 0.5 → 1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +5 -5
  2. data/.rspec +1 -0
  3. data/.travis.yml +20 -0
  4. data/CHANGELOG.md +20 -0
  5. data/README.md +2 -0
  6. data/ibanity.gemspec +1 -2
  7. data/lib/ibanity.rb +68 -14
  8. data/lib/ibanity/api/base_resource.rb +45 -15
  9. data/lib/ibanity/api/consent/consent.rb +41 -0
  10. data/lib/ibanity/api/consent/processing_operation.rb +37 -0
  11. data/lib/ibanity/api/isabel_connect/access_token.rb +17 -0
  12. data/lib/ibanity/api/isabel_connect/account.rb +15 -0
  13. data/lib/ibanity/api/isabel_connect/account_report.rb +15 -0
  14. data/lib/ibanity/api/isabel_connect/balance.rb +11 -0
  15. data/lib/ibanity/api/isabel_connect/bulk_payment_initiation_request.rb +25 -0
  16. data/lib/ibanity/api/isabel_connect/intraday_transaction.rb +10 -0
  17. data/lib/ibanity/api/isabel_connect/refresh_token.rb +29 -0
  18. data/lib/ibanity/api/isabel_connect/transaction.rb +10 -0
  19. data/lib/ibanity/api/o_auth_resource.rb +19 -0
  20. data/lib/ibanity/api/ponto_connect/account.rb +15 -0
  21. data/lib/ibanity/api/ponto_connect/financial_institution.rb +15 -0
  22. data/lib/ibanity/api/ponto_connect/payment.rb +20 -0
  23. data/lib/ibanity/api/ponto_connect/sandbox/financial_institution_account.rb +21 -0
  24. data/lib/ibanity/api/ponto_connect/sandbox/financial_institution_transaction.rb +31 -0
  25. data/lib/ibanity/api/ponto_connect/synchronization.rb +15 -0
  26. data/lib/ibanity/api/ponto_connect/token.rb +53 -0
  27. data/lib/ibanity/api/ponto_connect/transaction.rb +15 -0
  28. data/lib/ibanity/api/ponto_connect/usage.rb +10 -0
  29. data/lib/ibanity/api/ponto_connect/user_info.rb +10 -0
  30. data/lib/ibanity/api/sandbox/financial_institution_account.rb +41 -0
  31. data/lib/ibanity/api/sandbox/financial_institution_holding.rb +45 -0
  32. data/lib/ibanity/api/sandbox/financial_institution_transaction.rb +45 -0
  33. data/lib/ibanity/api/sandbox/financial_institution_user.rb +32 -0
  34. data/lib/ibanity/api/xs2a/account.rb +33 -0
  35. data/lib/ibanity/api/xs2a/account_information_access_request.rb +27 -0
  36. data/lib/ibanity/api/xs2a/account_information_access_request_authorization.rb +21 -0
  37. data/lib/ibanity/api/xs2a/bulk_payment_initiation_request.rb +33 -0
  38. data/lib/ibanity/api/xs2a/customer.rb +10 -0
  39. data/lib/ibanity/api/xs2a/customer_access_token.rb +11 -0
  40. data/lib/ibanity/api/xs2a/financial_institution.rb +36 -0
  41. data/lib/ibanity/api/xs2a/holding.rb +21 -0
  42. data/lib/ibanity/api/xs2a/payment_initiation_request.rb +33 -0
  43. data/lib/ibanity/api/xs2a/payment_initiation_request_authorization.rb +21 -0
  44. data/lib/ibanity/api/xs2a/periodic_payment_initiation_request.rb +33 -0
  45. data/lib/ibanity/api/xs2a/synchronization.rb +17 -0
  46. data/lib/ibanity/api/xs2a/transaction.rb +21 -0
  47. data/lib/ibanity/client.rb +41 -30
  48. data/lib/ibanity/collection.rb +47 -0
  49. data/lib/ibanity/error.rb +9 -5
  50. data/lib/ibanity/http_signature.rb +4 -2
  51. data/lib/ibanity/util.rb +11 -4
  52. data/lib/ibanity/version.rb +1 -1
  53. data/spec/lib/ibanity/util_spec.rb +89 -0
  54. data/spec/spec_helper.rb +100 -0
  55. metadata +52 -30
  56. data/lib/ibanity/api/account.rb +0 -20
  57. data/lib/ibanity/api/account_information_access_request.rb +0 -17
  58. data/lib/ibanity/api/customer_access_token.rb +0 -9
  59. data/lib/ibanity/api/financial_institution.rb +0 -30
  60. data/lib/ibanity/api/financial_institution_account.rb +0 -39
  61. data/lib/ibanity/api/financial_institution_transaction.rb +0 -43
  62. data/lib/ibanity/api/financial_institution_user.rb +0 -30
  63. data/lib/ibanity/api/payment_initiation_request.rb +0 -24
  64. data/lib/ibanity/api/transaction.rb +0 -19
@@ -1,20 +0,0 @@
1
- module Ibanity
2
- class Account < Ibanity::BaseResource
3
- def self.list(financial_institution_id: nil, customer_access_token:, **query_params)
4
- uri = if financial_institution_id
5
- Ibanity.api_schema["customer"]["financialInstitution"]["accounts"].sub("{financialInstitutionId}", financial_institution_id).sub("{accountId}", "")
6
- else
7
- Ibanity.api_schema["customer"]["accounts"].sub("{accountId}", "")
8
- end
9
-
10
- list_by_uri(uri: uri, query_params: query_params, customer_access_token: customer_access_token)
11
- end
12
-
13
- def self.find(id:, financial_institution_id:, customer_access_token:)
14
- uri = Ibanity.api_schema["customer"]["financialInstitution"]["accounts"]
15
- .sub("{financialInstitutionId}", financial_institution_id)
16
- .sub("{accountId}", id)
17
- find_by_uri(uri: uri, customer_access_token: customer_access_token)
18
- end
19
- end
20
- end
@@ -1,17 +0,0 @@
1
- module Ibanity
2
- class AccountInformationAccessRequest < Ibanity::BaseResource
3
- def self.create_for_financial_institution(financial_institution_id:, customer_access_token:, idempotency_key: nil, **attributes)
4
- path = Ibanity.api_schema["customer"]["financialInstitution"]["accountInformationAccessRequests"]
5
- .gsub("{financialInstitutionId}", financial_institution_id)
6
- .gsub("{accountInformationAccessRequestId}", "")
7
- uri = Ibanity.client.build_uri(path)
8
- create_by_uri(
9
- uri: uri,
10
- resource_type: "accountInformationAccessRequest",
11
- attributes: attributes,
12
- customer_access_token: customer_access_token,
13
- idempotency_key: idempotency_key
14
- )
15
- end
16
- end
17
- end
@@ -1,9 +0,0 @@
1
- module Ibanity
2
- class CustomerAccessToken < ::Ibanity::BaseResource
3
- def self.create(idempotency_key: nil, **attributes)
4
- path = ::Ibanity.api_schema["customerAccessTokens"]
5
- uri = ::Ibanity.client.build_uri(path)
6
- create_by_uri(uri: uri, resource_type: "customerAccessToken", attributes: attributes, idempotency_key: idempotency_key)
7
- end
8
- end
9
- end
@@ -1,30 +0,0 @@
1
- module Ibanity
2
- class FinancialInstitution < Ibanity::BaseResource
3
- def self.list(**query_params)
4
- uri = Ibanity.api_schema["financialInstitutions"].sub("{financialInstitutionId}", "")
5
- list_by_uri(uri: uri, query_params: query_params)
6
- end
7
-
8
- def self.find(id:)
9
- uri = Ibanity.api_schema["financialInstitutions"].sub("{financialInstitutionId}", id)
10
- find_by_uri(uri: uri)
11
- end
12
-
13
- def self.create(idempotency_key: nil, **attributes)
14
- path = Ibanity.api_schema["sandbox"]["financialInstitutions"].gsub("{financialInstitutionId}", "")
15
- uri = Ibanity.client.build_uri(path)
16
- create_by_uri(uri: uri, resource_type: "financialInstitution", attributes: attributes, idempotency_key: idempotency_key)
17
- end
18
-
19
- def self.update(id:, idempotency_key: nil, **attributes)
20
- path = Ibanity.api_schema["sandbox"]["financialInstitutions"].gsub("{financialInstitutionId}", id)
21
- uri = Ibanity.client.build_uri(path)
22
- update_by_uri(uri: uri, resource_type: "financialInstitution", attributes: attributes, idempotency_key: idempotency_key)
23
- end
24
-
25
- def self.delete(id:)
26
- uri = Ibanity.api_schema["sandbox"]["financialInstitutions"].gsub("{financialInstitutionId}", id)
27
- destroy_by_uri(uri: uri)
28
- end
29
- end
30
- end
@@ -1,39 +0,0 @@
1
- module Ibanity
2
- class FinancialInstitutionAccount < Ibanity::BaseResource
3
- def self.create(financial_institution_user_id:, financial_institution_id:, idempotency_key: nil, **attributes)
4
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccounts"]
5
- .gsub("{financialInstitutionId}", financial_institution_id)
6
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
7
- .gsub("{financialInstitutionAccountId}", "")
8
- uri = Ibanity.client.build_uri(path)
9
- create_by_uri(uri: uri, resource_type: "financialInstitutionAccount", attributes: attributes, idempotency_key: idempotency_key)
10
- end
11
-
12
- def self.list(financial_institution_id:, financial_institution_user_id:, **query_params)
13
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccounts"]
14
- .gsub("{financialInstitutionId}", financial_institution_id)
15
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
16
- .gsub("{financialInstitutionAccountId}", "")
17
- uri = Ibanity.client.build_uri(path)
18
- list_by_uri(uri: uri, query_params: query_params)
19
- end
20
-
21
- def self.find(id:, financial_institution_user_id:, financial_institution_id:)
22
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccounts"]
23
- .gsub("{financialInstitutionId}", financial_institution_id)
24
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
25
- .gsub("{financialInstitutionAccountId}", id)
26
- uri = Ibanity.client.build_uri(path)
27
- find_by_uri(uri: uri)
28
- end
29
-
30
- def self.delete(id:, financial_institution_user_id:, financial_institution_id:)
31
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccounts"]
32
- .gsub("{financialInstitutionId}", financial_institution_id)
33
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
34
- .gsub("{financialInstitutionAccountId}", id)
35
- uri = Ibanity.client.build_uri(path)
36
- destroy_by_uri(uri: uri)
37
- end
38
- end
39
- end
@@ -1,43 +0,0 @@
1
- module Ibanity
2
- class FinancialInstitutionTransaction < Ibanity::BaseResource
3
- def self.create(financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:, idempotency_key: nil, **attributes)
4
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
5
- .gsub("{financialInstitutionId}", financial_institution_id)
6
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
7
- .gsub("{financialInstitutionAccountId}", financial_institution_account_id)
8
- .gsub("{financialInstitutionTransactionId}", "")
9
- uri = Ibanity.client.build_uri(path)
10
- create_by_uri(uri: uri, resource_type: "financialInstitutionTransaction", attributes: attributes, idempotency_key: idempotency_key)
11
- end
12
-
13
- def self.list(financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:, **query_params)
14
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
15
- .gsub("{financialInstitutionId}", financial_institution_id)
16
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
17
- .gsub("{financialInstitutionAccountId}", financial_institution_account_id)
18
- .gsub("{financialInstitutionTransactionId}", "")
19
- uri = Ibanity.client.build_uri(path)
20
- list_by_uri(uri: uri, query_params: query_params)
21
- end
22
-
23
- def self.find(id:, financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:)
24
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
25
- .gsub("{financialInstitutionId}", financial_institution_id)
26
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
27
- .gsub("{financialInstitutionAccountId}", financial_institution_account_id)
28
- .gsub("{financialInstitutionTransactionId}", id)
29
- uri = Ibanity.client.build_uri(path)
30
- find_by_uri(uri: uri)
31
- end
32
-
33
- def self.delete(id:, financial_institution_user_id:, financial_institution_id:, financial_institution_account_id:)
34
- path = Ibanity.api_schema["sandbox"]["financialInstitution"]["financialInstitutionAccount"]["financialInstitutionTransactions"]
35
- .gsub("{financialInstitutionId}", financial_institution_id)
36
- .gsub("{financialInstitutionUserId}", financial_institution_user_id)
37
- .gsub("{financialInstitutionAccountId}", financial_institution_account_id)
38
- .gsub("{financialInstitutionTransactionId}", id)
39
- uri = Ibanity.client.build_uri(path)
40
- destroy_by_uri(uri: uri)
41
- end
42
- end
43
- end
@@ -1,30 +0,0 @@
1
- module Ibanity
2
- class FinancialInstitutionUser < Ibanity::BaseResource
3
- def self.create(idempotency_key: nil, **attributes)
4
- path = Ibanity.api_schema["sandbox"]["financialInstitutionUsers"].gsub("{financialInstitutionUserId}", "")
5
- uri = Ibanity.client.build_uri(path)
6
- create_by_uri(uri: uri, resource_type: "financialInstitutionUser", attributes: attributes, idempotency_key: idempotency_key)
7
- end
8
-
9
- def self.list(**query_params)
10
- uri = Ibanity.api_schema["sandbox"]["financialInstitutionUsers"].sub("{financialInstitutionUserId}", "")
11
- list_by_uri(uri: uri, query_params: query_params)
12
- end
13
-
14
- def self.find(id:)
15
- uri = Ibanity.api_schema["sandbox"]["financialInstitutionUsers"].sub("{financialInstitutionUserId}", id)
16
- find_by_uri(uri: uri)
17
- end
18
-
19
- def self.update(id:, idempotency_key: nil, **attributes)
20
- path = Ibanity.api_schema["sandbox"]["financialInstitutionUsers"].sub("{financialInstitutionUserId}", id)
21
- uri = Ibanity.client.build_uri(path)
22
- update_by_uri(uri: uri, resource_type: "financialInstitutionUser", attributes: attributes, idempotency_key: idempotency_key)
23
- end
24
-
25
- def self.delete(id:)
26
- uri = Ibanity.api_schema["sandbox"]["financialInstitutionUsers"].sub("{financialInstitutionUserId}", id)
27
- destroy_by_uri(uri: uri)
28
- end
29
- end
30
- end
@@ -1,24 +0,0 @@
1
- module Ibanity
2
- class PaymentInitiationRequest < Ibanity::BaseResource
3
- def self.create_for_financial_institution(financial_institution_id:, customer_access_token:, idempotency_key: nil, **attributes)
4
- path = Ibanity.api_schema["customer"]["financialInstitution"]["paymentInitiationRequests"]
5
- .gsub("{financialInstitutionId}", financial_institution_id)
6
- .sub("{paymentInitiationRequestId}", "")
7
- uri = Ibanity.client.build_uri(path)
8
- create_by_uri(
9
- uri: uri,
10
- resource_type: "accountInformationAccessRequest",
11
- attributes: attributes,
12
- customer_access_token: customer_access_token,
13
- idempotency_key: idempotency_key
14
- )
15
- end
16
-
17
- def self.find(id:, financial_institution_id:, customer_access_token:)
18
- uri = Ibanity.api_schema["customer"]["financialInstitution"]["paymentInitiationRequests"]
19
- .gsub("{financialInstitutionId}", financial_institution_id)
20
- .sub("{paymentInitiationRequestId}", id)
21
- find_by_uri(uri: uri, customer_access_token: customer_access_token)
22
- end
23
- end
24
- end
@@ -1,19 +0,0 @@
1
- module Ibanity
2
- class Transaction < Ibanity::BaseResource
3
- def self.list(financial_institution_id:, account_id:, customer_access_token:, **query_params)
4
- uri = Ibanity.api_schema["customer"]["financialInstitution"]["transactions"]
5
- .sub("{financialInstitutionId}", financial_institution_id)
6
- .sub("{accountId}", account_id)
7
- .sub("{transactionId}", "")
8
- list_by_uri(uri: uri, query_params: query_params, customer_access_token: customer_access_token)
9
- end
10
-
11
- def self.find(id:, financial_institution_id:, account_id:, customer_access_token:)
12
- uri = Ibanity.api_schema["customer"]["financialInstitution"]["transactions"]
13
- .sub("{financialInstitutionId}", financial_institution_id)
14
- .sub("{accountId}", account_id)
15
- .sub("{transactionId}", id)
16
- find_by_uri(uri: uri, customer_access_token: customer_access_token)
17
- end
18
- end
19
- end