auth

package
v1.13.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2020 License: MIT Imports: 14 Imported by: 631

Documentation

Index

Constants

View Source
const (
	AvatarLocal  string = "local"
	AvatarByMail string = "bymail"
)

Avatar types

Variables

This section is empty.

Functions

func AssignForm

func AssignForm(form interface{}, data map[string]interface{})

AssignForm assign form values back to the template data.

func GetInclude

func GetInclude(field reflect.StructField) string

GetInclude get include in form tag

func GetMaxSize

func GetMaxSize(field reflect.StructField) string

GetMaxSize get max size in form tag

func GetMinSize

func GetMinSize(field reflect.StructField) string

GetMinSize get minimal size in form tag

func GetSize

func GetSize(field reflect.StructField) string

GetSize get size int form tag

func IsAPIPath

func IsAPIPath(url string) bool

IsAPIPath if URL is an api path

func ParseRemoteAddr added in v1.13.0

func ParseRemoteAddr(remoteAddr, authUsername, authPassword string, user *models.User) (string, error)

ParseRemoteAddr checks if given remote address is valid, and returns composed URL with needed username and password. It also checks if given user has permission when remote address is actually a local path.

func SignedInUser

func SignedInUser(ctx *macaron.Context, sess session.Store) (*models.User, bool)

SignedInUser returns the user object of signed user. It returns a bool value to indicate whether user uses basic auth or not.

Types

type AccessTokenForm added in v1.8.0

type AccessTokenForm struct {
	GrantType    string `json:"grant_type"`
	ClientID     string `json:"client_id"`
	ClientSecret string `json:"client_secret"`
	RedirectURI  string `json:"redirect_uri"`
	Code         string `json:"code"`
	RefreshToken string `json:"refresh_token"`

	// PKCE support
	CodeVerifier string `json:"code_verifier"`
}

AccessTokenForm for issuing access tokens from authorization codes or refresh tokens

func (*AccessTokenForm) Validate added in v1.8.0

