-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Migliorare la formattazione dell'output dei comandi CLI entity per renderli più user-friendly.
Objective
Rendere l'output CLI più leggibile e professionale, distinguendo tra output per uso interattivo (tabelle) e output per scripting (JSON).
Issues Identified
1. tenants delete restituisce True/False
$ mail-proxy tenants delete mytest
TrueOutput poco elegante. Dovrebbe mostrare un messaggio più descrittivo:
$ mail-proxy tenants delete mytest
✓ Tenant 'mytest' deleted successfully2. tenants list mostra JSON invece di tabella
Attualmente restituisce JSON grezzo:
$ mail-proxy tenants list
[
{"id": "bibo", "name": null, "client_auth": {...}, ...},
...
]Dovrebbe mostrare una tabella compatta per default:
$ mail-proxy tenants list
┏━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
│ ID │ Active │ Client URL │
┡━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ bibo │ ✓ │ http://127.0.0.1:8081/bibo/email/... │
│ taozen │ ✓ │ http://127.0.0.1:8081/taozen/email/... │
│ teamset_apps │ ✓ │ http://127.0.0.1:8081/_main_/email/... │
└──────────────┴────────┴─────────────────────────────────────────┘Proposed Solution
Opzione A: Flag --json per output esteso
- Default: tabella compatta
--json: output JSON completo
mail-proxy tenants list # tabella
mail-proxy tenants list --json # JSONOpzione B: Comando separato info
list: sempre tabella compattainfo <id>: dettagli completi di un singolo record
mail-proxy tenants list # tabella
mail-proxy tenants info bibo # JSON o tabella dettagliataOpzione C: Entrambi
list: tabellalist --json: JSON listaget <id>: dettagli singolo (già esiste?)
Scope
Comandi da aggiornare:
tenants list/tenants deleteaccounts list/accounts deletemessages list/messages delete- Altri endpoint con pattern simile
Non incluso:
- Comandi di gestione istanze (già formattati bene)
Technical Details
Modificare _create_click_command in cli_base.py per:
- Riconoscere metodi
deletee formattare output con messaggio - Riconoscere metodi
liste usare tabella Rich invece di JSON - Aggiungere flag
--jsonper override
Alternativa: creare decoratori o convenzioni negli endpoint per indicare il tipo di output preferito.
Acceptance Criteria
-
deletemostra messaggio di conferma invece di True/False -
listmostra tabella compatta per default - Output JSON disponibile per scripting (flag o pipe detection)
- Consistenza tra tutti i comandi entity
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request