feat(transactions-list): add interactive selection and details view
The transactions list command now supports interactive account selection when no account is specified, allowing users to easily choose from accounts with transaction data. Added a --details flag to show recent transactions with amounts, descriptions, and counterparties, while maintaining security through proper data masking. Users can now flexibly inspect their transaction data without needing to know exact account IDs.
This commit is contained in:
@@ -145,6 +145,28 @@ COMMANDS:
|
||||
7. ✅ Implement `transactions` command with `list`, `cache-status`, and `clear-cache` subcommands
|
||||
8. ✅ Add account and transaction inspection methods to adapter traits
|
||||
|
||||
### Phase 4.5: Enhanced Transaction List UX ✅ COMPLETED
|
||||
|
||||
**Objective**: Improve the transactions list command to match account linking UX patterns and fix functional bugs.
|
||||
|
||||
**Steps:**
|
||||
1. ✅ Fix `get_transaction_info` bug in GoCardlessAdapter to load cache from disk when not in memory
|
||||
2. ✅ Update `transactions list` command to accept optional account identifier (ID, IBAN, or name)
|
||||
3. ✅ Add interactive account selection when no identifier provided, showing transaction counts
|
||||
4. ✅ Implement flexible account resolution using same logic as account linking
|
||||
5. ✅ Add `--details` flag to show actual transactions instead of summary
|
||||
6. ✅ Add `--limit` flag to control number of transactions displayed (default: 20)
|
||||
7. ✅ Create `Formattable` implementation for `BankTransaction` with proper masking
|
||||
8. ✅ Update CLI help text and error messages for better user guidance
|
||||
|
||||
**Implementation Details:**
|
||||
- Fixed critical bug where transaction counts always showed 0 due to cache not being loaded from disk
|
||||
- Made account parameter optional with interactive fallback, matching account linking UX
|
||||
- Added transaction details view with recent transaction display and proper financial data masking
|
||||
- Maintained security by masking amounts, descriptions, and counterparties in output
|
||||
- Used same account resolution patterns as linking for consistency
|
||||
- All code formatted, linted, and tested; backward compatibility maintained
|
||||
|
||||
**Testing:**
|
||||
- Unit tests for formatter functions
|
||||
- Integration tests for CLI output with sample data
|
||||
|
||||
Reference in New Issue
Block a user