From d7327d8d8e1e63fec03cca07cd0432f6ad11b26a Mon Sep 17 00:00:00 2001 From: Wenkai Yin Date: Fri, 17 Jul 2020 16:12:40 +0800 Subject: [PATCH] Include the registry info in the project summary API for proxy cache project Include the registry info in the project summary API for proxy cache project Signed-off-by: Wenkai Yin --- api/v2.0/legacy_swagger.yaml | 2 ++ src/common/models/project.go | 4 +++- src/core/api/project.go | 12 ++++++++++++ src/core/api/replication_policy.go | 7 ++----- src/replication/dao/policy_test.go | 7 ++----- src/replication/model/policy.go | 4 ++-- 6 files changed, 23 insertions(+), 13 deletions(-) diff --git a/api/v2.0/legacy_swagger.yaml b/api/v2.0/legacy_swagger.yaml index 849c41419..c07790ef0 100644 --- a/api/v2.0/legacy_swagger.yaml +++ b/api/v2.0/legacy_swagger.yaml @@ -3877,6 +3877,8 @@ definitions: used: $ref: "#/definitions/ResourceList" description: The used status of the quota + registry: + $ref: "#/definitions/Registry" User: type: object properties: diff --git a/src/common/models/project.go b/src/common/models/project.go index 491d81905..14fd511c2 100644 --- a/src/common/models/project.go +++ b/src/common/models/project.go @@ -19,6 +19,7 @@ import ( "time" "github.com/goharbor/harbor/src/pkg/quota/types" + "github.com/goharbor/harbor/src/replication/model" ) const ( @@ -211,5 +212,6 @@ type ProjectSummary struct { GuestCount int64 `json:"guest_count"` LimitedGuestCount int64 `json:"limited_guest_count"` - Quota *QuotaSummary `json:"quota,omitempty"` + Quota *QuotaSummary `json:"quota,omitempty"` + Registry *model.Registry `json:"registry"` } diff --git a/src/core/api/project.go b/src/core/api/project.go index 3497fb685..a1ad340b0 100644 --- a/src/core/api/project.go +++ b/src/core/api/project.go @@ -571,6 +571,18 @@ func (p *ProjectAPI) Summary() { } wg.Wait() + if p.project.RegistryID > 0 { + registry, err := replication.RegistryMgr.Get(p.project.RegistryID) + if err != nil { + log.Warningf("failed to get registry %d: %v", p.project.RegistryID, err) + } else { + if registry != nil { + registry.Credential = nil + summary.Registry = registry + } + } + } + p.Data["json"] = summary p.ServeJSON() } diff --git a/src/core/api/replication_policy.go b/src/core/api/replication_policy.go index fe50b5d59..02bbda9de 100644 --- a/src/core/api/replication_policy.go +++ b/src/core/api/replication_policy.go @@ -20,7 +20,6 @@ import ( "net/http" "strconv" - common_model "github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication/dao/models" "github.com/goharbor/harbor/src/replication/event" @@ -58,10 +57,8 @@ func (r *ReplicationPolicyAPI) List() { // TODO: support more query query := &model.PolicyQuery{ Name: r.GetString("name"), - Pagination: common_model.Pagination{ - Page: page, - Size: size, - }, + Page: page, + Size: size, } total, policies, err := replication.PolicyCtl.List(query) diff --git a/src/replication/dao/policy_test.go b/src/replication/dao/policy_test.go index 1d64c5a28..7ec58aeb4 100644 --- a/src/replication/dao/policy_test.go +++ b/src/replication/dao/policy_test.go @@ -3,7 +3,6 @@ package dao import ( "testing" - common_models "github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/replication/dao/models" "github.com/goharbor/harbor/src/replication/model" "github.com/stretchr/testify/assert" @@ -106,10 +105,8 @@ func TestGetPolicies(t *testing.T) { { Name: tt.args.name, Namespace: tt.args.namespace, - Pagination: common_models.Pagination{ - Page: tt.args.page, - Size: tt.args.pageSize, - }, + Page: tt.args.page, + Size: tt.args.pageSize, }, }...) if tt.wantErr { diff --git a/src/replication/model/policy.go b/src/replication/model/policy.go index 603635778..f27ea0b65 100644 --- a/src/replication/model/policy.go +++ b/src/replication/model/policy.go @@ -17,7 +17,6 @@ package model import ( "fmt" "github.com/astaxie/beego/validation" - "github.com/goharbor/harbor/src/common/models" "github.com/robfig/cron" "time" ) @@ -168,5 +167,6 @@ type PolicyQuery struct { Namespace string SrcRegistry int64 DestRegistry int64 - models.Pagination + Page int64 + Size int64 }