chore: Initial version.

This commit is contained in:
Elisiário Couto
2024-02-18 20:51:10 +00:00
parent 242ec6de5d
commit ec4f59e047
28 changed files with 1984 additions and 0 deletions

46
leggen/commands/status.py Normal file
View File

@@ -0,0 +1,46 @@
import click
from leggen.main import cli
from leggen.utils.gocardless import REQUISITION_STATUS
from leggen.utils.network import get
from leggen.utils.text import datefmt, echo, info, print_table
@cli.command()
@click.pass_context
def status(ctx: click.Context):
"""
List all connected banks and their status
"""
res = get(ctx, "/requisitions/")
requisitions = []
accounts = []
for r in res["results"]:
requisitions.append(
{
"Bank": r["institution_id"],
"Status": REQUISITION_STATUS.get(r["status"], "UNKNOWN"),
"Created at": datefmt(r["created"]),
}
)
accounts += r.get("accounts", [])
info("Banks")
print_table(requisitions)
account_details = []
for account in accounts:
details = get(ctx, f"/accounts/{account}")
account_details.append(
{
"ID": details["id"],
"Bank": details["institution_id"],
"Status": details["status"],
"IBAN": details.get("iban", "N/A"),
"Created at": datefmt(details["created"]),
"Last accessed at": datefmt(details["last_accessed"]),
}
)
echo()
info("Accounts")
print_table(account_details)