Documentation ¶
Index ¶
- Variables
- func APIContexter() macaron.Handler
- func ComposeGoGetImport(owner, repo string) string
- func Contexter() macaron.Handler
- func EarlyResponseForGoGetMeta(ctx *Context)
- func GitHookService() macaron.Handler
- func HandleOrgAssignment(ctx *Context, args ...bool)
- func OrgAssignment(args ...bool) macaron.Handler
- func Recovery() macaron.Handler
- func RedirectToRepo(ctx *Context, redirectRepoID int64)
- func ReferencesGitRepo(allowEmpty bool) macaron.Handler
- func RepoAssignment() macaron.Handler
- func RepoIDAssignment() macaron.Handler
- func RepoMustNotBeArchived() macaron.Handler
- func RepoRef() macaron.Handler
- func RepoRefByType(refType RepoRefType) macaron.Handler
- func RepoRefForAPI() macaron.Handler
- func RequireRepoAdmin() macaron.Handler
- func RequireRepoReader(unitType models.UnitType) macaron.Handler
- func RequireRepoReaderOr(unitTypes ...models.UnitType) macaron.Handler
- func RequireRepoWriter(unitType models.UnitType) macaron.Handler
- func RequireRepoWriterOr(unitTypes ...models.UnitType) macaron.Handler
- func RetrieveBaseRepo(ctx *Context, repo *models.Repository)
- func RetrieveTemplateRepo(ctx *Context, repo *models.Repository)
- func Toggle(options *ToggleOptions) macaron.Handler
- func UnitTypes() macaron.Handler
- type APIContext
- func (ctx *APIContext) CheckForOTP()
- func (ctx *APIContext) Error(status int, title string, obj interface{})
- func (ctx *APIContext) InternalServerError(err error)
- func (ctx *APIContext) NotFound(objs ...interface{})
- func (ctx *APIContext) RequireCSRF()
- func (ctx *APIContext) SetLinkHeader(total, pageSize int)
- type APIEmpty
- type APIError
- type APIForbiddenError
- type APIInvalidTopicsError
- type APINotFound
- type APIOrganization
- type APIRedirect
- type APIString
- type APIValidationError
- type CanCommitToBranchResults
- type Context
- func (ctx *Context) GetErrMsg() string
- func (ctx *Context) HTML(status int, name base.TplName)
- func (ctx *Context) HandleText(status int, title string)
- func (ctx *Context) HasAPIError() bool
- func (ctx *Context) HasError() bool
- func (ctx *Context) HasValue(name string) bool
- func (ctx *Context) IsUserRepoAdmin() bool
- func (ctx *Context) IsUserRepoOwner() bool
- func (ctx *Context) IsUserRepoReaderAny() bool
- func (ctx *Context) IsUserRepoReaderSpecific(unitType models.UnitType) bool
- func (ctx *Context) IsUserRepoWriter(unitTypes []models.UnitType) bool
- func (ctx *Context) IsUserSiteAdmin() bool
- func (ctx *Context) IssueTemplatesFromDefaultBranch() []api.IssueTemplate
- func (ctx *Context) NotFound(title string, err error)
- func (ctx *Context) NotFoundOrServerError(title string, errck func(error) bool, err error)
- func (ctx *Context) RedirectToFirst(location ...string)
- func (ctx *Context) RenderWithErr(msg string, tpl base.TplName, form interface{})
- func (ctx *Context) ServeContent(name string, r io.ReadSeeker, params ...interface{})
- func (ctx *Context) ServerError(title string, err error)
- type Organization
- type Pagination
- type PullRequest
- type RepoRefType
- type Repository
- func (r *Repository) BranchNameSubURL() string
- func (r *Repository) CanCommitToBranch(doer *models.User) (CanCommitToBranchResults, error)
- func (r *Repository) CanCreateBranch() bool
- func (r *Repository) CanCreateIssueDependencies(user *models.User, isPull bool) bool
- func (r *Repository) CanEnableEditor() bool
- func (r *Repository) CanUseTimetracker(issue *models.Issue, user *models.User) bool
- func (r *Repository) FileExists(path string, branch string) (bool, error)
- func (r *Repository) GetCommitsCount() (int64, error)
- func (r *Repository) GetEditorconfig() (*editorconfig.Editorconfig, error)
- type ToggleOptions
Constants ¶
This section is empty.
Variables ¶
var IssueTemplateDirCandidates = []string{
"ISSUE_TEMPLATE",
"issue_template",
".gitea/ISSUE_TEMPLATE",
".gitea/issue_template",
".github/ISSUE_TEMPLATE",
".github/issue_template",
".gitlab/ISSUE_TEMPLATE",
".gitlab/issue_template",
}
IssueTemplateDirCandidates issue templates directory
Functions ¶
func APIContexter ¶
APIContexter returns apicontext as macaron middleware
func ComposeGoGetImport ¶ added in v1.2.0
ComposeGoGetImport returns go-get-import meta content.
func EarlyResponseForGoGetMeta ¶ added in v1.2.0
func EarlyResponseForGoGetMeta(ctx *Context)
EarlyResponseForGoGetMeta responses appropriate go-get meta with status 200 if user does not have actual access to the requested repository, or the owner or repository does not exist at all. This is particular a workaround for "go get" command which does not respect .netrc file.
func GitHookService ¶
GitHookService checks if repository Git hooks service has been enabled.
func HandleOrgAssignment ¶
HandleOrgAssignment handles organization assignment
func OrgAssignment ¶
OrgAssignment returns a macaron middleware to handle organization assignment
func Recovery ¶ added in v1.8.0
Recovery returns a middleware that recovers from any panics and writes a 500 and a log if so. Although similar to macaron.Recovery() the main difference is that this error will be created with the gitea 500 page.
func RedirectToRepo ¶ added in v1.1.0
RedirectToRepo redirect to a differently-named repository
func ReferencesGitRepo ¶ added in v1.0.0
ReferencesGitRepo injects the GitRepo into the Context
func RepoAssignment ¶
RepoAssignment returns a macaron to handle repository assignment
func RepoIDAssignment ¶ added in v1.2.0
RepoIDAssignment returns a macaron handler which assigns the repo to the context.
func RepoMustNotBeArchived ¶ added in v1.8.0
RepoMustNotBeArchived checks if a repo is archived
func RepoRefByType ¶ added in v1.3.0
func RepoRefByType(refType RepoRefType) macaron.Handler
RepoRefByType handles repository reference name for a specific type of repository reference
func RepoRefForAPI ¶ added in v1.12.6
RepoRefForAPI handles repository reference names when the ref name is not explicitly given
func RequireRepoAdmin ¶
RequireRepoAdmin returns a macaron middleware for requiring repository admin permission
func RequireRepoReader ¶ added in v1.7.0
RequireRepoReader returns a macaron middleware for requiring repository read to the specify unitType
func RequireRepoReaderOr ¶ added in v1.7.0
RequireRepoReaderOr returns a macaron middleware for requiring repository write to one of the unit permission
func RequireRepoWriter ¶
RequireRepoWriter returns a macaron middleware for requiring repository write to the specify unitType
func RequireRepoWriterOr ¶ added in v1.7.0
RequireRepoWriterOr returns a macaron middleware for requiring repository write to one of the unit permission
func RetrieveBaseRepo ¶
func RetrieveBaseRepo(ctx *Context, repo *models.Repository)
RetrieveBaseRepo retrieves base repository
func RetrieveTemplateRepo ¶ added in v1.11.0
func RetrieveTemplateRepo(ctx *Context, repo *models.Repository)
RetrieveTemplateRepo retrieves template repository used to generate this repository
func Toggle ¶
func Toggle(options *ToggleOptions) macaron.Handler
Toggle returns toggle options as middleware
Types ¶
type APIContext ¶
type APIContext struct { *Context Org *APIOrganization }
APIContext is a specific macaron context for API service
func (*APIContext) CheckForOTP ¶ added in v1.8.0
func (ctx *APIContext) CheckForOTP()
CheckForOTP validates OTP
func (*APIContext) Error ¶
func (ctx *APIContext) Error(status int, title string, obj interface{})
Error responds with an error message to client with given obj as the message. If status is 500, also it prints error to log.
func (*APIContext) InternalServerError ¶ added in v1.11.6
func (ctx *APIContext) InternalServerError(err error)
InternalServerError responds with an error message to the client with the error as a message and the file and line of the caller.
func (*APIContext) NotFound ¶ added in v1.9.0
func (ctx *APIContext) NotFound(objs ...interface{})
NotFound handles 404s for APIContext String will replace message, errors will be added to a slice
func (*APIContext) RequireCSRF ¶ added in v1.6.0
func (ctx *APIContext) RequireCSRF()
RequireCSRF requires a validated a CSRF token
func (*APIContext) SetLinkHeader ¶
func (ctx *APIContext) SetLinkHeader(total, pageSize int)
SetLinkHeader sets pagination link header by given total number and page size.
type APIEmpty ¶ added in v1.2.0
type APIEmpty struct{}
APIEmpty is an empty response swagger:response empty
type APIForbiddenError ¶ added in v1.2.0
type APIForbiddenError struct {
APIError
}
APIForbiddenError is a forbidden error response swagger:response forbidden
type APIInvalidTopicsError ¶ added in v1.11.0
type APIInvalidTopicsError struct { Topics []string `json:"invalidTopics"` Message string `json:"message"` }
APIInvalidTopicsError is error format response to invalid topics swagger:response invalidTopicsError
type APINotFound ¶ added in v1.2.0
type APINotFound struct{}
APINotFound is a not found empty response swagger:response notFound
type APIOrganization ¶
APIOrganization contains organization and team
type APIRedirect ¶ added in v1.2.0
type APIRedirect struct{}
APIRedirect is a redirect response swagger:response redirect
type APIString ¶ added in v1.13.0
type APIString string
APIString is a string response swagger:response string
type APIValidationError ¶ added in v1.2.0
APIValidationError is error format response related to input validation swagger:response validationError
type CanCommitToBranchResults ¶ added in v1.12.0
type CanCommitToBranchResults struct { CanCommitToBranch bool EditorEnabled bool UserCanPush bool RequireSigned bool WillSign bool SigningKey string WontSignReason string }
CanCommitToBranchResults represents the results of CanCommitToBranch
type Context ¶
type Context struct { *macaron.Context Cache cache.Cache Flash *session.Flash Session session.Store Link string // current request URL EscapedLink string User *models.User IsSigned bool IsBasicAuth bool Repo *Repository Org *Organization // contains filtered or unexported fields }
Context represents context of a request.
func (*Context) HandleText ¶
HandleText handles HTTP status code
func (*Context) HasAPIError ¶ added in v1.0.0
HasAPIError returns true if error occurs in form validation.
func (*Context) IsUserRepoAdmin ¶ added in v1.9.0
IsUserRepoAdmin returns true if current user is admin in current repo
func (*Context) IsUserRepoOwner ¶ added in v1.9.0
IsUserRepoOwner returns true if current user owns current repo
func (*Context) IsUserRepoReaderAny ¶ added in v1.9.0
IsUserRepoReaderAny returns true if current user can read any part of current repo
func (*Context) IsUserRepoReaderSpecific ¶ added in v1.9.0
IsUserRepoReaderSpecific returns true if current user can read current repo's specific part
func (*Context) IsUserRepoWriter ¶ added in v1.9.0
IsUserRepoWriter returns true if current user has write privilege in current repo
func (*Context) IsUserSiteAdmin ¶ added in v1.9.0
IsUserSiteAdmin returns true if current user is a site admin
func (*Context) IssueTemplatesFromDefaultBranch ¶ added in v1.13.0
func (ctx *Context) IssueTemplatesFromDefaultBranch() []api.IssueTemplate
IssueTemplatesFromDefaultBranch checks for issue templates in the repo's default branch
func (*Context) NotFound ¶ added in v1.4.0
NotFound displays a 404 (Not Found) page and prints the given error, if any.
func (*Context) NotFoundOrServerError ¶
NotFoundOrServerError use error check function to determine if the error is about not found. It responses with 404 status code for not found error, or error context description for logging purpose of 500 server error.
func (*Context) RedirectToFirst ¶ added in v1.4.0
RedirectToFirst redirects to first not empty URL
func (*Context) RenderWithErr ¶
RenderWithErr used for page has form validation but need to prompt error to users.
func (*Context) ServeContent ¶
func (ctx *Context) ServeContent(name string, r io.ReadSeeker, params ...interface{})
ServeContent serves content to http request
func (*Context) ServerError ¶ added in v1.4.0
ServerError displays a 500 (Internal Server Error) page and prints the given error, if any.
type Organization ¶
type Organization struct { IsOwner bool IsMember bool IsTeamMember bool // Is member of team. IsTeamAdmin bool // In owner team or team that has admin permission level. Organization *models.User OrgLink string CanCreateOrgRepo bool Team *models.Team }
Organization contains organization context
type Pagination ¶ added in v1.9.0
Pagination provides a pagination via Paginater and additional configurations for the link params used in rendering
func NewPagination ¶ added in v1.9.0
func NewPagination(total int, page int, issueNum int, numPages int) *Pagination
NewPagination creates a new instance of the Pagination struct
func (*Pagination) AddParam ¶ added in v1.9.0
func (p *Pagination) AddParam(ctx *Context, paramKey string, ctxKey string)
AddParam adds a value from context identified by ctxKey as link param under a given paramKey
func (*Pagination) GetParams ¶ added in v1.9.0
func (p *Pagination) GetParams() template.URL
GetParams returns the configured URL params
func (*Pagination) SetDefaultParams ¶ added in v1.9.0
func (p *Pagination) SetDefaultParams(ctx *Context)
SetDefaultParams sets common pagination params that are often used
type PullRequest ¶
type PullRequest struct { BaseRepo *models.Repository Allowed bool SameRepo bool HeadInfo string // [<user>:]<branch> }
PullRequest contains informations to make a pull request
type RepoRefType ¶ added in v1.3.0
type RepoRefType int
RepoRefType type of repo reference
const ( // RepoRefLegacy unknown type, make educated guess and redirect. // for backward compatibility with previous URL scheme RepoRefLegacy RepoRefType = iota // RepoRefAny is for usage where educated guess is needed // but redirect can not be made RepoRefAny // RepoRefBranch branch RepoRefBranch // RepoRefTag tag RepoRefTag // RepoRefCommit commit RepoRefCommit // RepoRefBlob blob RepoRefBlob )
func (RepoRefType) RefTypeIncludesBranches ¶ added in v1.11.0
func (rt RepoRefType) RefTypeIncludesBranches() bool
RefTypeIncludesBranches returns true if ref type can be a branch
func (RepoRefType) RefTypeIncludesTags ¶ added in v1.11.0
func (rt RepoRefType) RefTypeIncludesTags() bool
RefTypeIncludesTags returns true if ref type can be a tag
type Repository ¶
type Repository struct { models.Permission IsWatching bool IsViewBranch bool IsViewTag bool IsViewCommit bool Repository *models.Repository Owner *models.User Commit *git.Commit Tag *git.Tag GitRepo *git.Repository BranchName string TagName string TreePath string CommitID string RepoLink string CloneLink models.CloneLink CommitsCount int64 Mirror *models.Mirror PullRequest *PullRequest }
Repository contains information to operate a repository
func (*Repository) BranchNameSubURL ¶ added in v1.3.0
func (r *Repository) BranchNameSubURL() string
BranchNameSubURL sub-URL for the BranchName field
func (*Repository) CanCommitToBranch ¶ added in v1.2.0
func (r *Repository) CanCommitToBranch(doer *models.User) (CanCommitToBranchResults, error)
CanCommitToBranch returns true if repository is editable and user has proper access level
and branch is not protected for push
func (*Repository) CanCreateBranch ¶ added in v1.3.0
func (r *Repository) CanCreateBranch() bool
CanCreateBranch returns true if repository is editable and user has proper access level.
func (*Repository) CanCreateIssueDependencies ¶ added in v1.6.0
func (r *Repository) CanCreateIssueDependencies(user *models.User, isPull bool) bool
CanCreateIssueDependencies returns whether or not a user can create dependencies.
func (*Repository) CanEnableEditor ¶
func (r *Repository) CanEnableEditor() bool
CanEnableEditor returns true if repository is editable and user has proper access level.
func (*Repository) CanUseTimetracker ¶ added in v1.3.0
CanUseTimetracker returns whether or not a user can use the timetracker.
func (*Repository) FileExists ¶ added in v1.9.0
func (r *Repository) FileExists(path string, branch string) (bool, error)
FileExists returns true if a file exists in the given repo branch
func (*Repository) GetCommitsCount ¶ added in v1.3.0
func (r *Repository) GetCommitsCount() (int64, error)
GetCommitsCount returns cached commit count for current view
func (*Repository) GetEditorconfig ¶
func (r *Repository) GetEditorconfig() (*editorconfig.Editorconfig, error)
GetEditorconfig returns the .editorconfig definition if found in the HEAD of the default repo branch.