diff options
author | Unknown <joe2010xtmf@163.com> | 2014-04-12 22:30:00 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-04-12 22:30:00 -0400 |
commit | c9a1eb4789d5142090d4936e19ac36b6c2010bd3 (patch) | |
tree | f1a6494a26522f85f67690ba176e2e48ef98b9d4 /models | |
parent | 52b4ab2aa589cf892b24e95872cbac7b6e78ed3a (diff) | |
download | gitea-c9a1eb4789d5142090d4936e19ac36b6c2010bd3.tar.gz gitea-c9a1eb4789d5142090d4936e19ac36b6c2010bd3.zip |
Able to change mirror interval now
Diffstat (limited to 'models')
-rw-r--r-- | models/repo.go | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/models/repo.go b/models/repo.go index ae8fe5efd1..01b8fdb126 100644 --- a/models/repo.go +++ b/models/repo.go @@ -30,7 +30,8 @@ var ( ErrRepoNotExist = errors.New("Repository does not exist") ErrRepoFileNotExist = errors.New("Target Repo file does not exist") ErrRepoNameIllegal = errors.New("Repository name contains illegal characters") - ErrRepoFileNotLoaded = fmt.Errorf("repo file not loaded") + ErrRepoFileNotLoaded = errors.New("repo file not loaded") + ErrMirrorNotExist = errors.New("Mirror does not exist") ) var ( @@ -130,6 +131,22 @@ type Mirror struct { NextUpdate time.Time } +func GetMirror(repoId int64) (*Mirror, error) { + m := &Mirror{RepoId: repoId} + has, err := orm.Get(m) + if err != nil { + return nil, err + } else if !has { + return nil, ErrMirrorNotExist + } + return m, nil +} + +func UpdateMirror(m *Mirror) error { + _, err := orm.Id(m.Id).Update(m) + return err +} + // MirrorUpdate checks and updates mirror repositories. func MirrorUpdate() { if err := orm.Iterate(new(Mirror), func(idx int, bean interface{}) error { @@ -149,8 +166,7 @@ func MirrorUpdate() { } m.NextUpdate = time.Now().Add(time.Duration(m.Interval) * time.Hour) - _, err = orm.Id(m.Id).Update(m) - return err + return UpdateMirror(m) }); err != nil { log.Error("repo.MirrorUpdate: %v", err) } @@ -647,6 +663,10 @@ func DeleteRepository(userId, repoId int64, userName string) (err error) { sess.Rollback() return err } + if _, err = sess.Delete(&Mirror{RepoId: repoId}); err != nil { + sess.Rollback() + return err + } rawSql := "UPDATE `user` SET num_repos = num_repos - 1 WHERE id = ?" if _, err = sess.Exec(rawSql, userId); err != nil { |