| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 | // 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 dbimport (	"fmt")//  ____ ___// |    |   \______ ___________// |    |   /  ___// __ \_  __ \// |    |  /\___ \\  ___/|  | \/// |______//____  >\___  >__|//              \/     \/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 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 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 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 ErrInvalidCloneAddr struct {	IsURLError            bool	IsInvalidPath         bool	IsPermissionDenied    bool	IsBlockedLocalAddress 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, is_blocked_local_address: %v]",		err.IsURLError, err.IsInvalidPath, err.IsPermissionDenied, err.IsBlockedLocalAddress)}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 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 Y  \//   |____| \___  >____  /__|_|  ///              \/     \/      \/type ErrTeamAlreadyExist struct {	ID    int64	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 [id: %d, org_id: %d, name: %s]", err.ID, err.OrgID, err.Name)}//  ____ ___        .__                    .___// |    |   \______ |  |   _________     __| _/// |    |   /\____ \|  |  /  _ \__  \   / __ |// |    |  / |  |_> >  |_(  <_> ) __ \_/ /_/ |// |______/  |   __/|____/\____(____  /\____ |//           |__|                   \/      \///type ErrUploadNotExist struct {	ID   int64	UUID string}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)}
 |