diff --git a/models/cloudbrain_image.go b/models/cloudbrain_image.go index d9bd926d7..c3d86da09 100644 --- a/models/cloudbrain_image.go +++ b/models/cloudbrain_image.go @@ -30,7 +30,7 @@ type Image struct { IsStar bool `xorm:"-" json:"isStar"` UserName string `xorm:"-" json:"userName"` RelAvatarLink string `xorm:"-" json:"relAvatarLink"` - Status int `xorm:"NOT NULL DEFAULT 0" json:"status"` //0代表正在提交,1提交完成,2提交失败 + Status int `xorm:"INDEX NOT NULL DEFAULT 0" json:"status"` //0代表正在提交,1提交完成,2提交失败 CreatedUnix timeutil.TimeStamp `xorm:"INDEX created" json:"createdUnix"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated" json:"updatedUnix"` } @@ -60,6 +60,7 @@ type ImageTopicRelation struct { type SearchImageOptions struct { Keyword string UID int64 + Status int IncludePublicOnly bool IncludeOfficialOnly bool IncludePrivateOnly bool @@ -397,6 +398,9 @@ func SearchImageCondition(opts *SearchImageOptions) builder.Cond { if opts.IncludeOfficialOnly { cond = cond.And(builder.Eq{"type": RECOMMOND_TYPE}) } + if opts.Status >= 0 { + cond = cond.And(builder.Eq{"status": opts.Status}) + } if opts.IncludeStarByMe { diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 99ace9c43..544323010 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -978,6 +978,7 @@ func GetPublicImages(ctx *context.Context) { Topics: ctx.Query("topic"), IncludeOfficialOnly: ctx.QueryBool("recommend"), SearchOrderBy: "type desc, num_stars desc,id desc", + Status: models.IMAGE_STATUS_SUCCESS, } getImages(ctx, &opts) @@ -991,6 +992,7 @@ func GetCustomImages(ctx *context.Context) { IncludeOwnerOnly: true, Keyword: ctx.Query("q"), Topics: ctx.Query("topic"), + Status: -1, SearchOrderBy: "id desc", } getImages(ctx, &opts) @@ -1004,6 +1006,7 @@ func GetStarImages(ctx *context.Context) { IncludeStarByMe: true, Keyword: ctx.Query("q"), Topics: ctx.Query("topic"), + Status: models.IMAGE_STATUS_SUCCESS, SearchOrderBy: "id desc", } getImages(ctx, &opts) @@ -1025,6 +1028,7 @@ func GetAllImages(ctx *context.Context) { Keyword: ctx.Query("q"), Topics: ctx.Query("topic"), SearchOrderBy: "id desc", + Status: -1, } if ctx.Query("private") != "" {