okra-ruby 0.1.0

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.
@@ -0,0 +1,36 @@
1
+ require_relative "base/base.rb"
2
+ require 'json'
3
+
4
+ class AssetsAndLiabilities < Base
5
+
6
+ def verify_liabilities(data)
7
+ base_url = okra_object.base_url
8
+ #certain that the required parameters are passed
9
+ required_params = ["customer"]
10
+ check_passed_parameters(required_params, data)
11
+ payload = data.to_json
12
+ response = post_request("#{base_url}/liabilities/process", payload)
13
+ return response
14
+ end
15
+
16
+ def verify_assets(data)
17
+ base_url = okra_object.base_url
18
+ #certain that the required parameters are passed
19
+ required_params = ["customer"]
20
+ check_passed_parameters(required_params, data)
21
+ payload = data.to_json
22
+ response = post_request("#{base_url}/assets/process", payload)
23
+ return response
24
+ end
25
+
26
+ def verify_insurance(data)
27
+ base_url = okra_object.base_url
28
+ #certain that the required parameters are passed
29
+ required_params = ["customer"]
30
+ check_passed_parameters(required_params, data)
31
+ payload = data.to_json
32
+ response = post_request("#{base_url}/insurance/process", payload)
33
+ return response
34
+ end
35
+
36
+ end
@@ -0,0 +1,67 @@
1
+ require_relative "base/base.rb"
2
+ require 'json'
3
+
4
+ class Auth < Base
5
+
6
+
7
+ def fetch_auths(data)
8
+ base_url = okra_object.base_url
9
+ #certain that the required parameters are passed
10
+ required_params = ["page", "limit"]
11
+ check_passed_parameters(required_params, data)
12
+ payload = data.to_json
13
+ response = post_request("#{base_url}/products/auth/get", payload)
14
+ return response
15
+
16
+ end
17
+
18
+ def get_by_id(data)
19
+ base_url = okra_object.base_url
20
+ #certain that the required parameters are passed
21
+ required_params = ["id"]
22
+ check_passed_parameters(required_params, data)
23
+ payload = data.to_json
24
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::AUTH_ENDPOINT}/getById", payload)
25
+ return response
26
+ end
27
+
28
+ def get_by_customer(data)
29
+ base_url = okra_object.base_url
30
+ #certain that the required parameters are passed
31
+ required_params = ["customer"]
32
+ check_passed_parameters(required_params, data)
33
+ payload = data.to_json
34
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::AUTH_ENDPOINT}/getByCustomer", payload)
35
+ return response
36
+ end
37
+
38
+ def get_by_date(data)
39
+ base_url = okra_object.base_url
40
+ #certain that the required parameters are passed
41
+ required_params = ["from", "to"]
42
+ check_passed_parameters(required_params, data)
43
+ payload = data.to_json
44
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::AUTH_ENDPOINT}/getByDate", payload)
45
+ return response
46
+ end
47
+
48
+ def get_by_bank(data)
49
+ base_url = okra_object.base_url
50
+ #certain that the required parameters are passed
51
+ required_params = ["bank"]
52
+ check_passed_parameters(required_params, data)
53
+ payload = data.to_json
54
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::AUTH_ENDPOINT}/getByBank", payload)
55
+ return response
56
+ end
57
+
58
+ def get_by_customerDate(data)
59
+ base_url = okra_object.base_url
60
+ #certain that the required parameters are passed
61
+ required_params = ["to", "from", "customer"]
62
+ check_passed_parameters(required_params, data)
63
+ payload = data.to_json
64
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::AUTH_ENDPOINT}/getByCustomerDate", payload)
65
+ return response
66
+ end
67
+ end
@@ -0,0 +1,96 @@
1
+ require_relative "base/base.rb"
2
+ require 'json'
3
+
4
+ class Balance < Base
5
+
6
+ def fetch_balance(data)
7
+ base_url = okra_object.base_url
8
+ #certain that the required parameters are passed
9
+ required_params = ["page", "limit"]
10
+ check_passed_parameters(required_params, data)
11
+ payload = data.to_json
12
+ response = post_request("#{base_url}/products/balances", payload)
13
+ return response
14
+ end
15
+
16
+ def get_by_id(data)
17
+ base_url = okra_object.base_url
18
+ #certain that the required parameters are passed
19
+ required_params = ["id"]
20
+ check_passed_parameters(required_params, data)
21
+ payload = data.to_json
22
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::BALANCE_ENDPOINT}/getBalanceById", payload)
23
+ return response
24
+ end
25
+
26
+ def get_by_customer(data)
27
+ base_url = okra_object.base_url
28
+ #certain that the required parameters are passed
29
+ required_params = ["customer"]
30
+ check_passed_parameters(required_params, data)
31
+ payload = data.to_json
32
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::BALANCE_ENDPOINT}/getByCustomer", payload)
33
+ return response
34
+ end
35
+
36
+ def get_by_date(data)
37
+ base_url = okra_object.base_url
38
+ #certain that the required parameters are passed
39
+ required_params = ["from", "to"]
40
+ check_passed_parameters(required_params, data)
41
+ payload = data.to_json
42
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::BALANCE_ENDPOINT}/getByDate", payload)
43
+ return response
44
+ end
45
+
46
+ def get_by_account(data)
47
+ base_url = okra_object.base_url
48
+ #certain that the required parameters are passed
49
+ required_params = ["bank"]
50
+ check_passed_parameters(required_params, data)
51
+ payload = data.to_json
52
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::BALANCE_ENDPOINT}/getByAccount", payload)
53
+ return response
54
+ end
55
+
56
+ def get_by_customerDate(data)
57
+ base_url = okra_object.base_url
58
+ #certain that the required parameters are passed
59
+ required_params = ["to", "from", "customer"]
60
+ check_passed_parameters(required_params, data)
61
+ payload = data.to_json
62
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::BALANCE_ENDPOINT}/getByCustomerDate", payload)
63
+ return response
64
+ end
65
+
66
+ def balance_refresh(account_id)
67
+ base_url = okra_object.base_url
68
+ #certain that the required parameters are passed
69
+ required_params = ["account_id"]
70
+ check_passed_parameters(required_params, data)
71
+ payload = data.to_json
72
+ response = post_request("#{base_url}/balance/refresh", payload)
73
+ return response
74
+ end
75
+
76
+ def balance_check(account_id)
77
+ base_url = okra_object.base_url
78
+ #certain that the required parameters are passed
79
+ required_params = ["account_id"]
80
+ check_passed_parameters(required_params, data)
81
+ payload = data.to_json
82
+ response = post_request("#{base_url}/balance/check", payload)
83
+ return response
84
+ end
85
+
86
+ def enhanced_balance(data)
87
+ base_url = okra_object.base_url
88
+ #certain that the required parameters are passed
89
+ required_params = ["account_id", "customer_id"]
90
+ check_passed_parameters(required_params, data)
91
+ payload = data.to_json
92
+ response = post_request("#{base_url}/balance/process", payload)
93
+ return response
94
+ end
95
+
96
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "base/base.rb"
2
+ require 'json'
3
+
4
+ class Bank < Base
5
+
6
+ def get_list_of_banks
7
+ base_url = okra_object.base_url
8
+ response = get_request("#{base_url}/banks/list")
9
+ return response
10
+ end
11
+
12
+ def get_by_id(id)
13
+ base_url = okra_object.base_url
14
+ response = get_request("#{base_url}/banks/getById?id=#{id}")
15
+ return response
16
+ end
17
+
18
+ end
@@ -0,0 +1,89 @@
1
+ require 'httparty'
2
+ require_relative "../../okra_modules/base_endpoints"
3
+ require "json"
4
+ require_relative "../../error"
5
+
6
+ class Base
7
+
8
+ attr_reader :okra_object
9
+
10
+
11
+ #method to initialize this class
12
+
13
+ def initialize(okra_object=nil)
14
+ unless !okra_object.nil?
15
+ raise ArgumentError, "Okra Object is required!!!"
16
+ end
17
+ @okra_object = okra_object
18
+ end
19
+
20
+ #method to make a get request
21
+
22
+ def get_request(endpoint)
23
+
24
+ begin
25
+ response = HTTParty.get(endpoint, :headers => { "Authorization" => "Bearer #{okra_object.secret_key}" })
26
+ unless (response.code ==200 || response.code == 201)
27
+ raise OkraServerError.new(response), "HTTP Code #{response.code}: #{response.body}"
28
+ end
29
+
30
+ return response
31
+ unless(response.code != 0)
32
+ raise OkraServerError.new(response), "Server Message: #{response.Message}"
33
+ end
34
+
35
+ rescue JSON::ParserError => jsonerr
36
+ raise OkraServerError.new(response), "Invalid result data. Could not parse JSON response body \n #{jsonerr.message}"
37
+ return response
38
+ end
39
+ end
40
+
41
+ #method to make a post request
42
+
43
+ def post_request(endpoint, data)
44
+ begin
45
+ response = HTTParty.post(endpoint, {
46
+ body: data,
47
+ headers: {
48
+ "Content-Type" => "application/json",
49
+ "Authorization" => "Bearer #{okra_object.secret_key}"
50
+ }
51
+ })
52
+
53
+ unless(response.code == 200 || response.code == 201)
54
+ raise OkraServerError.new(response), "HTTP Code #{response.code}: #{response.body}"
55
+ end
56
+ return response
57
+ end
58
+ end
59
+
60
+ # method to make a delete request
61
+ def delete_request(endpoint, data)
62
+ begin
63
+ response = HTTParty.delete(endpoint, {
64
+ body: data,
65
+ headers: {
66
+ "Content-Type" => "application/json",
67
+ "Authorization" => "Bearer #{okra_object.secret_key}"
68
+ }
69
+ })
70
+
71
+ unless (response.code == 200 || response.code == 201)
72
+ raise OkraServerError.new(response), "HTTP Code #{response.code}: #{response.body}"
73
+ end
74
+ return response
75
+ end
76
+ end
77
+
78
+ # method to check if the passed parameters is equal to the expected parameters
79
+ def check_passed_parameters(required_params, passed_params)
80
+
81
+ # This is used to check if the passed authorization parameters matches the required parameters
82
+ required_params.each do |k, v|
83
+ if !passed_params.key?(k)
84
+ raise IncompleteParameterError, "Parameters Incomplete, Missing Parameter: #{k}, Please pass in the complete parameter."
85
+ end
86
+ end
87
+ end
88
+
89
+ end
@@ -0,0 +1,76 @@
1
+ require_relative "base/base.rb"
2
+ require 'json'
3
+
4
+ class Customer < Base
5
+
6
+ def list_customers(data)
7
+ base_url = okra_object.base_url
8
+ payload = data.to_json
9
+ response = post_request("#{base_url}/customers/list", payload)
10
+ return response
11
+ end
12
+
13
+ def fetch_customer_by_field(data)
14
+ base_url = okra_object.base_url
15
+ #certain that the required parameters are passed
16
+ required_params = ["value", "key"]
17
+ check_passed_parameters(required_params, data)
18
+ payload = data.to_json
19
+ response = post_request("#{base_url}/customers/find-customers-by", payload)
20
+ return response
21
+ end
22
+
23
+ def remove_customer(data)
24
+ base_url = okra_object.base_url
25
+ #certain that the required parameters are passed
26
+ required_params = ["customer"]
27
+ check_passed_parameters(required_params, data)
28
+ payload = data.to_json
29
+ response = post_request("#{base_url}/customers/remove", payload)
30
+ return response
31
+ end
32
+
33
+ def flag_customer(data)
34
+ base_url = okra_object.base_url
35
+ #certain that the required parameters are passed
36
+ required_params = ["customer", "bank"]
37
+ check_passed_parameters(required_params, data)
38
+ payload = data.to_json
39
+ response = post_request("#{base_url}/customers/flag", payload)
40
+ return response
41
+ end
42
+
43
+
44
+
45
+ #======================================================== This is only for sandbox
46
+
47
+ def generate_customer(data)
48
+ base_url = okra_object.base_url
49
+ #certain that the required parameters are passed
50
+ required_params = ["number", "create"]
51
+ check_passed_parameters(required_params, data)
52
+ payload = data.to_json
53
+ response = post_request("#{base_url}/customers/generate", payload)
54
+ return response
55
+ end
56
+
57
+ def create_customer(data)
58
+ base_url = okra_object.base_url
59
+ #certain that the required parameters are passed
60
+ required_params = ["noOfAccount", "name", "bank", "username", "password", "type", "volume", "identity", "internetSpeed"]
61
+ check_passed_parameters(required_params, data)
62
+ payload = data.to_json
63
+ response = post_request("#{base_url}/customers/create", payload)
64
+ return response
65
+ end
66
+
67
+ def fetch_customer(data)
68
+ base_url = okra_object.base_url
69
+ #certain that the required parameters are passed
70
+ required_params = ["customer"]
71
+ check_passed_parameters(required_params, data)
72
+ payload = data.to_json
73
+ response = post_request("#{base_url}/customers/get", payload)
74
+ return response
75
+ end
76
+ end
@@ -0,0 +1,106 @@
1
+ require_relative "base/base.rb"
2
+ require 'json'
3
+
4
+ class Identity < Base
5
+
6
+ def fetch_identities(data)
7
+ base_url = okra_object.base_url
8
+ #certain that the required parameters are passed
9
+ required_params = ["page", "limit"]
10
+ check_passed_parameters(required_params, data)
11
+ payload = data.to_json
12
+ response = post_request("#{base_url}/products/identities", payload)
13
+ return response
14
+ end
15
+
16
+ def get_by_id(data)
17
+ base_url = okra_object.base_url
18
+ #certain that the required parameters are passed
19
+ required_params = ["id"]
20
+ check_passed_parameters(required_params, data)
21
+ payload = data.to_json
22
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::IDENTITY_ENDPOINT}/getById", payload)
23
+ return response
24
+ end
25
+
26
+ def get_by_customer(data)
27
+ base_url = okra_object.base_url
28
+ #certain that the required parameters are passed
29
+ required_params = ["customer"]
30
+ check_passed_parameters(required_params, data)
31
+ payload = data.to_json
32
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::IDENTITY_ENDPOINT}/getByCustomer", payload)
33
+ return response
34
+ end
35
+
36
+ def get_by_date(data)
37
+ base_url = okra_object.base_url
38
+ #certain that the required parameters are passed
39
+ required_params = ["from", "to"]
40
+ check_passed_parameters(required_params, data)
41
+ payload = data.to_json
42
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::IDENTITY_ENDPOINT}/getByDate", payload)
43
+ return response
44
+ end
45
+
46
+ def get_by_bank(data)
47
+ base_url = okra_object.base_url
48
+ #certain that the required parameters are passed
49
+ required_params = ["bank"]
50
+ check_passed_parameters(required_params, data)
51
+ payload = data.to_json
52
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::IDENTITY_ENDPOINT}/getByBank", payload)
53
+ return response
54
+ end
55
+
56
+ def get_by_customerDate(data)
57
+ base_url = okra_object.base_url
58
+ #certain that the required parameters are passed
59
+ required_params = ["to", "from", "customer"]
60
+ check_passed_parameters(required_params, data)
61
+ payload = data.to_json
62
+ response = post_request("#{base_url}#{BASE_ENDPOINTS::IDENTITY_ENDPOINT}/getByCustomerDate", payload)
63
+ return response
64
+ end
65
+
66
+ def fetch_identity_by_nuban(data)
67
+ base_url = okra_object.base_url
68
+ #certain that the required parameters are passed
69
+ required_params = ["bank", "nuban"]
70
+ check_passed_parameters(required_params, data)
71
+ payload = data.to_json
72
+ response = post_request("#{base_url}/products/kyc/nuban-verify", payload)
73
+ return response
74
+ end
75
+
76
+ def rc_verify(data)
77
+ base_url = okra_object.base_url
78
+ #certain that the required parameters are passed
79
+ required_params = ["rc_number", "company_name"]
80
+ check_passed_parameters(required_params, data)
81
+ payload = data.to_json
82
+ response = post_request("#{base_url}/products/kyc/rc-verify", payload)
83
+ return response
84
+ end
85
+
86
+ def rc_tin_verify(data)
87
+ base_url = okra_object.base_url
88
+ #certain that the required parameters are passed
89
+ required_params = ["rc_number", "company_name", "tin_number"]
90
+ check_passed_parameters(required_params, data)
91
+ payload = data.to_json
92
+ response = post_request("#{base_url}/products/kyc/rc-tin-verify", payload)
93
+ return response
94
+ end
95
+
96
+ def tin_verify(data)
97
+ base_url = okra_object.base_url
98
+ #certain that the required parameters are passed
99
+ required_params = ["company_name", "tin_number"]
100
+ check_passed_parameters(required_params, data)
101
+ payload = data.to_json
102
+ response = post_request("#{base_url}/products/kyc/tin-verify", payload)
103
+ return response
104
+ end
105
+
106
+ end