func (f *AccessTokenForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type AddEmailForm

type AddEmailForm struct {
	Email string `binding:"Required;Email;MaxSize(254)"`
}

AddEmailForm form for adding new email

func (*AddEmailForm) Validate

func (f *AddEmailForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type AddKeyForm added in v1.2.0

type AddKeyForm struct {
	Type       string `binding:"OmitEmpty"`
	Title      string `binding:"Required;MaxSize(50)"`
	Content    string `binding:"Required"`
	IsWritable bool
}

AddKeyForm form for adding SSH/GPG key

func (*AddKeyForm) Validate added in v1.2.0

func (f *AddKeyForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type AddOpenIDForm added in v1.2.0

type AddOpenIDForm struct {
	Openid string `binding:"Required;MaxSize(256)"`
}

AddOpenIDForm is for changing openid uri

func (*AddOpenIDForm) Validate added in v1.2.0

func (f *AddOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type AddTimeManuallyForm added in v1.3.0

type AddTimeManuallyForm struct {
	Hours   int `binding:"Range(0,1000)"`
	Minutes int `binding:"Range(0,1000)"`
}

AddTimeManuallyForm form that adds spent time manually.

func (*AddTimeManuallyForm) Validate added in v1.3.0

Validate validates the fields

type AdminCreateUserForm added in v1.0.0

type AdminCreateUserForm struct {
	LoginType          string `binding:"Required"`
	LoginName          string
	UserName           string `binding:"Required;AlphaDashDot;MaxSize(40)"`
	Email              string `binding:"Required;Email;MaxSize(254)"`
	Password           string `binding:"MaxSize(255)"`
	SendNotify         bool
	MustChangePassword bool
}

AdminCreateUserForm form for admin to create user

func (*AdminCreateUserForm) Validate added in v1.0.0

Validate validates form fields

type AdminDashboardForm added in v1.11.2

type AdminDashboardForm struct {
	Op   string `binding:"required"`
	From string
}

AdminDashboardForm form for admin dashboard operations

func (*AdminDashboardForm) Validate added in v1.11.2

func (f *AdminDashboardForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates form fields

type AdminEditUserForm

type AdminEditUserForm struct {
	LoginType               string `binding:"Required"`
	LoginName               string
	FullName                string `binding:"MaxSize(100)"`
	Email                   string `binding:"Required;Email;MaxSize(254)"`
	Password                string `binding:"MaxSize(255)"`
	Website                 string `binding:"ValidUrl;MaxSize(255)"`
	Location                string `binding:"MaxSize(50)"`
	MaxRepoCreation         int
	Active                  bool
	Admin                   bool
	Restricted              bool
	AllowGitHook            bool
	AllowImportLocal        bool
	AllowCreateOrganization bool
	ProhibitLogin           bool
}

AdminEditUserForm form for admin to create user

func (*AdminEditUserForm) Validate

func (f *AdminEditUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates form fields

type AuthenticationForm

type AuthenticationForm struct {
	ID                            int64
	Type                          int    `binding:"Range(2,7)"`
	Name                          string `binding:"Required;MaxSize(30)"`
	Host                          string
	Port                          int
	BindDN                        string
	BindPassword                  string
	UserBase                      string
	UserDN                        string
	AttributeUsername             string
	AttributeName                 string
	AttributeSurname              string
	AttributeMail                 string
	AttributeSSHPublicKey         string
	AttributesInBind              bool
	UsePagedSearch                bool
	SearchPageSize                int
	Filter                        string
	AdminFilter                   string
	GroupsEnabled                 bool
	GroupDN                       string
	GroupFilter                   string
	GroupMemberUID                string
	UserUID                       string
	RestrictedFilter              string
	AllowDeactivateAll            bool
	IsActive                      bool
	IsSyncEnabled                 bool
	SMTPAuth                      string
	SMTPHost                      string
	SMTPPort                      int
	AllowedDomains                string
	SecurityProtocol              int `binding:"Range(0,2)"`
	TLS                           bool
	SkipVerify                    bool
	PAMServiceName                string
	Oauth2Provider                string
	Oauth2Key                     string
	Oauth2Secret                  string
	OpenIDConnectAutoDiscoveryURL string
	Oauth2UseCustomURL            bool
	Oauth2TokenURL                string
	Oauth2AuthURL                 string
	Oauth2ProfileURL              string
	Oauth2EmailURL                string
	SSPIAutoCreateUsers           bool
	SSPIAutoActivateUsers         bool
	SSPIStripDomainNames          bool
	SSPISeparatorReplacement      string `binding:"AlphaDashDot;MaxSize(5)"`
	SSPIDefaultLanguage           string
}

AuthenticationForm form for authentication

func (*AuthenticationForm) Validate

func (f *AuthenticationForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates fields

type AuthorizationForm added in v1.8.0

type AuthorizationForm struct {
	ResponseType string `binding:"Required;In(code)"`
	ClientID     string `binding:"Required"`
	RedirectURI  string
	State        string

	// PKCE support
	CodeChallengeMethod string // S256, plain
	CodeChallenge       string
}

AuthorizationForm form for authorizing oauth2 clients

func (*AuthorizationForm) Validate added in v1.8.0

func (f *AuthorizationForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type AvatarForm

type AvatarForm struct {
	Source      string
	Avatar      *multipart.FileHeader
	Gravatar    string `binding:"OmitEmpty;Email;MaxSize(254)"`
	Federavatar bool
}

AvatarForm form for changing avatar

func (*AvatarForm) Validate

func (f *AvatarForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type ChangePasswordForm

type ChangePasswordForm struct {
	OldPassword string `form:"old_password" binding:"MaxSize(255)"`
	Password    string `form:"password" binding:"Required;MaxSize(255)"`
	Retype      string `form:"retype"`
}

ChangePasswordForm form for changing password

func (*ChangePasswordForm) Validate

func (f *ChangePasswordForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type CodeCommentForm added in v1.6.0

type CodeCommentForm struct {
	Content        string `binding:"Required"`
	Side           string `binding:"Required;In(previous,proposed)"`
	Line           int64
	TreePath       string `form:"path" binding:"Required"`
	IsReview       bool   `form:"is_review"`
	Reply          int64  `form:"reply"`
	LatestCommitID string
}

CodeCommentForm form for adding code comments for PRs

func (*CodeCommentForm) Validate added in v1.6.0

func (f *CodeCommentForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type ConnectOpenIDForm added in v1.2.0

type ConnectOpenIDForm struct {
	UserName string `binding:"Required;MaxSize(254)"`
	Password string `binding:"Required;MaxSize(255)"`
}

ConnectOpenIDForm form for connecting an existing account to an OpenID URI

func (*ConnectOpenIDForm) Validate added in v1.2.0

func (f *ConnectOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type CreateCommentForm

type CreateCommentForm struct {
	Content string
	Status  string `binding:"OmitEmpty;In(reopen,close)"`
	Files   []string
}

CreateCommentForm form for creating comment

func (*CreateCommentForm) Validate

func (f *CreateCommentForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type CreateIssueForm

type CreateIssueForm struct {
	Title       string `binding:"Required;MaxSize(255)"`
	LabelIDs    string `form:"label_ids"`
	AssigneeIDs string `form:"assignee_ids"`
	Ref         string `form:"ref"`
	MilestoneID int64
	ProjectID   int64
	AssigneeID  int64
	Content     string
	Files       []string
}

CreateIssueForm form for creating issue

func (*CreateIssueForm) Validate

func (f *CreateIssueForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type CreateLabelForm

type CreateLabelForm struct {
	ID          int64
	Title       string `binding:"Required;MaxSize(50)" locale:"repo.issues.label_title"`
	Description string `binding:"MaxSize(200)" locale:"repo.issues.label_description"`
	Color       string `binding:"Required;Size(7)" locale:"repo.issues.label_color"`
}

CreateLabelForm form for creating label

func (*CreateLabelForm) Validate

func (f *CreateLabelForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type CreateMilestoneForm

type CreateMilestoneForm struct {
	Title    string `binding:"Required;MaxSize(50)"`
	Content  string
	Deadline string
}

CreateMilestoneForm form for creating milestone

func (*CreateMilestoneForm) Validate

Validate validates the fields

type CreateOrgForm

type CreateOrgForm struct {
	OrgName                   string `binding:"Required;AlphaDashDot;MaxSize(40)" locale:"org.org_name_holder"`
	Visibility                structs.VisibleType
	RepoAdminChangeTeamAccess bool
}

CreateOrgForm form for creating organization

func (*CreateOrgForm) Validate

func (f *CreateOrgForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type CreateProjectForm added in v1.13.0

type CreateProjectForm struct {
	Title     string `binding:"Required;MaxSize(100)"`
	Content   string
	BoardType models.ProjectBoardType
}

CreateProjectForm form for creating a project

type CreateRepoForm

type CreateRepoForm struct {
	UID           int64  `binding:"Required"`
	RepoName      string `binding:"Required;AlphaDashDot;MaxSize(100)"`
	Private       bool
	Description   string `binding:"MaxSize(255)"`
	DefaultBranch string `binding:"GitRefName;MaxSize(100)"`
	AutoInit      bool
	Gitignores    string
	IssueLabels   string
	License       string
	Readme        string
	Template      bool

	RepoTemplate int64
	GitContent   bool
	Topics       bool
	GitHooks     bool
	Webhooks     bool
	Avatar       bool
	Labels       bool
	TrustModel   string
}

CreateRepoForm form for creating repository

func (*CreateRepoForm) Validate

func (f *CreateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type CreateTeamForm

type CreateTeamForm struct {
	TeamName         string `binding:"Required;AlphaDashDot;MaxSize(30)"`
	Description      string `binding:"MaxSize(255)"`
	Permission       string
	Units            []models.UnitType
	RepoAccess       string
	CanCreateOrgRepo bool
}

CreateTeamForm form for creating team

func (*CreateTeamForm) Validate

func (f *CreateTeamForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type DeadlineForm added in v1.5.0

type DeadlineForm struct {
	DateString string `form:"date" binding:"Required;Size(10)"`
}

DeadlineForm hold the validation rules for deadlines

func (*DeadlineForm) Validate added in v1.5.0

func (f *DeadlineForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type DeleteRepoFileForm

type DeleteRepoFileForm struct {
	CommitSummary string `binding:"MaxSize(100)"`
	CommitMessage string
	CommitChoice  string `binding:"Required;MaxSize(50)"`
	NewBranchName string `binding:"GitRefName;MaxSize(100)"`
	LastCommit    string
}

DeleteRepoFileForm form for deleting repository file

func (*DeleteRepoFileForm) Validate

func (f *DeleteRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type EditOAuth2ApplicationForm added in v1.8.0

type EditOAuth2ApplicationForm struct {
	Name        string `binding:"Required;MaxSize(255)" form:"application_name"`
	RedirectURI string `binding:"Required" form:"redirect_uri"`
}

EditOAuth2ApplicationForm form for editing oauth2 applications

func (*EditOAuth2ApplicationForm) Validate added in v1.8.0

Validate validates the fields

type EditPreviewDiffForm

type EditPreviewDiffForm struct {
	Content string
}

EditPreviewDiffForm form for changing preview diff

func (*EditPreviewDiffForm) Validate

Validate validates the fields

type EditProjectBoardTitleForm added in v1.13.0

type EditProjectBoardTitleForm struct {
	Title string `binding:"Required;MaxSize(100)"`
}

EditProjectBoardTitleForm is a form for editing the title of a project's board

type EditReleaseForm

type EditReleaseForm struct {
	Title      string `form:"title" binding:"Required;MaxSize(255)"`
	Content    string `form:"content"`
	Draft      string `form:"draft"`
	Prerelease bool   `form:"prerelease"`
	Files      []string
}

EditReleaseForm form for changing release

func (*EditReleaseForm) Validate

func (f *EditReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type EditRepoFileForm

type EditRepoFileForm struct {
	TreePath      string `binding:"Required;MaxSize(500)"`
	Content       string
	CommitSummary string `binding:"MaxSize(100)"`
	CommitMessage string
	CommitChoice  string `binding:"Required;MaxSize(50)"`
	NewBranchName string `binding:"GitRefName;MaxSize(100)"`
	LastCommit    string
}

EditRepoFileForm form for changing repository file

func (*EditRepoFileForm) Validate

func (f *EditRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type Form

type Form interface {
	binding.Validator
}

Form form binding interface

type GrantApplicationForm added in v1.8.0

type GrantApplicationForm struct {
	ClientID    string `binding:"Required"`
	RedirectURI string
	State       string
}

GrantApplicationForm form for authorizing oauth2 clients

func (*GrantApplicationForm) Validate added in v1.8.0

Validate validates the fields

type InitializeLabelsForm

type InitializeLabelsForm struct {
	TemplateName string `binding:"Required"`
}

InitializeLabelsForm form for initializing labels

func (*InitializeLabelsForm) Validate

Validate validates the fields

type InstallForm

type InstallForm struct {
	DbType   string `binding:"Required"`
	DbHost   string
	DbUser   string
	DbPasswd string
	DbName   string
	SSLMode  string
	Charset  string `binding:"Required;In(utf8,utf8mb4)"`
	DbPath   string
	DbSchema string

	AppName      string `binding:"Required" locale:"install.app_name"`
	RepoRootPath string `binding:"Required"`
	LFSRootPath  string
	RunUser      string `binding:"Required"`
	Domain       string `binding:"Required"`
	SSHPort      int
	HTTPPort     string `binding:"Required"`
	AppURL       string `binding:"Required"`
	LogRootPath  string `binding:"Required"`

	SMTPHost        string
	SMTPFrom        string
	SMTPUser        string `binding:"OmitEmpty;MaxSize(254)" locale:"install.mailer_user"`
	SMTPPasswd      string
	RegisterConfirm bool
	MailNotify      bool

	OfflineMode                    bool
	DisableGravatar                bool
	EnableFederatedAvatar          bool
	EnableOpenIDSignIn             bool
	EnableOpenIDSignUp             bool
	DisableRegistration            bool
	AllowOnlyExternalRegistration  bool
	EnableCaptcha                  bool
	RequireSignInView              bool
	DefaultKeepEmailPrivate        bool
	DefaultAllowCreateOrganization bool
	DefaultEnableTimetracking      bool
	NoReplyAddress                 string

	AdminName          string `binding:"OmitEmpty;AlphaDashDot;MaxSize(30)" locale:"install.admin_name"`
	AdminPasswd        string `binding:"OmitEmpty;MaxSize(255)" locale:"install.admin_password"`
	AdminConfirmPasswd string
	AdminEmail         string `binding:"OmitEmpty;MinSize(3);MaxSize(254);Include(@)" locale:"install.admin_email"`
}

InstallForm form for installation page

func (*InstallForm) Validate

func (f *InstallForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type IssueLockForm added in v1.8.0

type IssueLockForm struct {
	Reason string `binding:"Required"`
}

IssueLockForm form for locking an issue

func (IssueLockForm) HasValidReason added in v1.8.0

func (i IssueLockForm) HasValidReason() bool

HasValidReason checks to make sure that the reason submitted in the form matches any of the values in the config

func (*IssueLockForm) Validate added in v1.8.0

func (i *IssueLockForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type MergePullRequestForm added in v1.4.0

type MergePullRequestForm struct {
	// required: true
	// enum: merge,rebase,rebase-merge,squash
	Do                string `binding:"Required;In(merge,rebase,rebase-merge,squash)"`
	MergeTitleField   string
	MergeMessageField string
	ForceMerge        *bool `json:"force_merge,omitempty"`
}

MergePullRequestForm form for merging Pull Request swagger:model MergePullRequestOption

func (*MergePullRequestForm) Validate added in v1.4.0

Validate validates the fields

type MigrateRepoForm

type MigrateRepoForm struct {
	// required: true
	CloneAddr    string                 `json:"clone_addr" binding:"Required"`
	Service      structs.GitServiceType `json:"service"`
	AuthUsername string                 `json:"auth_username"`
	AuthPassword string                 `json:"auth_password"`
	AuthToken    string                 `json:"auth_token"`
	// required: true
	UID int64 `json:"uid" binding:"Required"`
	// required: true
	RepoName     string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"`
	Mirror       bool   `json:"mirror"`
	Private      bool   `json:"private"`
	Description  string `json:"description" binding:"MaxSize(255)"`
	Wiki         bool   `json:"wiki"`
	Milestones   bool   `json:"milestones"`
	Labels       bool   `json:"labels"`
	Issues       bool   `json:"issues"`
	PullRequests bool   `json:"pull_requests"`
	Releases     bool   `json:"releases"`
}

MigrateRepoForm form for migrating repository this is used to interact with web ui

func (*MigrateRepoForm) Validate

func (f *MigrateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type MustChangePasswordForm added in v1.6.0

type MustChangePasswordForm struct {
	Password string `binding:"Required;MaxSize(255)"`
	Retype   string
}

MustChangePasswordForm form for updating your password after account creation by an admin

func (*MustChangePasswordForm) Validate added in v1.6.0

Validate validates the fields

type NewAccessTokenForm

type NewAccessTokenForm struct {
	Name string `binding:"Required;MaxSize(255)"`
}

NewAccessTokenForm form for creating access token

func (*NewAccessTokenForm) Validate

func (f *NewAccessTokenForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewBranchForm added in v1.3.0

type NewBranchForm struct {
	NewBranchName string `binding:"Required;MaxSize(100);GitRefName"`
}

NewBranchForm form for creating a new branch

func (*NewBranchForm) Validate added in v1.3.0

func (f *NewBranchForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewDingtalkHookForm added in v1.4.0

type NewDingtalkHookForm struct {
	PayloadURL string `binding:"Required;ValidUrl"`
	WebhookForm
}

NewDingtalkHookForm form for creating dingtalk hook

func (*NewDingtalkHookForm) Validate added in v1.4.0

Validate validates the fields

type NewDiscordHookForm added in v1.3.0

type NewDiscordHookForm struct {
	PayloadURL string `binding:"Required;ValidUrl"`
	Username   string
	IconURL    string
	WebhookForm
}

NewDiscordHookForm form for creating discord hook

func (*NewDiscordHookForm) Validate added in v1.3.0

func (f *NewDiscordHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewFeishuHookForm added in v1.12.0

type NewFeishuHookForm struct {
	PayloadURL string `binding:"Required;ValidUrl"`
	WebhookForm
}

NewFeishuHookForm form for creating feishu hook

func (*NewFeishuHookForm) Validate added in v1.12.0

func (f *NewFeishuHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewGogshookForm added in v1.2.0

type NewGogshookForm struct {
	PayloadURL  string `binding:"Required;ValidUrl"`
	ContentType int    `binding:"Required"`
	Secret      string
	WebhookForm
}

NewGogshookForm form for creating gogs hook

func (*NewGogshookForm) Validate added in v1.2.0

func (f *NewGogshookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewMSTeamsHookForm added in v1.9.0

type NewMSTeamsHookForm struct {
	PayloadURL string `binding:"Required;ValidUrl"`
	WebhookForm
}

NewMSTeamsHookForm form for creating MS Teams hook

func (*NewMSTeamsHookForm) Validate added in v1.9.0

func (f *NewMSTeamsHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewMatrixHookForm added in v1.12.0

type NewMatrixHookForm struct {
	HomeserverURL string `binding:"Required;ValidUrl"`
	RoomID        string `binding:"Required"`
	AccessToken   string `binding:"Required"`
	MessageType   int
	WebhookForm
}

NewMatrixHookForm form for creating Matrix hook

func (*NewMatrixHookForm) Validate added in v1.12.0

func (f *NewMatrixHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewReleaseForm

type NewReleaseForm struct {
	TagName    string `binding:"Required;GitRefName;MaxSize(255)"`
	Target     string `form:"tag_target" binding:"Required;MaxSize(255)"`
	Title      string `binding:"Required;MaxSize(255)"`
	Content    string
	Draft      string
	Prerelease bool
	Files      []string
}

NewReleaseForm form for creating release

func (*NewReleaseForm) Validate

func (f *NewReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewSlackHookForm

type NewSlackHookForm struct {
	PayloadURL string `binding:"Required;ValidUrl"`
	Channel    string `binding:"Required"`
	Username   string
	IconURL    string
	Color      string
	WebhookForm
}

NewSlackHookForm form for creating slack hook

func (NewSlackHookForm) HasInvalidChannel added in v1.6.0

func (f NewSlackHookForm) HasInvalidChannel() bool

HasInvalidChannel validates the channel name is in the right format

func (*NewSlackHookForm) Validate

func (f *NewSlackHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewTelegramHookForm added in v1.9.0

type NewTelegramHookForm struct {
	BotToken string `binding:"Required"`
	ChatID   string `binding:"Required"`
	WebhookForm
}

NewTelegramHookForm form for creating telegram hook

func (*NewTelegramHookForm) Validate added in v1.9.0

Validate validates the fields

type NewWebhookForm

type NewWebhookForm struct {
	PayloadURL  string `binding:"Required;ValidUrl"`
	HTTPMethod  string `binding:"Required;In(POST,GET)"`
	ContentType int    `binding:"Required"`
	Secret      string
	WebhookForm
}

NewWebhookForm form for creating web hook

func (*NewWebhookForm) Validate

func (f *NewWebhookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type NewWikiForm

type NewWikiForm struct {
	Title   string `binding:"Required"`
	Content string `binding:"Required"`
	Message string
}

NewWikiForm form for creating wiki

func (*NewWikiForm) Validate

func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields FIXME: use code generation to generate this method.

type ProtectBranchForm added in v1.3.0

type ProtectBranchForm struct {
	Protected                bool
	EnablePush               string
	WhitelistUsers           string
	WhitelistTeams           string
	WhitelistDeployKeys      bool
	EnableMergeWhitelist     bool
	MergeWhitelistUsers      string
	MergeWhitelistTeams      string
	EnableStatusCheck        bool `xorm:"NOT NULL DEFAULT false"`
	StatusCheckContexts      []string
	RequiredApprovals        int64
	EnableApprovalsWhitelist bool
	ApprovalsWhitelistUsers  string
	ApprovalsWhitelistTeams  string
	BlockOnRejectedReviews   bool
	BlockOnOutdatedBranch    bool
	DismissStaleApprovals    bool
	RequireSignedCommits     bool
	ProtectedFilePatterns    string
}

ProtectBranchForm form for changing protected branch settings

func (*ProtectBranchForm) Validate added in v1.3.0

func (f *ProtectBranchForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type ReactionForm added in v1.4.0

type ReactionForm struct {
	Content string `binding:"Required"`
}

ReactionForm form for adding and removing reaction

func (*ReactionForm) Validate added in v1.4.0

func (f *ReactionForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type RegisterForm

type RegisterForm struct {
	UserName           string `binding:"Required;AlphaDashDot;MaxSize(40)"`
	Email              string `binding:"Required;Email;MaxSize(254)"`
	Password           string `binding:"MaxSize(255)"`
	Retype             string
	GRecaptchaResponse string `form:"g-recaptcha-response"`
	HcaptchaResponse   string `form:"h-captcha-response"`
}

RegisterForm form for registering

func (RegisterForm) IsEmailDomainWhitelisted added in v1.7.0

func (f RegisterForm) IsEmailDomainWhitelisted() bool

IsEmailDomainWhitelisted validates that the email address provided by the user matches what has been configured . If the domain whitelist from the config is empty, it marks the email as whitelisted

func (*RegisterForm) Validate

func (f *RegisterForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type RemoveUploadFileForm

type RemoveUploadFileForm struct {
	File string `binding:"Required;MaxSize(50)"`
}

RemoveUploadFileForm form for removing uploaded file

func (*RemoveUploadFileForm) Validate

Validate validates the fields

type RepoSettingForm

type RepoSettingForm struct {
	RepoName       string `binding:"Required;AlphaDashDot;MaxSize(100)"`
	Description    string `binding:"MaxSize(255)"`
	Website        string `binding:"ValidUrl;MaxSize(255)"`
	Interval       string
	MirrorAddress  string
	MirrorUsername string
	MirrorPassword string
	Private        bool
	Template       bool
	EnablePrune    bool

	// Advanced settings
	EnableWiki                       bool
	EnableExternalWiki               bool
	ExternalWikiURL                  string
	EnableIssues                     bool
	EnableExternalTracker            bool
	ExternalTrackerURL               string
	TrackerURLFormat                 string
	TrackerIssueStyle                string
	EnableProjects                   bool
	EnablePulls                      bool
	PullsIgnoreWhitespace            bool
	PullsAllowMerge                  bool
	PullsAllowRebase                 bool
	PullsAllowRebaseMerge            bool
	PullsAllowSquash                 bool
	EnableTimetracker                bool
	AllowOnlyContributorsToTrackTime bool
	EnableIssueDependencies          bool
	IsArchived                       bool

	// Signing Settings
	TrustModel string

	// Admin settings
	EnableHealthCheck                     bool
	EnableCloseIssuesViaCommitInAnyBranch bool
}

RepoSettingForm form for changing repository settings

func (*RepoSettingForm) Validate

func (f *RepoSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type SaveTopicForm added in v1.5.0

type SaveTopicForm struct {
	Topics []string `binding:"topics;Required;"`
}

SaveTopicForm form for save topics for repository

type SignInForm

type SignInForm struct {
	UserName string `binding:"Required;MaxSize(254)"`
	// TODO remove required from password for SecondFactorAuthentication
	Password string `binding:"Required;MaxSize(255)"`
	Remember bool
}

SignInForm form for signing in with user/password

func (*SignInForm) Validate

func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type SignInOpenIDForm added in v1.2.0

type SignInOpenIDForm struct {
	Openid   string `binding:"Required;MaxSize(256)"`
	Remember bool
}

SignInOpenIDForm form for signing in with OpenID

func (*SignInOpenIDForm) Validate added in v1.2.0

func (f *SignInOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type SignUpOpenIDForm added in v1.2.0

type SignUpOpenIDForm struct {
	UserName           string `binding:"Required;AlphaDashDot;MaxSize(40)"`
	Email              string `binding:"Required;Email;MaxSize(254)"`
	GRecaptchaResponse string `form:"g-recaptcha-response"`
	HcaptchaResponse   string `form:"h-captcha-response"`
}

SignUpOpenIDForm form for signin up with OpenID

func (*SignUpOpenIDForm) Validate added in v1.2.0

func (f *SignUpOpenIDForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type SubmitReviewForm added in v1.6.0

type SubmitReviewForm struct {
	Content  string
	Type     string `binding:"Required;In(approve,comment,reject)"`
	CommitID string
}

SubmitReviewForm for submitting a finished code review

func (SubmitReviewForm) HasEmptyContent added in v1.6.0

func (f SubmitReviewForm) HasEmptyContent() bool

HasEmptyContent checks if the content of the review form is empty.

func (SubmitReviewForm) ReviewType added in v1.6.0

func (f SubmitReviewForm) ReviewType() models.ReviewType

ReviewType will return the corresponding reviewtype for type

func (*SubmitReviewForm) Validate added in v1.6.0

func (f *SubmitReviewForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type TwoFactorAuthForm added in v1.1.0

type TwoFactorAuthForm struct {
	Passcode string `binding:"Required"`
}

TwoFactorAuthForm for logging in with 2FA token.

func (*TwoFactorAuthForm) Validate added in v1.1.0

func (f *TwoFactorAuthForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type TwoFactorScratchAuthForm added in v1.1.0

type TwoFactorScratchAuthForm struct {
	Token string `binding:"Required"`
}

TwoFactorScratchAuthForm for logging in with 2FA scratch token.

func (*TwoFactorScratchAuthForm) Validate added in v1.1.0

Validate validates the fields

type U2FDeleteForm added in v1.5.0

type U2FDeleteForm struct {
	ID int64 `binding:"Required"`
}

U2FDeleteForm for deleting U2F keys

func (*U2FDeleteForm) Validate added in v1.5.0

func (f *U2FDeleteForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type U2FRegistrationForm added in v1.5.0

type U2FRegistrationForm struct {
	Name string `binding:"Required"`
}

U2FRegistrationForm for reserving an U2F name

func (*U2FRegistrationForm) Validate added in v1.5.0

Validate validates the fields

type UpdateOrgSettingForm

type UpdateOrgSettingForm struct {
	Name                      string `binding:"Required;AlphaDashDot;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
}

UpdateOrgSettingForm form for updating organization settings

func (*UpdateOrgSettingForm) Validate

Validate validates the fields

type UpdateProfileForm

type UpdateProfileForm struct {
	Name                string `binding:"AlphaDashDot;MaxSize(40)"`
	FullName            string `binding:"MaxSize(100)"`
	Email               string `binding:"Required;Email;MaxSize(254)"`
	KeepEmailPrivate    bool
	Website             string `binding:"ValidUrl;MaxSize(255)"`
	Location            string `binding:"MaxSize(50)"`
	Language            string `binding:"Size(5)"`
	Description         string `binding:"MaxSize(255)"`
	KeepActivityPrivate bool
}

UpdateProfileForm form for updating profile

func (*UpdateProfileForm) Validate

func (f *UpdateProfileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type UpdateThemeForm added in v1.8.0

type UpdateThemeForm struct {
	Theme string `binding:"Required;MaxSize(30)"`
}

UpdateThemeForm form for updating a users' theme

func (UpdateThemeForm) IsThemeExists added in v1.8.0

func (f UpdateThemeForm) IsThemeExists() bool

IsThemeExists checks if the theme is a theme available in the config.

func (*UpdateThemeForm) Validate added in v1.8.0

func (f *UpdateThemeForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the field

type UploadRepoFileForm

type UploadRepoFileForm struct {
	TreePath      string `binding:"MaxSize(500)"`
	CommitSummary string `binding:"MaxSize(100)"`
	CommitMessage string
	CommitChoice  string `binding:"Required;MaxSize(50)"`
	NewBranchName string `binding:"GitRefName;MaxSize(100)"`
	Files         []string
}

UploadRepoFileForm form for uploading repository file

func (*UploadRepoFileForm) Validate

func (f *UploadRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors

Validate validates the fields

type UserCreateProjectForm added in v1.13.0

type UserCreateProjectForm struct {
	Title     string `binding:"Required;MaxSize(100)"`
	Content   string
	BoardType models.ProjectBoardType
	UID       int64 `binding:"Required"`
}

UserCreateProjectForm is a from for creating an individual or organization form.

type WebhookForm

type WebhookForm struct {
	Events               string
	Create               bool
	Delete               bool
	Fork                 bool
	Issues               bool
	IssueAssign          bool
	IssueLabel           bool
	IssueMilestone       bool
	IssueComment         bool
	Release              bool
	Push                 bool
	PullRequest          bool
	PullRequestAssign    bool
	PullRequestLabel     bool
	PullRequestMilestone bool
	PullRequestComment   bool
	PullRequestReview    bool
	PullRequestSync      bool
	Repository           bool
	Active               bool
	BranchFilter         string `binding:"GlobPattern"`
}

WebhookForm form for changing web hook

func (WebhookForm) ChooseEvents

func (f WebhookForm) ChooseEvents() bool

ChooseEvents if the hook will be triggered choose events

func (WebhookForm) PushOnly

func (f WebhookForm) PushOnly() bool

PushOnly if the hook will be triggered when push

func (WebhookForm) SendEverything

func (f WebhookForm) SendEverything() bool

SendEverything if the hook will be triggered any event

Directories

Path Synopsis
Package ldap provide functions & structure to query a LDAP ldap directory For now, it's mainly tested again an MS Active Directory service, see README.md for more information
Package ldap provide functions & structure to query a LDAP ldap directory For now, it's mainly tested again an MS Active Directory service, see README.md for more information

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL