]> source.dussan.org Git - gitea.git/commitdiff
Add GetRepositoryByName and GetRepositoryById
authorUnknown <joe2010xtmf@163.com>
Thu, 13 Mar 2014 02:27:11 +0000 (22:27 -0400)
committerUnknown <joe2010xtmf@163.com>
Thu, 13 Mar 2014 02:27:11 +0000 (22:27 -0400)
models/repo.go

index 31c2ae63614222ea7bd1d819db91c425d76cea27..c790dc90a631956f7397c4144222de7eb3c51590 100644 (file)
@@ -49,6 +49,7 @@ var (
 
 var (
        ErrRepoAlreadyExist = errors.New("Repository already exist")
+       ErrRepoNotExist     = errors.New("Repository does not exist")
 )
 
 func init() {
@@ -225,6 +226,30 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep
        return nil
 }
 
+func GetRepositoryByName(user *User, repoName string) (*Repository, error) {
+       repo := &Repository{
+               OwnerId:   user.Id,
+               LowerName: strings.ToLower(repoName),
+       }
+       has, err := orm.Get(repo)
+       if err != nil {
+               return nil, err
+       } else if !has {
+               return nil, ErrRepoNotExist
+       }
+       return repo, err
+}
+
+func GetRepositoryById(id int64) (repo *Repository, err error) {
+       has, err := orm.Id(id).Get(repo)
+       if err != nil {
+               return nil, err
+       } else if !has {
+               return nil, ErrRepoNotExist
+       }
+       return repo, err
+}
+
 // GetRepositories returns the list of repositories of given user.
 func GetRepositories(user *User) ([]Repository, error) {
        repos := make([]Repository, 0, 10)