fix: removed duplicate structures from service.go and moved them to pkg/common (#1436)

Signed-off-by: Ana-Roberta Lisca <ana.kagome@yahoo.com>
This commit is contained in:
Lisca Ana-Roberta
2023-05-25 21:27:49 +03:00
committed by GitHub
parent 4970f8814d
commit 6a7035c599
18 changed files with 707 additions and 721 deletions
@@ -961,7 +961,7 @@ func (bdw *DBWrapper) DeleteSignature(repo string, signedManifestDigest godigest
func (bdw *DBWrapper) SearchRepos(ctx context.Context, searchText string, filter repodb.Filter,
requestedPage repodb.PageInput,
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, repodb.PageInfo,
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, zcommon.PageInfo,
error,
) {
var (
@@ -969,13 +969,13 @@ func (bdw *DBWrapper) SearchRepos(ctx context.Context, searchText string, filter
foundManifestMetadataMap = make(map[string]repodb.ManifestMetadata)
foundindexDataMap = make(map[string]repodb.IndexData)
pageFinder repodb.PageFinder
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
)
pageFinder, err := repodb.NewBaseRepoPageFinder(requestedPage.Limit, requestedPage.Offset, requestedPage.SortBy)
if err != nil {
return []repodb.RepoMetadata{}, map[string]repodb.ManifestMetadata{}, map[string]repodb.IndexData{},
repodb.PageInfo{}, err
zcommon.PageInfo{}, err
}
err = bdw.DB.View(func(transaction *bbolt.Tx) error {
@@ -1291,7 +1291,7 @@ func NewManifestMetadata(manifestDigest string, repoMeta repodb.RepoMetadata,
func (bdw *DBWrapper) FilterTags(ctx context.Context, filter repodb.FilterFunc,
requestedPage repodb.PageInput,
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData,
repodb.PageInfo, error,
zcommon.PageInfo, error,
) {
var (
foundRepos = make([]repodb.RepoMetadata, 0)
@@ -1300,13 +1300,13 @@ func (bdw *DBWrapper) FilterTags(ctx context.Context, filter repodb.FilterFunc,
foundManifestMetadataMap = make(map[string]repodb.ManifestMetadata)
foundindexDataMap = make(map[string]repodb.IndexData)
pageFinder repodb.PageFinder
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
)
pageFinder, err := repodb.NewBaseImagePageFinder(requestedPage.Limit, requestedPage.Offset, requestedPage.SortBy)
if err != nil {
return []repodb.RepoMetadata{}, map[string]repodb.ManifestMetadata{}, map[string]repodb.IndexData{},
repodb.PageInfo{}, err
zcommon.PageInfo{}, err
}
err = bdw.DB.View(func(transaction *bbolt.Tx) error {
@@ -1432,12 +1432,12 @@ func (bdw *DBWrapper) FilterRepos(ctx context.Context,
filter repodb.FilterRepoFunc,
requestedPage repodb.PageInput,
) (
[]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, repodb.PageInfo, error,
[]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, zcommon.PageInfo, error,
) {
var (
foundRepos = make([]repodb.RepoMetadata, 0)
pageFinder repodb.PageFinder
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
)
pageFinder, err := repodb.NewBaseRepoPageFinder(
@@ -1494,14 +1494,14 @@ func (bdw *DBWrapper) FilterRepos(ctx context.Context,
func (bdw *DBWrapper) SearchTags(ctx context.Context, searchText string, filter repodb.Filter,
requestedPage repodb.PageInput,
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, repodb.PageInfo, error) {
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, zcommon.PageInfo, error) {
var (
foundRepos = make([]repodb.RepoMetadata, 0)
manifestMetadataMap = make(map[string]repodb.ManifestMetadata)
indexDataMap = make(map[string]repodb.IndexData)
foundManifestMetadataMap = make(map[string]repodb.ManifestMetadata)
foundindexDataMap = make(map[string]repodb.IndexData)
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
pageFinder repodb.PageFinder
)
@@ -1509,13 +1509,13 @@ func (bdw *DBWrapper) SearchTags(ctx context.Context, searchText string, filter
pageFinder, err := repodb.NewBaseImagePageFinder(requestedPage.Limit, requestedPage.Offset, requestedPage.SortBy)
if err != nil {
return []repodb.RepoMetadata{}, map[string]repodb.ManifestMetadata{}, map[string]repodb.IndexData{},
repodb.PageInfo{}, err
zcommon.PageInfo{}, err
}
searchedRepo, searchedTag, err := common.GetRepoTag(searchText)
if err != nil {
return []repodb.RepoMetadata{}, map[string]repodb.ManifestMetadata{}, map[string]repodb.IndexData{},
repodb.PageInfo{},
zcommon.PageInfo{},
fmt.Errorf("repodb: error while parsing search text, invalid format %w", err)
}
@@ -769,13 +769,13 @@ func (dwr *DBWrapper) GetMultipleRepoMeta(ctx context.Context,
func (dwr *DBWrapper) SearchRepos(ctx context.Context, searchText string, filter repodb.Filter,
requestedPage repodb.PageInput,
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, repodb.PageInfo, error) {
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, zcommon.PageInfo, error) {
var (
manifestMetadataMap = make(map[string]repodb.ManifestMetadata)
indexDataMap = make(map[string]repodb.IndexData)
repoMetaAttributeIterator dynamo.AttributesIterator
pageFinder repodb.PageFinder
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
userBookmarks = getUserBookmarks(ctx, dwr)
userStars = getUserStars(ctx, dwr)
@@ -1077,13 +1077,13 @@ func (dwr *DBWrapper) collectImageIndexFilterInfo(indexDigest string, repoMeta r
func (dwr *DBWrapper) FilterTags(ctx context.Context, filter repodb.FilterFunc,
requestedPage repodb.PageInput,
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, repodb.PageInfo, error) {
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, zcommon.PageInfo, error) {
var (
manifestMetadataMap = make(map[string]repodb.ManifestMetadata)
indexDataMap = make(map[string]repodb.IndexData)
repoMetaAttributeIterator dynamo.AttributesIterator
pageFinder repodb.PageFinder
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
userBookmarks = getUserBookmarks(ctx, dwr)
userStars = getUserStars(ctx, dwr)
)
@@ -1224,11 +1224,11 @@ func (dwr *DBWrapper) FilterRepos(ctx context.Context,
filter repodb.FilterRepoFunc,
requestedPage repodb.PageInput,
) (
[]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, repodb.PageInfo, error,
[]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, zcommon.PageInfo, error,
) {
var (
repoMetaAttributeIterator dynamo.AttributesIterator
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
userBookmarks = getUserBookmarks(ctx, dwr)
userStars = getUserStars(ctx, dwr)
)
@@ -1282,13 +1282,13 @@ func (dwr *DBWrapper) FilterRepos(ctx context.Context,
func (dwr *DBWrapper) SearchTags(ctx context.Context, searchText string, filter repodb.Filter,
requestedPage repodb.PageInput,
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, repodb.PageInfo, error) {
) ([]repodb.RepoMetadata, map[string]repodb.ManifestMetadata, map[string]repodb.IndexData, zcommon.PageInfo, error) {
var (
manifestMetadataMap = make(map[string]repodb.ManifestMetadata)
indexDataMap = make(map[string]repodb.IndexData)
repoMetaAttributeIterator dynamo.AttributesIterator
pageFinder repodb.PageFinder
pageInfo repodb.PageInfo
pageInfo zcommon.PageInfo
userBookmarks = getUserBookmarks(ctx, dwr)
userStars = getUserStars(ctx, dwr)
)
+9 -8
View File
@@ -5,13 +5,14 @@ import (
"sort"
zerr "zotregistry.io/zot/errors"
"zotregistry.io/zot/pkg/common"
)
// PageFinder permits keeping a pool of objects using Add
// and returning a specific page.
type PageFinder interface {
Add(detailedRepoMeta DetailedRepoMeta)
Page() ([]RepoMetadata, PageInfo)
Page() ([]RepoMetadata, common.PageInfo)
Reset()
}
@@ -58,12 +59,12 @@ func (bpt *RepoPageFinder) Add(namedRepoMeta DetailedRepoMeta) {
bpt.pageBuffer = append(bpt.pageBuffer, namedRepoMeta)
}
func (bpt *RepoPageFinder) Page() ([]RepoMetadata, PageInfo) {
func (bpt *RepoPageFinder) Page() ([]RepoMetadata, common.PageInfo) {
if len(bpt.pageBuffer) == 0 {
return []RepoMetadata{}, PageInfo{}
return []RepoMetadata{}, common.PageInfo{}
}
pageInfo := &PageInfo{}
pageInfo := &common.PageInfo{}
sort.Slice(bpt.pageBuffer, SortFunctions()[bpt.sortBy](bpt.pageBuffer))
@@ -142,12 +143,12 @@ func (bpt *ImagePageFinder) Add(namedRepoMeta DetailedRepoMeta) {
bpt.pageBuffer = append(bpt.pageBuffer, namedRepoMeta)
}
func (bpt *ImagePageFinder) Page() ([]RepoMetadata, PageInfo) {
func (bpt *ImagePageFinder) Page() ([]RepoMetadata, common.PageInfo) {
if len(bpt.pageBuffer) == 0 {
return []RepoMetadata{}, PageInfo{}
return []RepoMetadata{}, common.PageInfo{}
}
pageInfo := PageInfo{}
pageInfo := common.PageInfo{}
for _, drm := range bpt.pageBuffer {
repo := drm.RepoMetadata
@@ -190,7 +191,7 @@ func (bpt *ImagePageFinder) Page() ([]RepoMetadata, PageInfo) {
// offset is larger than the number of tags
if repoStartIndex >= len(bpt.pageBuffer) {
return []RepoMetadata{}, PageInfo{}
return []RepoMetadata{}, common.PageInfo{}
}
// finish counting remaining tags inside the first repo meta
+6 -9
View File
@@ -5,6 +5,8 @@ import (
"time"
godigest "github.com/opencontainers/go-digest"
"zotregistry.io/zot/pkg/common"
)
// Used to model changes to an object after a call to the DB.
@@ -95,19 +97,19 @@ type RepoDB interface { //nolint:interfacebloat
// SearchRepos searches for repos given a search string
SearchRepos(ctx context.Context, searchText string, filter Filter, requestedPage PageInput) (
[]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, PageInfo, error)
[]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, common.PageInfo, error)
// SearchTags searches for images(repo:tag) given a search string
SearchTags(ctx context.Context, searchText string, filter Filter, requestedPage PageInput) (
[]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, PageInfo, error)
[]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, common.PageInfo, error)
// FilterRepos filters for repos given a filter function
FilterRepos(ctx context.Context, filter FilterRepoFunc, requestedPage PageInput) (
[]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, PageInfo, error)
[]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, common.PageInfo, error)
// FilterTags filters for images given a filter function
FilterTags(ctx context.Context, filter FilterFunc,
requestedPage PageInput) ([]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, PageInfo, error)
requestedPage PageInput) ([]RepoMetadata, map[string]ManifestMetadata, map[string]IndexData, common.PageInfo, error)
// GetStarredRepos returns starred repos and takes current user in consideration
GetStarredRepos(ctx context.Context) ([]string, error)
@@ -216,11 +218,6 @@ type PageInput struct {
SortBy SortCriteria
}
type PageInfo struct {
TotalCount int
ItemCount int
}
type Filter struct {
Os []*string
Arch []*string