fix: Implement proper GoCardless authentication and add dev features

Authentication Fixes:
- Implement proper async GoCardless token management in leggend service
- Add automatic token refresh and creation for expired/missing tokens
- Unify auth.json storage path between CLI and API (~/.config/leggen/)
- Fix 401 Unauthorized errors when accessing GoCardless API

Development Enhancements:
- Add --reload flag to leggend for automatic file watching and restart
- Add --host and --port options for flexible service binding
- Include both leggend/ and leggen/ directories in reload watching
- Improve development workflow with hot reloading

Configuration Consistency:
- Standardize config path to ~/.config/leggen/config.toml for both CLI and API
- Ensure auth.json is stored in same location as main config
- Add httpx dependency for async HTTP requests in leggend service

Verified working: leggen status command successfully authenticates
and retrieves bank/account data via leggend API service.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Elisiário Couto
2025-09-02 00:17:41 +01:00
committed by Elisiário Couto
parent 91f53b35b1
commit f0fee4fd82
6 changed files with 446 additions and 61 deletions

View File

@@ -3,7 +3,7 @@ name = "leggen"
version = "0.6.11"
description = "An Open Banking CLI"
authors = [{ name = "Elisiário Couto", email = "elisiario@couto.io" }]
requires-python = "=3.12.0"
requires-python = "~=3.12.0"
readme = "README.md"
license = "MIT"
keywords = [
@@ -35,6 +35,7 @@ dependencies = [
"uvicorn[standard]>=0.24.0,<1",
"apscheduler>=3.10.0,<4",
"tomli-w>=1.0.0,<2",
"httpx>=0.28.1",
]
[project.urls]
@@ -51,10 +52,10 @@ dev = [
]
[tool.hatch.build.targets.sdist]
include = ["leggen"]
include = ["leggen", "leggend"]
[tool.hatch.build.targets.wheel]
include = ["leggen"]
include = ["leggen", "leggend"]
[build-system]
requires = ["hatchling"]