diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2021-12-06 15:19:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-06 15:19:28 +0800 |
commit | dcdb4873c8d77a444526fad5b1c8e705fdfe149d (patch) | |
tree | 599efda4334775ef40db9dd845355dfde7d73b33 /models/repo.go | |
parent | f49d160447899270fbca6370cb7ab2742dce85dc (diff) | |
download | gitea-dcdb4873c8d77a444526fad5b1c8e705fdfe149d.tar.gz gitea-dcdb4873c8d77a444526fad5b1c8e705fdfe149d.zip |
Move repo archiver to models/repo (#17913)
* Move repo archiver to models/repo
* Move archiver service into services/repository/
* Fix imports
* Fix test
* Fix test
Diffstat (limited to 'models/repo.go')
-rw-r--r-- | models/repo.go | 51 |
1 files changed, 2 insertions, 49 deletions
diff --git a/models/repo.go b/models/repo.go index 67879fefda..4f6b1c3464 100644 --- a/models/repo.go +++ b/models/repo.go @@ -1605,19 +1605,18 @@ func DeleteRepository(doer *user_model.User, uid, repoID int64) error { } // Remove archives - var archives []*RepoArchiver + var archives []*repo_model.RepoArchiver if err = sess.Where("repo_id=?", repoID).Find(&archives); err != nil { return err } var archivePaths = make([]string, 0, len(archives)) for _, v := range archives { - v.Repo = repo p, _ := v.RelativePath() archivePaths = append(archivePaths, p) } - if _, err := sess.Delete(&RepoArchiver{RepoID: repoID}); err != nil { + if _, err := sess.Delete(&repo_model.RepoArchiver{RepoID: repoID}); err != nil { return err } @@ -1824,52 +1823,6 @@ func GetPrivateRepositoryCount(u *user_model.User) (int64, error) { return getPrivateRepositoryCount(db.GetEngine(db.DefaultContext), u) } -// DeleteOldRepositoryArchives deletes old repository archives. -func DeleteOldRepositoryArchives(ctx context.Context, olderThan time.Duration) error { - log.Trace("Doing: ArchiveCleanup") - - for { - var archivers []RepoArchiver - err := db.GetEngine(db.DefaultContext).Where("created_unix < ?", time.Now().Add(-olderThan).Unix()). - Asc("created_unix"). - Limit(100). - Find(&archivers) - if err != nil { - log.Trace("Error: ArchiveClean: %v", err) - return err - } - - for _, archiver := range archivers { - if err := deleteOldRepoArchiver(ctx, &archiver); err != nil { - return err - } - } - if len(archivers) < 100 { - break - } - } - - log.Trace("Finished: ArchiveCleanup") - return nil -} - -var delRepoArchiver = new(RepoArchiver) - -func deleteOldRepoArchiver(ctx context.Context, archiver *RepoArchiver) error { - p, err := archiver.RelativePath() - if err != nil { - return err - } - _, err = db.GetEngine(db.DefaultContext).ID(archiver.ID).Delete(delRepoArchiver) - if err != nil { - return err - } - if err := storage.RepoArchives.Delete(p); err != nil { - log.Error("delete repo archive file failed: %v", err) - } - return nil -} - type repoChecker struct { querySQL, correctSQL string desc string |