Skip to content

Commit 378a4b7

Browse files
committed
refactor: improve object conversion
1 parent de8c060 commit 378a4b7

File tree

5 files changed

+33
-48
lines changed

5 files changed

+33
-48
lines changed

get/database.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type databaseCmd struct {
2222
func (cmd *databaseCmd) run(ctx context.Context, client *api.Client, get *Cmd,
2323
databaseResources resource.ManagedList, databaseKind string,
2424
connectionStringHandler func(context.Context, *api.Client, resource.Managed) error,
25-
databasesHandler func([]resource.Managed, *Cmd, bool) error,
25+
databasesHandler func(resource.ManagedList, *Cmd, bool) error,
2626
caCertHandler func(resource.Managed) (string, error),
2727
) error {
2828
if cmd.out == nil {
@@ -61,9 +61,9 @@ func (cmd *databaseCmd) run(ctx context.Context, client *api.Client, get *Cmd,
6161

6262
switch get.Format {
6363
case full:
64-
return databasesHandler(databaseResources.GetItems(), get, true)
64+
return databasesHandler(databaseResources, get, true)
6565
case noHeader:
66-
return databasesHandler(databaseResources.GetItems(), get, false)
66+
return databasesHandler(databaseResources, get, false)
6767
case yamlOut:
6868
return format.PrettyPrintObjects(databaseResources.GetItems(), format.PrintOpts{Out: get.writer})
6969
case jsonOut:

get/mysql.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ func (cmd *mySQLCmd) print(ctx context.Context, client *api.Client, list client.
4040
)
4141
}
4242

43-
func (cmd *mySQLCmd) printMySQLInstances(resources []resource.Managed, get *Cmd, header bool) error {
43+
func (cmd *mySQLCmd) printMySQLInstances(resources resource.ManagedList, get *Cmd, header bool) error {
44+
dbs, ok := resources.(*storage.MySQLList)
45+
if !ok {
46+
return fmt.Errorf("expected %T, got %T", &storage.MySQLList{}, dbs)
47+
}
48+
4449
if header {
4550
get.writeHeader("NAME", "FQDN", "LOCATION", "MACHINE TYPE")
4651
}
4752

48-
for _, mg := range resources {
49-
db, ok := mg.(*storage.MySQL)
50-
if !ok {
51-
return fmt.Errorf("expected mysql, got %T", mg)
52-
}
53-
53+
for _, db := range dbs.Items {
5454
get.writeTabRow(db.Namespace, db.Name, db.Status.AtProvider.FQDN, string(db.Spec.ForProvider.Location), db.Spec.ForProvider.MachineType.String())
5555
}
5656

get/mysqldatabase.go

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,26 +43,18 @@ func (cmd *mysqlDatabaseCmd) print(ctx context.Context, client *api.Client, list
4343
)
4444
}
4545

46-
func (cmd *mysqlDatabaseCmd) printMySQLDatabases(databases []resource.Managed, get *Cmd, header bool) error {
46+
func (cmd *mysqlDatabaseCmd) printMySQLDatabases(resources resource.ManagedList, get *Cmd, header bool) error {
47+
dbs, ok := resources.(*storage.MySQLDatabaseList)
48+
if !ok {
49+
return fmt.Errorf("expected %T, got %T", &storage.MySQLDatabaseList{}, dbs)
50+
}
51+
4752
if header {
4853
get.writeHeader("NAME", "FQDN", "LOCATION", "COLLATION", "SIZE", "CONNECTIONS")
4954
}
5055

51-
for _, mg := range databases {
52-
db, ok := mg.(*storage.MySQLDatabase)
53-
if !ok {
54-
return fmt.Errorf("expected %T, got %T", &storage.MySQLDatabase{}, mg)
55-
}
56-
57-
get.writeTabRow(
58-
db.Namespace,
59-
db.Name,
60-
db.Status.AtProvider.FQDN,
61-
string(db.Spec.ForProvider.Location),
62-
db.Spec.ForProvider.CharacterSet.Collation,
63-
db.Status.AtProvider.Size.String(),
64-
strconv.FormatUint(uint64(db.Status.AtProvider.Connections), 10),
65-
)
56+
for _, db := range dbs.Items {
57+
get.writeTabRow(db.Namespace, db.Name, db.Status.AtProvider.FQDN, string(db.Spec.ForProvider.Location), db.Spec.ForProvider.CharacterSet.Collation, db.Status.AtProvider.Size.String(), strconv.FormatUint(uint64(db.Status.AtProvider.Connections), 10))
6658
}
6759

6860
return get.tabWriter.Flush()

get/postgres.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ func (cmd *postgresCmd) print(ctx context.Context, client *api.Client, list clie
4040
)
4141
}
4242

43-
func (cmd *postgresCmd) printPostgresInstances(resources []resource.Managed, get *Cmd, header bool) error {
43+
func (cmd *postgresCmd) printPostgresInstances(resources resource.ManagedList, get *Cmd, header bool) error {
44+
dbs, ok := resources.(*storage.PostgresList)
45+
if !ok {
46+
return fmt.Errorf("expected %T, got %T", &storage.PostgresList{}, dbs)
47+
}
48+
4449
if header {
4550
get.writeHeader("NAME", "FQDN", "LOCATION", "MACHINE TYPE")
4651
}
4752

48-
for _, mg := range resources {
49-
db, ok := mg.(*storage.Postgres)
50-
if !ok {
51-
return fmt.Errorf("expected %T, got %T", &storage.Postgres{}, mg)
52-
}
53-
53+
for _, db := range dbs.Items {
5454
get.writeTabRow(db.Namespace, db.Name, db.Status.AtProvider.FQDN, string(db.Spec.ForProvider.Location), db.Spec.ForProvider.MachineType.String())
5555
}
5656

get/postgresdatabase.go

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,25 +42,18 @@ func (cmd *postgresDatabaseCmd) print(ctx context.Context, client *api.Client, l
4242
)
4343
}
4444

45-
func (cmd *postgresDatabaseCmd) printPostgresDatabases(resources []resource.Managed, get *Cmd, header bool) error {
45+
func (cmd *postgresDatabaseCmd) printPostgresDatabases(resources resource.ManagedList, get *Cmd, header bool) error {
46+
dbs, ok := resources.(*storage.PostgresDatabaseList)
47+
if !ok {
48+
return fmt.Errorf("expected %T, got %T", &storage.PostgresDatabaseList{}, dbs)
49+
}
50+
4651
if header {
4752
get.writeHeader("NAME", "FQDN", "LOCATION", "SIZE", "CONNECTIONS")
4853
}
4954

50-
for _, mg := range resources {
51-
db, ok := mg.(*storage.PostgresDatabase)
52-
if !ok {
53-
return fmt.Errorf("expected %T, got %T", &storage.PostgresDatabase{}, mg)
54-
}
55-
56-
get.writeTabRow(
57-
db.Namespace,
58-
db.Name,
59-
db.Status.AtProvider.FQDN,
60-
string(db.Spec.ForProvider.Location),
61-
db.Status.AtProvider.Size.String(),
62-
strconv.FormatUint(uint64(db.Status.AtProvider.Connections), 10),
63-
)
55+
for _, db := range dbs.Items {
56+
get.writeTabRow(db.Namespace, db.Name, db.Status.AtProvider.FQDN, string(db.Spec.ForProvider.Location), db.Status.AtProvider.Size.String(), strconv.FormatUint(uint64(db.Status.AtProvider.Connections), 10))
6457
}
6558

6659
return get.tabWriter.Flush()

0 commit comments

Comments
 (0)