From 3c67318d8fcc6f61d766496a092c4be688fe8e75 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 12 Mar 2014 22:27:11 -0400 Subject: [PATCH] Add GetRepositoryByName and GetRepositoryById --- models/repo.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/models/repo.go b/models/repo.go index 31c2ae636..c790dc90a 100644 --- a/models/repo.go +++ b/models/repo.go @@ -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)