summaryrefslogtreecommitdiffstats
path: root/internal/formatter
diff options
context:
space:
mode:
authorsinner <[email protected]>2026-04-08 13:47:51 -0400
committersinner <[email protected]>2026-04-08 13:47:51 -0400
commit6c8beb133073ebb3b6d8bb16e852b29dbc23f133 (patch)
tree1410c127c20ae9ec304221af9ad685fe35935fee /internal/formatter
parent850cc065469d2efaefc7947dcb7a6b79e9da1858 (diff)
downloaddborg-6c8beb133073ebb3b6d8bb16e852b29dbc23f133.tar.gz
dborg-6c8beb133073ebb3b6d8bb16e852b29dbc23f133.zip
feat: add admin edit command for updating account properties
Diffstat (limited to 'internal/formatter')
-rw-r--r--internal/formatter/admin.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/internal/formatter/admin.go b/internal/formatter/admin.go
index 12ffcd0..16b8041 100644
--- a/internal/formatter/admin.go
+++ b/internal/formatter/admin.go
@@ -122,6 +122,53 @@ func FormatAccountCreated(account *models.Account, message string, asJSON bool)
return sb.String(), nil
}
+func FormatAccountUpdated(account *models.Account, message string, asJSON bool) (string, error) {
+ if asJSON {
+ response := map[string]interface{}{
+ "account": account,
+ "message": message,
+ }
+ err := PrintColorizedJSON(response)
+ if err != nil {
+ return "", fmt.Errorf("failed to marshal JSON: %w", err)
+ }
+ return "", nil
+ }
+
+ var sb strings.Builder
+ sb.WriteString(fmt.Sprintf("\n%s\n\n", Bold(Green("✓ Account updated successfully!"))))
+
+ if account != nil && account.Name != "" {
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Name:"), Bold(account.Name)))
+ } else {
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Message:"), message))
+ }
+
+ if account != nil {
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("API Key:"), Dim(account.APIKey)))
+
+ if account.Unlimited {
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Credits:"), Green("Unlimited")))
+ } else {
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Credits:"), FormatCredits(int64(account.Credits))))
+ }
+
+ premiumStr := Gray("No")
+ if account.IsPremium {
+ premiumStr = Magenta("Yes")
+ }
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Premium:"), premiumStr))
+
+ statusStr := Green("Active")
+ if account.Disabled {
+ statusStr = Red("Disabled")
+ }
+ sb.WriteString(fmt.Sprintf("%s %s\n", Cyan("Status:"), statusStr))
+ }
+
+ return sb.String(), nil
+}
+
func FormatAccountDeleted(message string, asJSON bool) (string, error) {
if asJSON {
response := map[string]string{"message": message}