aboutsummaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-04-12 22:30:00 -0400
committerUnknown <joe2010xtmf@163.com>2014-04-12 22:30:00 -0400
commitc9a1eb4789d5142090d4936e19ac36b6c2010bd3 (patch)
treef1a6494a26522f85f67690ba176e2e48ef98b9d4 /models
parent52b4ab2aa589cf892b24e95872cbac7b6e78ed3a (diff)
downloadgitea-c9a1eb4789d5142090d4936e19ac36b6c2010bd3.tar.gz
gitea-c9a1eb4789d5142090d4936e19ac36b6c2010bd3.zip
Able to change mirror interval now
Diffstat (limited to 'models')
-rw-r--r--models/repo.go26
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 {