Documentation ¶
Index ¶
- Constants
- Variables
- func AccessibleRepoIDsQuery(user *user_model.User) *builder.Builder
- func AccessibleRepositoryCondition(user *user_model.User, unitType unit.Type) builder.Cond
- func AddRepoArchiver(ctx context.Context, archiver *RepoArchiver) error
- func AttachmentRelativePath(uuid string) string
- func ChangeCollaborationAccessMode(repo *Repository, uid int64, mode perm.AccessMode) error
- func ChangeCollaborationAccessModeCtx(ctx context.Context, repo *Repository, uid int64, mode perm.AccessMode) error
- func ChangeRepositoryName(doer *user_model.User, repo *Repository, newRepoName string) (err error)
- func CheckCreateRepository(doer, u *user_model.User, name string, overwriteOrAdopt bool) error
- func ComposeHTTPSCloneURL(owner, repo string) string
- func CopyLanguageStat(originalRepo, destRepo *Repository) error
- func CountCollaborators(repoID int64) (int64, error)
- func CountOrphanedAttachments() (int64, error)
- func CountRepositories(ctx context.Context, opts CountRepositoryOptions) (int64, error)
- func CountTopics(opts *FindTopicOptions) (int64, error)
- func DecrementRepoForkNum(ctx context.Context, repoID int64) error
- func DeleteAllRepoArchives() error
- func DeleteAttachment(a *Attachment, remove bool) error
- func DeleteAttachments(ctx context.Context, attachments []*Attachment, remove bool) (int, error)
- func DeleteAttachmentsByComment(commentID int64, remove bool) (int, error)
- func DeleteAttachmentsByIssue(issueID int64, remove bool) (int, error)
- func DeleteAttachmentsByRelease(releaseID int64) error
- func DeleteMirrorByRepoID(repoID int64) error
- func DeleteOrphanedAttachments() error
- func DeletePushMirrorByID(ID int64) error
- func DeletePushMirrorsByRepoID(repoID int64) error
- func DeleteRedirect(ctx context.Context, ownerID int64, repoName string) error
- func DeleteRepoArchiver(ctx context.Context, archiver *RepoArchiver) error
- func ExistAttachmentsByUUID(uuid string) (bool, error)
- func FindReposMapByIDs(repoIDs []int64, res map[int64]*Repository) error
- func FindUserCodeAccessibleRepoIDs(user *user_model.User) ([]int64, error)
- func GenerateTopics(ctx context.Context, templateRepo, generateRepo *Repository) error
- func GetRepoAssignees(ctx context.Context, repo *Repository) (_ []*user_model.User, err error)
- func GetRepoWatchers(repoID int64, opts db.ListOptions) ([]*user_model.User, error)
- func GetRepoWatchersIDs(ctx context.Context, repoID int64) ([]int64, error)
- func GetRepositoriesMapByIDs(ids []int64) (map[int64]*Repository, error)
- func GetReviewers(ctx context.Context, repo *Repository, doerID, posterID int64) ([]*user_model.User, error)
- func GetStargazers(repo *Repository, opts db.ListOptions) ([]*user_model.User, error)
- func GetUnindexedRepos(indexerType RepoIndexerType, maxRepoID int64, page, pageSize int) ([]int64, error)
- func HasForkedRepo(ownerID, repoID int64) bool
- func IncrementRepoForkNum(ctx context.Context, repoID int64) error
- func InsertMirror(ctx context.Context, mirror *Mirror) error
- func InsertPushMirror(m *PushMirror) 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 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 IsErrUserDoesNotHaveAccessToRepo(err error) bool
- func IsOwnerMemberCollaborator(repo *Repository, userID int64) (bool, error)
- func IsRepositoryExist(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(userID, repoID int64) bool
- func LookupRedirect(ownerID int64, repoName string) (int64, error)
- func MirrorsIterate(limit int, f func(idx int, bean interface{}) error) error
- func NewRedirect(ctx context.Context, ownerID, repoID int64, oldRepoName, newRepoName string) error
- func PushMirrorsIterate(limit int, f func(idx int, bean interface{}) error) error
- func RemoveTopicsFromRepo(ctx context.Context, repoID int64) error
- func RepoPath(userName, repoName string) string
- func SanitizeAndValidateTopics(topics []string) (validTopics, invalidTopics []string)
- func SaveTopics(repoID int64, topicNames ...string) error
- func SearchRepositoryCondition(opts *SearchRepoOptions) builder.Cond
- func SearchRepositoryIDs(opts *SearchRepoOptions) ([]int64, int64, error)
- func SetArchiveRepoState(repo *Repository, isArchived bool) (err error)
- func StarRepo(userID, repoID int64, star bool) error
- func StatsCorrectNumClosed(ctx context.Context, id int64, isPull bool, field string) 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(repo *Repository) error
- func UpdateIndexerStatus(ctx context.Context, repo *Repository, indexerType RepoIndexerType, sha string) error
- func UpdateLanguageStats(repo *Repository, commitID string, stats map[string]int64) error
- func UpdateMirror(ctx context.Context, m *Mirror) error
- func UpdatePushMirror(m *PushMirror) 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, size int64) error
- func UpdateRepoUnit(unit *RepoUnit) error
- func UpdateRepositoryCols(ctx context.Context, repo *Repository, cols ...string) error
- func UpdateRepositoryOwnerNames(ownerID int64, ownerName string) error
- func UpdateRepositoryUnits(repo *Repository, units []RepoUnit, deleteUnitTypes []unit.Type) (err error)
- func UpdateRepositoryUpdatedTime(repoID int64, updateTime time.Time) error
- 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, userID, repoID int64, doWatch bool) (err error)
- func WatchRepoMode(userID, repoID int64, mode WatchMode) (err error)
- func WikiPath(userName, repoName string) 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 GetAttachmentsByUUIDs(ctx context.Context, uuids []string) ([]*Attachment, error)
- type CloneLink
- type Collaboration
- type Collaborator
- type CountRepositoryOptions
- type ErrAttachmentNotExist
- type ErrReachLimitOfRepo
- type ErrRedirectNotExist
- type ErrRepoAlreadyExist
- type ErrRepoFilesAlreadyExist
- type ErrRepoNotExist
- type ErrTopicNotExist
- type ErrUnitTypeNotExist
- type ErrUserDoesNotHaveAccessToRepo
- type ExternalTrackerConfig
- type ExternalWikiConfig
- type FindRepoArchiversOption
- type FindTopicOptions
- type IssuesConfig
- type LanguageStat
- type LanguageStatList
- type MergeStyle
- type Mirror
- type PullRequestsConfig
- type PushMirror
- type Redirect
- type RepoArchiver
- type RepoIndexerStatus
- type RepoIndexerType
- type RepoTopic
- type RepoUnit
- 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) 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(ownerID, repoID int64) *Repository
- func GetForks(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(id int64) (*Repository, error)
- func GetRepositoryByIDCtx(ctx context.Context, id int64) (*Repository, error)
- func GetRepositoryByName(ownerID int64, name string) (*Repository, error)
- func GetRepositoryByOwnerAndName(ownerName, repoName string) (*Repository, error)
- func GetRepositoryByOwnerAndNameCtx(ctx context.Context, ownerName, repoName string) (*Repository, error)
- func GetStarredRepos(userID int64, private bool, listOptions db.ListOptions) ([]*Repository, error)
- func GetTemplateRepo(ctx context.Context, repo *Repository) (*Repository, error)
- func GetUserFork(ctx context.Context, repoID, userID int64) (*Repository, error)
- func GetWatchedRepos(userID int64, private bool, listOptions db.ListOptions) ([]*Repository, int64, error)
- func ValuesRepository(m map[int64]*Repository) []*Repository
- func (repo *Repository) APIURL() string
- func (repo *Repository) AfterLoad()
- func (repo *Repository) AllowOnlyContributorsToTrackTime() bool
- func (repo *Repository) AllowsPulls() bool
- func (repo *Repository) AvatarLink() 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) ColorFormat(s fmt.State)
- func (repo *Repository) CommitLink(commitID string) (result string)
- func (repo *Repository) ComposeCompareURL(oldCommitID, newCommitID string) string
- func (repo *Repository) ComposeDocumentMetas() map[string]string
- func (repo *Repository) ComposeMetas() 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() (err error)
- func (repo *Repository) GetCommitsCountCacheKey(contextName string, isRef bool) string
- func (repo *Repository) GetOriginalURLHostname() string
- func (repo *Repository) GetOwner(ctx context.Context) (err error)
- func (repo *Repository) GetTrustModel() TrustModelType
- func (repo *Repository) GetUnit(tp unit.Type) (*RepoUnit, error)
- func (repo *Repository) GetUnitCtx(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() bool
- func (repo *Repository) IsDependenciesEnabledCtx(ctx context.Context) bool
- func (repo *Repository) IsGenerated() bool
- func (repo *Repository) IsOwnedBy(userID int64) bool
- func (repo *Repository) IsTimetrackerEnabled() bool
- func (repo *Repository) IsTimetrackerEnabledCtx(ctx context.Context) bool
- func (repo *Repository) Link() string
- func (repo *Repository) LoadAttributes(ctx context.Context) error
- func (repo *Repository) LoadUnits(ctx context.Context) (err error)
- func (repo *Repository) MustGetUnit(tp unit.Type) *RepoUnit
- func (repo *Repository) MustOwner() *user_model.User
- func (repo *Repository) RelAvatarLink() string
- func (repo *Repository) RepoPath() string
- func (repo *Repository) SanitizedOriginalURL() string
- func (repo *Repository) TemplateRepo() *Repository
- func (repo *Repository) UnitEnabled(tp unit.Type) (result bool)
- func (repo *Repository) UnitEnabledCtx(ctx context.Context, tp unit.Type) bool
- func (repo *Repository) WikiCloneLink() *CloneLink
- func (repo *Repository) WikiPath() string
- type RepositoryList
- func GetUserRepositories(opts *SearchRepoOptions) (RepositoryList, int64, error)
- func RepositoryListOfMap(repoMap map[int64]*Repository) RepositoryList
- func SearchRepository(opts *SearchRepoOptions) (RepositoryList, int64, error)
- func SearchRepositoryByCondition(opts *SearchRepoOptions, cond builder.Cond, loadAttributes bool) (RepositoryList, int64, error)
- func SearchRepositoryByName(opts *SearchRepoOptions) (RepositoryList, int64, error)
- type RepositoryStatus
- type SearchOrderBy
- type SearchRepoOptions
- type Star
- type Topic
- func AddTopic(repoID int64, topicName string) (*Topic, error)
- func DeleteTopic(repoID int64, topicName string) (*Topic, error)
- func FindTopics(opts *FindTopicOptions) ([]*Topic, int64, error)
- func GetRepoTopicByName(ctx context.Context, repoID int64, topicName string) (*Topic, error)
- func GetTopicByName(name string) (*Topic, error)
- type TrustModelType
- type UnitConfig
- type Watch
- type WatchMode
Constants ¶
const ( ArchiverGenerating = iota // the archiver is generating ArchiverReady // it's ready )
enumerate all repo archive statuses
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 = errors.New("Mirror does not exist")
ErrMirrorNotExist mirror does not exist error
var ErrPushMirrorNotExist = errors.New("PushMirror does not exist")
ErrPushMirrorNotExist mirror does not exist error
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 AddRepoArchiver ¶
func AddRepoArchiver(ctx context.Context, archiver *RepoArchiver) error
AddRepoArchiver adds an archiver
func AttachmentRelativePath ¶
AttachmentRelativePath returns the relative path
func ChangeCollaborationAccessMode ¶ added in v1.17.0
func ChangeCollaborationAccessMode(repo *Repository, uid int64, mode perm.AccessMode) error
ChangeCollaborationAccessMode sets new access mode for the collaboration.
func ChangeCollaborationAccessModeCtx ¶ added in v1.17.0
func ChangeCollaborationAccessModeCtx(ctx context.Context, repo *Repository, uid int64, mode perm.AccessMode) error
ChangeCollaborationAccessMode sets new access mode for the collaboration.
func ChangeRepositoryName ¶
func ChangeRepositoryName(doer *user_model.User, repo *Repository, newRepoName string) (err error)
ChangeRepositoryName changes all corresponding setting from old repository name to new one.
func CheckCreateRepository ¶
func CheckCreateRepository(doer, u *user_model.User, name string, overwriteOrAdopt bool) error
CheckCreateRepository check if could created a repository
func ComposeHTTPSCloneURL ¶
ComposeHTTPSCloneURL returns HTTPS clone URL based on given owner and repository name.
func CopyLanguageStat ¶
func CopyLanguageStat(originalRepo, destRepo *Repository) error
CopyLanguageStat Copy originalRepo language stat information to destRepo (use for forked repo)
func CountCollaborators ¶ added in v1.17.0
CountCollaborators returns total number of collaborators for a repository
func CountOrphanedAttachments ¶
CountOrphanedAttachments returns the number of bad attachments
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 CountTopics ¶
func CountTopics(opts *FindTopicOptions) (int64, error)
CountTopics counts the number of topics matching the FindTopicOptions
func DecrementRepoForkNum ¶ added in v1.17.0
DecrementRepoForkNum decrement repository fork number
func DeleteAllRepoArchives ¶
func DeleteAllRepoArchives() error
DeleteAllRepoArchives deletes all repo archives records
func DeleteAttachment ¶
func DeleteAttachment(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 ¶
func DeleteOrphanedAttachments() error
DeleteOrphanedAttachments delete all bad attachments
func DeletePushMirrorByID ¶
DeletePushMirrorByID deletes a push-mirrors by ID
func DeletePushMirrorsByRepoID ¶
DeletePushMirrorsByRepoID deletes all push-mirrors by repoID
func DeleteRedirect ¶
DeleteRedirect delete any redirect from the specified repo name to anything else
func DeleteRepoArchiver ¶
func DeleteRepoArchiver(ctx context.Context, archiver *RepoArchiver) error
DeleteRepoArchiver delete archiver
func ExistAttachmentsByUUID ¶
ExistAttachmentsByUUID returns true if attachment is exist by given UUID
func FindReposMapByIDs ¶
func FindReposMapByIDs(repoIDs []int64, res map[int64]*Repository) error
FindReposMapByIDs find repos as map
func FindUserCodeAccessibleRepoIDs ¶ added in v1.17.0
func FindUserCodeAccessibleRepoIDs(user *user_model.User) ([]int64, error)
FindUserCodeAccessibleRepoIDs finds all at Code level accessible repositories' ID by the user's id
func GenerateTopics ¶
func GenerateTopics(ctx context.Context, templateRepo, generateRepo *Repository) error
GenerateTopics generates topics from a template repository
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(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 ¶
func GetRepositoriesMapByIDs(ids []int64) (map[int64]*Repository, error)
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(repo *Repository, opts db.ListOptions) ([]*user_model.User, error)
GetStargazers returns the users that starred the repo.
func GetUnindexedRepos ¶
func GetUnindexedRepos(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 InsertPushMirror ¶
func InsertPushMirror(m *PushMirror) error
InsertPushMirror inserts a push-mirror to database
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 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 IsErrUserDoesNotHaveAccessToRepo ¶ added in v1.17.0
IsErrUserDoesNotHaveAccessToRepo checks if an error is a ErrRepoFileAlreadyExists.
func IsOwnerMemberCollaborator ¶ added in v1.17.0
func IsOwnerMemberCollaborator(repo *Repository, userID int64) (bool, error)
IsOwnerMemberCollaborator checks if a provided user is the owner, a collaborator or a member of a team in a repository
func IsRepositoryExist ¶
IsRepositoryExist 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 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 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
func SearchRepositoryIDs(opts *SearchRepoOptions) ([]int64, int64, error)
SearchRepositoryIDs takes keyword and part of repository name to search, it returns results in given range and number of total results.
func SetArchiveRepoState ¶
func SetArchiveRepoState(repo *Repository, isArchived bool) (err error)
SetArchiveRepoState sets if a repo is archived
func StatsCorrectNumClosed ¶ added in v1.17.0
StatsCorrectNumClosed update repository's issue related numbers
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(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(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(m *PushMirror) error
UpdatePushMirror updates the push-mirror
func UpdateRepoArchiverStatus ¶
func UpdateRepoArchiverStatus(ctx context.Context, archiver *RepoArchiver) error
UpdateRepoArchiverStatus updates archiver's status
func UpdateRepoIssueNumbers ¶ added in v1.17.0
UpdateRepoIssueNumbers update repository issue numbers
func UpdateRepoSize ¶ added in v1.17.0
UpdateRepoSize updates the repository size, calculating it using util.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 UpdateRepositoryOwnerNames ¶
UpdateRepositoryOwnerNames updates repository owner_names (this should only be used when the ownerName has changed case)
func UpdateRepositoryUnits ¶
func UpdateRepositoryUnits(repo *Repository, units []RepoUnit, deleteUnitTypes []unit.Type) (err error)
UpdateRepositoryUnits updates a repository's units
func UpdateRepositoryUpdatedTime ¶
UpdateRepositoryUpdatedTime updates a repository's updated time
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 WatchRepoMode ¶
WatchRepoMode watch repository in specific mode.
Types ¶
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 Name string DownloadCount int64 `xorm:"DEFAULT 0"` Size int64 `xorm:"DEFAULT 0"` CreatedUnix timeutil.TimeStamp `xorm:"created"` }
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 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() 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, repoID int64, listOptions db.ListOptions) ([]*Collaborator, error)
GetCollaborators returns the collaborators for a repository
type CountRepositoryOptions ¶ added in v1.17.0
type CountRepositoryOptions struct { OwnerID int64 Private util.OptionalBool }
type ErrAttachmentNotExist ¶
ErrAttachmentNotExist represents a "AttachmentNotExist" kind of error.
func (ErrAttachmentNotExist) Error ¶
func (err ErrAttachmentNotExist) Error() string
type ErrReachLimitOfRepo ¶
type ErrReachLimitOfRepo struct {
Limit int
}
ErrReachLimitOfRepo represents a "ReachLimitOfRepo" kind of error.
func (ErrReachLimitOfRepo) Error ¶
func (err ErrReachLimitOfRepo) Error() string
type ErrRedirectNotExist ¶
ErrRedirectNotExist represents a "RedirectNotExist" kind of error.
func (ErrRedirectNotExist) Error ¶
func (err ErrRedirectNotExist) Error() string
type ErrRepoAlreadyExist ¶
ErrRepoAlreadyExist represents a "RepoAlreadyExist" kind of error.
func (ErrRepoAlreadyExist) Error ¶
func (err ErrRepoAlreadyExist) Error() string
type ErrRepoFilesAlreadyExist ¶
ErrRepoFilesAlreadyExist represents a "RepoFilesAlreadyExist" kind of error.
func (ErrRepoFilesAlreadyExist) Error ¶
func (err ErrRepoFilesAlreadyExist) Error() string
type ErrRepoNotExist ¶
ErrRepoNotExist represents a "RepoNotExist" kind of error.
func (ErrRepoNotExist) Error ¶
func (err ErrRepoNotExist) Error() string
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
type ErrUnitTypeNotExist ¶
ErrUnitTypeNotExist represents a "UnitTypeNotExist" kind of error.
func (ErrUnitTypeNotExist) Error ¶
func (err ErrUnitTypeNotExist) Error() string
type ErrUserDoesNotHaveAccessToRepo ¶ added in v1.17.0
ErrUserDoesNotHaveAccessToRepo represets 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
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 FindRepoArchiversOption ¶
type FindRepoArchiversOption struct { db.ListOptions OlderThan time.Duration }
FindRepoArchiversOption represents an archiver options
type FindTopicOptions ¶
type FindTopicOptions struct { db.ListOptions RepoID int64 Keyword string }
FindTopicOptions represents the options when fdin topics
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(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 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" // 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"` Address string `xorm:"-"` }
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() *Repository
GetRepository returns the repository.
func (*Mirror) ScheduleNextUpdate ¶
func (m *Mirror) ScheduleNextUpdate()
ScheduleNextUpdate calculates and sets next update time.
type PullRequestsConfig ¶
type PullRequestsConfig struct { IgnoreWhitespaceConflicts bool AllowMerge bool AllowRebase bool AllowRebaseMerge bool AllowSquash bool AllowManualMerge bool AutodetectManualMerge bool AllowRebaseUpdate bool DefaultDeleteBranchAfterMerge bool DefaultMergeStyle MergeStyle }
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 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 GetPushMirrorByID ¶
func GetPushMirrorByID(ID int64) (*PushMirror, error)
GetPushMirrorByID returns push-mirror information.
func GetPushMirrorsByRepoID ¶
func GetPushMirrorsByRepoID(repoID int64) ([]*PushMirror, error)
GetPushMirrorsByRepoID returns push-mirror information of a repository.
func (*PushMirror) GetRemoteName ¶
func (m *PushMirror) GetRemoteName() string
GetRemoteName returns the name of the remote.
func (*PushMirror) GetRepository ¶
func (m *PushMirror) GetRepository() *Repository
GetRepository returns the path of the repository.
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 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(40) unique(s)"` CreatedUnix timeutil.TimeStamp `xorm:"INDEX NOT NULL created"` }
RepoArchiver represents all archivers
func FindRepoArchives ¶
func FindRepoArchives(opts FindRepoArchiversOption) ([]*RepoArchiver, error)
FindRepoArchives find repo 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(40)"` 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"` }
RepoUnit describes all units of a repository
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) 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 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:"-"` IsPrivate bool `xorm:"INDEX"` IsEmpty bool `xorm:"INDEX"` IsArchived bool `xorm:"INDEX"` IsMirror bool `xorm:"INDEX"` *Mirror `xorm:"-"` 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"` 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"` 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"` }
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(ownerID, repoID int64) *Repository
GetForkedRepo checks if given user has already forked a repository with given ID.
func GetForks ¶
func GetForks(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(id int64) (*Repository, error)
GetRepositoryByID returns the repository by given id if exists.
func GetRepositoryByIDCtx ¶
func GetRepositoryByIDCtx(ctx context.Context, id int64) (*Repository, error)
GetRepositoryByIDCtx returns the repository by given id if exists.
func GetRepositoryByName ¶
func GetRepositoryByName(ownerID int64, name string) (*Repository, error)
GetRepositoryByName returns the repository by given name under user if exists.
func GetRepositoryByOwnerAndName ¶
func GetRepositoryByOwnerAndName(ownerName, repoName string) (*Repository, error)
GetRepositoryByOwnerAndName returns the repository by given ownername and reponame.
func GetRepositoryByOwnerAndNameCtx ¶
func GetRepositoryByOwnerAndNameCtx(ctx context.Context, ownerName, repoName string) (*Repository, error)
GetRepositoryByOwnerAndNameCtx returns the repository by given owner name and repo name
func GetStarredRepos ¶ added in v1.17.0
func GetStarredRepos(userID int64, private bool, listOptions db.ListOptions) ([]*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(userID int64, private bool, listOptions db.ListOptions) ([]*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() bool
AllowOnlyContributorsToTrackTime returns value of IssuesConfig or the default value
func (*Repository) AllowsPulls ¶
func (repo *Repository) AllowsPulls() bool
AllowsPulls returns true if repository meets the requirements of accepting pulls and has them enabled.
func (*Repository) AvatarLink ¶
func (repo *Repository) AvatarLink() string
AvatarLink returns a link to the repository's avatar.
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) ColorFormat ¶
func (repo *Repository) ColorFormat(s fmt.State)
ColorFormat returns a colored string to represent this repo
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) ComposeCompareURL ¶
func (repo *Repository) ComposeCompareURL(oldCommitID, newCommitID string) string
ComposeCompareURL returns the repository comparison URL
func (*Repository) ComposeDocumentMetas ¶
func (repo *Repository) ComposeDocumentMetas() map[string]string
ComposeDocumentMetas composes a map of metas for properly rendering documents
func (*Repository) ComposeMetas ¶
func (repo *Repository) ComposeMetas() 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() (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) GetOriginalURLHostname ¶
func (repo *Repository) GetOriginalURLHostname() string
GetOriginalURLHostname returns the hostname of a URL or the URL
func (*Repository) GetOwner ¶
func (repo *Repository) GetOwner(ctx context.Context) (err error)
GetOwner returns the repository owner
func (*Repository) GetTrustModel ¶
func (repo *Repository) GetTrustModel() TrustModelType
GetTrustModel will get the TrustModel for the repo or the default trust model
func (*Repository) GetUnit ¶
func (repo *Repository) GetUnit(tp unit.Type) (*RepoUnit, error)
GetUnit returns a RepoUnit object
func (*Repository) GetUnitCtx ¶
GetUnitCtx returns a RepoUnit object
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() bool
IsDependenciesEnabled returns if dependencies are enabled and returns the default setting if not set.
func (*Repository) IsDependenciesEnabledCtx ¶
func (repo *Repository) IsDependenciesEnabledCtx(ctx context.Context) bool
IsDependenciesEnabledCtx 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() bool
IsTimetrackerEnabled returns whether or not the timetracker is enabled. It returns the default value from config if an error occurs.
func (*Repository) IsTimetrackerEnabledCtx ¶
func (repo *Repository) IsTimetrackerEnabledCtx(ctx context.Context) bool
IsTimetrackerEnabledCtx returns whether or not the timetracker is enabled. It returns the default value from config if an error occurs.
func (*Repository) LoadAttributes ¶ added in v1.17.0
func (repo *Repository) LoadAttributes(ctx context.Context) error
LoadAttributes loads attributes of the repository.
func (*Repository) LoadUnits ¶
func (repo *Repository) LoadUnits(ctx context.Context) (err error)
LoadUnits loads repo units into repo.Units
func (*Repository) MustGetUnit ¶
func (repo *Repository) MustGetUnit(tp unit.Type) *RepoUnit
MustGetUnit always returns a RepoUnit object
func (*Repository) MustOwner ¶
func (repo *Repository) MustOwner() *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() 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) TemplateRepo ¶
func (repo *Repository) TemplateRepo() *Repository
TemplateRepo returns the repository, which is template of this repository
func (*Repository) UnitEnabled ¶
func (repo *Repository) UnitEnabled(tp unit.Type) (result bool)
UnitEnabled if this repository has the given unit enabled
func (*Repository) UnitEnabledCtx ¶ added in v1.17.0
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(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(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(opts *SearchRepoOptions, cond builder.Cond, loadAttributes bool) (RepositoryList, int64, error)
SearchRepositoryByCondition search repositories by condition
func SearchRepositoryByName ¶ added in v1.17.0
func SearchRepositoryByName(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) 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() error
LoadAttributes loads the attributes for the given RepositoryList
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 util.OptionalBool // None -> include collaborative AND non-collaborative // True -> include just collaborative // False -> include just non-collaborative Collaborate util.OptionalBool // None -> include forks AND non-forks // True -> include just forks // False -> include just non-forks Fork util.OptionalBool // None -> include templates AND non-templates // True -> include just templates // False -> include just non-templates Template util.OptionalBool // None -> include mirrors AND non-mirrors // True -> include just mirrors // False -> include just non-mirrors Mirror util.OptionalBool // None -> include archived AND non-archived // True -> include just archived // False -> include just non-archived Archived util.OptionalBool // 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 util.OptionalBool // LowerNames represents valid lower names to restrict to LowerNames []string }
SearchRepoOptions holds the search options
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 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 FindTopics ¶
func FindTopics(opts *FindTopicOptions) ([]*Topic, int64, error)
FindTopics retrieves the topics via FindTopicOptions
func GetRepoTopicByName ¶
GetRepoTopicByName retrieves topic from name for a repo if it exist
func GetTopicByName ¶
GetTopicByName retrieves topic by name
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 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.