aboutsummaryrefslogtreecommitdiffstats
path: root/models/packages/descriptor.go
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2022-07-28 05:59:39 +0200
committerGitHub <noreply@github.com>2022-07-28 11:59:39 +0800
commit86e5268c396bd89716b2617a4949837982c1b0c3 (patch)
treea01a04c069644694470c3159ce3daed94436ef08 /models/packages/descriptor.go
parent4604048010347ea946ae57628d694a631787ab17 (diff)
downloadgitea-86e5268c396bd89716b2617a4949837982c1b0c3.tar.gz
gitea-86e5268c396bd89716b2617a4949837982c1b0c3.zip
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>
Diffstat (limited to 'models/packages/descriptor.go')
-rw-r--r--models/packages/descriptor.go42
1 files changed, 24 insertions, 18 deletions
diff --git a/models/packages/descriptor.go b/models/packages/descriptor.go
index fbdc40f37f..31819ccca1 100644
--- a/models/packages/descriptor.go
+++ b/models/packages/descriptor.go
@@ -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
}