Documentation ¶
Index ¶
- Constants
- Variables
- func AccessibleRepoIDsQuery(user *user_model.User) *builder.Builder
- func AccessibleRepositoryCondition(user *user_model.User, unitType unit.Type) builder.Cond
- func AddReleaseAttachments(ctx context.Context, releaseID int64, attachmentUUIDs []string) (err error)
- func AttachmentRelativePath(uuid string) string
- func ChangeCollaborationAccessMode(ctx context.Context, repo *Repository, uid int64, mode perm.AccessMode) error
- func CheckCreateRepository(ctx context.Context, doer, u *user_model.User, name string, ...) error
- func ClearRepoStars(ctx context.Context, repoID int64) error
- func ComposeHTTPSCloneURL(owner, repo string) string
- func ComposeSSHCloneURL(ownerName, repoName string) string
- func CopyLanguageStat(ctx context.Context, originalRepo, destRepo *Repository) error
- func CountNullArchivedRepository(ctx context.Context) (int64, error)
- func CountOrphanedAttachments(ctx context.Context) (int64, error)
- func CountOrphanedTopics(ctx context.Context) (int64, error)
- func CountRepositories(ctx context.Context, opts CountRepositoryOptions) (int64, error)
- func CountRepository(ctx context.Context, opts *SearchRepoOptions) (int64, error)
- func DecrementRepoForkNum(ctx context.Context, repoID int64) error
- func DeleteAllRepoArchives(ctx context.Context) error
- func DeleteAttachment(ctx context.Context, a *Attachment, remove bool) error
- func DeleteAttachments(ctx context.Context, attachments []*Attachment, remove bool) (int, error)
- func DeleteAttachmentsByComment(ctx context.Context, commentID int64, remove bool) (int, error)
- func DeleteAttachmentsByIssue(ctx context.Context, issueID int64, remove bool) (int, error)
- func DeleteAttachmentsByRelease(ctx context.Context, releaseID int64) error
- func DeleteMirrorByRepoID(ctx context.Context, repoID int64) error
- func DeleteOrphanedAttachments(ctx context.Context) error
- func DeleteOrphanedTopics(ctx context.Context) (int64, error)
- func DeletePushMirrors(ctx context.Context, opts PushMirrorOptions) error
- func DeleteRedirect(ctx context.Context, ownerID int64, repoName string) error
- func DeleteUploadByUUID(ctx context.Context, uuid string) error
- func DeleteUploads(ctx context.Context, uploads ...*Upload) (err error)
- func ExistAttachmentsByUUID(ctx context.Context, uuid string) (bool, error)
- func ExistsRepoArchiverWithStoragePath(ctx context.Context, storagePath string) (bool, error)
- func ExistsWithAvatarAtStoragePath(ctx context.Context, storagePath string) (bool, error)
- func FindReposMapByIDs(ctx context.Context, repoIDs []int64, res map[int64]*Repository) error
- func FindUserCodeAccessibleOwnerRepoIDs(ctx context.Context, ownerID int64, user *user_model.User) ([]int64, error)
- func FindUserCodeAccessibleRepoIDs(ctx context.Context, user *user_model.User) ([]int64, error)
- func FixNullArchivedRepository(ctx context.Context) (int64, error)
- func GenerateTopics(ctx context.Context, templateRepo, generateRepo *Repository) error
- func GetIssuePostersWithSearch(ctx context.Context, repo *Repository, isPull bool, search string, ...) ([]*user_model.User, error)
- func GetReleaseAttachments(ctx context.Context, rels ...*Release) (err error)
- func GetRepoAssignees(ctx context.Context, repo *Repository) (_ []*user_model.User, err error)
- func GetRepoWatchers(ctx context.Context, repoID int64, opts db.ListOptions) ([]*user_model.User, error)
- func GetRepoWatchersIDs(ctx context.Context, repoID int64) ([]int64, error)
- func GetRepositoriesMapByIDs(ctx context.Context, ids []int64) (map[int64]*Repository, error)
- func GetReviewers(ctx context.Context, repo *Repository, doerID, posterID int64) ([]*user_model.User, error)
- func GetStargazers(ctx context.Context, repo *Repository, opts db.ListOptions) ([]*user_model.User, error)
- func GetTagNamesByRepoID(ctx context.Context, repoID int64) ([]string, error)
- func GetUnindexedRepos(ctx context.Context, indexerType RepoIndexerType, maxRepoID int64, ...) ([]int64, error)
- func HasForkedRepo(ctx context.Context, ownerID, repoID int64) bool
- func IncrementRepoForkNum(ctx context.Context, repoID int64) error
- func InsertMirror(ctx context.Context, mirror *Mirror) error
- func InsertReleases(ctx context.Context, rels ...*Release) error
- func IsCollaborator(ctx context.Context, repoID, userID int64) (bool, error)
- func IsErrAttachmentNotExist(err error) bool
- func IsErrReachLimitOfRepo(err error) bool
- func IsErrRedirectNotExist(err error) bool
- func IsErrReleaseAlreadyExist(err error) bool
- func IsErrReleaseNotExist(err error) bool
- func IsErrRepoAlreadyExist(err error) bool
- func IsErrRepoFilesAlreadyExist(err error) bool
- func IsErrRepoNotExist(err error) bool
- func IsErrTopicNotExist(err error) bool
- func IsErrUnitTypeNotExist(err error) bool
- func IsErrUploadNotExist(err error) bool
- func IsErrUserDoesNotHaveAccessToRepo(err error) bool
- func IsErrWikiAlreadyExist(err error) bool
- func IsErrWikiInvalidFileName(err error) bool
- func IsErrWikiReservedName(err error) bool
- func IsOwnerMemberCollaborator(ctx context.Context, repo *Repository, userID int64) (bool, error)
- func IsReleaseExist(ctx context.Context, repoID int64, tagName string) (bool, error)
- func IsRepositoryModelExist(ctx context.Context, u *user_model.User, repoName string) (bool, error)
- func IsRepositoryModelOrDirExist(ctx context.Context, u *user_model.User, repoName string) (bool, error)
- func IsStaring(ctx context.Context, userID, repoID int64) bool
- func IsUsableRepoName(name string) error
- func IsWatchMode(mode WatchMode) bool
- func IsWatching(ctx context.Context, userID, repoID int64) bool
- func LookupRedirect(ctx context.Context, ownerID int64, repoName string) (int64, error)
- func MirrorsIterate(ctx context.Context, limit int, f func(idx int, bean any) error) error
- func NewRedirect(ctx context.Context, ownerID, repoID int64, oldRepoName, newRepoName string) error
- func PushMirrorsIterate(ctx context.Context, limit int, f func(idx int, bean any) error) error
- func PushUpdateDeleteTag(ctx context.Context, repo *Repository, tagName string) error
- func PushUpdateDeleteTagsContext(ctx context.Context, repo *Repository, tags []string) error
- func RemoveTopicsFromRepo(ctx context.Context, repoID int64) error
- func RepoPath(userName, repoName string) string
- func SanitizeAndValidateTopics(topics []string) (validTopics, invalidTopics []string)
- func SaveOrUpdateTag(ctx context.Context, repo *Repository, newRel *Release) error
- func SaveTopics(ctx context.Context, repoID int64, topicNames ...string) error
- func SearchRepositoryCondition(opts *SearchRepoOptions) builder.Cond
- func SearchRepositoryIDs(ctx context.Context, opts *SearchRepoOptions) ([]int64, int64, error)
- func SearchRepositoryIDsByCondition(ctx context.Context, cond builder.Cond) ([]int64, error)
- func SetArchiveRepoState(ctx context.Context, repo *Repository, isArchived bool) (err error)
- func SortReleases(rels []*Release)
- func StarRepo(ctx context.Context, doer *user_model.User, repo *Repository, star bool) error
- func TouchMirror(ctx context.Context, m *Mirror) error
- func UpdateAttachment(ctx context.Context, atta *Attachment) error
- func UpdateAttachmentByUUID(ctx context.Context, attach *Attachment, cols ...string) error
- func UpdateDefaultBranch(ctx context.Context, repo *Repository) error
- func UpdateIndexerStatus(ctx context.Context, repo *Repository, indexerType RepoIndexerType, sha string) error
- func UpdateLanguageStats(ctx context.Context, repo *Repository, commitID string, stats map[string]int64) error
- func UpdateMirror(ctx context.Context, m *Mirror) error
- func UpdatePushMirror(ctx context.Context, m *PushMirror) error
- func UpdatePushMirrorInterval(ctx context.Context, m *PushMirror) error
- func UpdateRelease(ctx context.Context, rel *Release) error
- func UpdateReleasesMigrationsByType(ctx context.Context, gitServiceType structs.GitServiceType, ...) error
- func UpdateRepoArchiverStatus(ctx context.Context, archiver *RepoArchiver) error
- func UpdateRepoIssueNumbers(ctx context.Context, repoID int64, isPull, isClosed bool) error
- func UpdateRepoSize(ctx context.Context, repoID, gitSize, lfsSize int64) error
- func UpdateRepoUnit(ctx context.Context, unit *RepoUnit) error
- func UpdateRepositoryCols(ctx context.Context, repo *Repository, cols ...string) error
- func UpdateRepositoryOwnerName(ctx context.Context, oldUserName, newUserName string) error
- func UpdateRepositoryOwnerNames(ctx context.Context, ownerID int64, ownerName string) error
- func UpdateRepositoryUpdatedTime(ctx context.Context, repoID int64, updateTime time.Time) error
- func UploadLocalPath(uuid string) string
- func UserAccessRepoCond(idStr string, userID int64) builder.Cond
- func UserAssignedRepoCond(id string, userID int64) builder.Cond
- func UserCollaborationRepoCond(idStr string, userID int64) builder.Cond
- func UserCreateIssueRepoCond(id string, userID int64, isPull bool) builder.Cond
- func UserMentionedRepoCond(id string, userID int64) builder.Cond
- func UserOrgPublicUnitRepoCond(userID, orgID int64) builder.Cond
- func UserOrgTeamRepoCond(idStr string, userID int64) builder.Cond
- func UserOrgUnitRepoCond(idStr string, userID, orgID int64, unitType unit.Type) builder.Cond
- func UserOwnedRepoCond(userID int64) builder.Cond
- func ValidateTopic(topic string) bool
- func WatchIfAuto(ctx context.Context, userID, repoID int64, isWrite bool) error
- func WatchRepo(ctx context.Context, doer *user_model.User, repo *Repository, doWatch bool) error
- func WikiPath(userName, repoName string) string
- type ActionsConfig
- func (cfg *ActionsConfig) DisableWorkflow(file string)
- func (cfg *ActionsConfig) EnableWorkflow(file string)
- func (cfg *ActionsConfig) FromDB(bs []byte) error
- func (cfg *ActionsConfig) IsWorkflowDisabled(file string) bool
- func (cfg *ActionsConfig) ToDB() ([]byte, error)
- func (cfg *ActionsConfig) ToString() string
- type ArchiverStatus
- type Attachment
- func GetAttachmentByID(ctx context.Context, id int64) (*Attachment, error)
- func GetAttachmentByReleaseIDFileName(ctx context.Context, releaseID int64, fileName string) (*Attachment, error)
- func GetAttachmentByUUID(ctx context.Context, uuid string) (*Attachment, error)
- func GetAttachmentsByCommentID(ctx context.Context, commentID int64) ([]*Attachment, error)
- func GetAttachmentsByIssueID(ctx context.Context, issueID int64) ([]*Attachment, error)
- func GetAttachmentsByIssueIDImagesLatest(ctx context.Context, issueID int64) ([]*Attachment, error)
- func GetAttachmentsByUUIDs(ctx context.Context, uuids []string) ([]*Attachment, error)
- type CloneLink
- type Collaboration
- type Collaborator
- type CountRepositoryOptions
- type ErrAttachmentNotExist
- type ErrReachLimitOfRepo
- type ErrRedirectNotExist
- type ErrReleaseAlreadyExist
- type ErrReleaseNotExist
- type ErrRepoAlreadyExist
- type ErrRepoFilesAlreadyExist
- type ErrRepoIsArchived
- type ErrRepoNotExist
- type ErrTopicNotExist
- type ErrUnitTypeNotExist
- type ErrUploadNotExist
- type ErrUserDoesNotHaveAccessToRepo
- type ErrWikiAlreadyExist
- type ErrWikiInvalidFileName
- type ErrWikiReservedName
- type ExternalTrackerConfig
- type ExternalWikiConfig
- type FindCollaborationOptions
- type FindReleasesOptions
- type FindRepoArchiversOption
- type FindTopicOptions
- type IssuesConfig
- type LanguageStat
- type LanguageStatList
- type MergeStyle
- type Mirror
- type ProjectsConfig
- type ProjectsMode
- type PullRequestsConfig
- type PushMirror
- type PushMirrorOptions
- type Redirect
- type Release
- func GetLatestReleaseByRepoID(ctx context.Context, repoID int64) (*Release, error)
- func GetRelease(ctx context.Context, repoID int64, tagName string) (*Release, error)
- func GetReleaseByID(ctx context.Context, id int64) (*Release, error)
- func GetReleaseForRepoByID(ctx context.Context, repoID, id int64) (*Release, error)
- func (r *Release) APIURL() string
- func (r *Release) APIUploadURL() string
- func (r *Release) GetExternalID() int64
- func (r *Release) GetExternalName() string
- func (r *Release) GetUserID() int64
- func (r *Release) HTMLURL() string
- func (r *Release) Link() string
- func (r *Release) LoadAttributes(ctx context.Context) error
- func (r *Release) RemapExternalUser(externalName string, externalID, userID int64) error
- func (r *Release) TarURL() string
- func (r *Release) ZipURL() string
- type RepoArchiver
- type RepoIndexerStatus
- type RepoIndexerType
- type RepoTopic
- type RepoUnit
- func (r *RepoUnit) ActionsConfig() *ActionsConfig
- func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell)
- func (r *RepoUnit) CodeConfig() *UnitConfig
- func (r *RepoUnit) ExternalTrackerConfig() *ExternalTrackerConfig
- func (r *RepoUnit) ExternalWikiConfig() *ExternalWikiConfig
- func (r *RepoUnit) IssuesConfig() *IssuesConfig
- func (r *RepoUnit) ProjectsConfig() *ProjectsConfig
- func (r *RepoUnit) PullRequestsConfig() *PullRequestsConfig
- func (r *RepoUnit) ReleasesConfig() *UnitConfig
- func (r *RepoUnit) Unit() unit.Unit
- type Repository
- func FindUserOrgForks(ctx context.Context, repoID, userID int64) ([]*Repository, error)
- func GetForkedRepo(ctx context.Context, ownerID, repoID int64) *Repository
- func GetForks(ctx context.Context, repo *Repository, listOptions db.ListOptions) ([]*Repository, error)
- func GetForksByUserAndOrgs(ctx context.Context, user *user_model.User, repo *Repository) ([]*Repository, error)
- func GetRepositoriesByForkID(ctx context.Context, forkID int64) ([]*Repository, error)
- func GetRepositoryByID(ctx context.Context, id int64) (*Repository, error)
- func GetRepositoryByName(ctx context.Context, ownerID int64, name string) (*Repository, error)
- func GetRepositoryByOwnerAndName(ctx context.Context, ownerName, repoName string) (*Repository, error)
- func GetRepositoryByURL(ctx context.Context, repoURL string) (*Repository, error)
- func GetStarredRepos(ctx context.Context, opts *StarredReposOptions) ([]*Repository, error)
- func GetTemplateRepo(ctx context.Context, repo *Repository) (*Repository, error)
- func GetUserFork(ctx context.Context, repoID, userID int64) (*Repository, error)
- func GetWatchedRepos(ctx context.Context, opts *WatchedReposOptions) ([]*Repository, int64, error)
- func ValuesRepository(m map[int64]*Repository) []*Repository
- func (repo *Repository) APIURL() string
- func (repo *Repository) AfterLoad()
- func (repo *Repository) AllowOnlyContributorsToTrackTime(ctx context.Context) bool
- func (repo *Repository) AllowsPulls(ctx context.Context) bool
- func (repo *Repository) AvatarLink(ctx context.Context) string
- func (repo *Repository) CanCreateBranch() bool
- func (repo *Repository) CanEnableEditor() bool
- func (repo *Repository) CanEnablePulls() bool
- func (repo *Repository) CanEnableTimetracker() bool
- func (repo *Repository) CloneLink() (cl *CloneLink)
- func (repo *Repository) CommitLink(commitID string) (result string)
- func (repo *Repository) ComposeBranchCompareURL(baseRepo *Repository, branchName string) string
- func (repo *Repository) ComposeCompareURL(oldCommitID, newCommitID string) string
- func (repo *Repository) ComposeDocumentMetas(ctx context.Context) map[string]string
- func (repo *Repository) ComposeMetas(ctx context.Context) map[string]string
- func (repo *Repository) CustomAvatarRelativePath() string
- func (repo *Repository) DescriptionHTML(ctx context.Context) template.HTML
- func (repo *Repository) FullName() string
- func (repo *Repository) GetBaseRepo(ctx context.Context) (err error)
- func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool) string
- func (repo *Repository) GetName() string
- func (repo *Repository) GetOriginalURLHostname() string
- func (repo *Repository) GetOwnerName() string
- func (repo *Repository) GetTrustModel() TrustModelType
- func (repo *Repository) GetUnit(ctx context.Context, tp unit.Type) (*RepoUnit, error)
- func (repo *Repository) HTMLURL() string
- func (repo *Repository) HasWiki() bool
- func (repo *Repository) IsBeingCreated() bool
- func (repo *Repository) IsBeingMigrated() bool
- func (repo *Repository) IsBroken() bool
- func (repo *Repository) IsDependenciesEnabled(ctx context.Context) bool
- func (repo *Repository) IsGenerated() bool
- func (repo *Repository) IsOwnedBy(userID int64) bool
- func (repo *Repository) IsTimetrackerEnabled(ctx context.Context) bool
- func (repo *Repository) Link() string
- func (repo *Repository) LoadAttributes(ctx context.Context) error
- func (repo *Repository) LoadOwner(ctx context.Context) (err error)
- func (repo *Repository) LoadUnits(ctx context.Context) (err error)
- func (repo *Repository) LogString() string
- func (repo *Repository) MarkAsBrokenEmpty()
- func (repo *Repository) MustGetUnit(ctx context.Context, tp unit.Type) *RepoUnit
- func (repo *Repository) MustNotBeArchived() error
- func (repo *Repository) MustOwner(ctx context.Context) *user_model.User
- func (repo *Repository) RelAvatarLink(ctx context.Context) string
- func (repo *Repository) RepoPath() string
- func (repo *Repository) SanitizedOriginalURL() string
- func (repo *Repository) SizeDetails() []SizeDetail
- func (repo *Repository) SizeDetailsString() string
- func (repo *Repository) TemplateRepo(ctx context.Context) *Repository
- func (repo *Repository) UnitEnabled(ctx context.Context, tp unit.Type) bool
- func (repo *Repository) WikiCloneLink() *CloneLink
- func (repo *Repository) WikiPath() string
- type RepositoryList
- func GetUserRepositories(ctx context.Context, opts *SearchRepoOptions) (RepositoryList, int64, error)
- func RepositoryListOfMap(repoMap map[int64]*Repository) RepositoryList
- func SearchRepository(ctx context.Context, opts *SearchRepoOptions) (RepositoryList, int64, error)
- func SearchRepositoryByCondition(ctx context.Context, opts *SearchRepoOptions, cond builder.Cond, ...) (RepositoryList, int64, error)
- func SearchRepositoryByName(ctx context.Context, opts *SearchRepoOptions) (RepositoryList, int64, error)
- func (repos RepositoryList) IDs() []int64
- func (repos RepositoryList) Len() int
- func (repos RepositoryList) Less(i, j int) bool
- func (repos RepositoryList) LoadAttributes(ctx context.Context) error
- func (repos RepositoryList) LoadUnits(ctx context.Context) error
- func (repos RepositoryList) Swap(i, j int)
- type RepositoryStatus
- type SearchOrderBy
- type SearchRepoOptions
- type SizeDetail
- type Star
- type StarredReposOptions
- type Topic
- func AddTopic(ctx context.Context, repoID int64, topicName string) (*Topic, error)
- func DeleteTopic(ctx context.Context, repoID int64, topicName string) (*Topic, error)
- func GetRepoTopicByName(ctx context.Context, repoID int64, topicName string) (*Topic, error)
- func GetTopicByName(ctx context.Context, name string) (*Topic, error)
- type TrustModelType
- type UnitConfig
- type Upload
- type Watch
- type WatchMode
- type WatchedReposOptions
Constants ¶
const ( ArchiverGenerating = iota // the archiver is generating ArchiverReady // it's ready )
enumerate all repo archive statuses
const ( SizeDetailNameGit = "git" SizeDetailNameLFS = "lfs" )
text representations to be returned in SizeDetail.Name
const RepositoryListDefaultPageSize = 64
RepositoryListDefaultPageSize is the default number of repositories to load in memory when running administrative tasks on all (or almost all) of them. The number should be low enough to avoid filling up all RAM with repository data...
Variables ¶
var ErrMirrorNotExist = util.NewNotExistErrorf("Mirror does not exist")
ErrMirrorNotExist mirror does not exist error
var ErrPushMirrorNotExist = util.NewNotExistErrorf("PushMirror does not exist")
ErrPushMirrorNotExist mirror does not exist error
var SearchOrderByMap = map[string]map[string]db.SearchOrderBy{ "asc": { "alpha": "owner_name ASC, name ASC", "created": db.SearchOrderByOldest, "updated": db.SearchOrderByLeastUpdated, "size": db.SearchOrderBySize, "id": db.SearchOrderByID, }, "desc": { "alpha": "owner_name DESC, name DESC", "created": db.SearchOrderByNewest, "updated": db.SearchOrderByRecentUpdated, "size": db.SearchOrderBySizeReverse, "id": db.SearchOrderByIDReverse, }, }
SearchOrderByMap represents all possible search order
Functions ¶
func AccessibleRepoIDsQuery ¶ added in v1.17.0
func AccessibleRepoIDsQuery(user *user_model.User) *builder.Builder
AccessibleRepoIDsQuery queries accessible repository ids. Usable as a subquery wherever repo ids need to be filtered.
func AccessibleRepositoryCondition ¶ added in v1.17.0
AccessibleRepositoryCondition takes a user a returns a condition for checking if a repository is accessible
func AddReleaseAttachments ¶ added in v1.17.4
func AddReleaseAttachments(ctx context.Context, releaseID int64, attachmentUUIDs []string) (err error)
AddReleaseAttachments adds a release attachments
func AttachmentRelativePath ¶
AttachmentRelativePath returns the relative path
func ChangeCollaborationAccessMode ¶ added in v1.17.0
func ChangeCollaborationAccessMode(ctx context.Context, repo *Repository, uid int64, mode perm.AccessMode) error
ChangeCollaborationAccessMode sets new access mode for the collaboration.
func CheckCreateRepository ¶
func CheckCreateRepository(ctx context.Context, doer, u *user_model.User, name string, overwriteOrAdopt bool) error
CheckCreateRepository check if could created a repository
func ClearRepoStars ¶ added in v1.20.0
ClearRepoStars clears all stars for a repository and from the user that starred it. Used when a repository is set to private.
func ComposeHTTPSCloneURL ¶
ComposeHTTPSCloneURL returns HTTPS clone URL based on given owner and repository name.
func ComposeSSHCloneURL ¶ added in v1.20.0
func CopyLanguageStat ¶
func CopyLanguageStat(ctx context.Context, originalRepo, destRepo *Repository) error
CopyLanguageStat Copy originalRepo language stat information to destRepo (use for forked repo)
func CountNullArchivedRepository ¶ added in v1.17.4
CountNullArchivedRepository counts the number of repositories with is_archived is null
func CountOrphanedAttachments ¶
CountOrphanedAttachments returns the number of bad attachments
func CountOrphanedTopics ¶ added in v1.22.0
CountOrphanedAttachments returns the number of topics that don't belong to any repository.
func CountRepositories ¶
func CountRepositories(ctx context.Context, opts CountRepositoryOptions) (int64, error)
CountRepositories returns number of repositories. Argument private only takes effect when it is false, set it true to count all repositories.
func CountRepository ¶ added in v1.21.0
func CountRepository(ctx context.Context, opts *SearchRepoOptions) (int64, error)
CountRepository counts repositories based on search options,
func DecrementRepoForkNum ¶ added in v1.17.0
DecrementRepoForkNum decrement repository fork number
func DeleteAllRepoArchives ¶
DeleteAllRepoArchives deletes all repo archives records
func DeleteAttachment ¶
func DeleteAttachment(ctx context.Context, a *Attachment, remove bool) error
DeleteAttachment deletes the given attachment and optionally the associated file.
func DeleteAttachments ¶
DeleteAttachments deletes the given attachments and optionally the associated files.
func DeleteAttachmentsByComment ¶
DeleteAttachmentsByComment deletes all attachments associated with the given comment.
func DeleteAttachmentsByIssue ¶
DeleteAttachmentsByIssue deletes all attachments associated with the given issue.
func DeleteAttachmentsByRelease ¶
DeleteAttachmentsByRelease deletes all attachments associated with the given release.
func DeleteMirrorByRepoID ¶
DeleteMirrorByRepoID deletes a mirror by repoID
func DeleteOrphanedAttachments ¶
DeleteOrphanedAttachments delete all bad attachments
func DeleteOrphanedTopics ¶ added in v1.22.0
DeleteOrphanedAttachments delete all topics that don't belong to any repository.
func DeletePushMirrors ¶ added in v1.17.4
func DeletePushMirrors(ctx context.Context, opts PushMirrorOptions) error
func DeleteRedirect ¶
DeleteRedirect delete any redirect from the specified repo name to anything else
func DeleteUploadByUUID ¶ added in v1.17.4
DeleteUploadByUUID deletes a upload by UUID
func DeleteUploads ¶ added in v1.17.4
DeleteUploads deletes multiple uploads
func ExistAttachmentsByUUID ¶
ExistAttachmentsByUUID returns true if attachment exists with the given UUID
func ExistsRepoArchiverWithStoragePath ¶ added in v1.17.4
ExistsRepoArchiverWithStoragePath checks if there is a RepoArchiver for a given storage path
func ExistsWithAvatarAtStoragePath ¶ added in v1.17.4
ExistsWithAvatarAtStoragePath returns true if there is a user with this Avatar
func FindReposMapByIDs ¶
FindReposMapByIDs find repos as map
func FindUserCodeAccessibleOwnerRepoIDs ¶ added in v1.17.4
func FindUserCodeAccessibleOwnerRepoIDs(ctx context.Context, ownerID int64, user *user_model.User) ([]int64, error)
FindUserCodeAccessibleOwnerRepoIDs finds all repository IDs for the given owner whose code the user can see.
func FindUserCodeAccessibleRepoIDs ¶ added in v1.17.0
FindUserCodeAccessibleRepoIDs finds all at Code level accessible repositories' ID by the user's id
func FixNullArchivedRepository ¶ added in v1.17.4
FixNullArchivedRepository sets is_archived to false where it is null
func GenerateTopics ¶
func GenerateTopics(ctx context.Context, templateRepo, generateRepo *Repository) error
GenerateTopics generates topics from a template repository
func GetIssuePostersWithSearch ¶ added in v1.20.0
func GetIssuePostersWithSearch(ctx context.Context, repo *Repository, isPull bool, search string, isShowFullName bool) ([]*user_model.User, error)
GetIssuePostersWithSearch returns users with limit of 30 whose username started with prefix that have authored an issue/pull request for the given repository If isShowFullName is set to true, also include full name prefix search
func GetReleaseAttachments ¶ added in v1.17.4
GetReleaseAttachments retrieves the attachments for releases
func GetRepoAssignees ¶ added in v1.17.0
func GetRepoAssignees(ctx context.Context, repo *Repository) (_ []*user_model.User, err error)
GetRepoAssignees returns all users that have write access and can be assigned to issues of the repository,
func GetRepoWatchers ¶
func GetRepoWatchers(ctx context.Context, repoID int64, opts db.ListOptions) ([]*user_model.User, error)
GetRepoWatchers returns range of users watching given repository.
func GetRepoWatchersIDs ¶
GetRepoWatchersIDs returns IDs of watchers for a given repo ID but avoids joining with `user` for performance reasons User permissions must be verified elsewhere if required
func GetRepositoriesMapByIDs ¶
GetRepositoriesMapByIDs returns the repositories by given id slice.
func GetReviewers ¶ added in v1.17.0
func GetReviewers(ctx context.Context, repo *Repository, doerID, posterID int64) ([]*user_model.User, error)
GetReviewers get all users can be requested to review: * for private repositories this returns all users that have read access or higher to the repository. * for public repositories this returns all users that have read access or higher to the repository, all repo watchers and all organization members. TODO: may be we should have a busy choice for users to block review request to them.
func GetStargazers ¶
func GetStargazers(ctx context.Context, repo *Repository, opts db.ListOptions) ([]*user_model.User, error)
GetStargazers returns the users that starred the repo.
func GetTagNamesByRepoID ¶ added in v1.20.0
GetTagNamesByRepoID returns a list of release tag names of repository.
func GetUnindexedRepos ¶
func GetUnindexedRepos(ctx context.Context, indexerType RepoIndexerType, maxRepoID int64, page, pageSize int) ([]int64, error)
GetUnindexedRepos returns repos which do not have an indexer status
func HasForkedRepo ¶
HasForkedRepo checks if given user has already forked a repository with given ID.
func IncrementRepoForkNum ¶ added in v1.17.0
IncrementRepoForkNum increment repository fork number
func InsertMirror ¶
InsertMirror inserts a mirror to database
func InsertReleases ¶ added in v1.21.0
InsertReleases migrates release
func IsCollaborator ¶ added in v1.17.0
IsCollaborator check if a user is a collaborator of a repository
func IsErrAttachmentNotExist ¶
IsErrAttachmentNotExist checks if an error is a ErrAttachmentNotExist.
func IsErrReachLimitOfRepo ¶
IsErrReachLimitOfRepo checks if an error is a ErrReachLimitOfRepo.
func IsErrRedirectNotExist ¶
IsErrRedirectNotExist check if an error is an ErrRepoRedirectNotExist.
func IsErrReleaseAlreadyExist ¶ added in v1.17.4
IsErrReleaseAlreadyExist checks if an error is a ErrReleaseAlreadyExist.
func IsErrReleaseNotExist ¶ added in v1.17.4
IsErrReleaseNotExist checks if an error is a ErrReleaseNotExist.
func IsErrRepoAlreadyExist ¶
IsErrRepoAlreadyExist checks if an error is a ErrRepoAlreadyExist.
func IsErrRepoFilesAlreadyExist ¶
IsErrRepoFilesAlreadyExist checks if an error is a ErrRepoAlreadyExist.
func IsErrRepoNotExist ¶
IsErrRepoNotExist checks if an error is a ErrRepoNotExist.
func IsErrTopicNotExist ¶
IsErrTopicNotExist checks if an error is an ErrTopicNotExist.
func IsErrUnitTypeNotExist ¶
IsErrUnitTypeNotExist checks if an error is a ErrUnitNotExist.
func IsErrUploadNotExist ¶ added in v1.17.4
IsErrUploadNotExist checks if an error is a ErrUploadNotExist.
func IsErrUserDoesNotHaveAccessToRepo ¶ added in v1.17.0
IsErrUserDoesNotHaveAccessToRepo checks if an error is a ErrRepoFileAlreadyExists.
func IsErrWikiAlreadyExist ¶ added in v1.17.4
IsErrWikiAlreadyExist checks if an error is an ErrWikiAlreadyExist.
func IsErrWikiInvalidFileName ¶ added in v1.17.4
IsErrWikiInvalidFileName checks if an error is an ErrWikiInvalidFileName.
func IsErrWikiReservedName ¶ added in v1.17.4
IsErrWikiReservedName checks if an error is an ErrWikiReservedName.
func IsOwnerMemberCollaborator ¶ added in v1.17.0
IsOwnerMemberCollaborator checks if a provided user is the owner, a collaborator or a member of a team in a repository
func IsReleaseExist ¶ added in v1.17.4
IsReleaseExist returns true if release with given tag name already exists.
func IsRepositoryModelExist ¶ added in v1.20.0
func IsRepositoryModelOrDirExist ¶ added in v1.20.0
func IsRepositoryModelOrDirExist(ctx context.Context, u *user_model.User, repoName string) (bool, error)
IsRepositoryModelOrDirExist returns true if the repository with given name under user has already existed.
func IsUsableRepoName ¶
IsUsableRepoName returns true when repository is usable
func IsWatchMode ¶
IsWatchMode Decodes watchability of WatchMode
func IsWatching ¶
IsWatching checks if user has watched given repository.
func LookupRedirect ¶
LookupRedirect look up if a repository has a redirect name
func MirrorsIterate ¶
MirrorsIterate iterates all mirror repositories.
func NewRedirect ¶
NewRedirect create a new repo redirect
func PushMirrorsIterate ¶
PushMirrorsIterate iterates all push-mirror repositories.
func PushUpdateDeleteTag ¶ added in v1.17.4
func PushUpdateDeleteTag(ctx context.Context, repo *Repository, tagName string) error
PushUpdateDeleteTag must be called for any push actions to delete tag
func PushUpdateDeleteTagsContext ¶ added in v1.17.4
func PushUpdateDeleteTagsContext(ctx context.Context, repo *Repository, tags []string) error
PushUpdateDeleteTagsContext updates a number of delete tags with context
func RemoveTopicsFromRepo ¶
RemoveTopicsFromRepo remove all topics from the repo and decrements respective topics repo count
func SanitizeAndValidateTopics ¶
SanitizeAndValidateTopics sanitizes and checks an array or topics
func SaveOrUpdateTag ¶ added in v1.17.4
func SaveOrUpdateTag(ctx context.Context, repo *Repository, newRel *Release) error
SaveOrUpdateTag must be called for any push actions to add tag
func SaveTopics ¶
SaveTopics save topics to a repository
func SearchRepositoryCondition ¶ added in v1.17.0
func SearchRepositoryCondition(opts *SearchRepoOptions) builder.Cond
SearchRepositoryCondition creates a query condition according search repository options
func SearchRepositoryIDs ¶ added in v1.17.0
SearchRepositoryIDs takes keyword and part of repository name to search, it returns results in given range and number of total results.
func SearchRepositoryIDsByCondition ¶ added in v1.17.4
SearchRepositoryIDsByCondition search repository IDs by given condition.
func SetArchiveRepoState ¶
func SetArchiveRepoState(ctx context.Context, repo *Repository, isArchived bool) (err error)
SetArchiveRepoState sets if a repo is archived
func SortReleases ¶ added in v1.17.4
func SortReleases(rels []*Release)
SortReleases sorts releases by number of commits and created time.
func StarRepo ¶
func StarRepo(ctx context.Context, doer *user_model.User, repo *Repository, star bool) error
StarRepo or unstar repository.
func TouchMirror ¶ added in v1.16.6
TouchMirror updates the mirror updatedUnix
func UpdateAttachment ¶
func UpdateAttachment(ctx context.Context, atta *Attachment) error
UpdateAttachment updates the given attachment in database
func UpdateAttachmentByUUID ¶
func UpdateAttachmentByUUID(ctx context.Context, attach *Attachment, cols ...string) error
UpdateAttachmentByUUID Updates attachment via uuid
func UpdateDefaultBranch ¶
func UpdateDefaultBranch(ctx context.Context, repo *Repository) error
UpdateDefaultBranch updates the default branch
func UpdateIndexerStatus ¶
func UpdateIndexerStatus(ctx context.Context, repo *Repository, indexerType RepoIndexerType, sha string) error
UpdateIndexerStatus updates indexer status
func UpdateLanguageStats ¶
func UpdateLanguageStats(ctx context.Context, repo *Repository, commitID string, stats map[string]int64) error
UpdateLanguageStats updates the language statistics for repository
func UpdateMirror ¶
UpdateMirror updates the mirror
func UpdatePushMirror ¶
func UpdatePushMirror(ctx context.Context, m *PushMirror) error
UpdatePushMirror updates the push-mirror
func UpdatePushMirrorInterval ¶ added in v1.21.0
func UpdatePushMirrorInterval(ctx context.Context, m *PushMirror) error
UpdatePushMirrorInterval updates the push-mirror
func UpdateRelease ¶ added in v1.17.4
UpdateRelease updates all columns of a release
func UpdateReleasesMigrationsByType ¶ added in v1.17.4
func UpdateReleasesMigrationsByType(ctx context.Context, gitServiceType structs.GitServiceType, originalAuthorID string, posterID int64) error
UpdateReleasesMigrationsByType updates all migrated repositories' releases from gitServiceType to replace originalAuthorID to posterID
func UpdateRepoArchiverStatus ¶
func UpdateRepoArchiverStatus(ctx context.Context, archiver *RepoArchiver) error
UpdateRepoArchiverStatus updates archiver's status
func UpdateRepoIssueNumbers ¶ added in v1.17.0
UpdateRepoIssueNumbers updates one of a repositories amount of (open|closed) (issues|PRs) with the current count
func UpdateRepoSize ¶ added in v1.17.0
UpdateRepoSize updates the repository size, calculating it using getDirectorySize
func UpdateRepoUnit ¶
UpdateRepoUnit updates the provided repo unit
func UpdateRepositoryCols ¶
func UpdateRepositoryCols(ctx context.Context, repo *Repository, cols ...string) error
UpdateRepositoryCols updates repository's columns
func UpdateRepositoryOwnerName ¶ added in v1.20.0
UpdateRepositoryOwnerName updates the owner name of all repositories owned by the user
func UpdateRepositoryOwnerNames ¶
UpdateRepositoryOwnerNames updates repository owner_names (this should only be used when the ownerName has changed case)
func UpdateRepositoryUpdatedTime ¶
UpdateRepositoryUpdatedTime updates a repository's updated time
func UploadLocalPath ¶ added in v1.17.4
UploadLocalPath returns where uploads is stored in local file system based on given UUID.
func UserAccessRepoCond ¶ added in v1.17.0
UserAccessRepoCond returns a condition for selecting all repositories a user has unit independent access to
func UserAssignedRepoCond ¶ added in v1.17.0
UserAssignedRepoCond return user as assignee repositories list
func UserCollaborationRepoCond ¶ added in v1.17.0
userCollaborationRepoCond returns a condition for selecting all repositories a user is collaborator in
func UserCreateIssueRepoCond ¶ added in v1.17.0
UserCreateIssueRepoCond return user created issues repositories list
func UserMentionedRepoCond ¶ added in v1.17.0
UserMentionedRepoCond return user metinoed repositories list
func UserOrgPublicUnitRepoCond ¶ added in v1.17.0
UserOrgPublicUnitRepoCond returns the condition that one user could access all public repositories in the special organization
func UserOrgTeamRepoCond ¶ added in v1.17.0
UserOrgTeamRepoCond selects repos that the given user has access to through team membership
func UserOrgUnitRepoCond ¶ added in v1.17.0
UserOrgUnitRepoCond selects repos that the given user has access to through org and the special unit
func UserOwnedRepoCond ¶ added in v1.17.0
UserOwnedRepoCond returns user ownered repositories
func ValidateTopic ¶
ValidateTopic checks a topic by length and match pattern rules
func WatchIfAuto ¶
WatchIfAuto subscribes to repo if AutoWatchOnChanges is set
func WatchRepo ¶
func WatchRepo(ctx context.Context, doer *user_model.User, repo *Repository, doWatch bool) error
WatchRepo watch or unwatch repository.
Types ¶
type ActionsConfig ¶ added in v1.21.0
type ActionsConfig struct {
DisabledWorkflows []string
}
func (*ActionsConfig) DisableWorkflow ¶ added in v1.21.0
func (cfg *ActionsConfig) DisableWorkflow(file string)
func (*ActionsConfig) EnableWorkflow ¶ added in v1.21.0
func (cfg *ActionsConfig) EnableWorkflow(file string)
func (*ActionsConfig) FromDB ¶ added in v1.21.0
func (cfg *ActionsConfig) FromDB(bs []byte) error
FromDB fills up a ActionsConfig from serialized format.
func (*ActionsConfig) IsWorkflowDisabled ¶ added in v1.21.0
func (cfg *ActionsConfig) IsWorkflowDisabled(file string) bool
func (*ActionsConfig) ToDB ¶ added in v1.21.0
func (cfg *ActionsConfig) ToDB() ([]byte, error)
ToDB exports a ActionsConfig to a serialized format.
func (*ActionsConfig) ToString ¶ added in v1.21.0
func (cfg *ActionsConfig) ToString() string
type Attachment ¶
type Attachment struct { ID int64 `xorm:"pk autoincr"` UUID string `xorm:"uuid UNIQUE"` RepoID int64 `xorm:"INDEX"` // this should not be zero IssueID int64 `xorm:"INDEX"` // maybe zero when creating ReleaseID int64 `xorm:"INDEX"` // maybe zero when creating UploaderID int64 `xorm:"INDEX DEFAULT 0"` // Notice: will be zero before this column added CommentID int64 `xorm:"INDEX"` Name string DownloadCount int64 `xorm:"DEFAULT 0"` Size int64 `xorm:"DEFAULT 0"` CreatedUnix timeutil.TimeStamp `xorm:"created"` CustomDownloadURL string `xorm:"-"` }
Attachment represent a attachment of issue/comment/release.
func GetAttachmentByID ¶
func GetAttachmentByID(ctx context.Context, id int64) (*Attachment, error)
GetAttachmentByID returns attachment by given id
func GetAttachmentByReleaseIDFileName ¶
func GetAttachmentByReleaseIDFileName(ctx context.Context, releaseID int64, fileName string) (*Attachment, error)
GetAttachmentByReleaseIDFileName returns attachment by given releaseId and fileName.
func GetAttachmentByUUID ¶
func GetAttachmentByUUID(ctx context.Context, uuid string) (*Attachment, error)
GetAttachmentByUUID returns attachment by given UUID.
func GetAttachmentsByCommentID ¶
func GetAttachmentsByCommentID(ctx context.Context, commentID int64) ([]*Attachment, error)
GetAttachmentsByCommentID returns all attachments if comment by given ID.
func GetAttachmentsByIssueID ¶
func GetAttachmentsByIssueID(ctx context.Context, issueID int64) ([]*Attachment, error)
GetAttachmentsByIssueID returns all attachments of an issue.
func GetAttachmentsByIssueIDImagesLatest ¶ added in v1.19.0
func GetAttachmentsByIssueIDImagesLatest(ctx context.Context, issueID int64) ([]*Attachment, error)
GetAttachmentsByIssueIDImagesLatest returns the latest image attachments of an issue.
func GetAttachmentsByUUIDs ¶
func GetAttachmentsByUUIDs(ctx context.Context, uuids []string) ([]*Attachment, error)
GetAttachmentsByUUIDs returns attachment by given UUID list.
func (*Attachment) DownloadURL ¶
func (a *Attachment) DownloadURL() string
DownloadURL returns the download url of the attached file
func (*Attachment) IncreaseDownloadCount ¶
func (a *Attachment) IncreaseDownloadCount(ctx context.Context) error
IncreaseDownloadCount is update download count + 1
func (*Attachment) RelativePath ¶
func (a *Attachment) RelativePath() string
RelativePath returns the relative path of the attachment
type Collaboration ¶ added in v1.17.0
type Collaboration struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` UserID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` Mode perm.AccessMode `xorm:"DEFAULT 2 NOT NULL"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` }
Collaboration represent the relation between an individual and a repository.
func GetCollaboration ¶ added in v1.17.0
func GetCollaboration(ctx context.Context, repoID, uid int64) (*Collaboration, error)
GetCollaboration get collaboration for a repository id with a user id
type Collaborator ¶ added in v1.17.0
type Collaborator struct { *user_model.User Collaboration *Collaboration }
Collaborator represents a user with collaboration details.
func GetCollaborators ¶ added in v1.17.0
func GetCollaborators(ctx context.Context, opts *FindCollaborationOptions) ([]*Collaborator, int64, error)
GetCollaborators returns the collaborators for a repository
type CountRepositoryOptions ¶ added in v1.17.0
type ErrAttachmentNotExist ¶
ErrAttachmentNotExist represents a "AttachmentNotExist" kind of error.
func (ErrAttachmentNotExist) Error ¶
func (err ErrAttachmentNotExist) Error() string
func (ErrAttachmentNotExist) Unwrap ¶ added in v1.17.4
func (err ErrAttachmentNotExist) Unwrap() error
type ErrReachLimitOfRepo ¶
type ErrReachLimitOfRepo struct {
Limit int
}
ErrReachLimitOfRepo represents a "ReachLimitOfRepo" kind of error.
func (ErrReachLimitOfRepo) Error ¶
func (err ErrReachLimitOfRepo) Error() string
func (ErrReachLimitOfRepo) Unwrap ¶ added in v1.17.4
func (err ErrReachLimitOfRepo) Unwrap() error
type ErrRedirectNotExist ¶
ErrRedirectNotExist represents a "RedirectNotExist" kind of error.
func (ErrRedirectNotExist) Error ¶
func (err ErrRedirectNotExist) Error() string
func (ErrRedirectNotExist) Unwrap ¶ added in v1.17.4
func (err ErrRedirectNotExist) Unwrap() error
type ErrReleaseAlreadyExist ¶ added in v1.17.4
type ErrReleaseAlreadyExist struct {
TagName string
}
ErrReleaseAlreadyExist represents a "ReleaseAlreadyExist" kind of error.
func (ErrReleaseAlreadyExist) Error ¶ added in v1.17.4
func (err ErrReleaseAlreadyExist) Error() string
func (ErrReleaseAlreadyExist) Unwrap ¶ added in v1.17.4
func (err ErrReleaseAlreadyExist) Unwrap() error
type ErrReleaseNotExist ¶ added in v1.17.4
ErrReleaseNotExist represents a "ReleaseNotExist" kind of error.
func (ErrReleaseNotExist) Error ¶ added in v1.17.4
func (err ErrReleaseNotExist) Error() string
func (ErrReleaseNotExist) Unwrap ¶ added in v1.17.4
func (err ErrReleaseNotExist) Unwrap() error
type ErrRepoAlreadyExist ¶
ErrRepoAlreadyExist represents a "RepoAlreadyExist" kind of error.
func (ErrRepoAlreadyExist) Error ¶
func (err ErrRepoAlreadyExist) Error() string
func (ErrRepoAlreadyExist) Unwrap ¶ added in v1.17.4
func (err ErrRepoAlreadyExist) Unwrap() error
type ErrRepoFilesAlreadyExist ¶
ErrRepoFilesAlreadyExist represents a "RepoFilesAlreadyExist" kind of error.
func (ErrRepoFilesAlreadyExist) Error ¶
func (err ErrRepoFilesAlreadyExist) Error() string
func (ErrRepoFilesAlreadyExist) Unwrap ¶ added in v1.17.4
func (err ErrRepoFilesAlreadyExist) Unwrap() error
type ErrRepoIsArchived ¶ added in v1.21.2
type ErrRepoIsArchived struct {
Repo *Repository
}
func (ErrRepoIsArchived) Error ¶ added in v1.21.2
func (err ErrRepoIsArchived) Error() string
type ErrRepoNotExist ¶
ErrRepoNotExist represents a "RepoNotExist" kind of error.
func (ErrRepoNotExist) Error ¶
func (err ErrRepoNotExist) Error() string
func (ErrRepoNotExist) Unwrap ¶ added in v1.17.4
func (err ErrRepoNotExist) Unwrap() error
Unwrap unwraps this error as a ErrNotExist error
type ErrTopicNotExist ¶
type ErrTopicNotExist struct {
Name string
}
ErrTopicNotExist represents an error that a topic is not exist
func (ErrTopicNotExist) Error ¶
func (err ErrTopicNotExist) Error() string
Error implements error interface
func (ErrTopicNotExist) Unwrap ¶ added in v1.17.4
func (err ErrTopicNotExist) Unwrap() error
type ErrUnitTypeNotExist ¶
ErrUnitTypeNotExist represents a "UnitTypeNotExist" kind of error.
func (ErrUnitTypeNotExist) Error ¶
func (err ErrUnitTypeNotExist) Error() string
func (ErrUnitTypeNotExist) Unwrap ¶ added in v1.17.4
func (err ErrUnitTypeNotExist) Unwrap() error
type ErrUploadNotExist ¶ added in v1.17.4
ErrUploadNotExist represents a "UploadNotExist" kind of error.
func (ErrUploadNotExist) Error ¶ added in v1.17.4
func (err ErrUploadNotExist) Error() string
func (ErrUploadNotExist) Unwrap ¶ added in v1.17.4
func (err ErrUploadNotExist) Unwrap() error
type ErrUserDoesNotHaveAccessToRepo ¶ added in v1.17.0
ErrUserDoesNotHaveAccessToRepo represents an error where the user doesn't has access to a given repo.
func (ErrUserDoesNotHaveAccessToRepo) Error ¶ added in v1.17.0
func (err ErrUserDoesNotHaveAccessToRepo) Error() string
func (ErrUserDoesNotHaveAccessToRepo) Unwrap ¶ added in v1.17.4
func (err ErrUserDoesNotHaveAccessToRepo) Unwrap() error
type ErrWikiAlreadyExist ¶ added in v1.17.4
type ErrWikiAlreadyExist struct {
Title string
}
ErrWikiAlreadyExist represents a "WikiAlreadyExist" kind of error.
func (ErrWikiAlreadyExist) Error ¶ added in v1.17.4
func (err ErrWikiAlreadyExist) Error() string
func (ErrWikiAlreadyExist) Unwrap ¶ added in v1.17.4
func (err ErrWikiAlreadyExist) Unwrap() error
type ErrWikiInvalidFileName ¶ added in v1.17.4
type ErrWikiInvalidFileName struct {
FileName string
}
ErrWikiInvalidFileName represents an invalid wiki file name.
func (ErrWikiInvalidFileName) Error ¶ added in v1.17.4
func (err ErrWikiInvalidFileName) Error() string
func (ErrWikiInvalidFileName) Unwrap ¶ added in v1.17.4
func (err ErrWikiInvalidFileName) Unwrap() error
type ErrWikiReservedName ¶ added in v1.17.4
type ErrWikiReservedName struct {
Title string
}
ErrWikiReservedName represents a reserved name error.
func (ErrWikiReservedName) Error ¶ added in v1.17.4
func (err ErrWikiReservedName) Error() string
func (ErrWikiReservedName) Unwrap ¶ added in v1.17.4
func (err ErrWikiReservedName) Unwrap() error
type ExternalTrackerConfig ¶
type ExternalTrackerConfig struct { ExternalTrackerURL string ExternalTrackerFormat string ExternalTrackerStyle string ExternalTrackerRegexpPattern string }
ExternalTrackerConfig describes external tracker config
func (*ExternalTrackerConfig) FromDB ¶
func (cfg *ExternalTrackerConfig) FromDB(bs []byte) error
FromDB fills up a ExternalTrackerConfig from serialized format.
func (*ExternalTrackerConfig) ToDB ¶
func (cfg *ExternalTrackerConfig) ToDB() ([]byte, error)
ToDB exports a ExternalTrackerConfig to a serialized format.
type ExternalWikiConfig ¶
type ExternalWikiConfig struct {
ExternalWikiURL string
}
ExternalWikiConfig describes external wiki config
func (*ExternalWikiConfig) FromDB ¶
func (cfg *ExternalWikiConfig) FromDB(bs []byte) error
FromDB fills up a ExternalWikiConfig from serialized format.
func (*ExternalWikiConfig) ToDB ¶
func (cfg *ExternalWikiConfig) ToDB() ([]byte, error)
ToDB exports a ExternalWikiConfig to a serialized format.
type FindCollaborationOptions ¶ added in v1.22.0
type FindCollaborationOptions struct { db.ListOptions RepoID int64 RepoOwnerID int64 CollaboratorID int64 }
func (*FindCollaborationOptions) ToConds ¶ added in v1.22.0
func (opts *FindCollaborationOptions) ToConds() builder.Cond
func (*FindCollaborationOptions) ToJoins ¶ added in v1.22.0
func (opts *FindCollaborationOptions) ToJoins() []db.JoinFunc
type FindReleasesOptions ¶ added in v1.17.4
type FindReleasesOptions struct { db.ListOptions RepoID int64 IncludeDrafts bool IncludeTags bool IsPreRelease optional.Option[bool] IsDraft optional.Option[bool] TagNames []string HasSha1 optional.Option[bool] // useful to find draft releases which are created with existing tags }
FindReleasesOptions describes the conditions to Find releases
func (FindReleasesOptions) ToConds ¶ added in v1.21.5
func (opts FindReleasesOptions) ToConds() builder.Cond
func (FindReleasesOptions) ToOrders ¶ added in v1.22.0
func (opts FindReleasesOptions) ToOrders() string
type FindRepoArchiversOption ¶
type FindRepoArchiversOption struct { db.ListOptions OlderThan time.Duration }
FindRepoArchiversOption represents an archiver options
func (FindRepoArchiversOption) ToConds ¶ added in v1.22.0
func (opts FindRepoArchiversOption) ToConds() builder.Cond
func (FindRepoArchiversOption) ToOrders ¶ added in v1.22.0
func (opts FindRepoArchiversOption) ToOrders() string
type FindTopicOptions ¶
type FindTopicOptions struct { db.ListOptions RepoID int64 Keyword string }
FindTopicOptions represents the options when fdin topics
func (*FindTopicOptions) ToConds ¶ added in v1.22.0
func (opts *FindTopicOptions) ToConds() builder.Cond
func (*FindTopicOptions) ToJoins ¶ added in v1.22.0
func (opts *FindTopicOptions) ToJoins() []db.JoinFunc
func (*FindTopicOptions) ToOrders ¶ added in v1.22.0
func (opts *FindTopicOptions) ToOrders() string
type IssuesConfig ¶
type IssuesConfig struct { EnableTimetracker bool AllowOnlyContributorsToTrackTime bool EnableDependencies bool }
IssuesConfig describes issues config
func (*IssuesConfig) FromDB ¶
func (cfg *IssuesConfig) FromDB(bs []byte) error
FromDB fills up a IssuesConfig from serialized format.
func (*IssuesConfig) ToDB ¶
func (cfg *IssuesConfig) ToDB() ([]byte, error)
ToDB exports a IssuesConfig to a serialized format.
type LanguageStat ¶
type LanguageStat struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` CommitID string IsPrimary bool Language string `xorm:"VARCHAR(50) UNIQUE(s) INDEX NOT NULL"` Percentage float32 `xorm:"-"` Size int64 `xorm:"NOT NULL DEFAULT 0"` Color string `xorm:"-"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX CREATED"` }
LanguageStat describes language statistics of a repository
type LanguageStatList ¶
type LanguageStatList []*LanguageStat
LanguageStatList defines a list of language statistics
func GetLanguageStats ¶
func GetLanguageStats(ctx context.Context, repo *Repository) (LanguageStatList, error)
GetLanguageStats returns the language statistics for a repository
func GetTopLanguageStats ¶
func GetTopLanguageStats(ctx context.Context, repo *Repository, limit int) (LanguageStatList, error)
GetTopLanguageStats returns the top language statistics for a repository
func (LanguageStatList) LoadAttributes ¶
func (stats LanguageStatList) LoadAttributes()
LoadAttributes loads attributes
type MergeStyle ¶
type MergeStyle string
MergeStyle represents the approach to merge commits into base branch.
const ( // MergeStyleMerge create merge commit MergeStyleMerge MergeStyle = "merge" // MergeStyleRebase rebase before merging, and fast-forward MergeStyleRebase MergeStyle = "rebase" // MergeStyleRebaseMerge rebase before merging with merge commit (--no-ff) MergeStyleRebaseMerge MergeStyle = "rebase-merge" // MergeStyleSquash squash commits into single commit before merging MergeStyleSquash MergeStyle = "squash" // MergeStyleFastForwardOnly fast-forward merge if possible, otherwise fail MergeStyleFastForwardOnly MergeStyle = "fast-forward-only" // MergeStyleManuallyMerged pr has been merged manually, just mark it as merged directly MergeStyleManuallyMerged MergeStyle = "manually-merged" // MergeStyleRebaseUpdate not a merge style, used to update pull head by rebase MergeStyleRebaseUpdate MergeStyle = "rebase-update-only" )
type Mirror ¶
type Mirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` Repo *Repository `xorm:"-"` Interval time.Duration EnablePrune bool `xorm:"NOT NULL DEFAULT true"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX"` NextUpdateUnix timeutil.TimeStamp `xorm:"INDEX"` LFS bool `xorm:"lfs_enabled NOT NULL DEFAULT false"` LFSEndpoint string `xorm:"lfs_endpoint TEXT"` RemoteAddress string `xorm:"VARCHAR(2048)"` }
Mirror represents mirror information of a repository.
func GetMirrorByRepoID ¶
GetMirrorByRepoID returns mirror information of a repository.
func (*Mirror) BeforeInsert ¶
func (m *Mirror) BeforeInsert()
BeforeInsert will be invoked by XORM before inserting a record
func (*Mirror) GetRemoteName ¶
GetRemoteName returns the name of the remote.
func (*Mirror) GetRepository ¶
func (m *Mirror) GetRepository(ctx context.Context) *Repository
GetRepository returns the repository.
func (*Mirror) ScheduleNextUpdate ¶
func (m *Mirror) ScheduleNextUpdate()
ScheduleNextUpdate calculates and sets next update time.
type ProjectsConfig ¶ added in v1.22.0
type ProjectsConfig struct {
ProjectsMode ProjectsMode
}
ProjectsConfig describes projects config
func (*ProjectsConfig) FromDB ¶ added in v1.22.0
func (cfg *ProjectsConfig) FromDB(bs []byte) error
FromDB fills up a ProjectsConfig from serialized format.
func (*ProjectsConfig) GetProjectsMode ¶ added in v1.22.0
func (cfg *ProjectsConfig) GetProjectsMode() ProjectsMode
func (*ProjectsConfig) IsProjectsAllowed ¶ added in v1.22.0
func (cfg *ProjectsConfig) IsProjectsAllowed(m ProjectsMode) bool
func (*ProjectsConfig) ToDB ¶ added in v1.22.0
func (cfg *ProjectsConfig) ToDB() ([]byte, error)
ToDB exports a ProjectsConfig to a serialized format.
type ProjectsMode ¶ added in v1.22.0
type ProjectsMode string
ProjectsMode represents the projects enabled for a repository
const ( // ProjectsModeRepo allows only repo-level projects ProjectsModeRepo ProjectsMode = "repo" // ProjectsModeOwner allows only owner-level projects ProjectsModeOwner ProjectsMode = "owner" // ProjectsModeAll allows both kinds of projects ProjectsModeAll ProjectsMode = "all" // ProjectsModeNone doesn't allow projects ProjectsModeNone ProjectsMode = "none" )
type PullRequestsConfig ¶
type PullRequestsConfig struct { IgnoreWhitespaceConflicts bool AllowMerge bool AllowRebase bool AllowRebaseMerge bool AllowSquash bool AllowFastForwardOnly bool AllowManualMerge bool AutodetectManualMerge bool AllowRebaseUpdate bool DefaultDeleteBranchAfterMerge bool DefaultMergeStyle MergeStyle DefaultAllowMaintainerEdit bool }
PullRequestsConfig describes pull requests config
func (*PullRequestsConfig) FromDB ¶
func (cfg *PullRequestsConfig) FromDB(bs []byte) error
FromDB fills up a PullRequestsConfig from serialized format.
func (*PullRequestsConfig) GetDefaultMergeStyle ¶
func (cfg *PullRequestsConfig) GetDefaultMergeStyle() MergeStyle
GetDefaultMergeStyle returns the default merge style for this pull request
func (*PullRequestsConfig) IsMergeStyleAllowed ¶
func (cfg *PullRequestsConfig) IsMergeStyleAllowed(mergeStyle MergeStyle) bool
IsMergeStyleAllowed returns if merge style is allowed
func (*PullRequestsConfig) ToDB ¶
func (cfg *PullRequestsConfig) ToDB() ([]byte, error)
ToDB exports a PullRequestsConfig to a serialized format.
type PushMirror ¶
type PushMirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` Repo *Repository `xorm:"-"` RemoteName string RemoteAddress string `xorm:"VARCHAR(2048)"` SyncOnCommit bool `xorm:"NOT NULL DEFAULT true"` Interval time.Duration CreatedUnix timeutil.TimeStamp `xorm:"created"` LastUpdateUnix timeutil.TimeStamp `xorm:"INDEX last_update"` LastError string `xorm:"text"` }
PushMirror represents mirror information of a repository.
func GetPushMirrorsByRepoID ¶
func GetPushMirrorsByRepoID(ctx context.Context, repoID int64, listOptions db.ListOptions) ([]*PushMirror, int64, error)
GetPushMirrorsByRepoID returns push-mirror information of a repository.
func GetPushMirrorsSyncedOnCommit ¶ added in v1.17.4
func GetPushMirrorsSyncedOnCommit(ctx context.Context, repoID int64) ([]*PushMirror, error)
GetPushMirrorsSyncedOnCommit returns push-mirrors for this repo that should be updated by new commits
func (*PushMirror) GetRemoteName ¶
func (m *PushMirror) GetRemoteName() string
GetRemoteName returns the name of the remote.
func (*PushMirror) GetRepository ¶
func (m *PushMirror) GetRepository(ctx context.Context) *Repository
GetRepository returns the path of the repository.
type PushMirrorOptions ¶ added in v1.17.4
type PushMirrorOptions struct { db.ListOptions ID int64 RepoID int64 RemoteName string }
func (PushMirrorOptions) ToConds ¶ added in v1.22.0
func (opts PushMirrorOptions) ToConds() builder.Cond
type Redirect ¶
type Redirect struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s)"` LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"` RedirectRepoID int64 // repoID to redirect to }
Redirect represents that a repo name should be redirected to another
type Release ¶ added in v1.17.4
type Release struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX UNIQUE(n)"` Repo *Repository `xorm:"-"` PublisherID int64 `xorm:"INDEX"` Publisher *user_model.User `xorm:"-"` TagName string `xorm:"INDEX UNIQUE(n)"` OriginalAuthor string OriginalAuthorID int64 `xorm:"index"` LowerTagName string Target string TargetBehind string `xorm:"-"` // to handle non-existing or empty target Title string Sha1 string `xorm:"VARCHAR(64)"` NumCommits int64 NumCommitsBehind int64 `xorm:"-"` Note string `xorm:"TEXT"` RenderedNote template.HTML `xorm:"-"` IsDraft bool `xorm:"NOT NULL DEFAULT false"` IsPrerelease bool `xorm:"NOT NULL DEFAULT false"` IsTag bool `xorm:"NOT NULL DEFAULT false"` // will be true only if the record is a tag and has no related releases Attachments []*Attachment `xorm:"-"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX"` }
Release represents a release of repository.
func GetLatestReleaseByRepoID ¶ added in v1.17.4
GetLatestReleaseByRepoID returns the latest release for a repository
func GetRelease ¶ added in v1.17.4
GetRelease returns release by given ID.
func GetReleaseByID ¶ added in v1.17.4
GetReleaseByID returns release with given ID.
func GetReleaseForRepoByID ¶ added in v1.20.6
GetReleaseForRepoByID returns release with given ID.
func (*Release) APIURL ¶ added in v1.17.4
APIURL the api url for a release. release must have attributes loaded
func (*Release) APIUploadURL ¶ added in v1.21.0
APIUploadURL the api url to upload assets to a release. release must have attributes loaded
func (*Release) GetExternalID ¶ added in v1.17.4
ExternalID ExternalUserRemappable interface
func (*Release) GetExternalName ¶ added in v1.17.4
ExternalName ExternalUserRemappable interface
func (*Release) HTMLURL ¶ added in v1.17.4
HTMLURL the url for a release on the web UI. release must have attributes loaded
func (*Release) Link ¶ added in v1.19.0
Link the relative url for a release on the web UI. release must have attributes loaded
func (*Release) LoadAttributes ¶ added in v1.17.4
LoadAttributes load repo and publisher attributes for a release
func (*Release) RemapExternalUser ¶ added in v1.17.4
RemapExternalUser ExternalUserRemappable interface
type RepoArchiver ¶
type RepoArchiver struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"index unique(s)"` Type git.ArchiveType `xorm:"unique(s)"` Status ArchiverStatus CommitID string `xorm:"VARCHAR(64) unique(s)"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX NOT NULL created"` }
RepoArchiver represents all archivers
func GetRepoArchiver ¶
func GetRepoArchiver(ctx context.Context, repoID int64, tp git.ArchiveType, commitID string) (*RepoArchiver, error)
GetRepoArchiver get an archiver
func (*RepoArchiver) RelativePath ¶
func (archiver *RepoArchiver) RelativePath() string
RelativePath returns the archive path relative to the archive storage root.
type RepoIndexerStatus ¶
type RepoIndexerStatus struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX(s)"` CommitSha string `xorm:"VARCHAR(64)"` IndexerType RepoIndexerType `xorm:"INDEX(s) NOT NULL DEFAULT 0"` }
RepoIndexerStatus status of a repo's entry in the repo indexer For now, implicitly refers to default branch
func GetIndexerStatus ¶
func GetIndexerStatus(ctx context.Context, repo *Repository, indexerType RepoIndexerType) (*RepoIndexerStatus, error)
GetIndexerStatus loads repo codes indxer status
type RepoIndexerType ¶
type RepoIndexerType int //revive:disable-line:exported
RepoIndexerType specifies the repository indexer type
const ( // RepoIndexerTypeCode code indexer RepoIndexerTypeCode RepoIndexerType = iota // 0 // RepoIndexerTypeStats repository stats indexer RepoIndexerTypeStats // 1 )
type RepoUnit ¶
type RepoUnit struct { ID int64 RepoID int64 `xorm:"INDEX(s)"` Type unit.Type `xorm:"INDEX(s)"` Config convert.Conversion `xorm:"TEXT"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX CREATED"` EveryoneAccessMode perm.AccessMode `xorm:"NOT NULL DEFAULT 0"` }
RepoUnit describes all units of a repository
func (*RepoUnit) ActionsConfig ¶ added in v1.21.0
func (r *RepoUnit) ActionsConfig() *ActionsConfig
ActionsConfig returns config for unit.ActionsConfig
func (*RepoUnit) BeforeSet ¶
BeforeSet is invoked from XORM before setting the value of a field of this object.
func (*RepoUnit) CodeConfig ¶
func (r *RepoUnit) CodeConfig() *UnitConfig
CodeConfig returns config for unit.TypeCode
func (*RepoUnit) ExternalTrackerConfig ¶
func (r *RepoUnit) ExternalTrackerConfig() *ExternalTrackerConfig
ExternalTrackerConfig returns config for unit.TypeExternalTracker
func (*RepoUnit) ExternalWikiConfig ¶
func (r *RepoUnit) ExternalWikiConfig() *ExternalWikiConfig
ExternalWikiConfig returns config for unit.TypeExternalWiki
func (*RepoUnit) IssuesConfig ¶
func (r *RepoUnit) IssuesConfig() *IssuesConfig
IssuesConfig returns config for unit.TypeIssues
func (*RepoUnit) ProjectsConfig ¶ added in v1.22.0
func (r *RepoUnit) ProjectsConfig() *ProjectsConfig
ProjectsConfig returns config for unit.ProjectsConfig
func (*RepoUnit) PullRequestsConfig ¶
func (r *RepoUnit) PullRequestsConfig() *PullRequestsConfig
PullRequestsConfig returns config for unit.TypePullRequests
func (*RepoUnit) ReleasesConfig ¶
func (r *RepoUnit) ReleasesConfig() *UnitConfig
ReleasesConfig returns config for unit.TypeReleases
type Repository ¶
type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) index"` OwnerName string Owner *user_model.User `xorm:"-"` LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"` Name string `xorm:"INDEX NOT NULL"` Description string `xorm:"TEXT"` Website string `xorm:"VARCHAR(2048)"` OriginalServiceType api.GitServiceType `xorm:"index"` OriginalURL string `xorm:"VARCHAR(2048)"` DefaultBranch string DefaultWikiBranch string NumWatches int NumStars int NumForks int NumIssues int NumClosedIssues int NumOpenIssues int `xorm:"-"` NumPulls int NumClosedPulls int NumOpenPulls int `xorm:"-"` NumMilestones int `xorm:"NOT NULL DEFAULT 0"` NumClosedMilestones int `xorm:"NOT NULL DEFAULT 0"` NumOpenMilestones int `xorm:"-"` NumProjects int `xorm:"NOT NULL DEFAULT 0"` NumClosedProjects int `xorm:"NOT NULL DEFAULT 0"` NumOpenProjects int `xorm:"-"` NumActionRuns int `xorm:"NOT NULL DEFAULT 0"` NumClosedActionRuns int `xorm:"NOT NULL DEFAULT 0"` NumOpenActionRuns int `xorm:"-"` IsPrivate bool `xorm:"INDEX"` IsEmpty bool `xorm:"INDEX"` IsArchived bool `xorm:"INDEX"` IsMirror bool `xorm:"INDEX"` Status RepositoryStatus `xorm:"NOT NULL DEFAULT 0"` RenderingMetas map[string]string `xorm:"-"` DocumentRenderingMetas map[string]string `xorm:"-"` Units []*RepoUnit `xorm:"-"` PrimaryLanguage *LanguageStat `xorm:"-"` IsFork bool `xorm:"INDEX NOT NULL DEFAULT false"` ForkID int64 `xorm:"INDEX"` BaseRepo *Repository `xorm:"-"` IsTemplate bool `xorm:"INDEX NOT NULL DEFAULT false"` TemplateID int64 `xorm:"INDEX"` Size int64 `xorm:"NOT NULL DEFAULT 0"` GitSize int64 `xorm:"NOT NULL DEFAULT 0"` LFSSize int64 `xorm:"NOT NULL DEFAULT 0"` CodeIndexerStatus *RepoIndexerStatus `xorm:"-"` StatsIndexerStatus *RepoIndexerStatus `xorm:"-"` IsFsckEnabled bool `xorm:"NOT NULL DEFAULT true"` CloseIssuesViaCommitInAnyBranch bool `xorm:"NOT NULL DEFAULT false"` Topics []string `xorm:"TEXT JSON"` ObjectFormatName string `xorm:"VARCHAR(6) NOT NULL DEFAULT 'sha1'"` TrustModel TrustModelType // Avatar: ID(10-20)-md5(32) - must fit into 64 symbols Avatar string `xorm:"VARCHAR(64)"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT 0"` }
Repository represents a git repository.
func FindUserOrgForks ¶ added in v1.17.0
func FindUserOrgForks(ctx context.Context, repoID, userID int64) ([]*Repository, error)
FindUserOrgForks returns the forked repositories for one user from a repository
func GetForkedRepo ¶
func GetForkedRepo(ctx context.Context, ownerID, repoID int64) *Repository
GetForkedRepo checks if given user has already forked a repository with given ID.
func GetForks ¶
func GetForks(ctx context.Context, repo *Repository, listOptions db.ListOptions) ([]*Repository, error)
GetForks returns all the forks of the repository
func GetForksByUserAndOrgs ¶ added in v1.17.0
func GetForksByUserAndOrgs(ctx context.Context, user *user_model.User, repo *Repository) ([]*Repository, error)
GetForksByUserAndOrgs return forked repos of the user and owned orgs
func GetRepositoriesByForkID ¶
func GetRepositoriesByForkID(ctx context.Context, forkID int64) ([]*Repository, error)
GetRepositoriesByForkID returns all repositories with given fork ID.
func GetRepositoryByID ¶
func GetRepositoryByID(ctx context.Context, id int64) (*Repository, error)
GetRepositoryByID returns the repository by given id if exists.
func GetRepositoryByName ¶
GetRepositoryByName returns the repository by given name under user if exists.
func GetRepositoryByOwnerAndName ¶
func GetRepositoryByOwnerAndName(ctx context.Context, ownerName, repoName string) (*Repository, error)
GetRepositoryByOwnerAndName returns the repository by given owner name and repo name
func GetRepositoryByURL ¶ added in v1.20.0
func GetRepositoryByURL(ctx context.Context, repoURL string) (*Repository, error)
GetRepositoryByURL returns the repository by given url
func GetStarredRepos ¶ added in v1.17.0
func GetStarredRepos(ctx context.Context, opts *StarredReposOptions) ([]*Repository, error)
GetStarredRepos returns the repos starred by a particular user
func GetTemplateRepo ¶
func GetTemplateRepo(ctx context.Context, repo *Repository) (*Repository, error)
GetTemplateRepo populates repo.TemplateRepo for a generated repository and returns an error on failure (NOTE: no error is returned for non-generated repositories, and TemplateRepo will be left untouched)
func GetUserFork ¶
func GetUserFork(ctx context.Context, repoID, userID int64) (*Repository, error)
GetUserFork return user forked repository from this repository, if not forked return nil
func GetWatchedRepos ¶ added in v1.17.0
func GetWatchedRepos(ctx context.Context, opts *WatchedReposOptions) ([]*Repository, int64, error)
GetWatchedRepos returns the repos watched by a particular user
func ValuesRepository ¶ added in v1.17.0
func ValuesRepository(m map[int64]*Repository) []*Repository
ValuesRepository converts a repository map to a list FIXME: Remove in favor of maps.values when MIN_GO_VERSION >= 1.18
func (*Repository) APIURL ¶
func (repo *Repository) APIURL() string
APIURL returns the repository API URL
func (*Repository) AfterLoad ¶
func (repo *Repository) AfterLoad()
AfterLoad is invoked from XORM after setting the values of all fields of this object.
func (*Repository) AllowOnlyContributorsToTrackTime ¶
func (repo *Repository) AllowOnlyContributorsToTrackTime(ctx context.Context) bool
AllowOnlyContributorsToTrackTime returns value of IssuesConfig or the default value
func (*Repository) AllowsPulls ¶
func (repo *Repository) AllowsPulls(ctx context.Context) bool
AllowsPulls returns true if repository meets the requirements of accepting pulls and has them enabled.
func (*Repository) AvatarLink ¶
func (repo *Repository) AvatarLink(ctx context.Context) string
AvatarLink returns the full avatar url with http host or the empty string if the repo doesn't have an avatar.
TODO: refactor it to a relative URL, but it is still used in API response at the moment
func (*Repository) CanCreateBranch ¶
func (repo *Repository) CanCreateBranch() bool
CanCreateBranch returns true if repository meets the requirements for creating new branches.
func (*Repository) CanEnableEditor ¶
func (repo *Repository) CanEnableEditor() bool
CanEnableEditor returns true if repository meets the requirements of web editor.
func (*Repository) CanEnablePulls ¶
func (repo *Repository) CanEnablePulls() bool
CanEnablePulls returns true if repository meets the requirements of accepting pulls.
func (*Repository) CanEnableTimetracker ¶
func (repo *Repository) CanEnableTimetracker() bool
CanEnableTimetracker returns true when the server admin enabled time tracking This overrules IsTimetrackerEnabled
func (*Repository) CloneLink ¶
func (repo *Repository) CloneLink() (cl *CloneLink)
CloneLink returns clone URLs of repository.
func (*Repository) CommitLink ¶
func (repo *Repository) CommitLink(commitID string) (result string)
CommitLink make link to by commit full ID note: won't check whether it's an right id
func (*Repository) ComposeBranchCompareURL ¶ added in v1.21.0
func (repo *Repository) ComposeBranchCompareURL(baseRepo *Repository, branchName string) string
func (*Repository) ComposeCompareURL ¶
func (repo *Repository) ComposeCompareURL(oldCommitID, newCommitID string) string
ComposeCompareURL returns the repository comparison URL
func (*Repository) ComposeDocumentMetas ¶
func (repo *Repository) ComposeDocumentMetas(ctx context.Context) map[string]string
ComposeDocumentMetas composes a map of metas for properly rendering documents
func (*Repository) ComposeMetas ¶
func (repo *Repository) ComposeMetas(ctx context.Context) map[string]string
ComposeMetas composes a map of metas for properly rendering issue links and external issue trackers.
func (*Repository) CustomAvatarRelativePath ¶
func (repo *Repository) CustomAvatarRelativePath() string
CustomAvatarRelativePath returns repository custom avatar file path.
func (*Repository) DescriptionHTML ¶
func (repo *Repository) DescriptionHTML(ctx context.Context) template.HTML
DescriptionHTML does special handles to description and return HTML string.
func (*Repository) FullName ¶
func (repo *Repository) FullName() string
FullName returns the repository full name
func (*Repository) GetBaseRepo ¶
func (repo *Repository) GetBaseRepo(ctx context.Context) (err error)
GetBaseRepo populates repo.BaseRepo for a fork repository and returns an error on failure (NOTE: no error is returned for non-fork repositories, and BaseRepo will be left untouched)
func (*Repository) GetCommitsCountCacheKey ¶
func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool) string
GetCommitsCountCacheKey returns cache key used for commits count caching.
func (*Repository) GetName ¶ added in v1.22.0
func (repo *Repository) GetName() string
func (*Repository) GetOriginalURLHostname ¶
func (repo *Repository) GetOriginalURLHostname() string
GetOriginalURLHostname returns the hostname of a URL or the URL
func (*Repository) GetOwnerName ¶ added in v1.22.0
func (repo *Repository) GetOwnerName() string
func (*Repository) GetTrustModel ¶
func (repo *Repository) GetTrustModel() TrustModelType
GetTrustModel will get the TrustModel for the repo or the default trust model
func (*Repository) HTMLURL ¶
func (repo *Repository) HTMLURL() string
HTMLURL returns the repository HTML URL
func (*Repository) HasWiki ¶
func (repo *Repository) HasWiki() bool
HasWiki returns true if repository has wiki.
func (*Repository) IsBeingCreated ¶
func (repo *Repository) IsBeingCreated() bool
IsBeingCreated indicates that repository is being migrated or forked
func (*Repository) IsBeingMigrated ¶
func (repo *Repository) IsBeingMigrated() bool
IsBeingMigrated indicates that repository is being migrated
func (*Repository) IsBroken ¶
func (repo *Repository) IsBroken() bool
IsBroken indicates that repository is broken
func (*Repository) IsDependenciesEnabled ¶
func (repo *Repository) IsDependenciesEnabled(ctx context.Context) bool
IsDependenciesEnabled returns if dependencies are enabled and returns the default setting if not set.
func (*Repository) IsGenerated ¶
func (repo *Repository) IsGenerated() bool
IsGenerated returns whether _this_ repository was generated from a template
func (*Repository) IsOwnedBy ¶
func (repo *Repository) IsOwnedBy(userID int64) bool
IsOwnedBy returns true when user owns this repository
func (*Repository) IsTimetrackerEnabled ¶
func (repo *Repository) IsTimetrackerEnabled(ctx context.Context) bool
IsTimetrackerEnabled returns whether or not the timetracker is enabled. It returns the default value from config if an error occurs.
func (*Repository) Link ¶
func (repo *Repository) Link() string
Link returns the repository relative url
func (*Repository) LoadAttributes ¶ added in v1.17.0
func (repo *Repository) LoadAttributes(ctx context.Context) error
LoadAttributes loads attributes of the repository.
func (*Repository) LoadOwner ¶ added in v1.19.0
func (repo *Repository) LoadOwner(ctx context.Context) (err error)
LoadOwner loads owner user
func (*Repository) LoadUnits ¶
func (repo *Repository) LoadUnits(ctx context.Context) (err error)
LoadUnits loads repo units into repo.Units
func (*Repository) LogString ¶ added in v1.20.0
func (repo *Repository) LogString() string
func (*Repository) MarkAsBrokenEmpty ¶ added in v1.20.0
func (repo *Repository) MarkAsBrokenEmpty()
MarkAsBrokenEmpty marks the repo as broken and empty
func (*Repository) MustGetUnit ¶
MustGetUnit always returns a RepoUnit object
func (*Repository) MustNotBeArchived ¶ added in v1.21.2
func (repo *Repository) MustNotBeArchived() error
MustNotBeArchived returns ErrRepoIsArchived if the repo is archived
func (*Repository) MustOwner ¶
func (repo *Repository) MustOwner(ctx context.Context) *user_model.User
MustOwner always returns a valid *user_model.User object to avoid conceptually impossible error handling. It creates a fake object that contains error details when error occurs.
func (*Repository) RelAvatarLink ¶
func (repo *Repository) RelAvatarLink(ctx context.Context) string
RelAvatarLink returns a relative link to the repository's avatar.
func (*Repository) RepoPath ¶
func (repo *Repository) RepoPath() string
RepoPath returns the repository path
func (*Repository) SanitizedOriginalURL ¶
func (repo *Repository) SanitizedOriginalURL() string
SanitizedOriginalURL returns a sanitized OriginalURL
func (*Repository) SizeDetails ¶ added in v1.21.0
func (repo *Repository) SizeDetails() []SizeDetail
SizeDetails forms a struct with various size details about repository
func (*Repository) SizeDetailsString ¶ added in v1.21.0
func (repo *Repository) SizeDetailsString() string
SizeDetailsString returns a concatenation of all repository size details as a string
func (*Repository) TemplateRepo ¶
func (repo *Repository) TemplateRepo(ctx context.Context) *Repository
TemplateRepo returns the repository, which is template of this repository
func (*Repository) UnitEnabled ¶
UnitEnabled if this repository has the given unit enabled
func (*Repository) WikiCloneLink ¶
func (repo *Repository) WikiCloneLink() *CloneLink
WikiCloneLink returns clone URLs of repository wiki.
func (*Repository) WikiPath ¶
func (repo *Repository) WikiPath() string
WikiPath returns wiki data path for given repository.
type RepositoryList ¶ added in v1.17.0
type RepositoryList []*Repository
RepositoryList contains a list of repositories
func GetUserRepositories ¶ added in v1.17.0
func GetUserRepositories(ctx context.Context, opts *SearchRepoOptions) (RepositoryList, int64, error)
GetUserRepositories returns a list of repositories of given user.
func RepositoryListOfMap ¶ added in v1.17.0
func RepositoryListOfMap(repoMap map[int64]*Repository) RepositoryList
RepositoryListOfMap make list from values of map
func SearchRepository ¶ added in v1.17.0
func SearchRepository(ctx context.Context, opts *SearchRepoOptions) (RepositoryList, int64, error)
SearchRepository returns repositories based on search options, it returns results in given range and number of total results.
func SearchRepositoryByCondition ¶ added in v1.17.0
func SearchRepositoryByCondition(ctx context.Context, opts *SearchRepoOptions, cond builder.Cond, loadAttributes bool) (RepositoryList, int64, error)
SearchRepositoryByCondition search repositories by condition
func SearchRepositoryByName ¶ added in v1.17.0
func SearchRepositoryByName(ctx context.Context, opts *SearchRepoOptions) (RepositoryList, int64, error)
SearchRepositoryByName takes keyword and part of repository name to search, it returns results in given range and number of total results.
func (RepositoryList) IDs ¶ added in v1.22.0
func (repos RepositoryList) IDs() []int64
func (RepositoryList) Len ¶ added in v1.17.0
func (repos RepositoryList) Len() int
func (RepositoryList) Less ¶ added in v1.17.0
func (repos RepositoryList) Less(i, j int) bool
func (RepositoryList) LoadAttributes ¶ added in v1.17.0
func (repos RepositoryList) LoadAttributes(ctx context.Context) error
LoadAttributes loads the attributes for the given RepositoryList
func (RepositoryList) LoadUnits ¶ added in v1.22.0
func (repos RepositoryList) LoadUnits(ctx context.Context) error
func (RepositoryList) Swap ¶ added in v1.17.0
func (repos RepositoryList) Swap(i, j int)
type RepositoryStatus ¶
type RepositoryStatus int
RepositoryStatus defines the status of repository
const ( RepositoryReady RepositoryStatus = iota // a normal repository RepositoryBeingMigrated // repository is migrating RepositoryPendingTransfer // repository pending in ownership transfer state RepositoryBroken // repository is in a permanently broken state )
all kinds of RepositoryStatus
type SearchOrderBy ¶ added in v1.17.0
type SearchOrderBy string
SearchOrderBy is used to sort the result
const ( SearchOrderByAlphabetically SearchOrderBy = "name ASC" SearchOrderByAlphabeticallyReverse SearchOrderBy = "name DESC" SearchOrderByLeastUpdated SearchOrderBy = "updated_unix ASC" SearchOrderByRecentUpdated SearchOrderBy = "updated_unix DESC" SearchOrderByOldest SearchOrderBy = "created_unix ASC" SearchOrderByNewest SearchOrderBy = "created_unix DESC" SearchOrderBySize SearchOrderBy = "size ASC" SearchOrderBySizeReverse SearchOrderBy = "size DESC" SearchOrderByID SearchOrderBy = "id ASC" SearchOrderByIDReverse SearchOrderBy = "id DESC" SearchOrderByStars SearchOrderBy = "num_stars ASC" SearchOrderByStarsReverse SearchOrderBy = "num_stars DESC" SearchOrderByForks SearchOrderBy = "num_forks ASC" SearchOrderByForksReverse SearchOrderBy = "num_forks DESC" )
Strings for sorting result
func (SearchOrderBy) String ¶ added in v1.17.0
func (s SearchOrderBy) String() string
type SearchRepoOptions ¶ added in v1.17.0
type SearchRepoOptions struct { db.ListOptions Actor *user_model.User Keyword string OwnerID int64 PriorityOwnerID int64 TeamID int64 OrderBy db.SearchOrderBy Private bool // Include private repositories in results StarredByID int64 WatchedByID int64 AllPublic bool // Include also all public repositories of users and public organisations AllLimited bool // Include also all public repositories of limited organisations // None -> include public and private // True -> include just private // False -> include just public IsPrivate optional.Option[bool] // None -> include collaborative AND non-collaborative // True -> include just collaborative // False -> include just non-collaborative Collaborate optional.Option[bool] // What type of unit the user can be collaborative in, // it is ignored if Collaborate is False. // TypeInvalid means any unit type. UnitType unit.Type // None -> include forks AND non-forks // True -> include just forks // False -> include just non-forks Fork optional.Option[bool] // If Fork option is True, you can use this option to limit the forks of a special repo by repo id. ForkFrom int64 // None -> include templates AND non-templates // True -> include just templates // False -> include just non-templates Template optional.Option[bool] // None -> include mirrors AND non-mirrors // True -> include just mirrors // False -> include just non-mirrors Mirror optional.Option[bool] // None -> include archived AND non-archived // True -> include just archived // False -> include just non-archived Archived optional.Option[bool] // only search topic name TopicOnly bool // only search repositories with specified primary language Language string // include description in keyword search IncludeDescription bool // None -> include has milestones AND has no milestone // True -> include just has milestones // False -> include just has no milestone HasMilestones optional.Option[bool] // LowerNames represents valid lower names to restrict to LowerNames []string // When specified true, apply some filters over the conditions: // - Don't show forks, when opts.Fork is OptionalBoolNone. // - Do not display repositories that don't have a description, an icon and topics. OnlyShowRelevant bool }
SearchRepoOptions holds the search options
type SizeDetail ¶ added in v1.21.0
type Star ¶
type Star struct { ID int64 `xorm:"pk autoincr"` UID int64 `xorm:"UNIQUE(s)"` RepoID int64 `xorm:"UNIQUE(s)"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` }
Star represents a starred repo by an user.
type StarredReposOptions ¶ added in v1.22.0
type StarredReposOptions struct { db.ListOptions StarrerID int64 RepoOwnerID int64 IncludePrivate bool }
func (*StarredReposOptions) ToConds ¶ added in v1.22.0
func (opts *StarredReposOptions) ToConds() builder.Cond
func (*StarredReposOptions) ToJoins ¶ added in v1.22.0
func (opts *StarredReposOptions) ToJoins() []db.JoinFunc
type Topic ¶
type Topic struct { ID int64 `xorm:"pk autoincr"` Name string `xorm:"UNIQUE VARCHAR(50)"` RepoCount int CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` }
Topic represents a topic of repositories
func DeleteTopic ¶
DeleteTopic removes a topic name from a repository (if it has it)
func GetRepoTopicByName ¶
GetRepoTopicByName retrieves topic from name for a repo if it exist
type TrustModelType ¶
type TrustModelType int
TrustModelType defines the types of trust model for this repository
const ( DefaultTrustModel TrustModelType = iota // default trust model CommitterTrustModel CollaboratorTrustModel CollaboratorCommitterTrustModel )
kinds of TrustModel
func ToTrustModel ¶
func ToTrustModel(model string) TrustModelType
ToTrustModel converts a string to a TrustModelType
func (TrustModelType) String ¶
func (t TrustModelType) String() string
String converts a TrustModelType to a string
type UnitConfig ¶
type UnitConfig struct{}
UnitConfig describes common unit config
func (*UnitConfig) FromDB ¶
func (cfg *UnitConfig) FromDB(bs []byte) error
FromDB fills up a UnitConfig from serialized format.
func (*UnitConfig) ToDB ¶
func (cfg *UnitConfig) ToDB() ([]byte, error)
ToDB exports a UnitConfig to a serialized format.
type Upload ¶ added in v1.17.4
Upload represent a uploaded file to a repo to be deleted when moved
func GetUploadByUUID ¶ added in v1.17.4
GetUploadByUUID returns the Upload by UUID
func GetUploadsByUUIDs ¶ added in v1.17.4
GetUploadsByUUIDs returns multiple uploads by UUIDS
type Watch ¶
type Watch struct { ID int64 `xorm:"pk autoincr"` UserID int64 `xorm:"UNIQUE(watch)"` RepoID int64 `xorm:"UNIQUE(watch)"` Mode WatchMode `xorm:"SMALLINT NOT NULL DEFAULT 1"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` }
Watch is connection request for receiving repository notification.
type WatchMode ¶
type WatchMode int8
WatchMode specifies what kind of watch the user has on a repository
type WatchedReposOptions ¶ added in v1.22.0
type WatchedReposOptions struct { db.ListOptions WatcherID int64 RepoOwnerID int64 IncludePrivate bool }
func (*WatchedReposOptions) ToConds ¶ added in v1.22.0
func (opts *WatchedReposOptions) ToConds() builder.Cond
func (*WatchedReposOptions) ToJoins ¶ added in v1.22.0
func (opts *WatchedReposOptions) ToJoins() []db.JoinFunc