diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2021-12-10 09:27:50 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-10 09:27:50 +0800 |
commit | 719bddcd76610a63dadc8555760072957a11cf30 (patch) | |
tree | 0df26092fba7e3e21444fe493e6b349473b6b0cb /models/repo_mirror.go | |
parent | fb8166c6c6b652a0e6fa98681780a6a71090faf3 (diff) | |
download | gitea-719bddcd76610a63dadc8555760072957a11cf30.tar.gz gitea-719bddcd76610a63dadc8555760072957a11cf30.zip |
Move repository model into models/repo (#17933)
* Some refactors related repository model
* Move more methods out of repository
* Move repository into models/repo
* Fix test
* Fix test
* some improvements
* Remove unnecessary function
Diffstat (limited to 'models/repo_mirror.go')
-rw-r--r-- | models/repo_mirror.go | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/models/repo_mirror.go b/models/repo_mirror.go deleted file mode 100644 index e28d0d2517..0000000000 --- a/models/repo_mirror.go +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright 2016 The Gogs Authors. All rights reserved. -// Copyright 2018 The Gitea Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package models - -import ( - "time" - - "code.gitea.io/gitea/models/db" - "code.gitea.io/gitea/modules/log" - "code.gitea.io/gitea/modules/timeutil" - - "xorm.io/xorm" -) - -// RemoteMirrorer defines base methods for pull/push mirrors. -type RemoteMirrorer interface { - GetRepository() *Repository - GetRemoteName() string -} - -// Mirror represents mirror information of a repository. -type Mirror struct { - ID int64 `xorm:"pk autoincr"` - RepoID int64 `xorm:"INDEX"` - Repo *Repository `xorm:"-"` - Interval time.Duration - EnablePrune bool `xorm:"NOT NULL DEFAULT true"` - - UpdatedUnix timeutil.TimeStamp `xorm:"INDEX"` - NextUpdateUnix timeutil.TimeStamp `xorm:"INDEX"` - - LFS bool `xorm:"lfs_enabled NOT NULL DEFAULT false"` - LFSEndpoint string `xorm:"lfs_endpoint TEXT"` - - Address string `xorm:"-"` -} - -func init() { - db.RegisterModel(new(Mirror)) -} - -// BeforeInsert will be invoked by XORM before inserting a record -func (m *Mirror) BeforeInsert() { - if m != nil { - m.UpdatedUnix = timeutil.TimeStampNow() - m.NextUpdateUnix = timeutil.TimeStampNow() - } -} - -// AfterLoad is invoked from XORM after setting the values of all fields of this object. -func (m *Mirror) AfterLoad(session *xorm.Session) { - if m == nil { - return - } - - var err error - m.Repo, err = getRepositoryByID(session, m.RepoID) - if err != nil { - log.Error("getRepositoryByID[%d]: %v", m.ID, err) - } -} - -// GetRepository returns the repository. -func (m *Mirror) GetRepository() *Repository { - return m.Repo -} - -// GetRemoteName returns the name of the remote. -func (m *Mirror) GetRemoteName() string { - return "origin" -} - -// ScheduleNextUpdate calculates and sets next update time. -func (m *Mirror) ScheduleNextUpdate() { - if m.Interval != 0 { - m.NextUpdateUnix = timeutil.TimeStampNow().AddDuration(m.Interval) - } else { - m.NextUpdateUnix = 0 - } -} - -func getMirrorByRepoID(e db.Engine, repoID int64) (*Mirror, error) { - m := &Mirror{RepoID: repoID} - has, err := e.Get(m) - if err != nil { - return nil, err - } else if !has { - return nil, ErrMirrorNotExist - } - return m, nil -} - -// GetMirrorByRepoID returns mirror information of a repository. -func GetMirrorByRepoID(repoID int64) (*Mirror, error) { - return getMirrorByRepoID(db.GetEngine(db.DefaultContext), repoID) -} - -func updateMirror(e db.Engine, m *Mirror) error { - _, err := e.ID(m.ID).AllCols().Update(m) - return err -} - -// UpdateMirror updates the mirror -func UpdateMirror(m *Mirror) error { - return updateMirror(db.GetEngine(db.DefaultContext), m) -} - -// DeleteMirrorByRepoID deletes a mirror by repoID -func DeleteMirrorByRepoID(repoID int64) error { - _, err := db.GetEngine(db.DefaultContext).Delete(&Mirror{RepoID: repoID}) - return err -} - -// MirrorsIterate iterates all mirror repositories. -func MirrorsIterate(f func(idx int, bean interface{}) error) error { - return db.GetEngine(db.DefaultContext). - Where("next_update_unix<=?", time.Now().Unix()). - And("next_update_unix!=0"). - OrderBy("updated_unix ASC"). - Iterate(new(Mirror), f) -} - -// InsertMirror inserts a mirror to database -func InsertMirror(mirror *Mirror) error { - _, err := db.GetEngine(db.DefaultContext).Insert(mirror) - return err -} |