// Copyright 2015 - Present, The Gogs Authors. All rights reserved. // Copyright 2018 - Present, Gitote. All rights reserved. // // This source code is licensed under the MIT license found in the // LICENSE file in the root directory of this source tree. package models import ( "fmt" ) // ErrNameReserved represents a "reserved name" error. type ErrNameReserved struct { Name string } // IsErrNameReserved checks if an error is a ErrNameReserved. 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) } // ErrNamePatternNotAllowed represents a "pattern not allowed" error. type ErrNamePatternNotAllowed struct { Pattern string } // IsErrNamePatternNotAllowed checks if an error is an // ErrNamePatternNotAllowed. 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) } // ErrUserAlreadyExist represents a "user already exists" error. type ErrUserAlreadyExist struct { Name string } // IsErrUserAlreadyExist checks if an error is a ErrUserAlreadyExists. 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) } // ErrEmailAlreadyUsed represents a "EmailAlreadyUsed" kind of error. type ErrEmailAlreadyUsed struct { Email string } // IsErrEmailAlreadyUsed checks if an error is a ErrEmailAlreadyUsed. 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) } // ErrUserOwnRepos represents a "UserOwnRepos" kind of error. type ErrUserOwnRepos struct { UID int64 } // IsErrUserOwnRepos checks if an error is a ErrUserOwnRepos. 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) } // ErrUserHasOrgs represents a "UserHasOrgs" kind of error. type ErrUserHasOrgs struct { UID int64 } // IsErrUserHasOrgs checks if an error is a ErrUserHasOrgs. 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) } // ErrWikiAlreadyExist represents a "WikiAlreadyExist" kind of error. type ErrWikiAlreadyExist struct { Title string } // IsErrWikiAlreadyExist checks if an error is an ErrWikiAlreadyExist. 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) } // ErrKeyUnableVerify represents a "KeyUnableVerify" kind of error. type ErrKeyUnableVerify struct { Result string } // IsErrKeyUnableVerify checks if an error is a ErrKeyUnableVerify. 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) } // ErrKeyNotExist represents a "KeyNotExist" kind of error. type ErrKeyNotExist struct { ID int64 } // IsErrKeyNotExist checks if an error is a ErrKeyNotExist. 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) } // ErrKeyAlreadyExist represents a "KeyAlreadyExist" kind of error. type ErrKeyAlreadyExist struct { OwnerID int64 Content string } // IsErrKeyAlreadyExist checks if an error is a ErrKeyAlreadyExist. 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) } // ErrKeyNameAlreadyUsed represents a "KeyNameAlreadyUsed" kind of error. type ErrKeyNameAlreadyUsed struct { OwnerID int64 Name string } // IsErrKeyNameAlreadyUsed checks if an error is a ErrKeyNameAlreadyUsed. 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) } // ErrKeyAccessDenied represents a "KeyAccessDenied" kind of error. type ErrKeyAccessDenied struct { UserID int64 KeyID int64 Note string } // IsErrKeyAccessDenied checks if an error is a ErrKeyAccessDenied. 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) } // ErrDeployKeyNotExist represents a "DeployKeyNotExist" kind of error. type ErrDeployKeyNotExist struct { ID int64 KeyID int64 RepoID int64 } // IsErrDeployKeyNotExist checks if an error is a ErrDeployKeyNotExist. 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) } // ErrDeployKeyAlreadyExist represents a "DeployKeyAlreadyExist" kind of error. type ErrDeployKeyAlreadyExist struct { KeyID int64 RepoID int64 } // IsErrDeployKeyAlreadyExist checks if an error is a ErrDeployKeyAlreadyExist. 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) } // ErrDeployKeyNameAlreadyUsed represents a "DeployKeyNameAlreadyUsed" kind of error. type ErrDeployKeyNameAlreadyUsed struct { RepoID int64 Name string } // IsErrDeployKeyNameAlreadyUsed checks if an error is a ErrDeployKeyNameAlreadyUsed. 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) } // ErrAccessTokenNotExist represents a "AccessTokenNotExist" kind of error. type ErrAccessTokenNotExist struct { SHA string } // IsErrAccessTokenNotExist checks if an error is a ErrAccessTokenNotExist. 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) } // ErrAccessTokenEmpty represents a "AccessTokenEmpty" kind of error. type ErrAccessTokenEmpty struct { } // IsErrAccessTokenEmpty checks if an error is a ErrAccessTokenEmpty. func IsErrAccessTokenEmpty(err error) bool { _, ok := err.(ErrAccessTokenEmpty) return ok } func (err ErrAccessTokenEmpty) Error() string { return fmt.Sprintf("access token is empty") } // ErrLastOrgOwner represents a "LastOrgOwner" kind of error. type ErrLastOrgOwner struct { UID int64 } // IsErrLastOrgOwner checks if an error is a ErrLastOrgOwner. 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) } // ErrRepoAlreadyExist represents a "RepoAlreadyExist" kind of error. type ErrRepoAlreadyExist struct { Uname string Name string } // IsErrRepoAlreadyExist checks if an error is a ErrRepoAlreadyExist. 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) } // ErrInvalidCloneAddr represents a "InvalidCloneAddr" kind of error. type ErrInvalidCloneAddr struct { IsURLError bool IsInvalidPath bool IsPermissionDenied bool } // IsErrInvalidCloneAddr checks if an error is a ErrInvalidCloneAddr. 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) } // ErrUpdateTaskNotExist represents a "UpdateTaskNotExist" kind of error. type ErrUpdateTaskNotExist struct { UUID string } // IsErrUpdateTaskNotExist checks if an error is a ErrUpdateTaskNotExist. 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) } // ErrReleaseAlreadyExist represents a "ReleaseAlreadyExist" kind of error. type ErrReleaseAlreadyExist struct { TagName string } // IsErrReleaseAlreadyExist checks if an error is a ErrReleaseAlreadyExist. 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) } // ErrReleaseNotExist represents a "ReleaseNotExist" kind of error. type ErrReleaseNotExist struct { ID int64 TagName string } // IsErrReleaseNotExist checks if an error is a ErrReleaseNotExist. 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) } // ErrInvalidTagName represents a "InvalidTagName" kind of error. type ErrInvalidTagName struct { TagName string } // IsErrInvalidTagName checks if an error is a ErrInvalidTagName. 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) } // ErrRepoFileAlreadyExist represents a "RepoFileAlreadyExist" kind of error. type ErrRepoFileAlreadyExist struct { FileName string } // IsErrRepoFileAlreadyExist checks if an error is a ErrRepoFileAlreadyExist. 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) } // ErrPullRequestNotExist represents a "PullRequestNotExist" kind of error. type ErrPullRequestNotExist struct { ID int64 IssueID int64 HeadRepoID int64 BaseRepoID int64 HeadBarcnh string BaseBranch string } // IsErrPullRequestNotExist checks if an error is a ErrPullRequestNotExist. 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) } // ErrCommentNotExist represents a "CommentNotExist" kind of error. type ErrCommentNotExist struct { ID int64 IssueID int64 } // IsErrCommentNotExist checks if an error is a ErrCommentNotExist. func IsErrCommentNotExist(err error) bool { _, ok := err.(ErrCommentNotExist) return ok } func (err ErrCommentNotExist) Error() string { return fmt.Sprintf("comment does not exist [id: %d, issue_id: %d]", err.ID, err.IssueID) } // ErrLabelNotExist represents a "LabelNotExist" kind of error. type ErrLabelNotExist struct { LabelID int64 RepoID int64 } // IsErrLabelNotExist checks if an error is a ErrLabelNotExist. 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) } // ErrMilestoneNotExist represents a "MilestoneNotExist" kind of error. type ErrMilestoneNotExist struct { ID int64 RepoID int64 } // IsErrMilestoneNotExist checks if an error is a ErrMilestoneNotExist. 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) } // ErrAttachmentNotExist represents a "AttachmentNotExist" kind of error. type ErrAttachmentNotExist struct { ID int64 UUID string } // IsErrAttachmentNotExist checks if an error is a ErrAttachmentNotExist. 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) } // ErrLoginSourceAlreadyExist represents a "LoginSourceAlreadyExist" kind of error. type ErrLoginSourceAlreadyExist struct { Name string } // IsErrLoginSourceAlreadyExist checks if an error is a ErrLoginSourceAlreadyExist. func IsErrLoginSourceAlreadyExist(err error) bool { _, ok := err.(ErrLoginSourceAlreadyExist) return ok } func (err ErrLoginSourceAlreadyExist) Error() string { return fmt.Sprintf("login source already exists [name: %s]", err.Name) } // ErrLoginSourceInUse represents a "LoginSourceInUse" kind of error. type ErrLoginSourceInUse struct { ID int64 } // IsErrLoginSourceInUse checks if an error is a ErrLoginSourceInUse. func IsErrLoginSourceInUse(err error) bool { _, ok := err.(ErrLoginSourceInUse) return ok } func (err ErrLoginSourceInUse) Error() string { return fmt.Sprintf("login source is still used by some users [id: %d]", err.ID) } // ErrTeamAlreadyExist represents a "TeamAlreadyExist" kind of error. type ErrTeamAlreadyExist struct { OrgID int64 Name string } // IsErrTeamAlreadyExist checks if an error is a ErrTeamAlreadyExist. 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) } // ErrUploadNotExist represents a "UploadNotExist" kind of error. type ErrUploadNotExist struct { ID int64 UUID string } // IsErrUploadNotExist checks if an error is a ErrUploadNotExist. 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) }