feat(commands): Add new leggen bank delete command to delete a bank connection.

This commit is contained in:
Elisiário Couto
2024-03-08 00:03:11 +00:00
parent 0c8f68adfd
commit fcb0f1edd7
3 changed files with 42 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
import click
from leggen.main import cli
from leggen.utils.network import delete as http_delete
from leggen.utils.text import info, success
@cli.command()
@click.argument("requisition_id", type=str, required=True, metavar="REQUISITION_ID")
@click.pass_context
def delete(ctx, requisition_id: str):
"""
Delete bank connection
REQUISITION_ID: The ID of the Bank Requisition to delete
Check `leggen status` to get the REQUISITION_ID
"""
info(f"Deleting Bank Requisition: {requisition_id}")
_ = http_delete(
ctx,
f"/requisitions/{requisition_id}",
)
success(f"Bank Requisition {requisition_id} deleted")

View File

@@ -22,6 +22,7 @@ def status(ctx: click.Context):
"Bank": r["institution_id"],
"Status": REQUISITION_STATUS.get(r["status"], "UNKNOWN"),
"Created at": datefmt(r["created"]),
"Requisition ID": r["id"],
}
)
accounts.update(r.get("accounts", []))

View File

@@ -47,3 +47,18 @@ def put(ctx: click.Context, path: str, data: dict = {}):
error(f"Error: {e}\n{res.text}")
ctx.abort()
return res.json()
def delete(ctx: click.Context, path: str):
"""
DELETE request to the GoCardless API
"""
url = f"{ctx.obj['api_url']}{path}"
res = requests.delete(url, headers=ctx.obj["headers"])
try:
res.raise_for_status()
except Exception as e:
error(f"Error: {e}\n{res.text}")
ctx.abort()
return res.json()