mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 05:25:15 +01:00 
			
		
		
		
	Replace #16455 Close #21803 Mixing different Gitea contexts together causes some problems: 1. Unable to respond proper content when error occurs, eg: Web should respond HTML while API should respond JSON 2. Unclear dependency, eg: it's unclear when Context is used in APIContext, which fields should be initialized, which methods are necessary. To make things clear, this PR introduces a Base context, it only provides basic Req/Resp/Data features. This PR mainly moves code. There are still many legacy problems and TODOs in code, leave unrelated changes to future PRs.
		
			
				
	
	
		
			76 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2014 The Gogs Authors. All rights reserved.
 | 
						|
// Copyright 2019 The Gitea Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package forms
 | 
						|
 | 
						|
import (
 | 
						|
	"net/http"
 | 
						|
 | 
						|
	"code.gitea.io/gitea/modules/context"
 | 
						|
	"code.gitea.io/gitea/modules/structs"
 | 
						|
	"code.gitea.io/gitea/modules/web/middleware"
 | 
						|
 | 
						|
	"gitea.com/go-chi/binding"
 | 
						|
)
 | 
						|
 | 
						|
// ________                            .__                __  .__
 | 
						|
// \_____  \_______  _________    ____ |__|____________ _/  |_|__| ____   ____
 | 
						|
//  /   |   \_  __ \/ ___\__  \  /    \|  \___   /\__  \\   __\  |/  _ \ /    \
 | 
						|
// /    |    \  | \/ /_/  > __ \|   |  \  |/    /  / __ \|  | |  (  <_> )   |  \
 | 
						|
// \_______  /__|  \___  (____  /___|  /__/_____ \(____  /__| |__|\____/|___|  /
 | 
						|
//         \/     /_____/     \/     \/         \/     \/                    \/
 | 
						|
 | 
						|
// CreateOrgForm form for creating organization
 | 
						|
type CreateOrgForm struct {
 | 
						|
	OrgName                   string `binding:"Required;Username;MaxSize(40)" locale:"org.org_name_holder"`
 | 
						|
	Visibility                structs.VisibleType
 | 
						|
	RepoAdminChangeTeamAccess bool
 | 
						|
}
 | 
						|
 | 
						|
// Validate validates the fields
 | 
						|
func (f *CreateOrgForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
 | 
						|
	ctx := context.GetValidateContext(req)
 | 
						|
	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
 | 
						|
}
 | 
						|
 | 
						|
// UpdateOrgSettingForm form for updating organization settings
 | 
						|
type UpdateOrgSettingForm struct {
 | 
						|
	Name                      string `binding:"Required;Username;MaxSize(40)" locale:"org.org_name_holder"`
 | 
						|
	FullName                  string `binding:"MaxSize(100)"`
 | 
						|
	Description               string `binding:"MaxSize(255)"`
 | 
						|
	Website                   string `binding:"ValidUrl;MaxSize(255)"`
 | 
						|
	Location                  string `binding:"MaxSize(50)"`
 | 
						|
	Visibility                structs.VisibleType
 | 
						|
	MaxRepoCreation           int
 | 
						|
	RepoAdminChangeTeamAccess bool
 | 
						|
}
 | 
						|
 | 
						|
// Validate validates the fields
 | 
						|
func (f *UpdateOrgSettingForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
 | 
						|
	ctx := context.GetValidateContext(req)
 | 
						|
	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
 | 
						|
}
 | 
						|
 | 
						|
// ___________
 | 
						|
// \__    ___/___ _____    _____
 | 
						|
//   |    |_/ __ \\__  \  /     \
 | 
						|
//   |    |\  ___/ / __ \|  Y Y  \
 | 
						|
//   |____| \___  >____  /__|_|  /
 | 
						|
//              \/     \/      \/
 | 
						|
 | 
						|
// CreateTeamForm form for creating team
 | 
						|
type CreateTeamForm struct {
 | 
						|
	TeamName         string `binding:"Required;AlphaDashDot;MaxSize(30)"`
 | 
						|
	Description      string `binding:"MaxSize(255)"`
 | 
						|
	Permission       string
 | 
						|
	RepoAccess       string
 | 
						|
	CanCreateOrgRepo bool
 | 
						|
}
 | 
						|
 | 
						|
// Validate validates the fields
 | 
						|
func (f *CreateTeamForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
 | 
						|
	ctx := context.GetValidateContext(req)
 | 
						|
	return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
 | 
						|
}
 |