From 97d7c14b6eb06e5dea406133d1427ef742fd5415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D0=B5=D0=BC?= Date: Fri, 5 Dec 2025 16:13:57 +0300 Subject: [PATCH 1/3] added ext terms --- apps/party_management/src/pm_provider.erl | 26 ++++++++++++++++--- .../test/pm_party_tests_SUITE.erl | 9 +++++++ compose.yaml | 2 +- rebar.config | 2 +- rebar.lock | 2 +- 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/apps/party_management/src/pm_provider.erl b/apps/party_management/src/pm_provider.erl index d5c745c..3af4337 100644 --- a/apps/party_management/src/pm_provider.erl +++ b/apps/party_management/src/pm_provider.erl @@ -57,7 +57,8 @@ reduce_provision_term_set(ProvisionTermSet, VS, DomainRevision) -> wallet = pm_maybe:apply( fun(X) -> reduce_wallet_provision(X, VS, DomainRevision) end, ProvisionTermSet#domain_ProvisionTermSet.wallet - ) + ), + extension = ProvisionTermSet#domain_ProvisionTermSet.extension }. reduce_payment_terms(undefined = PaymentTerms, _VS, _DomainRevision) -> @@ -172,19 +173,22 @@ merge_provision_term_sets( #domain_ProvisionTermSet{ payments = PPayments, recurrent_paytools = PRecurrents, - wallet = PWallet + wallet = PWallet, + extension = PExtension }, #domain_ProvisionTermSet{ payments = TPayments, % TODO: Allow to define recurrent terms in terminal recurrent_paytools = _TRecurrents, - wallet = TWallet + wallet = TWallet, + extension = TExtension } ) -> #domain_ProvisionTermSet{ payments = merge_payment_terms(PPayments, TPayments), recurrent_paytools = PRecurrents, - wallet = merge_wallet_terms(PWallet, TWallet) + wallet = merge_wallet_terms(PWallet, TWallet), + extension = merge_extension_terms(PExtension, TExtension) }; merge_provision_term_sets(ProviderTerms, TerminalTerms) -> pm_utils:select_defined(TerminalTerms, ProviderTerms). @@ -253,6 +257,20 @@ merge_wallet_terms( merge_wallet_terms(ProviderTerms, TerminalTerms) -> pm_utils:select_defined(TerminalTerms, ProviderTerms). +merge_extension_terms( + #domain_ExtendedProvisionTerms{ + skip_recurrent = PSkipRecurrent + }, + #domain_ExtendedProvisionTerms{ + skip_recurrent = TSkipRecurrent + } +) -> + #domain_ExtendedProvisionTerms{ + skip_recurrent = pm_utils:select_defined(TSkipRecurrent, PSkipRecurrent) + }; +merge_extension_terms(ProviderTerms, TerminalTerms) -> + pm_utils:select_defined(TerminalTerms, ProviderTerms). + merge_withdrawal_terms( #domain_WithdrawalProvisionTerms{ allow = PAllow, diff --git a/apps/party_management/test/pm_party_tests_SUITE.erl b/apps/party_management/test/pm_party_tests_SUITE.erl index 55ec490..ae4fd6f 100644 --- a/apps/party_management/test/pm_party_tests_SUITE.erl +++ b/apps/party_management/test/pm_party_tests_SUITE.erl @@ -313,6 +313,9 @@ compute_provider_ok(C) -> }, recurrent_paytools = #domain_RecurrentPaytoolsProvisionTerms{ cash_value = {value, ?cash(1000, <<"RUB">>)} + }, + extension = #domain_ExtendedProvisionTerms{ + skip_recurrent = true } } } = pm_client_party:compute_provider(?prv(1), DomainRevision, Varset, Client). @@ -374,6 +377,9 @@ compute_provider_terminal_terms_ok(C) -> }, recurrent_paytools = #domain_RecurrentPaytoolsProvisionTerms{ cash_value = {value, ?cash(1000, <<"RUB">>)} + }, + extension = #domain_ExtendedProvisionTerms{ + skip_recurrent = true } } = pm_client_party:compute_provider_terminal_terms( ?prv(1), ?trm(1), DomainRevision, Varset, Client @@ -1272,6 +1278,9 @@ construct_domain_fixture(PartyRef, PrevRev) -> then_ = {value, ?cash(1000, <<"USD">>)} } ]} + }, + extension = #domain_ExtendedProvisionTerms{ + skip_recurrent = true } } } diff --git a/compose.yaml b/compose.yaml index eb52b9f..2de2d40 100644 --- a/compose.yaml +++ b/compose.yaml @@ -21,7 +21,7 @@ services: command: /sbin/init dmt: - image: ghcr.io/valitydev/dominant-v2:sha-90f5fa2 + image: ghcr.io/valitydev/dominant-v2:sha-65f1dc4-epic-bg-488-ft-recurrent_rework command: /opt/dmt/bin/dmt foreground healthcheck: test: "/opt/dmt/bin/dmt ping" diff --git a/rebar.config b/rebar.config index 0b8656c..0883129 100644 --- a/rebar.config +++ b/rebar.config @@ -32,7 +32,7 @@ {prometheus, "4.11.0"}, {prometheus_cowboy, "0.1.9"}, {woody, {git, "https://github.com/valitydev/woody_erlang.git", {tag, "v1.1.0"}}}, - {damsel, {git, "https://github.com/valitydev/damsel.git", {tag, "v2.2.17"}}}, + {damsel, {git, "https://github.com/valitydev/damsel.git", {branch, "BG-488/ft/recurrent_rework"}}}, {payproc_errors, {git, "https://github.com/valitydev/payproc-errors-erlang.git", {branch, "master"}}}, {dmt_client, {git, "https://github.com/valitydev/dmt_client.git", {tag, "v2.0.3"}}}, {scoper, {git, "https://github.com/valitydev/scoper.git", {tag, "v1.1.0"}}}, diff --git a/rebar.lock b/rebar.lock index e1da49b..9e00e93 100644 --- a/rebar.lock +++ b/rebar.lock @@ -13,7 +13,7 @@ {<<"ctx">>,{pkg,<<"ctx">>,<<"0.6.0">>},2}, {<<"damsel">>, {git,"https://github.com/valitydev/damsel.git", - {ref,"f831d3aa5fdfd0338b41af44d1eeffe810ca9708"}}, + {ref,"6b1339cdc4a265945bfa25d46a2c5467a2a5a69b"}}, 0}, {<<"dmt_client">>, {git,"https://github.com/valitydev/dmt_client.git", From ee2c95008b9aba2df2907b2fa5447af9a7b83615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D0=B5=D0=BC?= Date: Fri, 12 Dec 2025 11:40:12 +0300 Subject: [PATCH 2/3] bumped damsel --- rebar.config | 2 +- rebar.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rebar.config b/rebar.config index 0883129..9269aad 100644 --- a/rebar.config +++ b/rebar.config @@ -32,7 +32,7 @@ {prometheus, "4.11.0"}, {prometheus_cowboy, "0.1.9"}, {woody, {git, "https://github.com/valitydev/woody_erlang.git", {tag, "v1.1.0"}}}, - {damsel, {git, "https://github.com/valitydev/damsel.git", {branch, "BG-488/ft/recurrent_rework"}}}, + {damsel, {git, "https://github.com/valitydev/damsel.git", {tag, "v2.2.23"}}}, {payproc_errors, {git, "https://github.com/valitydev/payproc-errors-erlang.git", {branch, "master"}}}, {dmt_client, {git, "https://github.com/valitydev/dmt_client.git", {tag, "v2.0.3"}}}, {scoper, {git, "https://github.com/valitydev/scoper.git", {tag, "v1.1.0"}}}, diff --git a/rebar.lock b/rebar.lock index 9e00e93..8b1e47a 100644 --- a/rebar.lock +++ b/rebar.lock @@ -13,7 +13,7 @@ {<<"ctx">>,{pkg,<<"ctx">>,<<"0.6.0">>},2}, {<<"damsel">>, {git,"https://github.com/valitydev/damsel.git", - {ref,"6b1339cdc4a265945bfa25d46a2c5467a2a5a69b"}}, + {ref,"b5c1dc423365397d8c2d123ba5766147551f19cc"}}, 0}, {<<"dmt_client">>, {git,"https://github.com/valitydev/dmt_client.git", From dea48deeebda33e52fec343c38c4d051575a238b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D0=B5=D0=BC?= Date: Fri, 12 Dec 2025 12:43:13 +0300 Subject: [PATCH 3/3] bumped dmt --- compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose.yaml b/compose.yaml index 2de2d40..e20a0f4 100644 --- a/compose.yaml +++ b/compose.yaml @@ -21,7 +21,7 @@ services: command: /sbin/init dmt: - image: ghcr.io/valitydev/dominant-v2:sha-65f1dc4-epic-bg-488-ft-recurrent_rework + image: ghcr.io/valitydev/dominant-v2:sha-3ad3a22 command: /opt/dmt/bin/dmt foreground healthcheck: test: "/opt/dmt/bin/dmt ping"