Skip to content

Commit

Permalink
add connection str and reformt output in db creds show
Browse files Browse the repository at this point in the history
  • Loading branch information
uzaxirr committed Feb 5, 2025
1 parent 1ab807f commit 8d3583a
Showing 1 changed file with 33 additions and 24 deletions.
57 changes: 33 additions & 24 deletions cmd/database/database_credential.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,40 +41,49 @@ var dbCredentialCmd = &cobra.Command{
os.Exit(1)
}

connStr := strings.ToLower(db.Software) + "://" + db.DatabaseUserInfo[0].Username + ":" + db.DatabaseUserInfo[0].Password + "@" + db.PublicIPv4 + ":" + fmt.Sprintf("%d", db.DatabaseUserInfo[0].Port)

if connectionString {
for _, user := range db.DatabaseUserInfo {
fmt.Printf("%s://%s:%s@%s:%d\n", strings.ToLower(db.Software), user.Username, user.Password, db.PublicIPv4, user.Port)
}
return
}
ow := utility.NewOutputWriter()
ow.StartLine()

if !connectionString {
for _, userInfo := range db.DatabaseUserInfo {
ow.AppendDataWithLabel("id", utility.TrimID(db.ID), "ID")
ow.AppendDataWithLabel("name", db.Name, "Name")
ow.AppendDataWithLabel("host", db.PublicIPv4, "Host")
ow.AppendDataWithLabel("connection-string", connStr, "Connection String")

ow.StartLine()
fmt.Println()
ow.AppendDataWithLabel("database_id", utility.TrimID(db.ID), "Database ID")
ow.AppendDataWithLabel("name", db.Name, "Name")
ow.AppendDataWithLabel("host", db.PublicIPv4, "Host")
// Show credentials for each user
for i, userInfo := range db.DatabaseUserInfo {
if i == 0 {
// For the first user, show credentials directly
ow.AppendDataWithLabel("port", fmt.Sprintf("%d", userInfo.Port), "Port")
ow.AppendDataWithLabel("username", userInfo.Username, "Username")
ow.AppendDataWithLabel("password", userInfo.Password, "Password")
} else {
// For additional users, add a numbered suffix
ow.AppendDataWithLabel(fmt.Sprintf("port_%d", i+1), fmt.Sprintf("%d", userInfo.Port), fmt.Sprintf("Port %d", i+1))
ow.AppendDataWithLabel(fmt.Sprintf("username_%d", i+1), userInfo.Username, fmt.Sprintf("Username %d", i+1))
ow.AppendDataWithLabel(fmt.Sprintf("password_%d", i+1), userInfo.Password, fmt.Sprintf("Password %d", i+1))
}
}

if common.OutputFormat == "json" || common.OutputFormat == "custom" {
ow.AppendDataWithLabel("firewall_id", db.FirewallID, "Firewall ID")
ow.AppendDataWithLabel("network_id", db.NetworkID, "Network ID")
ow.AppendDataWithLabel("database_id", db.ID, "Database ID")
if common.OutputFormat == "json" || common.OutputFormat == "custom" {
ow.AppendDataWithLabel("firewall_id", db.FirewallID, "Firewall ID")
ow.AppendDataWithLabel("network_id", db.NetworkID, "Network ID")
ow.AppendDataWithLabel("database_id", db.ID, "Database ID")

}
if common.OutputFormat == "json" {
ow.WriteSingleObjectJSON(common.PrettySet)
} else {
ow.WriteCustomOutput(common.OutputFields)
}
} else {
for _, user := range db.DatabaseUserInfo {
fmt.Printf("%s://%s:%s@%s:%d\n", strings.ToLower(db.Software), user.Username, user.Password, db.PublicIPv4, user.Port)
}
}

switch common.OutputFormat {
case "json":
ow.WriteMultipleObjectsJSON(common.PrettySet)
case "custom":
ow.WriteCustomOutput(common.OutputFields)
default:
ow.WriteTable()
ow.WriteKeyValues()
}
},
}

0 comments on commit 8d3583a

Please sign in to comment.