gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: installing nexus SQL procedures file


From: gnunet
Subject: [libeufin] branch master updated: installing nexus SQL procedures file
Date: Tue, 24 Oct 2023 12:25:52 +0200

This is an automated email from the git hooks/post-receive script.

ms pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new 661c1df1 installing nexus SQL procedures file
661c1df1 is described below

commit 661c1df15b4c86d80beb34a6089c2eb3e74b14a7
Author: MS <ms@taler.net>
AuthorDate: Tue Oct 24 12:25:31 2023 +0200

    installing nexus SQL procedures file
---
 Makefile                                          |  1 -
 database-versioning/libeufin-nexus-procedures.sql | 41 +++++++++++++++++++++++
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index a37e066e..2007a905 100644
--- a/Makefile
+++ b/Makefile
@@ -43,7 +43,6 @@ install-bank:
        install contrib/currencies.conf $(bank_config_dir)/
        install -D database-versioning/libeufin-bank*.sql -t $(bank_sql_dir)
        install -D database-versioning/versioning.sql -t $(bank_sql_dir)
-       install -D database-versioning/libeufin-bank-procedures.sql -t 
$(bank_sql_dir)
        install -d $(spa_dir)
        cp contrib/wallet-core/demobank/* $(spa_dir)/
        ./gradlew -q -Pprefix=$(abs_destdir)$(prefix) bank:installToPrefix
diff --git a/database-versioning/libeufin-nexus-procedures.sql 
b/database-versioning/libeufin-nexus-procedures.sql
new file mode 100644
index 00000000..3dd91bc5
--- /dev/null
+++ b/database-versioning/libeufin-nexus-procedures.sql
@@ -0,0 +1,41 @@
+BEGIN;
+SET search_path TO libeufin_nexus;
+
+CREATE OR REPLACE FUNCTION bounce_payment(
+  IN in_incoming_transaction_id BIGINT
+  ,IN in_initiation_time BIGINT
+  ,OUT out_nx_incoming_payment BOOLEAN
+)
+LANGUAGE plpgsql AS $$
+BEGIN
+
+INSERT INTO initiated_outgoing_transactions (
+  amount
+  ,wire_transfer_subject
+  ,credit_payto_uri
+  ,in_initiation_time
+  )
+  SELECT
+    amount
+    ,'refund: ' || wire_transfer_subject
+    ,debit_payto_uri
+    ,in_initiation_time
+    FROM incoming_transactions
+    WHERE incoming_transaction_id = in_incoming_transaction_id;
+
+IF NOT FOUND THEN
+  out_nx_incoming_payment=TRUE;
+  RETURN;
+END IF;
+out_nx_incoming_payment=FALSE;
+
+-- finally setting the payment as bounced.  Not checking
+-- the update outcome since the row existence was checked
+-- just above.
+
+UPDATE incoming_transactions
+  SET bounced = true
+  WHERE incoming_transaction_id = in_incoming_transaction_id;
+END $$;
+
+COMMENT ON FUNCTION bounce_payment(BIGINT, BIGINT) IS 'Marks an incoming 
payment as bounced and initiates its refunding payment';

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]