aboutsummaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/access.go4
-rw-r--r--models/error.go15
-rw-r--r--models/errors/repo.go15
-rw-r--r--models/pull.go2
-rw-r--r--models/repo.go10
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.