diff options
Diffstat (limited to 'models')
-rw-r--r-- | models/access.go | 4 | ||||
-rw-r--r-- | models/error.go | 15 | ||||
-rw-r--r-- | models/errors/repo.go | 15 | ||||
-rw-r--r-- | models/pull.go | 2 | ||||
-rw-r--r-- | models/repo.go | 10 |
5 files changed, 24 insertions, 22 deletions
diff --git a/models/access.go b/models/access.go index 75af8485..0d3259de 100644 --- a/models/access.go +++ b/models/access.go @@ -8,6 +8,8 @@ import ( "fmt" log "gopkg.in/clog.v1" + + "github.com/gogits/gogs/models/errors" ) type AccessMode int @@ -109,7 +111,7 @@ func (u *User) GetRepositoryAccesses() (map[*Repository]AccessMode, error) { for _, access := range accesses { repo, err := GetRepositoryByID(access.RepoID) if err != nil { - if IsErrRepoNotExist(err) { + if errors.IsRepoNotExist(err) { log.Error(4, "GetRepositoryByID: %v", err) continue } diff --git a/models/error.go b/models/error.go index 72edb560..801a91f8 100644 --- a/models/error.go +++ b/models/error.go @@ -305,21 +305,6 @@ func (err ErrLastOrgOwner) Error() string { // |____|_ /\___ > __/ \____/____ >__||__| \____/|__| / ____| // \/ \/|__| \/ \/ -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 diff --git a/models/errors/repo.go b/models/errors/repo.go index 9abcaaa9..1995a5b4 100644 --- a/models/errors/repo.go +++ b/models/errors/repo.go @@ -6,6 +6,21 @@ package errors import "fmt" +type RepoNotExist struct { + ID int64 + UserID int64 + Name string +} + +func IsRepoNotExist(err error) bool { + _, ok := err.(RepoNotExist) + return ok +} + +func (err RepoNotExist) Error() string { + return fmt.Sprintf("repository does not exist [id: %d, user_id: %d, name: %s]", err.ID, err.UserID, err.Name) +} + type InvalidRepoReference struct { Ref string } diff --git a/models/pull.go b/models/pull.go index 9db6791b..d7a8e36f 100644 --- a/models/pull.go +++ b/models/pull.go @@ -88,7 +88,7 @@ func (pr *PullRequest) AfterSet(colName string, _ xorm.Cell) { func (pr *PullRequest) loadAttributes(e Engine) (err error) { if pr.HeadRepo == nil { pr.HeadRepo, err = getRepositoryByID(e, pr.HeadRepoID) - if err != nil && !IsErrRepoNotExist(err) { + if err != nil && !errors.IsRepoNotExist(err) { return fmt.Errorf("getRepositoryByID.(HeadRepo) [%d]: %v", pr.HeadRepoID, err) } } diff --git a/models/repo.go b/models/repo.go index 751850d8..0f448ba6 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1366,7 +1366,7 @@ func DeleteRepository(uid, repoID int64) error { if err != nil { return err } else if !has { - return ErrRepoNotExist{repoID, uid, ""} + return errors.RepoNotExist{repoID, uid, ""} } // In case is a organization. @@ -1503,9 +1503,9 @@ func GetRepositoryByName(ownerID int64, name string) (*Repository, error) { if err != nil { return nil, err } else if !has { - return nil, ErrRepoNotExist{0, ownerID, name} + return nil, errors.RepoNotExist{0, ownerID, name} } - return repo, err + return repo, repo.LoadAttributes() } func getRepositoryByID(e Engine, id int64) (*Repository, error) { @@ -1514,9 +1514,9 @@ func getRepositoryByID(e Engine, id int64) (*Repository, error) { if err != nil { return nil, err } else if !has { - return nil, ErrRepoNotExist{id, 0, ""} + return nil, errors.RepoNotExist{id, 0, ""} } - return repo, nil + return repo, repo.loadAttributes(e) } // GetRepositoryByID returns the repository by given id if exists. |