From b243e22b202fcc219eb1aa0943d11ee91cdfb7ab Mon Sep 17 00:00:00 2001 From: Jacob Schuurmans Date: Tue, 30 Jul 2024 15:43:28 -0400 Subject: [PATCH] refactoring update to use already available info --- pkg/api/v1/router_server_sku.go | 44 ++++++++++------------------ pkg/api/v1/router_server_sku_test.go | 2 +- 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/pkg/api/v1/router_server_sku.go b/pkg/api/v1/router_server_sku.go index ffeaef42..515e86f5 100644 --- a/pkg/api/v1/router_server_sku.go +++ b/pkg/api/v1/router_server_sku.go @@ -298,7 +298,6 @@ func (r *Router) updateServerSkuTransaction(ctx context.Context, sku *models.Ser func (r *Router) updateServerSkuAuxDevices(ctx context.Context, tx *sql.Tx, sku *models.ServerSku, oldSku *models.ServerSku) error { var oldAuxDevices []*models.ServerSkuAuxDevice var auxDevices []*models.ServerSkuAuxDevice - var isOldAuxDevices []bool if oldSku.R != nil { oldAuxDevices = oldSku.R.SkuServerSkuAuxDevices @@ -306,7 +305,6 @@ func (r *Router) updateServerSkuAuxDevices(ctx context.Context, tx *sql.Tx, sku if sku.R != nil { auxDevices = sku.R.SkuServerSkuAuxDevices - isOldAuxDevices = make([]bool, len(sku.R.SkuServerSkuAuxDevices)) } // Find aux devices no longer present and remove them @@ -317,7 +315,6 @@ func (r *Router) updateServerSkuAuxDevices(ctx context.Context, tx *sql.Tx, sku auxDevices[i].Model == oldAuxDevice.Model && auxDevices[i].ID == "" { auxDevices[i].ID = oldAuxDevice.ID - isOldAuxDevices[i] = true auxDeviceFound = true break } @@ -332,12 +329,12 @@ func (r *Router) updateServerSkuAuxDevices(ctx context.Context, tx *sql.Tx, sku } // Upsert aux devices - for i, auxDevice := range auxDevices { + for _, auxDevice := range auxDevices { var err error - if isOldAuxDevices[i] { - _, err = auxDevice.Update(ctx, tx, boil.Infer()) - } else { + if auxDevice.ID == "" { err = auxDevice.Insert(ctx, tx, boil.Infer()) + } else { + _, err = auxDevice.Update(ctx, tx, boil.Infer()) } if err != nil { return err @@ -350,7 +347,6 @@ func (r *Router) updateServerSkuAuxDevices(ctx context.Context, tx *sql.Tx, sku func (r *Router) updateServerSkuDisks(ctx context.Context, tx *sql.Tx, sku *models.ServerSku, oldSku *models.ServerSku) error { var oldDisks []*models.ServerSkuDisk var disks []*models.ServerSkuDisk - var isOldDisks []bool if oldSku.R != nil { oldDisks = oldSku.R.SkuServerSkuDisks @@ -358,7 +354,6 @@ func (r *Router) updateServerSkuDisks(ctx context.Context, tx *sql.Tx, sku *mode if sku.R != nil { disks = sku.R.SkuServerSkuDisks - isOldDisks = make([]bool, len(sku.R.SkuServerSkuDisks)) } // Find disks no longer present and remove them @@ -369,7 +364,6 @@ func (r *Router) updateServerSkuDisks(ctx context.Context, tx *sql.Tx, sku *mode disks[i].Model == oldDisk.Model && disks[i].ID == "" { disks[i].ID = oldDisk.ID - isOldDisks[i] = true diskFound = true break } @@ -384,12 +378,12 @@ func (r *Router) updateServerSkuDisks(ctx context.Context, tx *sql.Tx, sku *mode } // Upsert disks - for i, disk := range disks { + for _, disk := range disks { var err error - if isOldDisks[i] { - _, err = disk.Update(ctx, tx, boil.Infer()) - } else { + if disk.ID == "" { err = disk.Insert(ctx, tx, boil.Infer()) + } else { + _, err = disk.Update(ctx, tx, boil.Infer()) } if err != nil { return err @@ -402,7 +396,6 @@ func (r *Router) updateServerSkuDisks(ctx context.Context, tx *sql.Tx, sku *mode func (r *Router) updateServerSkuMemories(ctx context.Context, tx *sql.Tx, sku *models.ServerSku, oldSku *models.ServerSku) error { var oldMemorys []*models.ServerSkuMemory var memories []*models.ServerSkuMemory - var isOldMemories []bool if oldSku.R != nil { oldMemorys = oldSku.R.SkuServerSkuMemories @@ -410,7 +403,6 @@ func (r *Router) updateServerSkuMemories(ctx context.Context, tx *sql.Tx, sku *m if sku.R != nil { memories = sku.R.SkuServerSkuMemories - isOldMemories = make([]bool, len(sku.R.SkuServerSkuMemories)) } // Find memories no longer present and remove them @@ -421,7 +413,6 @@ func (r *Router) updateServerSkuMemories(ctx context.Context, tx *sql.Tx, sku *m memories[i].Model == oldMemory.Model && memories[i].ID == "" { memories[i].ID = oldMemory.ID - isOldMemories[i] = true memoryFound = true break } @@ -436,12 +427,12 @@ func (r *Router) updateServerSkuMemories(ctx context.Context, tx *sql.Tx, sku *m } // Upsert memories - for i, memory := range memories { + for _, memory := range memories { var err error - if isOldMemories[i] { - _, err = memory.Update(ctx, tx, boil.Infer()) - } else { + if memory.ID == "" { err = memory.Insert(ctx, tx, boil.Infer()) + } else { + _, err = memory.Update(ctx, tx, boil.Infer()) } if err != nil { return err @@ -454,7 +445,6 @@ func (r *Router) updateServerSkuMemories(ctx context.Context, tx *sql.Tx, sku *m func (r *Router) updateServerSkuNics(ctx context.Context, tx *sql.Tx, sku *models.ServerSku, oldSku *models.ServerSku) error { var oldNics []*models.ServerSkuNic var nics []*models.ServerSkuNic - var isOldNics []bool if oldSku.R != nil { oldNics = oldSku.R.SkuServerSkuNics @@ -462,7 +452,6 @@ func (r *Router) updateServerSkuNics(ctx context.Context, tx *sql.Tx, sku *model if sku.R != nil { nics = sku.R.SkuServerSkuNics - isOldNics = make([]bool, len(sku.R.SkuServerSkuNics)) } // Find nics no longer present and remove them @@ -473,7 +462,6 @@ func (r *Router) updateServerSkuNics(ctx context.Context, tx *sql.Tx, sku *model nics[i].Model == oldNic.Model && nics[i].ID == "" { nics[i].ID = oldNic.ID - isOldNics[i] = true nicFound = true break } @@ -488,12 +476,12 @@ func (r *Router) updateServerSkuNics(ctx context.Context, tx *sql.Tx, sku *model } // Upsert nics - for i, nic := range nics { + for _, nic := range nics { var err error - if isOldNics[i] { - _, err = nic.Update(ctx, tx, boil.Infer()) - } else { + if nic.ID == "" { err = nic.Insert(ctx, tx, boil.Infer()) + } else { + _, err = nic.Update(ctx, tx, boil.Infer()) } if err != nil { return err diff --git a/pkg/api/v1/router_server_sku_test.go b/pkg/api/v1/router_server_sku_test.go index 250b5c1c..d2729960 100644 --- a/pkg/api/v1/router_server_sku_test.go +++ b/pkg/api/v1/router_server_sku_test.go @@ -250,7 +250,7 @@ func TestIntegrationServerSkuUpdate(t *testing.T) { sku := *resp.Record.(*fleetdbapi.ServerSku) - assert.Equal(t, ServerSkuTemp, sku) + assertServerSkuEqual(t, &ServerSkuTemp, &sku) } }) }