| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667 | // Copyright 2015 The Gogs Authors. All rights reserved.// Use of this source code is governed by a MIT-style// license that can be found in the LICENSE file.package modelsimport (	"fmt")type ErrNameReserved struct {	Name string}func IsErrNameReserved(err error) bool {	_, ok := err.(ErrNameReserved)	return ok}func (err ErrNameReserved) Error() string {	return fmt.Sprintf("name is reserved [name: %s]", err.Name)}type ErrNamePatternNotAllowed struct {	Pattern string}func IsErrNamePatternNotAllowed(err error) bool {	_, ok := err.(ErrNamePatternNotAllowed)	return ok}func (err ErrNamePatternNotAllowed) Error() string {	return fmt.Sprintf("name pattern is not allowed [pattern: %s]", err.Pattern)}//  ____ ___// |    |   \______ ___________// |    |   /  ___// __ \_  __ \// |    |  /\___ \\  ___/|  | \/// |______//____  >\___  >__|//              \/     \/type ErrUserAlreadyExist struct {	Name string}func IsErrUserAlreadyExist(err error) bool {	_, ok := err.(ErrUserAlreadyExist)	return ok}func (err ErrUserAlreadyExist) Error() string {	return fmt.Sprintf("user already exists [name: %s]", err.Name)}type ErrUserNotExist struct {	UID  int64	Name string}func IsErrUserNotExist(err error) bool {	_, ok := err.(ErrUserNotExist)	return ok}func (err ErrUserNotExist) Error() string {	return fmt.Sprintf("user does not exist [uid: %d, name: %s]", err.UID, err.Name)}type ErrEmailAlreadyUsed struct {	Email string}func IsErrEmailAlreadyUsed(err error) bool {	_, ok := err.(ErrEmailAlreadyUsed)	return ok}func (err ErrEmailAlreadyUsed) Error() string {	return fmt.Sprintf("e-mail has been used [email: %s]", err.Email)}type ErrUserOwnRepos struct {	UID int64}func IsErrUserOwnRepos(err error) bool {	_, ok := err.(ErrUserOwnRepos)	return ok}func (err ErrUserOwnRepos) Error() string {	return fmt.Sprintf("user still has ownership of repositories [uid: %d]", err.UID)}type ErrUserHasOrgs struct {	UID int64}func IsErrUserHasOrgs(err error) bool {	_, ok := err.(ErrUserHasOrgs)	return ok}func (err ErrUserHasOrgs) Error() string {	return fmt.Sprintf("user still has membership of organizations [uid: %d]", err.UID)}type ErrReachLimitOfRepo struct {	Limit int}func IsErrReachLimitOfRepo(err error) bool {	_, ok := err.(ErrReachLimitOfRepo)	return ok}func (err ErrReachLimitOfRepo) Error() string {	return fmt.Sprintf("user has reached maximum limit of repositories [limit: %d]", err.Limit)}//  __      __.__ __   .__// /  \    /  \__|  | _|__|// \   \/\/   /  |  |/ /  |//  \        /|  |    <|  |//   \__/\  / |__|__|_ \__|//        \/          \/type ErrWikiAlreadyExist struct {	Title string}func IsErrWikiAlreadyExist(err error) bool {	_, ok := err.(ErrWikiAlreadyExist)	return ok}func (err ErrWikiAlreadyExist) Error() string {	return fmt.Sprintf("wiki page already exists [title: %s]", err.Title)}// __________     ___.   .__  .__          ____  __.// \______   \__ _\_ |__ |  | |__| ____   |    |/ _|____ ___.__.//  |     ___/  |  \ __ \|  | |  |/ ___\  |      <_/ __ <   |  |//  |    |   |  |  / \_\ \  |_|  \  \___  |    |  \  ___/\___  |//  |____|   |____/|___  /____/__|\___  > |____|__ \___  > ____|//                     \/             \/          \/   \/\/type ErrKeyUnableVerify struct {	Result string}func IsErrKeyUnableVerify(err error) bool {	_, ok := err.(ErrKeyUnableVerify)	return ok}func (err ErrKeyUnableVerify) Error() string {	return fmt.Sprintf("Unable to verify key content [result: %s]", err.Result)}type ErrKeyNotExist struct {	ID int64}func IsErrKeyNotExist(err error) bool {	_, ok := err.(ErrKeyNotExist)	return ok}func (err ErrKeyNotExist) Error() string {	return fmt.Sprintf("public key does not exist [id: %d]", err.ID)}type ErrKeyAlreadyExist struct {	OwnerID int64	Content string}func IsErrKeyAlreadyExist(err error) bool {	_, ok := err.(ErrKeyAlreadyExist)	return ok}func (err ErrKeyAlreadyExist) Error() string {	return fmt.Sprintf("public key already exists [owner_id: %d, content: %s]", err.OwnerID, err.Content)}type ErrKeyNameAlreadyUsed struct {	OwnerID int64	Name    string}func IsErrKeyNameAlreadyUsed(err error) bool {	_, ok := err.(ErrKeyNameAlreadyUsed)	return ok}func (err ErrKeyNameAlreadyUsed) Error() string {	return fmt.Sprintf("public key already exists [owner_id: %d, name: %s]", err.OwnerID, err.Name)}type ErrKeyAccessDenied struct {	UserID int64	KeyID  int64	Note   string}func IsErrKeyAccessDenied(err error) bool {	_, ok := err.(ErrKeyAccessDenied)	return ok}func (err ErrKeyAccessDenied) Error() string {	return fmt.Sprintf("user does not have access to the key [user_id: %d, key_id: %d, note: %s]",		err.UserID, err.KeyID, err.Note)}type ErrDeployKeyNotExist struct {	ID     int64	KeyID  int64	RepoID int64}func IsErrDeployKeyNotExist(err error) bool {	_, ok := err.(ErrDeployKeyNotExist)	return ok}func (err ErrDeployKeyNotExist) Error() string {	return fmt.Sprintf("Deploy key does not exist [id: %d, key_id: %d, repo_id: %d]", err.ID, err.KeyID, err.RepoID)}type ErrDeployKeyAlreadyExist struct {	KeyID  int64	RepoID int64}func IsErrDeployKeyAlreadyExist(err error) bool {	_, ok := err.(ErrDeployKeyAlreadyExist)	return ok}func (err ErrDeployKeyAlreadyExist) Error() string {	return fmt.Sprintf("public key already exists [key_id: %d, repo_id: %d]", err.KeyID, err.RepoID)}type ErrDeployKeyNameAlreadyUsed struct {	RepoID int64	Name   string}func IsErrDeployKeyNameAlreadyUsed(err error) bool {	_, ok := err.(ErrDeployKeyNameAlreadyUsed)	return ok}func (err ErrDeployKeyNameAlreadyUsed) Error() string {	return fmt.Sprintf("public key already exists [repo_id: %d, name: %s]", err.RepoID, err.Name)}//    _____                                   ___________     __//   /  _  \   ____  ____  ____   ______ _____\__    ___/___ |  | __ ____   ____//  /  /_\  \_/ ___\/ ___\/ __ \ /  ___//  ___/ |    | /  _ \|  |/ // __ \ /    \// /    |    \  \__\  \__\  ___/ \___ \ \___ \  |    |(  <_> )    <\  ___/|   |  \// \____|__  /\___  >___  >___  >____  >____  > |____| \____/|__|_ \\___  >___|  ///         \/     \/    \/    \/     \/     \/                    \/    \/     \/type ErrAccessTokenNotExist struct {	SHA string}func IsErrAccessTokenNotExist(err error) bool {	_, ok := err.(ErrAccessTokenNotExist)	return ok}func (err ErrAccessTokenNotExist) Error() string {	return fmt.Sprintf("access token does not exist [sha: %s]", err.SHA)}type ErrAccessTokenEmpty struct {}func IsErrAccessTokenEmpty(err error) bool {	_, ok := err.(ErrAccessTokenEmpty)	return ok}func (err ErrAccessTokenEmpty) Error() string {	return fmt.Sprintf("access token is empty")}// ________                            .__                __  .__// \_____  \_______  _________    ____ |__|____________ _/  |_|__| ____   ____//  /   |   \_  __ \/ ___\__  \  /    \|  \___   /\__  \\   __\  |/  _ \ /    \// /    |    \  | \/ /_/  > __ \|   |  \  |/    /  / __ \|  | |  (  <_> )   |  \// \_______  /__|  \___  (____  /___|  /__/_____ \(____  /__| |__|\____/|___|  ///         \/     /_____/     \/     \/         \/     \/                    \/type ErrLastOrgOwner struct {	UID int64}func IsErrLastOrgOwner(err error) bool {	_, ok := err.(ErrLastOrgOwner)	return ok}func (err ErrLastOrgOwner) Error() string {	return fmt.Sprintf("user is the last member of owner team [uid: %d]", err.UID)}// __________                           .__  __// \______   \ ____ ______   ____  _____|__|/  |_  ___________ ___.__.//  |       _// __ \\____ \ /  _ \/  ___/  \   __\/  _ \_  __ <   |  |//  |    |   \  ___/|  |_> >  <_> )___ \|  ||  | (  <_> )  | \/\___  |//  |____|_  /\___  >   __/ \____/____  >__||__|  \____/|__|   / ____|//         \/     \/|__|              \/                       \/type ErrRepoNotExist struct {	ID   int64	UID  int64	Name string}func IsErrRepoNotExist(err error) bool {	_, ok := err.(ErrRepoNotExist)	return ok}func (err ErrRepoNotExist) Error() string {	return fmt.Sprintf("repository does not exist [id: %d, uid: %d, name: %s]", err.ID, err.UID, err.Name)}type ErrRepoAlreadyExist struct {	Uname string	Name  string}func IsErrRepoAlreadyExist(err error) bool {	_, ok := err.(ErrRepoAlreadyExist)	return ok}func (err ErrRepoAlreadyExist) Error() string {	return fmt.Sprintf("repository already exists [uname: %s, name: %s]", err.Uname, err.Name)}type ErrInvalidCloneAddr struct {	IsURLError         bool	IsInvalidPath      bool	IsPermissionDenied bool}func IsErrInvalidCloneAddr(err error) bool {	_, ok := err.(ErrInvalidCloneAddr)	return ok}func (err ErrInvalidCloneAddr) Error() string {	return fmt.Sprintf("invalid clone address [is_url_error: %v, is_invalid_path: %v, is_permission_denied: %v]",		err.IsURLError, err.IsInvalidPath, err.IsPermissionDenied)}type ErrUpdateTaskNotExist struct {	UUID string}func IsErrUpdateTaskNotExist(err error) bool {	_, ok := err.(ErrUpdateTaskNotExist)	return ok}func (err ErrUpdateTaskNotExist) Error() string {	return fmt.Sprintf("update task does not exist [uuid: %s]", err.UUID)}type ErrReleaseAlreadyExist struct {	TagName string}func IsErrReleaseAlreadyExist(err error) bool {	_, ok := err.(ErrReleaseAlreadyExist)	return ok}func (err ErrReleaseAlreadyExist) Error() string {	return fmt.Sprintf("release tag already exist [tag_name: %s]", err.TagName)}type ErrReleaseNotExist struct {	ID      int64	TagName string}func IsErrReleaseNotExist(err error) bool {	_, ok := err.(ErrReleaseNotExist)	return ok}func (err ErrReleaseNotExist) Error() string {	return fmt.Sprintf("release tag does not exist [id: %d, tag_name: %s]", err.ID, err.TagName)}type ErrInvalidTagName struct {	TagName string}func IsErrInvalidTagName(err error) bool {	_, ok := err.(ErrInvalidTagName)	return ok}func (err ErrInvalidTagName) Error() string {	return fmt.Sprintf("release tag name is not valid [tag_name: %s]", err.TagName)}type ErrRepoFileAlreadyExist struct {	FileName string}func IsErrRepoFileAlreadyExist(err error) bool {	_, ok := err.(ErrRepoFileAlreadyExist)	return ok}func (err ErrRepoFileAlreadyExist) Error() string {	return fmt.Sprintf("repository file already exists [file name: %s]", err.FileName)}// __________                             .__// \______   \____________    ____   ____ |  |__//  |    |  _/\_  __ \__  \  /    \_/ ___\|  |  \//  |    |   \ |  | \// __ \|   |  \  \___|   Y  \//  |______  / |__|  (____  /___|  /\___  >___|  ///         \/             \/     \/     \/     \/type ErrBranchNotExist struct {	Name string}func IsErrBranchNotExist(err error) bool {	_, ok := err.(ErrBranchNotExist)	return ok}func (err ErrBranchNotExist) Error() string {	return fmt.Sprintf("branch does not exist [name: %s]", err.Name)}//  __      __      ___.   .__                   __// /  \    /  \ ____\_ |__ |  |__   ____   ____ |  | __// \   \/\/   // __ \| __ \|  |  \ /  _ \ /  _ \|  |/ ///  \        /\  ___/| \_\ \   Y  (  <_> |  <_> )    <//   \__/\  /  \___  >___  /___|  /\____/ \____/|__|_ \//        \/       \/    \/     \/                   \/type ErrWebhookNotExist struct {	ID int64}func IsErrWebhookNotExist(err error) bool {	_, ok := err.(ErrWebhookNotExist)	return ok}func (err ErrWebhookNotExist) Error() string {	return fmt.Sprintf("webhook does not exist [id: %d]", err.ID)}// .___// |   | ______ ________ __   ____// |   |/  ___//  ___/  |  \_/ __ \// |   |\___ \ \___ \|  |  /\  ___/// |___/____  >____  >____/  \___  >//          \/     \/            \/type ErrIssueNotExist struct {	ID     int64	RepoID int64	Index  int64}func IsErrIssueNotExist(err error) bool {	_, ok := err.(ErrIssueNotExist)	return ok}func (err ErrIssueNotExist) Error() string {	return fmt.Sprintf("issue does not exist [id: %d, repo_id: %d, index: %d]", err.ID, err.RepoID, err.Index)}// __________      .__  .__ __________                                     __// \______   \__ __|  | |  |\______   \ ____  ________ __   ____   _______/  |_//  |     ___/  |  \  | |  | |       _// __ \/ ____/  |  \_/ __ \ /  ___/\   __\//  |    |   |  |  /  |_|  |_|    |   \  ___< <_|  |  |  /\  ___/ \___ \  |  |//  |____|   |____/|____/____/____|_  /\___  >__   |____/  \___  >____  > |__|//                                  \/     \/   |__|           \/     \/type ErrPullRequestNotExist struct {	ID         int64	IssueID    int64	HeadRepoID int64	BaseRepoID int64	HeadBarcnh string	BaseBranch string}func IsErrPullRequestNotExist(err error) bool {	_, ok := err.(ErrPullRequestNotExist)	return ok}func (err ErrPullRequestNotExist) Error() string {	return fmt.Sprintf("pull request does not exist [id: %d, issue_id: %d, head_repo_id: %d, base_repo_id: %d, head_branch: %s, base_branch: %s]",		err.ID, err.IssueID, err.HeadRepoID, err.BaseRepoID, err.HeadBarcnh, err.BaseBranch)}// _________                                       __// \_   ___ \  ____   _____   _____   ____   _____/  |_// /    \  \/ /  _ \ /     \ /     \_/ __ \ /    \   __\// \     \___(  <_> )  Y Y  \  Y Y  \  ___/|   |  \  |//  \______  /\____/|__|_|  /__|_|  /\___  >___|  /__|//         \/             \/      \/     \/     \/type ErrCommentNotExist struct {	ID int64}func IsErrCommentNotExist(err error) bool {	_, ok := err.(ErrCommentNotExist)	return ok}func (err ErrCommentNotExist) Error() string {	return fmt.Sprintf("comment does not exist [id: %d]", err.ID)}// .____          ___.          .__// |    |   _____ \_ |__   ____ |  |// |    |   \__  \ | __ \_/ __ \|  |// |    |___ / __ \| \_\ \  ___/|  |__// |_______ (____  /___  /\___  >____///         \/    \/    \/     \/type ErrLabelNotExist struct {	LabelID int64	RepoID  int64}func IsErrLabelNotExist(err error) bool {	_, ok := err.(ErrLabelNotExist)	return ok}func (err ErrLabelNotExist) Error() string {	return fmt.Sprintf("label does not exist [label_id: %d, repo_id: %d]", err.LabelID, err.RepoID)}//    _____  .__.__                   __//   /     \ |__|  |   ____   _______/  |_  ____   ____   ____//  /  \ /  \|  |  | _/ __ \ /  ___/\   __\/  _ \ /    \_/ __ \// /    Y    \  |  |_\  ___/ \___ \  |  | (  <_> )   |  \  ___/// \____|__  /__|____/\___  >____  > |__|  \____/|___|  /\___  >//         \/             \/     \/                   \/     \/type ErrMilestoneNotExist struct {	ID     int64	RepoID int64}func IsErrMilestoneNotExist(err error) bool {	_, ok := err.(ErrMilestoneNotExist)	return ok}func (err ErrMilestoneNotExist) Error() string {	return fmt.Sprintf("milestone does not exist [id: %d, repo_id: %d]", err.ID, err.RepoID)}//    _____   __    __                .__                           __//   /  _  \_/  |__/  |______    ____ |  |__   _____   ____   _____/  |_//  /  /_\  \   __\   __\__  \ _/ ___\|  |  \ /     \_/ __ \ /    \   __\// /    |    \  |  |  |  / __ \\  \___|   Y  \  Y Y  \  ___/|   |  \  |// \____|__  /__|  |__| (____  /\___  >___|  /__|_|  /\___  >___|  /__|//         \/                \/     \/     \/      \/     \/     \/type ErrAttachmentNotExist struct {	ID   int64	UUID string}func IsErrAttachmentNotExist(err error) bool {	_, ok := err.(ErrAttachmentNotExist)	return ok}func (err ErrAttachmentNotExist) Error() string {	return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)}//    _____          __  .__                   __  .__               __  .__//   /  _  \  __ ___/  |_|  |__   ____   _____/  |_|__| ____ _____ _/  |_|__| ____   ____//  /  /_\  \|  |  \   __\  |  \_/ __ \ /    \   __\  |/ ___\\__  \\   __\  |/  _ \ /    \// /    |    \  |  /|  | |   Y  \  ___/|   |  \  | |  \  \___ / __ \|  | |  (  <_> )   |  \// \____|__  /____/ |__| |___|  /\___  >___|  /__| |__|\___  >____  /__| |__|\____/|___|  ///         \/                 \/     \/     \/             \/     \/                    \/type ErrAuthenticationNotExist struct {	ID int64}func IsErrAuthenticationNotExist(err error) bool {	_, ok := err.(ErrAuthenticationNotExist)	return ok}func (err ErrAuthenticationNotExist) Error() string {	return fmt.Sprintf("authentication does not exist [id: %d]", err.ID)}// ___________// \__    ___/___ _____    _____//   |    |_/ __ \\__  \  /     \//   |    |\  ___/ / __ \|  Y Y  \//   |____| \___  >____  /__|_|  ///              \/     \/      \/type ErrTeamAlreadyExist struct {	OrgID int64	Name  string}func IsErrTeamAlreadyExist(err error) bool {	_, ok := err.(ErrTeamAlreadyExist)	return ok}func (err ErrTeamAlreadyExist) Error() string {	return fmt.Sprintf("team already exists [org_id: %d, name: %s]", err.OrgID, err.Name)}//  ____ ___        .__                    .___// |    |   \______ |  |   _________     __| _/// |    |   /\____ \|  |  /  _ \__  \   / __ |// |    |  / |  |_> >  |_(  <_> ) __ \_/ /_/ |// |______/  |   __/|____/\____(____  /\____ |//           |__|                   \/      \///type ErrUploadNotExist struct {	ID     int64	UUID   string	UserID int64	RepoID int64}func IsErrUploadNotExist(err error) bool {	_, ok := err.(ErrAttachmentNotExist)	return ok}func (err ErrUploadNotExist) Error() string {	return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)}
 |