bump up swagger (#21396)

* bump up swagger

Signed-off-by: wang yan <wangyan@vmware.com>

* fix gc driver type

Signed-off-by: wang yan <wangyan@vmware.com>

---------

Signed-off-by: wang yan <wangyan@vmware.com>
This commit is contained in:
Wang Yan 2025-01-10 17:02:57 +08:00 committed by GitHub
parent 15d17a3338
commit b0545c05fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 44 additions and 22 deletions

View File

@ -291,7 +291,7 @@ lint_apis:
$(SPECTRAL) lint ./api/v2.0/swagger.yaml $(SPECTRAL) lint ./api/v2.0/swagger.yaml
SWAGGER_IMAGENAME=$(IMAGENAMESPACE)/swagger SWAGGER_IMAGENAME=$(IMAGENAMESPACE)/swagger
SWAGGER_VERSION=v0.25.0 SWAGGER_VERSION=v0.31.0
SWAGGER=$(RUNCONTAINER) ${SWAGGER_IMAGENAME}:${SWAGGER_VERSION} SWAGGER=$(RUNCONTAINER) ${SWAGGER_IMAGENAME}:${SWAGGER_VERSION}
SWAGGER_GENERATE_SERVER=${SWAGGER} generate server --template-dir=$(TOOLSPATH)/swagger/templates --exclude-main --additional-initialism=CVE --additional-initialism=GC --additional-initialism=OIDC SWAGGER_GENERATE_SERVER=${SWAGGER} generate server --template-dir=$(TOOLSPATH)/swagger/templates --exclude-main --additional-initialism=CVE --additional-initialism=GC --additional-initialism=OIDC
SWAGGER_IMAGE_BUILD_CMD=${DOCKERBUILD} -f ${TOOLSPATH}/swagger/Dockerfile --build-arg GOLANG=${GOBUILDIMAGE} --build-arg SWAGGER_VERSION=${SWAGGER_VERSION} -t ${SWAGGER_IMAGENAME}:$(SWAGGER_VERSION) . SWAGGER_IMAGE_BUILD_CMD=${DOCKERBUILD} -f ${TOOLSPATH}/swagger/Dockerfile --build-arg GOLANG=${GOBUILDIMAGE} --build-arg SWAGGER_VERSION=${SWAGGER_VERSION} -t ${SWAGGER_IMAGENAME}:$(SWAGGER_VERSION) .

View File

@ -62,7 +62,7 @@ func (d *driver) HardLimits(ctx context.Context) types.ResourceList {
} }
} }
func (d *driver) Load(ctx context.Context, key string) (dr.RefObject, error) { func (d *driver) Load(ctx context.Context, key string) (dr.QuotaRefObject, error) {
thunk := d.loader.Load(ctx, dataloader.StringKey(key)) thunk := d.loader.Load(ctx, dataloader.StringKey(key))
result, err := thunk() result, err := thunk()
@ -75,7 +75,7 @@ func (d *driver) Load(ctx context.Context, key string) (dr.RefObject, error) {
return nil, fmt.Errorf("bad result for project: %s", key) return nil, fmt.Errorf("bad result for project: %s", key)
} }
return dr.RefObject{ return dr.QuotaRefObject{
"id": project.ProjectID, "id": project.ProjectID,
"name": project.Name, "name": project.Name,
"owner_name": project.OwnerName, "owner_name": project.OwnerName,

View File

@ -26,8 +26,8 @@ var (
drivers = map[string]Driver{} drivers = map[string]Driver{}
) )
// RefObject type for quota ref object // QuotaRefObject type for quota ref object
type RefObject map[string]interface{} type QuotaRefObject map[string]interface{}
// Driver the driver for quota // Driver the driver for quota
type Driver interface { type Driver interface {
@ -36,7 +36,7 @@ type Driver interface {
// HardLimits returns default resource list // HardLimits returns default resource list
HardLimits(ctx context.Context) types.ResourceList HardLimits(ctx context.Context) types.ResourceList
// Load returns quota ref object by key // Load returns quota ref object by key
Load(ctx context.Context, key string) (RefObject, error) Load(ctx context.Context, key string) (QuotaRefObject, error)
// Validate validate the hard limits // Validate validate the hard limits
Validate(hardLimits types.ResourceList) error Validate(hardLimits types.ResourceList) error
// CalculateUsage calculate quota usage by reference id // CalculateUsage calculate quota usage by reference id

View File

@ -26,7 +26,7 @@ import (
// Quota quota model for manager // Quota quota model for manager
type Quota struct { type Quota struct {
ID int64 `orm:"pk;auto;column(id)" json:"id"` ID int64 `orm:"pk;auto;column(id)" json:"id"`
Ref driver.RefObject `orm:"-" json:"ref"` Ref driver.QuotaRefObject `orm:"-" json:"ref"`
Reference string `orm:"column(reference)" json:"-"` Reference string `orm:"column(reference)" json:"-"`
ReferenceID string `orm:"column(reference_id)" json:"-"` ReferenceID string `orm:"column(reference_id)" json:"-"`
Hard string `orm:"column(hard);type(jsonb)" json:"-"` Hard string `orm:"column(hard);type(jsonb)" json:"-"`

View File

@ -21,6 +21,7 @@ import (
"github.com/goharbor/harbor/src/lib/log" "github.com/goharbor/harbor/src/lib/log"
"github.com/goharbor/harbor/src/pkg/quota" "github.com/goharbor/harbor/src/pkg/quota"
"github.com/goharbor/harbor/src/pkg/quota/driver"
"github.com/goharbor/harbor/src/pkg/quota/types" "github.com/goharbor/harbor/src/pkg/quota/types"
"github.com/goharbor/harbor/src/server/v2.0/models" "github.com/goharbor/harbor/src/server/v2.0/models"
) )
@ -54,7 +55,7 @@ func (q *Quota) ToSwagger(ctx context.Context) *models.Quota {
return &models.Quota{ return &models.Quota{
ID: q.ID, ID: q.ID,
Ref: q.Ref, Ref: NewQuotaRefObject(q.Ref).ToSwagger(),
Hard: NewResourceList(hard).ToSwagger(), Hard: NewResourceList(hard).ToSwagger(),
Used: NewResourceList(used).ToSwagger(), Used: NewResourceList(used).ToSwagger(),
CreationTime: strfmt.DateTime(q.CreationTime), CreationTime: strfmt.DateTime(q.CreationTime),
@ -66,3 +67,24 @@ func (q *Quota) ToSwagger(ctx context.Context) *models.Quota {
func NewQuota(quota *quota.Quota) *Quota { func NewQuota(quota *quota.Quota) *Quota {
return &Quota{Quota: quota} return &Quota{Quota: quota}
} }
// QuotaRefObject model
type QuotaRefObject struct {
driver.QuotaRefObject
}
// ToSwagger converts the QuotaRefObject to the swagger model
func (rl *QuotaRefObject) ToSwagger() models.QuotaRefObject {
result := make(map[string]interface{}, len(rl.QuotaRefObject))
for name, value := range rl.QuotaRefObject {
result[string(name)] = value
}
return result
}
// NewQuotaRefObject new QuotaRefObject instance
func NewQuotaRefObject(qr driver.QuotaRefObject) *QuotaRefObject {
return &QuotaRefObject{QuotaRefObject: qr}
}

View File

@ -95,23 +95,23 @@ func (_m *Driver) HardLimits(ctx context.Context) types.ResourceList {
} }
// Load provides a mock function with given fields: ctx, key // Load provides a mock function with given fields: ctx, key
func (_m *Driver) Load(ctx context.Context, key string) (driver.RefObject, error) { func (_m *Driver) Load(ctx context.Context, key string) (driver.QuotaRefObject, error) {
ret := _m.Called(ctx, key) ret := _m.Called(ctx, key)
if len(ret) == 0 { if len(ret) == 0 {
panic("no return value specified for Load") panic("no return value specified for Load")
} }
var r0 driver.RefObject var r0 driver.QuotaRefObject
var r1 error var r1 error
if rf, ok := ret.Get(0).(func(context.Context, string) (driver.RefObject, error)); ok { if rf, ok := ret.Get(0).(func(context.Context, string) (driver.QuotaRefObject, error)); ok {
return rf(ctx, key) return rf(ctx, key)
} }
if rf, ok := ret.Get(0).(func(context.Context, string) driver.RefObject); ok { if rf, ok := ret.Get(0).(func(context.Context, string) driver.QuotaRefObject); ok {
r0 = rf(ctx, key) r0 = rf(ctx, key)
} else { } else {
if ret.Get(0) != nil { if ret.Get(0) != nil {
r0 = ret.Get(0).(driver.RefObject) r0 = ret.Get(0).(driver.QuotaRefObject)
} }
} }

View File

@ -2,7 +2,7 @@ ARG GOLANG
FROM ${GOLANG} FROM ${GOLANG}
ARG SWAGGER_VERSION ARG SWAGGER_VERSION
RUN curl -fsSL -o /usr/bin/swagger https://github.com/go-swagger/go-swagger/releases/download/$SWAGGER_VERSION/swagger_linux_amd64 && chmod +x /usr/bin/swagger RUN go install github.com/go-swagger/go-swagger/cmd/swagger@$SWAGGER_VERSION
ENTRYPOINT ["/usr/bin/swagger"] ENTRYPOINT ["swagger"]
CMD ["--help"] CMD ["--help"]