mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Add Docker /v2/_catalog endpoint (#20469)
* Added properties for packages. * Fixed authenticate header format. * Added _catalog endpoint. * Check owner visibility. * Extracted condition. * Added test for _catalog. Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		@@ -40,15 +40,16 @@ func (l PackagePropertyList) GetByName(name string) string {
 | 
			
		||||
 | 
			
		||||
// PackageDescriptor describes a package
 | 
			
		||||
type PackageDescriptor struct {
 | 
			
		||||
	Package    *Package
 | 
			
		||||
	Owner      *user_model.User
 | 
			
		||||
	Repository *repo_model.Repository
 | 
			
		||||
	Version    *PackageVersion
 | 
			
		||||
	SemVer     *version.Version
 | 
			
		||||
	Creator    *user_model.User
 | 
			
		||||
	Properties PackagePropertyList
 | 
			
		||||
	Metadata   interface{}
 | 
			
		||||
	Files      []*PackageFileDescriptor
 | 
			
		||||
	Package           *Package
 | 
			
		||||
	Owner             *user_model.User
 | 
			
		||||
	Repository        *repo_model.Repository
 | 
			
		||||
	Version           *PackageVersion
 | 
			
		||||
	SemVer            *version.Version
 | 
			
		||||
	Creator           *user_model.User
 | 
			
		||||
	PackageProperties PackagePropertyList
 | 
			
		||||
	VersionProperties PackagePropertyList
 | 
			
		||||
	Metadata          interface{}
 | 
			
		||||
	Files             []*PackageFileDescriptor
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PackageFileDescriptor describes a package file
 | 
			
		||||
@@ -102,6 +103,10 @@ func GetPackageDescriptor(ctx context.Context, pv *PackageVersion) (*PackageDesc
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	pps, err := GetProperties(ctx, PropertyTypePackage, p.ID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	pvps, err := GetProperties(ctx, PropertyTypeVersion, pv.ID)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
@@ -152,15 +157,16 @@ func GetPackageDescriptor(ctx context.Context, pv *PackageVersion) (*PackageDesc
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &PackageDescriptor{
 | 
			
		||||
		Package:    p,
 | 
			
		||||
		Owner:      o,
 | 
			
		||||
		Repository: repository,
 | 
			
		||||
		Version:    pv,
 | 
			
		||||
		SemVer:     semVer,
 | 
			
		||||
		Creator:    creator,
 | 
			
		||||
		Properties: PackagePropertyList(pvps),
 | 
			
		||||
		Metadata:   metadata,
 | 
			
		||||
		Files:      pfds,
 | 
			
		||||
		Package:           p,
 | 
			
		||||
		Owner:             o,
 | 
			
		||||
		Repository:        repository,
 | 
			
		||||
		Version:           pv,
 | 
			
		||||
		SemVer:            semVer,
 | 
			
		||||
		Creator:           creator,
 | 
			
		||||
		PackageProperties: PackagePropertyList(pps),
 | 
			
		||||
		VersionProperties: PackagePropertyList(pvps),
 | 
			
		||||
		Metadata:          metadata,
 | 
			
		||||
		Files:             pfds,
 | 
			
		||||
	}, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user