fistful-server/apps
George Belyakov 1859cf0ea3
FF-238: table routing (#359)
* +bump party_client +bump woody -w/o test

* add dummy ff_routing_rule with no routes, add dummy gather_route call, tests ok, dialyzer empty list warning

* add routing rule set computing call from party, add routing ruleset implementation

* fix terms check for p2p, add routing rules for withdrawal

* +bump party_client +bump woody&thrift -w/o test

* fix module structure

* fix maps fields optionality

* +bump cds_proto, scoper, machinery, dmt_client, bender_client, image

* +update code for woody tuples

* fix format

* remove unused varset

* Revert "Merge remote-tracking branch 'origin/ft/upgrade_patry' into FF-238/ft/add_table_routing"

This reverts commit 2c6aa296d09b4be1ab57319afd2220b8665f89cf, reversing
changes made to cf43d1fd0906aef5fd4d6501c191a29fc3193746.

* Revert "Merge remote-tracking branch 'origin/ft/upgrade_patry' into FF-238/ft/add_table_routing"

This reverts commit 4923fef5c351a5a3b5a5ade6d8b3aaaacb59fc63, reversing
changes made to 8d4ea1a28a6ca2d37d900b607c90f6ede63e553e.

* add routing_rule test file, add test rulesets to ct_payment_system, not working commit: ruleset cannot to be reduced to candidates

* rework routing_rule (add do/unwrap, fix resulting routes list order, fix optional/required fields issues etc)

* add PartyID to varset thrift encoding, add tests

* fix remove unused ruleset define

* add error handling for routing ruleset computing call

* remove useless rules-not-found warning, remove unused commented code

* fix unsuitable function name

* make *_routing_rules fields in payment_institution optional again

* fix unwrap's issues, remove get_routing_rules function for it's useless

* clean types

* format

* fix wrong routing_rules getting from PaymentInstitution

* wrong do_gather_routes return fix

* add priority to 'route' map in ff_routing_rule

* fix wrong validation terms in ff_withdrawal_routing

* fix dialyzer

* add rejected context logging

* don't hide errors, passing it through entire gather_routes. But for now we don't logging errors anyway, before new routing will be finished and legacy routing will be removed

* fix error naming

* more proper map value get, fix domain object get mistake

* add candidates-was-computed check (candidate predicat is constant)

* add TODO: party client bump

* fix wrong p2p call instead of withdrawal

* add weight to route() (so its field don't used for now anyway), fix issue with optional/undefined fields in ff_payment_institution

* rework terms validation

* remove provider_ref, terminal_ref from ff_routing_rule:route() for it's useless

* fix mistake with correct routes filtering - field terminal_id in p2p_transfer not required

* add warning of misconfiguration

* fix mistake of absent TerminalRef field

* format

* fix 'dont_repeat_yourself' warnings

* fix wrong pattern matching

* rework ff_routing_rule:route() type - remove useless fields, return terminal_ref field

* return RejectedContext to result of gather_routes

* try to fix tests with single provider

* fix RejectedContext/logging issues

* bump party_client_erlang, update routing rules computing call

* fix ugly function specification

* do legacy routing if no routes found after validation

* fix wrong routes validation filter in withdrawals

* add routes filtered by terms to the rejectcontext in withdrawal_routing

* add routes filtered by terms to the rejectcontext in p2p_transfer, sorting p2p_transfer providers by priority and ProviderID

* fix ugly provision_terms function in withdrawal_routing

* fix mistake with validating providers returned result

* dialyzer

* remove rejected_providers for its waste

* rework check_ruleset_computing func to make it less ugly

* remove sorting by priority from p2p_transfer for its useless at current routing rules implementation stage

* Revert "remove sorting by priority from p2p_transfer for its useless at current routing rules implementation stage"

This reverts commit 052934bee178afe6b5a14f0323584b74fc334eab.

* resolve conflict with master (identical functions naming)

* remove 'ruleset_not_found' error, as it's computation fail is impossible (assuming the dominant is consistent)

* remove unused error

* make *_routing_rules fields mandatory

* dialyzer

* p2p_transfer: return old way of terms validate (with ff_p2p_providers module using)

* format

* return validate_provider_terms function to its initial appearance

* remove unused export

* wrong function name

* Revert "return old way of terms validate (with ff_p2p_providers module using)"

* remove validate_terms_legacy - it's duplicates itself with validates_terms

* return validate_p2p_transfers_terms_legacy to just validate_terms

* wrong validate_terms function use

* remove unused

* wrong spec

Co-authored-by: dinama <dinama@users.noreply.github.com>
2021-03-03 01:14:08 +03:00
..
ff_core/src erlfrm code formatter (#347) 2020-12-02 17:43:45 +03:00
ff_cth FF-238: table routing (#359) 2021-03-03 01:14:08 +03:00
ff_server +upgrade world (#368) 2021-02-08 18:36:18 +03:00
ff_transfer FF-238: table routing (#359) 2021-03-03 01:14:08 +03:00
fistful FF-238: table routing (#359) 2021-03-03 01:14:08 +03:00
machinery_extra/src +upgrade world (#368) 2021-02-08 18:36:18 +03:00
p2p FF-238: table routing (#359) 2021-03-03 01:14:08 +03:00
w2w upgrade world (#360) 2020-12-29 17:16:07 +03:00
wapi +upgrade world (#368) 2021-02-08 18:36:18 +03:00
wapi_woody_client/src upgrade world (#360) 2020-12-29 17:16:07 +03:00