diff --git a/pkg/storage/lister.go b/pkg/storage/lister.go index cc8930f8..db841d5c 100644 --- a/pkg/storage/lister.go +++ b/pkg/storage/lister.go @@ -4,5 +4,5 @@ package storage type Lister interface { // must return NotFoundErr if baseURL / module isn't found List(baseURL, module string) ([]string, error) - All() ([]*RevInfo, error) + All() (map[string][]*RevInfo, error) } diff --git a/pkg/storage/memory/lister.go b/pkg/storage/memory/lister.go index 9c56f6a2..ff28b98b 100644 --- a/pkg/storage/memory/lister.go +++ b/pkg/storage/memory/lister.go @@ -21,13 +21,13 @@ func (l *Lister) List(basePath, module string) ([]string, error) { return ret, nil } -func (l *Lister) All() ([]*storage.RevInfo, error) { - ret := []*storage.RevInfo{} +func (l *Lister) All() (map[string][]*storage.RevInfo, error) { + ret := map[string][]*storage.RevInfo{} entries.RLock() defer entries.RUnlock() - for _, versions := range entries.versions { + for name, versions := range entries.versions { for _, version := range versions { - ret = append(ret, &version.RevInfo) + ret[name] = append(ret[name], &version.RevInfo) } } return ret, nil