mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Let ctx.FormOptionalBool() return optional.Option[bool] (#29461)
just some refactoring bits towards replacing **util.OptionalBool** with **optional.Option[bool]**
This commit is contained in:
		| @@ -15,6 +15,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/models/db" | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| 	"code.gitea.io/gitea/modules/container" | ||||
| 	"code.gitea.io/gitea/modules/optional" | ||||
| 	"code.gitea.io/gitea/modules/structs" | ||||
| 	"code.gitea.io/gitea/modules/timeutil" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| @@ -228,10 +229,10 @@ type FindReleasesOptions struct { | ||||
| 	RepoID        int64 | ||||
| 	IncludeDrafts bool | ||||
| 	IncludeTags   bool | ||||
| 	IsPreRelease  util.OptionalBool | ||||
| 	IsDraft       util.OptionalBool | ||||
| 	IsPreRelease  optional.Option[bool] | ||||
| 	IsDraft       optional.Option[bool] | ||||
| 	TagNames      []string | ||||
| 	HasSha1       util.OptionalBool // useful to find draft releases which are created with existing tags | ||||
| 	HasSha1       optional.Option[bool] // useful to find draft releases which are created with existing tags | ||||
| } | ||||
|  | ||||
| func (opts FindReleasesOptions) ToConds() builder.Cond { | ||||
| @@ -246,14 +247,14 @@ func (opts FindReleasesOptions) ToConds() builder.Cond { | ||||
| 	if len(opts.TagNames) > 0 { | ||||
| 		cond = cond.And(builder.In("tag_name", opts.TagNames)) | ||||
| 	} | ||||
| 	if !opts.IsPreRelease.IsNone() { | ||||
| 		cond = cond.And(builder.Eq{"is_prerelease": opts.IsPreRelease.IsTrue()}) | ||||
| 	if opts.IsPreRelease.Has() { | ||||
| 		cond = cond.And(builder.Eq{"is_prerelease": opts.IsPreRelease.Value()}) | ||||
| 	} | ||||
| 	if !opts.IsDraft.IsNone() { | ||||
| 		cond = cond.And(builder.Eq{"is_draft": opts.IsDraft.IsTrue()}) | ||||
| 	if opts.IsDraft.Has() { | ||||
| 		cond = cond.And(builder.Eq{"is_draft": opts.IsDraft.Value()}) | ||||
| 	} | ||||
| 	if !opts.HasSha1.IsNone() { | ||||
| 		if opts.HasSha1.IsTrue() { | ||||
| 	if opts.HasSha1.Has() { | ||||
| 		if opts.HasSha1.Value() { | ||||
| 			cond = cond.And(builder.Neq{"sha1": ""}) | ||||
| 		} else { | ||||
| 			cond = cond.And(builder.Eq{"sha1": ""}) | ||||
| @@ -275,7 +276,7 @@ func GetTagNamesByRepoID(ctx context.Context, repoID int64) ([]string, error) { | ||||
| 		ListOptions:   listOptions, | ||||
| 		IncludeDrafts: true, | ||||
| 		IncludeTags:   true, | ||||
| 		HasSha1:       util.OptionalBoolTrue, | ||||
| 		HasSha1:       optional.Some(true), | ||||
| 		RepoID:        repoID, | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -21,6 +21,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| 	"code.gitea.io/gitea/modules/markup" | ||||
| 	"code.gitea.io/gitea/modules/markup/markdown" | ||||
| 	"code.gitea.io/gitea/modules/optional" | ||||
| 	"code.gitea.io/gitea/modules/setting" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| 	"code.gitea.io/gitea/modules/web" | ||||
| @@ -223,7 +224,7 @@ func TagsList(ctx *context.Context) { | ||||
| 		// the drafts should also be included because a real tag might be used as a draft. | ||||
| 		IncludeDrafts: true, | ||||
| 		IncludeTags:   true, | ||||
| 		HasSha1:       util.OptionalBoolTrue, | ||||
| 		HasSha1:       optional.Some(true), | ||||
| 		RepoID:        ctx.Repo.Repository.ID, | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -8,6 +8,7 @@ import ( | ||||
|  | ||||
| 	"code.gitea.io/gitea/models/db" | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| 	"code.gitea.io/gitea/services/context" | ||||
| 	"code.gitea.io/gitea/services/convert" | ||||
| ) | ||||
| @@ -24,7 +25,7 @@ func Search(ctx *context.Context) { | ||||
| 		Keyword:     ctx.FormTrim("q"), | ||||
| 		UID:         ctx.FormInt64("uid"), | ||||
| 		Type:        user_model.UserTypeIndividual, | ||||
| 		IsActive:    ctx.FormOptionalBool("active"), | ||||
| 		IsActive:    util.OptionalBoolFromGeneric(ctx.FormOptionalBool("active")), | ||||
| 		ListOptions: listOptions, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
|   | ||||
| @@ -17,8 +17,8 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/httplib" | ||||
| 	"code.gitea.io/gitea/modules/json" | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| 	"code.gitea.io/gitea/modules/optional" | ||||
| 	"code.gitea.io/gitea/modules/translation" | ||||
| 	"code.gitea.io/gitea/modules/util" | ||||
| 	"code.gitea.io/gitea/modules/web/middleware" | ||||
|  | ||||
| 	"github.com/go-chi/chi/v5" | ||||
| @@ -207,17 +207,17 @@ func (b *Base) FormBool(key string) bool { | ||||
| 	return v | ||||
| } | ||||
|  | ||||
| // FormOptionalBool returns an OptionalBoolTrue or OptionalBoolFalse if the value | ||||
| // for the provided key exists in the form else it returns OptionalBoolNone | ||||
| func (b *Base) FormOptionalBool(key string) util.OptionalBool { | ||||
| // FormOptionalBool returns an optional.Some(true) or optional.Some(false) if the value | ||||
| // for the provided key exists in the form else it returns optional.None[bool]() | ||||
| func (b *Base) FormOptionalBool(key string) optional.Option[bool] { | ||||
| 	value := b.Req.FormValue(key) | ||||
| 	if len(value) == 0 { | ||||
| 		return util.OptionalBoolNone | ||||
| 		return optional.None[bool]() | ||||
| 	} | ||||
| 	s := b.Req.FormValue(key) | ||||
| 	v, _ := strconv.ParseBool(s) | ||||
| 	v = v || strings.EqualFold(s, "on") | ||||
| 	return util.OptionalBoolOf(v) | ||||
| 	return optional.Some(v) | ||||
| } | ||||
|  | ||||
| func (b *Base) SetFormString(key, value string) { | ||||
|   | ||||
| @@ -546,7 +546,7 @@ func RepoAssignment(ctx *Context) context.CancelFunc { | ||||
| 	ctx.Data["NumTags"], err = db.Count[repo_model.Release](ctx, repo_model.FindReleasesOptions{ | ||||
| 		IncludeDrafts: true, | ||||
| 		IncludeTags:   true, | ||||
| 		HasSha1:       util.OptionalBoolTrue, // only draft releases which are created with existing tags | ||||
| 		HasSha1:       optional.Some(true), // only draft releases which are created with existing tags | ||||
| 		RepoID:        ctx.Repo.Repository.ID, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user