context

package
v1.13.1 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2020 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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

func APIContexter() macaron.Handler

APIContexter returns apicontext as macaron middleware

func ComposeGoGetImport added in v1.2.0

func ComposeGoGetImport(owner, repo string) string

ComposeGoGetImport returns go-get-import meta content.

func Contexter

func Contexter() macaron.Handler

Contexter initializes a classic context for a request.

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

func GitHookService() macaron.Handler

GitHookService checks if repository Git hooks service has been enabled.

func HandleOrgAssignment

func HandleOrgAssignment(ctx *Context, args ...bool)

HandleOrgAssignment handles organization assignment

func OrgAssignment

func OrgAssignment(args ...bool) macaron.Handler

OrgAssignment returns a macaron middleware to handle organization assignment

func Recovery added in v1.8.0

func Recovery() macaron.Handler

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

func RedirectToRepo(ctx *Context, redirectRepoID int64)

RedirectToRepo redirect to a differently-named repository

func ReferencesGitRepo added in v1.0.0

func ReferencesGitRepo(allowEmpty bool) macaron.Handler

ReferencesGitRepo injects the GitRepo into the Context

func RepoAssignment

func RepoAssignment() macaron.Handler

RepoAssignment returns a macaron to handle repository assignment

func RepoIDAssignment added in v1.2.0

func RepoIDAssignment() macaron.Handler

RepoIDAssignment returns a macaron handler which assigns the repo to the context.

func RepoMustNotBeArchived added in v1.8.0

func RepoMustNotBeArchived() macaron.Handler

RepoMustNotBeArchived checks if a repo is archived

func RepoRef

func RepoRef() macaron.Handler

RepoRef handles repository reference names when the ref name is not explicitly given

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

func RepoRefForAPI() macaron.Handler

RepoRefForAPI handles repository reference names when the ref name is not explicitly given

func RequireRepoAdmin

func RequireRepoAdmin() macaron.Handler

RequireRepoAdmin returns a macaron middleware for requiring repository admin permission

func RequireRepoReader added in v1.7.0

func RequireRepoReader(unitType models.UnitType) macaron.Handler

RequireRepoReader returns a macaron middleware for requiring repository read to the specify unitType

func RequireRepoReaderOr added in v1.7.0

func RequireRepoReaderOr(unitTypes ...models.UnitType) macaron.Handler

RequireRepoReaderOr returns a macaron middleware for requiring repository write to one of the unit permission

func RequireRepoWriter

func RequireRepoWriter(unitType models.UnitType) macaron.Handler

RequireRepoWriter returns a macaron middleware for requiring repository write to the specify unitType

func RequireRepoWriterOr added in v1.7.0

func RequireRepoWriterOr(unitTypes ...models.UnitType) macaron.Handler

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

func UnitTypes added in v1.1.0

func UnitTypes() macaron.Handler

UnitTypes returns a macaron middleware to set unit types to context variables.

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 APIError added in v1.2.0

type APIError struct {
	Message string `json:"message"`
	URL     string `json:"url"`
}

APIError is error format response swagger:response error

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

type APIOrganization struct {
	Organization *models.User
	Team         *models.Team
}

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

type APIValidationError struct {
	Message string `json:"message"`
	URL     string `json:"url"`
}

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) GetErrMsg

func (ctx *Context) GetErrMsg() string

GetErrMsg returns error message

func (*Context) HTML

func (ctx *Context) HTML(status int, name base.TplName)

HTML calls Context.HTML and converts template name to string.

func (*Context) HandleText

func (ctx *Context) HandleText(status int, title string)

HandleText handles HTTP status code

func (*Context) HasAPIError added in v1.0.0

func (ctx *Context) HasAPIError() bool

HasAPIError returns true if error occurs in form validation.

func (*Context) HasError

func (ctx *Context) HasError() bool

HasError returns true if error occurs in form validation.

func (*Context) HasValue

func (ctx *Context) HasValue(name string) bool

HasValue returns true if value of given name exists.

func (*Context) IsUserRepoAdmin added in v1.9.0

func (ctx *Context) IsUserRepoAdmin() bool

IsUserRepoAdmin returns true if current user is admin in current repo

func (*Context) IsUserRepoOwner added in v1.9.0

func (ctx *Context) IsUserRepoOwner() bool

IsUserRepoOwner returns true if current user owns current repo

func (*Context) IsUserRepoReaderAny added in v1.9.0

func (ctx *Context) IsUserRepoReaderAny() bool

IsUserRepoReaderAny returns true if current user can read any part of current repo

func (*Context) IsUserRepoReaderSpecific added in v1.9.0

func (ctx *Context) IsUserRepoReaderSpecific(unitType models.UnitType) bool

IsUserRepoReaderSpecific returns true if current user can read current repo's specific part

func (*Context) IsUserRepoWriter added in v1.9.0

func (ctx *Context) IsUserRepoWriter(unitTypes []models.UnitType) bool

IsUserRepoWriter returns true if current user has write privilege in current repo

func (*Context) IsUserSiteAdmin added in v1.9.0

func (ctx *Context) IsUserSiteAdmin() bool

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

func (ctx *Context) NotFound(title string, err error)

NotFound displays a 404 (Not Found) page and prints the given error, if any.

func (*Context) NotFoundOrServerError

func (ctx *Context) NotFoundOrServerError(title string, errck func(error) bool, err error)

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

func (ctx *Context) RedirectToFirst(location ...string)

RedirectToFirst redirects to first not empty URL

func (*Context) RenderWithErr

func (ctx *Context) RenderWithErr(msg string, tpl base.TplName, form interface{})

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

func (ctx *Context) ServerError(title string, err error)

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

type Pagination struct {
	Paginater *paginater.Paginater
	// contains filtered or unexported fields
}

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

func (r *Repository) CanUseTimetracker(issue *models.Issue, user *models.User) bool

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.

type ToggleOptions

type ToggleOptions struct {
	SignInRequired  bool
	SignOutRequired bool
	AdminRequired   bool
	DisableCSRF     bool
}

ToggleOptions contains required or check options

Jump to

Keyboard shortcuts

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