bridge_bankin 0.1.0 → 0.1.1
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/workflows/{main.yml → ci-analysis.yml} +4 -4
- data/.github/workflows/rubocop-analysis.yml +44 -0
- data/.gitignore +3 -6
- data/.rubocop.yml +0 -3
- data/Gemfile.lock +1 -1
- data/LICENSE.txt +1 -1
- data/README.md +183 -13
- data/bridge_bankin.gemspec +1 -1
- data/lib/bridge_bankin.rb +3 -0
- data/lib/bridge_bankin/account.rb +20 -0
- data/lib/bridge_bankin/api/client.rb +49 -3
- data/lib/bridge_bankin/api/error.rb +12 -0
- data/lib/bridge_bankin/api/resource.rb +5 -2
- data/lib/bridge_bankin/authorization.rb +17 -0
- data/lib/bridge_bankin/bank.rb +18 -0
- data/lib/bridge_bankin/bridge_object.rb +15 -0
- data/lib/bridge_bankin/category.rb +18 -0
- data/lib/bridge_bankin/configuration.rb +9 -0
- data/lib/bridge_bankin/connect.rb +52 -0
- data/lib/bridge_bankin/insight.rb +11 -0
- data/lib/bridge_bankin/item.rb +49 -2
- data/lib/bridge_bankin/object_types.rb +8 -0
- data/lib/bridge_bankin/stock.rb +43 -9
- data/lib/bridge_bankin/transaction.rb +52 -0
- data/lib/bridge_bankin/transfer.rb +53 -0
- data/lib/bridge_bankin/user.rb +76 -4
- data/lib/bridge_bankin/version.rb +1 -1
- metadata +5 -4
@@ -1,12 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module BridgeBankin
|
4
|
+
#
|
5
|
+
# Transaction resource
|
6
|
+
#
|
4
7
|
class Transaction < BridgeObject
|
5
8
|
RESOURCE_TYPE = "transaction"
|
6
9
|
|
7
10
|
class << self
|
8
11
|
include API::Resource
|
9
12
|
|
13
|
+
#
|
14
|
+
# List all logged in user transactions
|
15
|
+
#
|
16
|
+
# @param [String] access_token the access token provided during the user authentication
|
17
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
18
|
+
#
|
19
|
+
# @return [Array<Transaction>] the user transactions
|
20
|
+
#
|
10
21
|
def list(access_token:, **params)
|
11
22
|
protected_resource(access_token) do
|
12
23
|
data = api_client.get("/v2/transactions", params)
|
@@ -14,6 +25,14 @@ module BridgeBankin
|
|
14
25
|
end
|
15
26
|
end
|
16
27
|
|
28
|
+
#
|
29
|
+
# List all logged in user updated transactions
|
30
|
+
#
|
31
|
+
# @param [String] access_token the access token provided during the user authentication
|
32
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
33
|
+
#
|
34
|
+
# @return [Array<Transaction>] the user accounts
|
35
|
+
#
|
17
36
|
def list_updated(access_token:, **params)
|
18
37
|
protected_resource(access_token) do
|
19
38
|
data = api_client.get("/v2/transactions/updated", params)
|
@@ -21,6 +40,15 @@ module BridgeBankin
|
|
21
40
|
end
|
22
41
|
end
|
23
42
|
|
43
|
+
#
|
44
|
+
# Retrieve a single transaction for logged in user
|
45
|
+
#
|
46
|
+
# @param [Integer] id the id of the requested resource
|
47
|
+
# @param [String] access_token the access token provided during the user authentication
|
48
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
49
|
+
#
|
50
|
+
# @return [Transaction] the user accounts
|
51
|
+
#
|
24
52
|
def find(id:, access_token:, **params)
|
25
53
|
protected_resource(access_token) do
|
26
54
|
data = api_client.get("/v2/transactions/#{id}", params)
|
@@ -28,6 +56,14 @@ module BridgeBankin
|
|
28
56
|
end
|
29
57
|
end
|
30
58
|
|
59
|
+
#
|
60
|
+
# List all logged in user transactions for a specific account
|
61
|
+
#
|
62
|
+
# @param [String] access_token the access token provided during the user authentication
|
63
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
64
|
+
#
|
65
|
+
# @return [Array<Transaction>] the user accounts
|
66
|
+
#
|
31
67
|
def list_by_account(account_id:, access_token:, **params)
|
32
68
|
protected_resource(access_token) do
|
33
69
|
data = api_client.get("/v2/accounts/#{account_id}/transactions", params)
|
@@ -35,6 +71,14 @@ module BridgeBankin
|
|
35
71
|
end
|
36
72
|
end
|
37
73
|
|
74
|
+
#
|
75
|
+
# List all logged in user updated transactions for a specific account
|
76
|
+
#
|
77
|
+
# @param [String] access_token the access token provided during the user authentication
|
78
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
79
|
+
#
|
80
|
+
# @return [Array<Transaction>] the user accounts
|
81
|
+
#
|
38
82
|
def list_updated_by_account(account_id:, access_token:, **params)
|
39
83
|
protected_resource(access_token) do
|
40
84
|
data = api_client.get("/v2/accounts/#{account_id}/transactions/updated", params)
|
@@ -42,6 +86,14 @@ module BridgeBankin
|
|
42
86
|
end
|
43
87
|
end
|
44
88
|
|
89
|
+
#
|
90
|
+
# List all logged in user transactions with a specific IBAN
|
91
|
+
#
|
92
|
+
# @param [String] access_token the access token provided during the user authentication
|
93
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
94
|
+
#
|
95
|
+
# @return [Array<Transaction>] the user accounts
|
96
|
+
#
|
45
97
|
def list_by_iban(access_token:, **params)
|
46
98
|
protected_resource(access_token) do
|
47
99
|
data = api_client.post("/v2/transactions/search", params)
|
@@ -1,12 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module BridgeBankin
|
4
|
+
#
|
5
|
+
# Transfer resource
|
6
|
+
#
|
4
7
|
class Transfer < BridgeObject
|
5
8
|
RESOURCE_TYPE = "transfert"
|
6
9
|
|
7
10
|
class << self
|
8
11
|
include API::Resource
|
9
12
|
|
13
|
+
#
|
14
|
+
# Request the URL to Bridge's Pay funnel to make a transfer
|
15
|
+
#
|
16
|
+
# @param [String] access_token the access token provided during the user authentication
|
17
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
18
|
+
#
|
19
|
+
# @return [BridgeObject] the URL to Bridge's Pay funnel
|
20
|
+
#
|
10
21
|
def send(access_token:, **params)
|
11
22
|
protected_resource(access_token) do
|
12
23
|
data = api_client.post("/v2/pay/transfer/url", params)
|
@@ -14,6 +25,14 @@ module BridgeBankin
|
|
14
25
|
end
|
15
26
|
end
|
16
27
|
|
28
|
+
#
|
29
|
+
# List all logged in user transfers
|
30
|
+
#
|
31
|
+
# @param [String] access_token the access token provided during the user authentication
|
32
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
33
|
+
#
|
34
|
+
# @return [Array<Transfer>] the user's transfers
|
35
|
+
#
|
17
36
|
def list(access_token:, **params)
|
18
37
|
protected_resource(access_token) do
|
19
38
|
data = api_client.get("/v2/transfers", params)
|
@@ -21,6 +40,15 @@ module BridgeBankin
|
|
21
40
|
end
|
22
41
|
end
|
23
42
|
|
43
|
+
#
|
44
|
+
# Retrieve a single transfer for the logged in user
|
45
|
+
#
|
46
|
+
# @param [UUID] uuid the uuid of the requested resource
|
47
|
+
# @param [String] access_token the access token provided during the user authentication
|
48
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
49
|
+
#
|
50
|
+
# @return [Transfer] the requested transfer
|
51
|
+
#
|
24
52
|
def find(uuid:, access_token:, **params)
|
25
53
|
protected_resource(access_token) do
|
26
54
|
data = api_client.get("/v2/transfers/#{uuid}", params)
|
@@ -28,6 +56,14 @@ module BridgeBankin
|
|
28
56
|
end
|
29
57
|
end
|
30
58
|
|
59
|
+
#
|
60
|
+
# List all sender transfer accounts
|
61
|
+
#
|
62
|
+
# @param [String] access_token the access token provided during the user authentication
|
63
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
64
|
+
#
|
65
|
+
# @return [Array<BridgeObject>] the user accounts
|
66
|
+
#
|
31
67
|
def list_all_sender_accounts(access_token:, **params)
|
32
68
|
protected_resource(access_token) do
|
33
69
|
data = api_client.get("/v2/transfers/accounts/senders", params)
|
@@ -35,6 +71,14 @@ module BridgeBankin
|
|
35
71
|
end
|
36
72
|
end
|
37
73
|
|
74
|
+
#
|
75
|
+
# List all receiver transfer accounts
|
76
|
+
#
|
77
|
+
# @param [String] access_token the access token provided during the user authentication
|
78
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
79
|
+
#
|
80
|
+
# @return [Array<BridgeObject>] the user accounts
|
81
|
+
#
|
38
82
|
def list_all_receiver_accounts(access_token:, **params)
|
39
83
|
protected_resource(access_token) do
|
40
84
|
data = api_client.get("/v2/transfers/accounts/receivers", params)
|
@@ -42,6 +86,15 @@ module BridgeBankin
|
|
42
86
|
end
|
43
87
|
end
|
44
88
|
|
89
|
+
#
|
90
|
+
# List all receiver transfer accounts for a specific sender account
|
91
|
+
#
|
92
|
+
# @param [Integer] sender_account_id the sender_account_id of the requested resource
|
93
|
+
# @param [String] access_token the access token provided during the user authentication
|
94
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
95
|
+
#
|
96
|
+
# @return [Array<BridgeObject>] the user accounts
|
97
|
+
#
|
45
98
|
def list_receiver_accounts_for_sender(sender_account_id:, access_token:, **params)
|
46
99
|
protected_resource(access_token) do
|
47
100
|
data = api_client.get("/v2/transfers/accounts/#{sender_account_id}/receivers", params)
|
data/lib/bridge_bankin/user.rb
CHANGED
@@ -1,47 +1,111 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module BridgeBankin
|
4
|
+
#
|
5
|
+
# User resource
|
6
|
+
#
|
4
7
|
class User < BridgeObject
|
5
8
|
RESOURCE_TYPE = "user"
|
6
9
|
|
7
10
|
class << self
|
8
11
|
include API::Resource
|
9
12
|
|
13
|
+
#
|
14
|
+
# List all registered users
|
15
|
+
#
|
16
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
17
|
+
#
|
18
|
+
# @return [Array<User>] the registered users list
|
19
|
+
#
|
10
20
|
def list(**params)
|
11
21
|
data = api_client.get("/v2/users", params)
|
12
22
|
convert_to_bridge_object(data)
|
13
23
|
end
|
14
24
|
|
25
|
+
#
|
26
|
+
# Retrieve a specific user
|
27
|
+
#
|
28
|
+
# @param [UUID] uuid the uuid of the requested resource
|
29
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
30
|
+
#
|
31
|
+
# @return [User] the requested user
|
32
|
+
#
|
15
33
|
def find(uuid:, **params)
|
16
34
|
data = api_client.get("/v2/users/#{uuid}", params)
|
17
35
|
convert_to_bridge_object(data)
|
18
36
|
end
|
19
37
|
|
38
|
+
#
|
39
|
+
# Create a new user
|
40
|
+
#
|
41
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
42
|
+
#
|
43
|
+
# @return [User] the newly created user
|
44
|
+
#
|
20
45
|
def create(**params)
|
21
46
|
data = api_client.post("/v2/users", params)
|
22
47
|
convert_to_bridge_object(data)
|
23
48
|
end
|
24
49
|
|
50
|
+
#
|
51
|
+
# Update user email
|
52
|
+
#
|
53
|
+
# @param [UUID] uuid the uuid of the requested resource
|
54
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
55
|
+
#
|
56
|
+
# @return [User] the updated user
|
57
|
+
#
|
25
58
|
def update_email(uuid:, **params)
|
26
59
|
data = api_client.put("/v2/users/#{uuid}/email", params)
|
27
60
|
convert_to_bridge_object(data)
|
28
61
|
end
|
29
62
|
|
63
|
+
#
|
64
|
+
# Update user password
|
65
|
+
#
|
66
|
+
# @param [UUID] uuid the uuid of the requested resource
|
67
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
68
|
+
#
|
69
|
+
# @return [User] the updated user
|
70
|
+
#
|
30
71
|
def update_password(uuid:, **params)
|
31
72
|
data = api_client.put("/v2/users/#{uuid}/password", params)
|
32
73
|
convert_to_bridge_object(data)
|
33
74
|
end
|
34
75
|
|
76
|
+
#
|
77
|
+
# Delete a specific user
|
78
|
+
#
|
79
|
+
# @param [UUID] uuid the uuid of the requested resource
|
80
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
81
|
+
#
|
82
|
+
# @return [Boolean] the request success status
|
83
|
+
#
|
35
84
|
def delete_user(uuid:, **params)
|
36
|
-
|
37
|
-
|
85
|
+
api_client.delete("/v2/users/#{uuid}", params)
|
86
|
+
true
|
38
87
|
end
|
39
88
|
|
89
|
+
#
|
90
|
+
# Delete all registered users
|
91
|
+
#
|
92
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
93
|
+
#
|
94
|
+
# @return [Boolean] the request success status
|
95
|
+
#
|
40
96
|
def delete_all_users(**params)
|
41
|
-
|
42
|
-
|
97
|
+
api_client.delete("/v2/users", params)
|
98
|
+
true
|
43
99
|
end
|
44
100
|
|
101
|
+
#
|
102
|
+
# Check the logged in user email confirmation status
|
103
|
+
#
|
104
|
+
# @param [String] access_token the access token provided during the user authentication
|
105
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
106
|
+
#
|
107
|
+
# @return [BridgeObject] the user email confirmation status
|
108
|
+
#
|
45
109
|
def check_email_confirmation(access_token:, **params)
|
46
110
|
protected_resource(access_token) do
|
47
111
|
data = api_client.get("/v2/users/me/email/confirmation", params)
|
@@ -49,6 +113,14 @@ module BridgeBankin
|
|
49
113
|
end
|
50
114
|
end
|
51
115
|
|
116
|
+
#
|
117
|
+
# Request the URL to access to an interface to manage the logged in user accounts' IBAN
|
118
|
+
#
|
119
|
+
# @param [String] access_token the access token provided during the user authentication
|
120
|
+
# @param [Hash] params any params that might be required (or optional) to communicate with the API
|
121
|
+
#
|
122
|
+
# @return [BridgeObject] an URL to access to the interface to manage accounts' IBAN
|
123
|
+
#
|
52
124
|
def manage_accounts(access_token:, **params)
|
53
125
|
protected_resource(access_token) do
|
54
126
|
data = api_client.get("/v2/users/manage/accounts/iban", params)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bridge_bankin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Olivier Buffon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -159,7 +159,8 @@ executables: []
|
|
159
159
|
extensions: []
|
160
160
|
extra_rdoc_files: []
|
161
161
|
files:
|
162
|
-
- ".github/workflows/
|
162
|
+
- ".github/workflows/ci-analysis.yml"
|
163
|
+
- ".github/workflows/rubocop-analysis.yml"
|
163
164
|
- ".gitignore"
|
164
165
|
- ".rspec"
|
165
166
|
- ".rubocop.yml"
|
@@ -216,5 +217,5 @@ requirements: []
|
|
216
217
|
rubygems_version: 3.1.4
|
217
218
|
signing_key:
|
218
219
|
specification_version: 4
|
219
|
-
summary: Unofficial client to consume Bridge by Bankin’ API
|
220
|
+
summary: Unofficial Ruby client to consume Bridge by Bankin’ API
|
220
221
|
test_files: []
|