From cca5759d7f253632acda1f10709f0c53d310fe77 Mon Sep 17 00:00:00 2001 From: ashmrtn Date: Wed, 16 Nov 2022 16:55:03 -0800 Subject: [PATCH] Consistent backup model types (#1513) ## Description Make the return type of looking up backup models more consistent by always returning pointers to items. This helps avoid some type casting that could occur in some situations and makes the function definition for print more consistent because they will always work with a pointer type ## Type of change - [ ] :sunflower: Feature - [ ] :bug: Bugfix - [ ] :world_map: Documentation - [ ] :robot: Test - [ ] :computer: CI/Deployment - [x] :hamster: Trivial/Minor ## Issue(s) * closes #1512 ## Test Plan - [ ] :muscle: Manual - [x] :zap: Unit test - [ ] :green_heart: E2E --- src/cli/utils/testdata/opts.go | 2 +- src/pkg/backup/backup.go | 2 +- src/pkg/repository/repository.go | 4 ++-- src/pkg/repository/repository_load_test.go | 2 +- src/pkg/store/backup.go | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/cli/utils/testdata/opts.go b/src/cli/utils/testdata/opts.go index ce1c39ee5..74de0f426 100644 --- a/src/cli/utils/testdata/opts.go +++ b/src/cli/utils/testdata/opts.go @@ -408,7 +408,7 @@ func (MockBackupGetter) Backup( return nil, errors.New("unexpected call to mock") } -func (MockBackupGetter) Backups(context.Context, ...store.FilterOption) ([]backup.Backup, error) { +func (MockBackupGetter) Backups(context.Context, ...store.FilterOption) ([]*backup.Backup, error) { return nil, errors.New("unexpected call to mock") } diff --git a/src/pkg/backup/backup.go b/src/pkg/backup/backup.go index 9f841cc29..42f3cb68b 100644 --- a/src/pkg/backup/backup.go +++ b/src/pkg/backup/backup.go @@ -74,7 +74,7 @@ func (b Backup) Print(ctx context.Context) { } // PrintAll writes the slice of Backups to StdOut, in the format requested by the caller. -func PrintAll(ctx context.Context, bs []Backup) { +func PrintAll(ctx context.Context, bs []*Backup) { if len(bs) == 0 { print.Info(ctx, "No backups available") return diff --git a/src/pkg/repository/repository.go b/src/pkg/repository/repository.go index 3e91ea964..8541bdc60 100644 --- a/src/pkg/repository/repository.go +++ b/src/pkg/repository/repository.go @@ -27,7 +27,7 @@ var ErrorRepoAlreadyExists = errors.New("a repository was already initialized wi // repository. type BackupGetter interface { Backup(ctx context.Context, id model.StableID) (*backup.Backup, error) - Backups(ctx context.Context, fs ...store.FilterOption) ([]backup.Backup, error) + Backups(ctx context.Context, fs ...store.FilterOption) ([]*backup.Backup, error) BackupDetails( ctx context.Context, backupID string, @@ -232,7 +232,7 @@ func (r repository) Backup(ctx context.Context, id model.StableID) (*backup.Back } // backups lists backups in a repository -func (r repository) Backups(ctx context.Context, fs ...store.FilterOption) ([]backup.Backup, error) { +func (r repository) Backups(ctx context.Context, fs ...store.FilterOption) ([]*backup.Backup, error) { sw := store.NewKopiaStore(r.modelStore) return sw.GetBackups(ctx, fs...) } diff --git a/src/pkg/repository/repository_load_test.go b/src/pkg/repository/repository_load_test.go index 2077a5af6..8735597a3 100644 --- a/src/pkg/repository/repository_load_test.go +++ b/src/pkg/repository/repository_load_test.go @@ -168,7 +168,7 @@ func runBackupListLoadTest( t.Run("backup_list_"+name, func(t *testing.T) { var ( err error - bs []backup.Backup + bs []*backup.Backup labels = pprof.Labels("list_load_test", name) ) diff --git a/src/pkg/store/backup.go b/src/pkg/store/backup.go index 6fcf07fdc..e10baee9b 100644 --- a/src/pkg/store/backup.go +++ b/src/pkg/store/backup.go @@ -54,7 +54,7 @@ func (w Wrapper) GetBackup(ctx context.Context, backupID model.StableID) (*backu func (w Wrapper) GetBackups( ctx context.Context, filters ...FilterOption, -) ([]backup.Backup, error) { +) ([]*backup.Backup, error) { q := &queryFilters{} q.populate(filters...) @@ -63,12 +63,12 @@ func (w Wrapper) GetBackups( return nil, err } - bs := make([]backup.Backup, len(bms)) + bs := make([]*backup.Backup, len(bms)) for i, bm := range bms { - b := backup.Backup{} + b := &backup.Backup{} - err := w.GetWithModelStoreID(ctx, model.BackupSchema, bm.ModelStoreID, &b) + err := w.GetWithModelStoreID(ctx, model.BackupSchema, bm.ModelStoreID, b) if err != nil { return nil, err }