summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-12 22:27:11 -0400
committerUnknown <joe2010xtmf@163.com>2014-03-12 22:27:11 -0400
commit3c67318d8fcc6f61d766496a092c4be688fe8e75 (patch)
treea87715cc9032bab489565a57df981d2dd5df5a07 /models
parent8dd956f88a0d279296e5b5440cde8bd877ca0fea (diff)
downloadgitea-3c67318d8fcc6f61d766496a092c4be688fe8e75.tar.gz
gitea-3c67318d8fcc6f61d766496a092c4be688fe8e75.zip
Add GetRepositoryByName and GetRepositoryById
Diffstat (limited to 'models')
-rw-r--r--models/repo.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/models/repo.go b/models/repo.go
index 31c2ae6361..c790dc90a6 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)