mangopay-v4 4.0.0 → 4.0.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 +5 -5
- data/.gitignore +29 -29
- data/.rspec +3 -3
- data/.rubocop.yml +1 -1
- data/.travis.yml +21 -13
- data/Gemfile +2 -2
- data/LICENSE +20 -20
- data/README.md +379 -379
- data/bin/mangopay +9 -9
- data/lib/mangopay.rb +132 -132
- data/lib/mangopay/api/api.rb +8 -8
- data/lib/mangopay/api/api_methods.rb +160 -136
- data/lib/mangopay/api/auth_token_manager.rb +173 -173
- data/lib/mangopay/api/http_client.rb +324 -324
- data/lib/mangopay/api/service/bank_accounts.rb +145 -145
- data/lib/mangopay/api/service/banking_aliases.rb +83 -0
- data/lib/mangopay/api/service/cards.rb +151 -151
- data/lib/mangopay/api/service/client_wallets.rb +88 -88
- data/lib/mangopay/api/service/clients.rb +67 -67
- data/lib/mangopay/api/service/dispute_documents.rb +157 -157
- data/lib/mangopay/api/service/disputes.rb +186 -186
- data/lib/mangopay/api/service/e_money.rb +63 -41
- data/lib/mangopay/api/service/events.rb +46 -46
- data/lib/mangopay/api/service/hooks.rb +92 -92
- data/lib/mangopay/api/service/kyc_documents.rb +152 -152
- data/lib/mangopay/api/service/mandates.rb +141 -141
- data/lib/mangopay/api/service/oauth_tokens.rb +24 -24
- data/lib/mangopay/api/service/pay_ins.rb +369 -259
- data/lib/mangopay/api/service/pay_outs.rb +53 -53
- data/lib/mangopay/api/service/pre_authorizations.rb +126 -68
- data/lib/mangopay/api/service/refunds.rb +159 -61
- data/lib/mangopay/api/service/reports.rb +150 -150
- data/lib/mangopay/api/service/repudiations.rb +31 -31
- data/lib/mangopay/api/service/responses.rb +101 -101
- data/lib/mangopay/api/service/settlement_transfers.rb +54 -54
- data/lib/mangopay/api/service/transactions.rb +246 -182
- data/lib/mangopay/api/service/transfers.rb +53 -53
- data/lib/mangopay/api/service/ubo_declarations.rb +94 -69
- data/lib/mangopay/api/service/users.rb +162 -162
- data/lib/mangopay/api/service/wallets.rb +98 -98
- data/lib/mangopay/api/uri_provider.rb +32 -34
- data/lib/mangopay/common/json_tag_converter.rb +70 -67
- data/lib/mangopay/common/jsonifier.rb +266 -248
- data/lib/mangopay/common/log_provider.rb +33 -33
- data/lib/mangopay/common/rate_limit_interval.rb +16 -16
- data/lib/mangopay/common/read_only_fields.rb +26 -26
- data/lib/mangopay/common/response_error.rb +61 -61
- data/lib/mangopay/common/sort_direction.rb +14 -14
- data/lib/mangopay/common/sort_field.rb +12 -12
- data/lib/mangopay/common/template_url_options.rb +8 -8
- data/lib/mangopay/configuration.rb +38 -38
- data/lib/mangopay/environment.rb +65 -65
- data/lib/mangopay/model/address.rb +26 -26
- data/lib/mangopay/model/billing.rb +13 -0
- data/lib/mangopay/model/birthplace.rb +15 -0
- data/lib/mangopay/model/declared_ubo.rb +20 -20
- data/lib/mangopay/model/dispute_reason.rb +14 -14
- data/lib/mangopay/model/document_page_consult.rb +14 -14
- data/lib/mangopay/model/e_money.rb +17 -17
- data/lib/mangopay/model/entity/account/bank_account.rb +25 -25
- data/lib/mangopay/model/entity/account/ca_bank_account.rb +26 -26
- data/lib/mangopay/model/entity/account/debited_bank_account.rb +31 -0
- data/lib/mangopay/model/entity/account/gb_bank_account.rb +20 -20
- data/lib/mangopay/model/entity/account/iban_bank_account.rb +20 -20
- data/lib/mangopay/model/entity/account/other_bank_account.rb +23 -23
- data/lib/mangopay/model/entity/account/us_bank_account.rb +23 -23
- data/lib/mangopay/model/entity/banking_alias.rb +27 -0
- data/lib/mangopay/model/entity/card.rb +44 -44
- data/lib/mangopay/model/entity/card_registration.rb +42 -42
- data/lib/mangopay/model/entity/client.rb +65 -62
- data/lib/mangopay/model/entity/client_wallet.rb +22 -22
- data/lib/mangopay/model/entity/dispute.rb +49 -49
- data/lib/mangopay/model/entity/dispute_document.rb +28 -28
- data/lib/mangopay/model/entity/entity_base.rb +17 -17
- data/lib/mangopay/model/entity/hook.rb +25 -25
- data/lib/mangopay/model/entity/kyc_document.rb +27 -27
- data/lib/mangopay/model/entity/mandate.rb +50 -50
- data/lib/mangopay/model/entity/pay_in/apple_pay_direct_pay_in.rb +26 -0
- data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +24 -21
- data/lib/mangopay/model/entity/pay_in/bank_wire_external_instruction_pay_in.rb +19 -0
- data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +41 -32
- data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +15 -12
- data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +36 -39
- data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +25 -22
- data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +37 -37
- data/lib/mangopay/model/entity/pay_in/google_pay_direct_pay_in.rb +28 -0
- data/lib/mangopay/model/entity/pay_in/pay_in.rb +18 -15
- data/lib/mangopay/model/entity/pay_in/paypal_web_pay_in.rb +15 -0
- data/lib/mangopay/model/entity/pay_out.rb +21 -21
- data/lib/mangopay/model/entity/pre_authorization.rb +74 -67
- data/lib/mangopay/model/entity/refund.rb +17 -17
- data/lib/mangopay/model/entity/report.rb +50 -50
- data/lib/mangopay/model/entity/repudiation.rb +17 -17
- data/lib/mangopay/model/entity/settlement_transfer.rb +16 -16
- data/lib/mangopay/model/entity/transaction.rb +51 -51
- data/lib/mangopay/model/entity/transfer.rb +12 -12
- data/lib/mangopay/model/entity/ubo.rb +30 -0
- data/lib/mangopay/model/entity/ubo_declaration.rb +29 -31
- data/lib/mangopay/model/entity/user/legal_user.rb +55 -52
- data/lib/mangopay/model/entity/user/natural_user.rb +49 -49
- data/lib/mangopay/model/entity/user/user.rb +17 -17
- data/lib/mangopay/model/entity/wallet.rb +27 -27
- data/lib/mangopay/model/enum/account_type.rb +23 -23
- data/lib/mangopay/model/enum/avs_result.rb +19 -0
- data/lib/mangopay/model/enum/banking_alias_type.rb +12 -0
- data/lib/mangopay/model/enum/business_type.rb +17 -0
- data/lib/mangopay/model/enum/card_status.rb +14 -14
- data/lib/mangopay/model/enum/card_type.rb +32 -32
- data/lib/mangopay/model/enum/card_validity.rb +18 -18
- data/lib/mangopay/model/enum/country_iso.rb +758 -758
- data/lib/mangopay/model/enum/culture_code.rb +43 -43
- data/lib/mangopay/model/enum/currency_iso.rb +551 -551
- data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +15 -15
- data/lib/mangopay/model/enum/declared_ubo_status.rb +17 -17
- data/lib/mangopay/model/enum/deposit_type.rb +14 -14
- data/lib/mangopay/model/enum/direct_debit_type.rb +12 -12
- data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +24 -24
- data/lib/mangopay/model/enum/dispute_document_type.rb +22 -22
- data/lib/mangopay/model/enum/dispute_reason_type.rb +32 -32
- data/lib/mangopay/model/enum/dispute_status.rb +20 -20
- data/lib/mangopay/model/enum/dispute_type.rb +14 -14
- data/lib/mangopay/model/enum/document_status.rb +20 -20
- data/lib/mangopay/model/enum/download_format.rb +10 -10
- data/lib/mangopay/model/enum/event_type.rb +76 -73
- data/lib/mangopay/model/enum/funds_type.rb +14 -14
- data/lib/mangopay/model/enum/hook_status.rb +12 -12
- data/lib/mangopay/model/enum/hook_validity.rb +14 -14
- data/lib/mangopay/model/enum/income_range.rb +20 -20
- data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +36 -36
- data/lib/mangopay/model/enum/kyc_document_type.rb +18 -18
- data/lib/mangopay/model/enum/kyc_level.rb +12 -12
- data/lib/mangopay/model/enum/legal_person_type.rb +14 -14
- data/lib/mangopay/model/enum/mandate_culture_code.rb +22 -22
- data/lib/mangopay/model/enum/mandate_execution_type.rb +10 -10
- data/lib/mangopay/model/enum/mandate_scheme.rb +12 -12
- data/lib/mangopay/model/enum/mandate_status.rb +23 -23
- data/lib/mangopay/model/enum/mandate_type.rb +10 -10
- data/lib/mangopay/model/enum/natural_user_capacity.rb +14 -14
- data/lib/mangopay/model/enum/pay_in_execution_type.rb +17 -17
- data/lib/mangopay/model/enum/pay_in_payment_type.rb +29 -20
- data/lib/mangopay/model/enum/pay_out_payment_type.rb +10 -10
- data/lib/mangopay/model/enum/payment_status.rb +20 -20
- data/lib/mangopay/model/enum/person_type.rb +14 -14
- data/lib/mangopay/model/enum/platform_type.rb +22 -22
- data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +10 -10
- data/lib/mangopay/model/enum/pre_authorization_status.rb +17 -17
- data/lib/mangopay/model/enum/refund_reason_type.rb +20 -20
- data/lib/mangopay/model/enum/report_status.rb +16 -16
- data/lib/mangopay/model/enum/report_type.rb +12 -12
- data/lib/mangopay/model/enum/sector.rb +29 -0
- data/lib/mangopay/model/enum/secure_mode.rb +15 -15
- data/lib/mangopay/model/enum/transaction_nature.rb +16 -16
- data/lib/mangopay/model/enum/transaction_status.rb +14 -14
- data/lib/mangopay/model/enum/transaction_type.rb +14 -14
- data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +18 -18
- data/lib/mangopay/model/enum/ubo_declaration_status.rb +20 -20
- data/lib/mangopay/model/event.rb +17 -17
- data/lib/mangopay/model/model.rb +214 -193
- data/lib/mangopay/model/money.rb +16 -16
- data/lib/mangopay/model/pay_in_web_extended_view.rb +30 -30
- data/lib/mangopay/model/platform_categorization.rb +15 -0
- data/lib/mangopay/model/refund_reason.rb +14 -14
- data/lib/mangopay/model/report_filter.rb +82 -82
- data/lib/mangopay/model/request/cancel_request.rb +15 -15
- data/lib/mangopay/model/request/complete_registration_request.rb +12 -12
- data/lib/mangopay/model/request/currency_request.rb +12 -12
- data/lib/mangopay/model/request/deactivation_request.rb +9 -9
- data/lib/mangopay/model/request/filter_request.rb +37 -37
- data/lib/mangopay/model/request/submit_document_request.rb +13 -13
- data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +16 -13
- data/lib/mangopay/model/request/upload_file_request.rb +8 -8
- data/lib/mangopay/model/response_replica.rb +26 -26
- data/lib/mangopay/model/security_info.rb +13 -0
- data/lib/mangopay/util/custom_formatter.rb +11 -11
- data/lib/mangopay/util/custom_logger.rb +33 -33
- data/lib/mangopay/util/enum.rb +51 -51
- data/lib/mangopay/util/file_encoder.rb +15 -15
- data/lib/mangopay/util/non_instantiable.rb +5 -5
- data/lib/mangopay/util/storage_strategy.rb +9 -9
- data/lib/mangopay/util/void_logger.rb +5 -5
- data/mangopay-v4.gemspec +32 -0
- data/mangopay.gemspec +32 -32
- data/spec/context/address_context.rb +24 -24
- data/spec/context/bank_account_context.rb +137 -137
- data/spec/context/banking_alias_context.rb +17 -0
- data/spec/context/birthplace_context.rb +17 -0
- data/spec/context/card_context.rb +45 -45
- data/spec/context/client_context.rb +43 -44
- data/spec/context/dispute_context.rb +36 -36
- data/spec/context/dispute_document_context.rb +19 -19
- data/spec/context/hook_context.rb +15 -15
- data/spec/context/kyc_document_context.rb +22 -22
- data/spec/context/mandate_context.rb +26 -26
- data/spec/context/pay_in_context.rb +319 -224
- data/spec/context/pay_out_context.rb +39 -38
- data/spec/context/pre_authorization_context.rb +44 -40
- data/spec/context/refund_context.rb +32 -32
- data/spec/context/report_context.rb +21 -21
- data/spec/context/repudiation_context.rb +18 -18
- data/spec/context/settlement_transfer_context.rb +27 -27
- data/spec/context/transfer_context.rb +50 -50
- data/spec/context/ubo_declaration_context.rb +29 -24
- data/spec/context/user_context.rb +83 -82
- data/spec/context/wallet_context.rb +52 -52
- data/spec/mangopay/bank_accounts_spec.rb +228 -228
- data/spec/mangopay/banking_alias_spec.rb +85 -0
- data/spec/mangopay/cards_spec.rb +133 -134
- data/spec/mangopay/client_wallets_spec.rb +147 -147
- data/spec/mangopay/clients_spec.rb +56 -54
- data/spec/mangopay/configuration_spec.rb +125 -125
- data/spec/mangopay/dispute_documents_spec.rb +173 -173
- data/spec/mangopay/disputes_spec.rb +264 -264
- data/spec/mangopay/e_money_spec.rb +57 -37
- data/spec/mangopay/events_spec.rb +49 -49
- data/spec/mangopay/hooks_spec.rb +70 -70
- data/spec/mangopay/kyc_documents_spec.rb +179 -179
- data/spec/mangopay/mandates_spec.rb +218 -218
- data/spec/mangopay/oauth_tokens_spec.rb +40 -40
- data/spec/mangopay/pay_ins_spec.rb +279 -180
- data/spec/mangopay/pay_outs_spec.rb +38 -38
- data/spec/mangopay/pre_authorizations_spec.rb +134 -57
- data/spec/mangopay/refunds_spec.rb +187 -39
- data/spec/mangopay/reports_spec.rb +118 -120
- data/spec/mangopay/responses_spec.rb +324 -294
- data/spec/mangopay/settlement_transfers_spec.rb +36 -36
- data/spec/mangopay/transactions_spec.rb +347 -232
- data/spec/mangopay/transfers_spec.rb +37 -37
- data/spec/mangopay/ubo_declarations_spec.rb +127 -64
- data/spec/mangopay/users_spec.rb +145 -145
- data/spec/mangopay/wallets_spec.rb +103 -103
- data/spec/spec_helper.rb +72 -72
- data/spec/tmp/MangoPay.AuthorizationToken.FileStore.tmp +6 -0
- data/spec/tmp/mangopay.log.tmp +1201 -0
- metadata +31 -5
@@ -1,89 +1,89 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
|
3
|
-
module MangoApi
|
4
|
-
|
5
|
-
# Provides API method delegates concerning the +ClientWallet+ entity
|
6
|
-
module ClientWallets
|
7
|
-
class << self
|
8
|
-
include UriProvider
|
9
|
-
|
10
|
-
# Retrieves a client wallet entity.
|
11
|
-
# Client wallet entity of provided funds' type and currency will be
|
12
|
-
# created if it does not yet exist.
|
13
|
-
#
|
14
|
-
# @param +funds_type+ [FundsType] funds' type of the wallet to retrieve
|
15
|
-
# @param +currency+ [CurrencyIso] currency of the wallet to retrieve
|
16
|
-
# @return [ClientWallet] the corresponding ClientWallet entity object
|
17
|
-
def get(funds_type, currency)
|
18
|
-
uri = provide_uri(:get_client_wallet, funds_type, currency)
|
19
|
-
response = HttpClient.get(uri)
|
20
|
-
parse response
|
21
|
-
end
|
22
|
-
|
23
|
-
# Retrieves client wallet entities. Allows configuration
|
24
|
-
# of paging and sorting parameters by yielding a filtering
|
25
|
-
# object to a provided block. When no filters are specified,
|
26
|
-
# will retrieve the first page of 10 newest results.
|
27
|
-
#
|
28
|
-
# Allowed +FilterRequest+ params:
|
29
|
-
# * page
|
30
|
-
# * per_page
|
31
|
-
# * sort_field and sort_direction
|
32
|
-
#
|
33
|
-
# @return [Array] array of hashed client wallet entities
|
34
|
-
# corresponding to provided filters
|
35
|
-
def all
|
36
|
-
uri = provide_uri(:get_client_wallets)
|
37
|
-
filter_request = nil
|
38
|
-
yield filter_request = FilterRequest.new if block_given?
|
39
|
-
results = HttpClient.get(uri, filter_request)
|
40
|
-
parse_results results
|
41
|
-
end
|
42
|
-
|
43
|
-
# Retrieves client wallet entities of a certain funds type.
|
44
|
-
# Allows configuration of paging and sorting parameters by
|
45
|
-
# yielding a filtering object to a provided block. When no
|
46
|
-
# filters are specified, will retrieve the first page of
|
47
|
-
# 10 newest results.
|
48
|
-
#
|
49
|
-
# Allowed +FilterRequest+ params:
|
50
|
-
# * page
|
51
|
-
# * per_page
|
52
|
-
# * sort_field and sort_direction
|
53
|
-
#
|
54
|
-
# @param +funds_type+ [FundsType] funds' type of the client
|
55
|
-
# wallets to retrieve
|
56
|
-
# @return [Array] array of hashed client wallet entities
|
57
|
-
# corresponding to provided filters
|
58
|
-
def of_funds_type(funds_type)
|
59
|
-
uri = provide_uri(:get_client_wallets_funds_type, funds_type)
|
60
|
-
filter_request = nil
|
61
|
-
yield filter_request = FilterRequest.new if block_given?
|
62
|
-
results = HttpClient.get(uri, filter_request)
|
63
|
-
parse_results results
|
64
|
-
end
|
65
|
-
|
66
|
-
private
|
67
|
-
|
68
|
-
# Parses an array of JSON-originating hashes into the corresponding
|
69
|
-
# ClientWallet entity objects.
|
70
|
-
#
|
71
|
-
# @param +results+ [Array] JSON-originating data hashes
|
72
|
-
# @return [Array] parsed ClientWallet entity objects
|
73
|
-
def parse_results(results)
|
74
|
-
results.collect do |entity|
|
75
|
-
parse entity
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
# Parses a JSON-originating hash into the corresponding
|
80
|
-
# ClientWallet entity object.
|
81
|
-
#
|
82
|
-
# @param +response+ [Hash] JSON-originating data hash
|
83
|
-
# @return [ClientWallet] corresponding ClientWallet entity object
|
84
|
-
def parse(response)
|
85
|
-
MangoModel::ClientWallet.new.dejsonify response
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
|
3
|
+
module MangoApi
|
4
|
+
|
5
|
+
# Provides API method delegates concerning the +ClientWallet+ entity
|
6
|
+
module ClientWallets
|
7
|
+
class << self
|
8
|
+
include UriProvider
|
9
|
+
|
10
|
+
# Retrieves a client wallet entity.
|
11
|
+
# Client wallet entity of provided funds' type and currency will be
|
12
|
+
# created if it does not yet exist.
|
13
|
+
#
|
14
|
+
# @param +funds_type+ [FundsType] funds' type of the wallet to retrieve
|
15
|
+
# @param +currency+ [CurrencyIso] currency of the wallet to retrieve
|
16
|
+
# @return [ClientWallet] the corresponding ClientWallet entity object
|
17
|
+
def get(funds_type, currency)
|
18
|
+
uri = provide_uri(:get_client_wallet, funds_type, currency)
|
19
|
+
response = HttpClient.get(uri)
|
20
|
+
parse response
|
21
|
+
end
|
22
|
+
|
23
|
+
# Retrieves client wallet entities. Allows configuration
|
24
|
+
# of paging and sorting parameters by yielding a filtering
|
25
|
+
# object to a provided block. When no filters are specified,
|
26
|
+
# will retrieve the first page of 10 newest results.
|
27
|
+
#
|
28
|
+
# Allowed +FilterRequest+ params:
|
29
|
+
# * page
|
30
|
+
# * per_page
|
31
|
+
# * sort_field and sort_direction
|
32
|
+
#
|
33
|
+
# @return [Array] array of hashed client wallet entities
|
34
|
+
# corresponding to provided filters
|
35
|
+
def all
|
36
|
+
uri = provide_uri(:get_client_wallets)
|
37
|
+
filter_request = nil
|
38
|
+
yield filter_request = FilterRequest.new if block_given?
|
39
|
+
results = HttpClient.get(uri, filter_request)
|
40
|
+
parse_results results
|
41
|
+
end
|
42
|
+
|
43
|
+
# Retrieves client wallet entities of a certain funds type.
|
44
|
+
# Allows configuration of paging and sorting parameters by
|
45
|
+
# yielding a filtering object to a provided block. When no
|
46
|
+
# filters are specified, will retrieve the first page of
|
47
|
+
# 10 newest results.
|
48
|
+
#
|
49
|
+
# Allowed +FilterRequest+ params:
|
50
|
+
# * page
|
51
|
+
# * per_page
|
52
|
+
# * sort_field and sort_direction
|
53
|
+
#
|
54
|
+
# @param +funds_type+ [FundsType] funds' type of the client
|
55
|
+
# wallets to retrieve
|
56
|
+
# @return [Array] array of hashed client wallet entities
|
57
|
+
# corresponding to provided filters
|
58
|
+
def of_funds_type(funds_type)
|
59
|
+
uri = provide_uri(:get_client_wallets_funds_type, funds_type)
|
60
|
+
filter_request = nil
|
61
|
+
yield filter_request = FilterRequest.new if block_given?
|
62
|
+
results = HttpClient.get(uri, filter_request)
|
63
|
+
parse_results results
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
|
68
|
+
# Parses an array of JSON-originating hashes into the corresponding
|
69
|
+
# ClientWallet entity objects.
|
70
|
+
#
|
71
|
+
# @param +results+ [Array] JSON-originating data hashes
|
72
|
+
# @return [Array] parsed ClientWallet entity objects
|
73
|
+
def parse_results(results)
|
74
|
+
results.collect do |entity|
|
75
|
+
parse entity
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
# Parses a JSON-originating hash into the corresponding
|
80
|
+
# ClientWallet entity object.
|
81
|
+
#
|
82
|
+
# @param +response+ [Hash] JSON-originating data hash
|
83
|
+
# @return [ClientWallet] corresponding ClientWallet entity object
|
84
|
+
def parse(response)
|
85
|
+
MangoModel::ClientWallet.new.dejsonify response
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
89
|
end
|
@@ -1,68 +1,68 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
require_relative '../../util/file_encoder'
|
3
|
-
require_relative '../../model/request/upload_file_request'
|
4
|
-
|
5
|
-
module MangoApi
|
6
|
-
|
7
|
-
# Provides API method delegates concerning the +Client+ entity
|
8
|
-
module Clients
|
9
|
-
class << self
|
10
|
-
include UriProvider
|
11
|
-
|
12
|
-
# Updates the current environment's client entity.
|
13
|
-
#
|
14
|
-
# +Client+ optional properties:
|
15
|
-
# * primary_button_colour
|
16
|
-
# * primary_theme_colour
|
17
|
-
# * admin_emails
|
18
|
-
# * tech_emails
|
19
|
-
# * billing_emails
|
20
|
-
# * fraud_emails
|
21
|
-
# * headquarters_address
|
22
|
-
# * tax_number
|
23
|
-
# * platform_type
|
24
|
-
# * platform_description
|
25
|
-
# * platform_url
|
26
|
-
#
|
27
|
-
# @param +client+ [Client] client object with corresponding ID
|
28
|
-
# and updated dat
|
29
|
-
# @return [Client] updated Client entity object
|
30
|
-
def update(client)
|
31
|
-
uri = provide_uri(:update_client)
|
32
|
-
response = HttpClient.put(uri, client)
|
33
|
-
parse response
|
34
|
-
end
|
35
|
-
|
36
|
-
# Uploads the image file specified as the current
|
37
|
-
# environment's client's logo.
|
38
|
-
#
|
39
|
-
# @param +path+ [String] path of the logo image
|
40
|
-
def upload_logo(path)
|
41
|
-
uri = provide_uri(:upload_client_logo)
|
42
|
-
body = UploadFileRequest.new
|
43
|
-
body.file = FileEncoder.encode_base64 path
|
44
|
-
HttpClient.put(uri, body)
|
45
|
-
end
|
46
|
-
|
47
|
-
# Retrieves the current environment's client entity.
|
48
|
-
#
|
49
|
-
# @return [Client] current Client entity object
|
50
|
-
def get
|
51
|
-
uri = provide_uri(:get_client)
|
52
|
-
response = HttpClient.get(uri)
|
53
|
-
parse response
|
54
|
-
end
|
55
|
-
|
56
|
-
private
|
57
|
-
|
58
|
-
# Parses a JSON-originating hash into the corresponding
|
59
|
-
# Client entity object.
|
60
|
-
#
|
61
|
-
# @param +response+ [Hash] JSON-originating data hash
|
62
|
-
# @return [Client] corresponding Client entity object
|
63
|
-
def parse(response)
|
64
|
-
MangoModel::Client.new.dejsonify response
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
require_relative '../../util/file_encoder'
|
3
|
+
require_relative '../../model/request/upload_file_request'
|
4
|
+
|
5
|
+
module MangoApi
|
6
|
+
|
7
|
+
# Provides API method delegates concerning the +Client+ entity
|
8
|
+
module Clients
|
9
|
+
class << self
|
10
|
+
include UriProvider
|
11
|
+
|
12
|
+
# Updates the current environment's client entity.
|
13
|
+
#
|
14
|
+
# +Client+ optional properties:
|
15
|
+
# * primary_button_colour
|
16
|
+
# * primary_theme_colour
|
17
|
+
# * admin_emails
|
18
|
+
# * tech_emails
|
19
|
+
# * billing_emails
|
20
|
+
# * fraud_emails
|
21
|
+
# * headquarters_address
|
22
|
+
# * tax_number
|
23
|
+
# * platform_type
|
24
|
+
# * platform_description
|
25
|
+
# * platform_url
|
26
|
+
#
|
27
|
+
# @param +client+ [Client] client object with corresponding ID
|
28
|
+
# and updated dat
|
29
|
+
# @return [Client] updated Client entity object
|
30
|
+
def update(client)
|
31
|
+
uri = provide_uri(:update_client)
|
32
|
+
response = HttpClient.put(uri, client)
|
33
|
+
parse response
|
34
|
+
end
|
35
|
+
|
36
|
+
# Uploads the image file specified as the current
|
37
|
+
# environment's client's logo.
|
38
|
+
#
|
39
|
+
# @param +path+ [String] path of the logo image
|
40
|
+
def upload_logo(path)
|
41
|
+
uri = provide_uri(:upload_client_logo)
|
42
|
+
body = UploadFileRequest.new
|
43
|
+
body.file = FileEncoder.encode_base64 path
|
44
|
+
HttpClient.put(uri, body)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Retrieves the current environment's client entity.
|
48
|
+
#
|
49
|
+
# @return [Client] current Client entity object
|
50
|
+
def get
|
51
|
+
uri = provide_uri(:get_client)
|
52
|
+
response = HttpClient.get(uri)
|
53
|
+
parse response
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
# Parses a JSON-originating hash into the corresponding
|
59
|
+
# Client entity object.
|
60
|
+
#
|
61
|
+
# @param +response+ [Hash] JSON-originating data hash
|
62
|
+
# @return [Client] corresponding Client entity object
|
63
|
+
def parse(response)
|
64
|
+
MangoModel::Client.new.dejsonify response
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
68
|
end
|
@@ -1,158 +1,158 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
require_relative '../../model/request/upload_file_request'
|
3
|
-
require_relative '../../util/file_encoder'
|
4
|
-
require_relative '../../model/request/submit_document_request'
|
5
|
-
|
6
|
-
module MangoApi
|
7
|
-
|
8
|
-
# Provides API method delegates for the +DisputeDocument+ entity
|
9
|
-
module DisputeDocuments
|
10
|
-
class << self
|
11
|
-
include UriProvider
|
12
|
-
|
13
|
-
# Creates a new dispute document entity.
|
14
|
-
#
|
15
|
-
# +DisputeDocument+ properties:
|
16
|
-
# * Required
|
17
|
-
# * type
|
18
|
-
# * Optional
|
19
|
-
# * tag
|
20
|
-
#
|
21
|
-
# @param +document+ [DisputeDocument] model object of the dispute
|
22
|
-
# document to be created
|
23
|
-
# @param +dispute_id+ [String] ID of the corresponding dispute
|
24
|
-
# @return [DisputeDocument] the newly-created DisputeDocument entity object
|
25
|
-
def create(document, dispute_id)
|
26
|
-
uri = provide_uri(:create_dispute_document, dispute_id)
|
27
|
-
response = HttpClient.post(uri, document)
|
28
|
-
parse response
|
29
|
-
end
|
30
|
-
|
31
|
-
# Uploads a dispute document page. Allowed extensions:
|
32
|
-
# .pdf .jpeg .jpg .gif .png
|
33
|
-
#
|
34
|
-
# @param +id+ [String] ID of the dispute document entity
|
35
|
-
# that the page is being uploaded for
|
36
|
-
# @param +dispute_id+ [String] ID of the corresponding dispute entity
|
37
|
-
# @param +path+ [String] path to the file to upload
|
38
|
-
def upload_page(id, dispute_id, path)
|
39
|
-
uri = provide_uri(:upload_dispute_document_page, dispute_id, id)
|
40
|
-
body = UploadFileRequest.new
|
41
|
-
body.file = FileEncoder.encode_base64 path
|
42
|
-
HttpClient.post(uri, body)
|
43
|
-
end
|
44
|
-
|
45
|
-
# Submits a dispute document entity for approval
|
46
|
-
#
|
47
|
-
# @param +id+ [String] ID of the dispute document to submit
|
48
|
-
# @param +dispute_id+ [String] ID of the corresponding dispute
|
49
|
-
# @return [DisputeDocument] the submitted DisputeDocument entity object
|
50
|
-
def submit(id, dispute_id)
|
51
|
-
uri = provide_uri(:submit_dispute_document, dispute_id, id)
|
52
|
-
request = SubmitDocumentRequest.new
|
53
|
-
response = HttpClient.put(uri, request)
|
54
|
-
parse response
|
55
|
-
end
|
56
|
-
|
57
|
-
# Retrieves a dispute document entity.
|
58
|
-
#
|
59
|
-
# @param +id+ [String] ID of the dispute document to retrieve
|
60
|
-
# @return [DisputeDocument] the requested DisputeDocument entity object
|
61
|
-
def get(id)
|
62
|
-
uri = provide_uri(:get_dispute_document, id)
|
63
|
-
response = HttpClient.get(uri)
|
64
|
-
parse response
|
65
|
-
end
|
66
|
-
|
67
|
-
# Retrieves dispute documents belonging to a certain dispute.
|
68
|
-
# Allows configuration of paging and sorting parameters by
|
69
|
-
# yielding a filtering object to a provided block. When no filters are
|
70
|
-
# specified, will retrieve the first page of 10 newest results.
|
71
|
-
#
|
72
|
-
# Allowed +FilterRequest+ params:
|
73
|
-
# * page
|
74
|
-
# * per_page
|
75
|
-
# * sort_field and sort_direction
|
76
|
-
# * before_date
|
77
|
-
# * after_date
|
78
|
-
# * status
|
79
|
-
# * type
|
80
|
-
#
|
81
|
-
# @param +id+ [String] ID of the dispute whose documents to retrieve
|
82
|
-
# @return [Array] corresponding DisputeDocument entity objects
|
83
|
-
def of_dispute(id)
|
84
|
-
uri = provide_uri(:get_disputes_documents, id)
|
85
|
-
filter_request = nil
|
86
|
-
yield filter_request = FilterRequest.new if block_given?
|
87
|
-
results = HttpClient.get(uri, filter_request)
|
88
|
-
parse_results results
|
89
|
-
end
|
90
|
-
|
91
|
-
# Retrieves dispute documents belonging to the current environment's
|
92
|
-
# client. Allows configuration of paging and sorting parameters by
|
93
|
-
# yielding a filtering object to a provided block. When no filters are
|
94
|
-
# specified, will retrieve the first page of 10 newest results.
|
95
|
-
#
|
96
|
-
# Allowed +FilterRequest+ params:
|
97
|
-
# * page
|
98
|
-
# * per_page
|
99
|
-
# * sort_field and sort_direction
|
100
|
-
# * before_date
|
101
|
-
# * after_date
|
102
|
-
# * status
|
103
|
-
# * type
|
104
|
-
#
|
105
|
-
# @return [Array] corresponding DisputeDocument entity objects
|
106
|
-
def all
|
107
|
-
uri = provide_uri(:get_dispute_documents)
|
108
|
-
filter_request = nil
|
109
|
-
yield filter_request = FilterRequest.new if block_given?
|
110
|
-
results = HttpClient.get(uri, filter_request)
|
111
|
-
parse_results results
|
112
|
-
end
|
113
|
-
|
114
|
-
# Creates temporary URLs where each page of a dispute document
|
115
|
-
# can be viewed
|
116
|
-
#
|
117
|
-
# @param +id+ [String] ID of the document whose pages to consult
|
118
|
-
# @return [Array] the corresponding DocumentPageConsult objects
|
119
|
-
def consult(id)
|
120
|
-
uri = provide_uri(:consult_dispute_document, id)
|
121
|
-
results = HttpClient.post(uri, nil)
|
122
|
-
parse_consults results
|
123
|
-
end
|
124
|
-
|
125
|
-
private
|
126
|
-
|
127
|
-
# Parses an array of JSON-originating hashes into the corresponding
|
128
|
-
# DisputeDocument entity objects.
|
129
|
-
#
|
130
|
-
# @param +results+ [Array] JSON-originating data hashes
|
131
|
-
# @return [Array] parsed DisputeDocument entity objects
|
132
|
-
def parse_results(results)
|
133
|
-
results.collect do |entity|
|
134
|
-
parse entity
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
|
-
# Parses a JSON-originating hash into the corresponding
|
139
|
-
# DisputeDocument entity object.
|
140
|
-
#
|
141
|
-
# @param +response+ [Hash] JSON-originating data hash
|
142
|
-
# @return [DisputeDocument] corresponding DisputeDocument entity object
|
143
|
-
def parse(response)
|
144
|
-
MangoModel::DisputeDocument.new.dejsonify response
|
145
|
-
end
|
146
|
-
# Parses an array of JSON-originating hashes into the corresponding
|
147
|
-
# DocumentPageConsult objects.
|
148
|
-
#
|
149
|
-
# @param +consults+ [Array] JSON-originating data hashes
|
150
|
-
# @return [Array] corresponding DocumentPageConsult objects
|
151
|
-
def parse_consults(consults)
|
152
|
-
consults.collect do |consult|
|
153
|
-
MangoModel::DocumentPageConsult.new.dejsonify consult
|
154
|
-
end
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
require_relative '../../model/request/upload_file_request'
|
3
|
+
require_relative '../../util/file_encoder'
|
4
|
+
require_relative '../../model/request/submit_document_request'
|
5
|
+
|
6
|
+
module MangoApi
|
7
|
+
|
8
|
+
# Provides API method delegates for the +DisputeDocument+ entity
|
9
|
+
module DisputeDocuments
|
10
|
+
class << self
|
11
|
+
include UriProvider
|
12
|
+
|
13
|
+
# Creates a new dispute document entity.
|
14
|
+
#
|
15
|
+
# +DisputeDocument+ properties:
|
16
|
+
# * Required
|
17
|
+
# * type
|
18
|
+
# * Optional
|
19
|
+
# * tag
|
20
|
+
#
|
21
|
+
# @param +document+ [DisputeDocument] model object of the dispute
|
22
|
+
# document to be created
|
23
|
+
# @param +dispute_id+ [String] ID of the corresponding dispute
|
24
|
+
# @return [DisputeDocument] the newly-created DisputeDocument entity object
|
25
|
+
def create(document, dispute_id)
|
26
|
+
uri = provide_uri(:create_dispute_document, dispute_id)
|
27
|
+
response = HttpClient.post(uri, document)
|
28
|
+
parse response
|
29
|
+
end
|
30
|
+
|
31
|
+
# Uploads a dispute document page. Allowed extensions:
|
32
|
+
# .pdf .jpeg .jpg .gif .png
|
33
|
+
#
|
34
|
+
# @param +id+ [String] ID of the dispute document entity
|
35
|
+
# that the page is being uploaded for
|
36
|
+
# @param +dispute_id+ [String] ID of the corresponding dispute entity
|
37
|
+
# @param +path+ [String] path to the file to upload
|
38
|
+
def upload_page(id, dispute_id, path)
|
39
|
+
uri = provide_uri(:upload_dispute_document_page, dispute_id, id)
|
40
|
+
body = UploadFileRequest.new
|
41
|
+
body.file = FileEncoder.encode_base64 path
|
42
|
+
HttpClient.post(uri, body)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Submits a dispute document entity for approval
|
46
|
+
#
|
47
|
+
# @param +id+ [String] ID of the dispute document to submit
|
48
|
+
# @param +dispute_id+ [String] ID of the corresponding dispute
|
49
|
+
# @return [DisputeDocument] the submitted DisputeDocument entity object
|
50
|
+
def submit(id, dispute_id)
|
51
|
+
uri = provide_uri(:submit_dispute_document, dispute_id, id)
|
52
|
+
request = SubmitDocumentRequest.new
|
53
|
+
response = HttpClient.put(uri, request)
|
54
|
+
parse response
|
55
|
+
end
|
56
|
+
|
57
|
+
# Retrieves a dispute document entity.
|
58
|
+
#
|
59
|
+
# @param +id+ [String] ID of the dispute document to retrieve
|
60
|
+
# @return [DisputeDocument] the requested DisputeDocument entity object
|
61
|
+
def get(id)
|
62
|
+
uri = provide_uri(:get_dispute_document, id)
|
63
|
+
response = HttpClient.get(uri)
|
64
|
+
parse response
|
65
|
+
end
|
66
|
+
|
67
|
+
# Retrieves dispute documents belonging to a certain dispute.
|
68
|
+
# Allows configuration of paging and sorting parameters by
|
69
|
+
# yielding a filtering object to a provided block. When no filters are
|
70
|
+
# specified, will retrieve the first page of 10 newest results.
|
71
|
+
#
|
72
|
+
# Allowed +FilterRequest+ params:
|
73
|
+
# * page
|
74
|
+
# * per_page
|
75
|
+
# * sort_field and sort_direction
|
76
|
+
# * before_date
|
77
|
+
# * after_date
|
78
|
+
# * status
|
79
|
+
# * type
|
80
|
+
#
|
81
|
+
# @param +id+ [String] ID of the dispute whose documents to retrieve
|
82
|
+
# @return [Array] corresponding DisputeDocument entity objects
|
83
|
+
def of_dispute(id)
|
84
|
+
uri = provide_uri(:get_disputes_documents, id)
|
85
|
+
filter_request = nil
|
86
|
+
yield filter_request = FilterRequest.new if block_given?
|
87
|
+
results = HttpClient.get(uri, filter_request)
|
88
|
+
parse_results results
|
89
|
+
end
|
90
|
+
|
91
|
+
# Retrieves dispute documents belonging to the current environment's
|
92
|
+
# client. Allows configuration of paging and sorting parameters by
|
93
|
+
# yielding a filtering object to a provided block. When no filters are
|
94
|
+
# specified, will retrieve the first page of 10 newest results.
|
95
|
+
#
|
96
|
+
# Allowed +FilterRequest+ params:
|
97
|
+
# * page
|
98
|
+
# * per_page
|
99
|
+
# * sort_field and sort_direction
|
100
|
+
# * before_date
|
101
|
+
# * after_date
|
102
|
+
# * status
|
103
|
+
# * type
|
104
|
+
#
|
105
|
+
# @return [Array] corresponding DisputeDocument entity objects
|
106
|
+
def all
|
107
|
+
uri = provide_uri(:get_dispute_documents)
|
108
|
+
filter_request = nil
|
109
|
+
yield filter_request = FilterRequest.new if block_given?
|
110
|
+
results = HttpClient.get(uri, filter_request)
|
111
|
+
parse_results results
|
112
|
+
end
|
113
|
+
|
114
|
+
# Creates temporary URLs where each page of a dispute document
|
115
|
+
# can be viewed
|
116
|
+
#
|
117
|
+
# @param +id+ [String] ID of the document whose pages to consult
|
118
|
+
# @return [Array] the corresponding DocumentPageConsult objects
|
119
|
+
def consult(id)
|
120
|
+
uri = provide_uri(:consult_dispute_document, id)
|
121
|
+
results = HttpClient.post(uri, nil)
|
122
|
+
parse_consults results
|
123
|
+
end
|
124
|
+
|
125
|
+
private
|
126
|
+
|
127
|
+
# Parses an array of JSON-originating hashes into the corresponding
|
128
|
+
# DisputeDocument entity objects.
|
129
|
+
#
|
130
|
+
# @param +results+ [Array] JSON-originating data hashes
|
131
|
+
# @return [Array] parsed DisputeDocument entity objects
|
132
|
+
def parse_results(results)
|
133
|
+
results.collect do |entity|
|
134
|
+
parse entity
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
# Parses a JSON-originating hash into the corresponding
|
139
|
+
# DisputeDocument entity object.
|
140
|
+
#
|
141
|
+
# @param +response+ [Hash] JSON-originating data hash
|
142
|
+
# @return [DisputeDocument] corresponding DisputeDocument entity object
|
143
|
+
def parse(response)
|
144
|
+
MangoModel::DisputeDocument.new.dejsonify response
|
145
|
+
end
|
146
|
+
# Parses an array of JSON-originating hashes into the corresponding
|
147
|
+
# DocumentPageConsult objects.
|
148
|
+
#
|
149
|
+
# @param +consults+ [Array] JSON-originating data hashes
|
150
|
+
# @return [Array] corresponding DocumentPageConsult objects
|
151
|
+
def parse_consults(consults)
|
152
|
+
consults.collect do |consult|
|
153
|
+
MangoModel::DocumentPageConsult.new.dejsonify consult
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
158
158
|
end
|