gnunet-svn
[Top][All Lists]
Advanced

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

[libeufin] branch master updated: augmenting cli with sandbox functional


From: gnunet
Subject: [libeufin] branch master updated: augmenting cli with sandbox functionality
Date: Thu, 11 Jun 2020 17:04:09 +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 a6513ad  augmenting cli with sandbox functionality
a6513ad is described below

commit a6513ad4a27426cdd24d233393ce8dc54495d079
Author: MS <ms@taler.net>
AuthorDate: Thu Jun 11 17:03:45 2020 +0200

    augmenting cli with sandbox functionality
---
 cli/libeufin-cli-new | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 87 insertions(+)

diff --git a/cli/libeufin-cli-new b/cli/libeufin-cli-new
index 6133684..854f732 100755
--- a/cli/libeufin-cli-new
+++ b/cli/libeufin-cli-new
@@ -29,6 +29,12 @@ def bank_connection(ctx):
 def bank_accounts(ctx):
     pass
 
+
+@cli.group()
+@click.pass_context
+def sandbox(ctx):
+    pass
+
 @bank_connection.command(help="make new Ebics bank connection")
 @click.option("--connection-name", help="Connection ID", required=True)
 @click.option("--ebics-url", help="EBICS URL", required=True)
@@ -163,4 +169,85 @@ def transactions(obj, account_name, nexus_user_id, 
nexus_password, nexus_base_ur
         return
     print(resp.content.decode("utf-8"))
 
+
+@sandbox.command(help="activate a Ebics host")
+@click.option("--host-id", help="Ebics host ID", required=True)
+@click.argument("sandbox-base-url")
+def make_ebics_host(obj, host_id, sandbox_base_url):
+    url = urljoin(sandbox_base_url, "/admin/ebics/host")
+    try:
+        post(url, json=dict(hostID=host_id, ebicsVersion="2.5"))
+    except Exception:
+        print("Could not reach sandbox")
+        return
+    print(resp.content.decode("utf-8"))
+
+@sandbox.command(help="activate a Ebics subscriber")
+@click.argument("sandbox-base-url")
+def activate_ebics_subscriber(obj, host_id, partner_id, user_id, 
sandbox_base_url):
+    url = urljoin(sandbox_base_url, "/admin/ebics/subscribers")
+    try:
+        post(url, json=dict(hostID=host_id, partnerID=partner_id, 
userID=user_id))
+    except Exception:
+        print("Could not reach sandbox")
+        return
+    print(resp.content.decode("utf-8"))
+
+@sandbox.command(help="associate a bank account to a Ebics subscriber")
+@click.option("--iban", help="IBAN", required=True)
+@click.option("--bic", help="BIC", required=True)
+@click.option("--person-name", help="bank account owner name", required=True)
+@click.option("--account-name", help="label of this bank account", 
required=True)
+@click.option("--ebics_user_id", help="user ID of the Ebics subscriber", 
required=True)
+@click.option("--ebics_host_id", help="host ID of the Ebics subscriber", 
required=True)
+@click.option("--ebics_partner_id", help="partner ID of the Ebics subscriber", 
required=True)
+@click.argument("sandbox-base-url")
+def associate_bank_account(obj, iban, bic, person_name, account_name,
+                           ebics_user_id, ebics_host_id, ebics_partner_id, 
sandbox_base_url):
+    url = urljoin(sandbox_base_url, "/admin/ebics/bank-accounts")
+    body = dict(
+        subscriber=dict(userID=ebics_user_id, partnerID=ebics_partner_id, 
hostID=ebics_host_id),
+        iban=iban, bic=bic, name=person_name, label=account_name
+    )
+
+    try:
+        post(url, json=body)
+    except Exception:
+        print("Could not reach sandbox")
+        return
+    print(resp.content.decode("utf-8"))
+
+@sandbox.command(help="book a payment in the sandbox")
+@click.option("--creditor-iban", help="IBAN receiving the payment")
+@click.option("--creditor-bic", help="BIC receiving the payment")
+@click.option("--creditor-name", help="Name of the person who is receiving the 
payment")
+@click.option("--debtor-iban", help="IBAN sending the payment")
+@click.option("--debtor-bic", help="BIC sending the payment")
+@click.option("--debtor-name", help="name of the person who is sending the 
payment")
+@click.option("--amount", help="amount, no currency")
+@click.option("--currency", help="currency")
+@click.option("--subject", help="Payment subject")
+@click.argument("sandbox-base-url")
+def book_payment(obj, creditor_iban, creditor_bic, creditor_name, debtor_iban,
+                 debtor_bic, debtor_name, amount, currency, subject, 
sandbox_base_url):
+
+    url = urljoin(sandbox_base_url, "/admin/payments")
+    body = json(
+        creditorIban=creditor_iban,
+        creditorBic=creditor_bic,
+        creditorName=creditor_name,
+        debitorIban=debitor_iban,
+        debitorBic=debitor_bic,
+        debitorName=debitor_name,
+        amount=amount,
+        currency=currency,
+        subject=subject
+    )
+    try:
+        resp = post(url, json=body)
+    except Exception:
+        print("Could not reach sandbox")
+        return
+    print(resp.content.decode("utf-8"))
+
 cli()

-- 
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]