diff options
Diffstat (limited to 'models/repo/repo_indexer.go')
-rw-r--r-- | models/repo/repo_indexer.go | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/models/repo/repo_indexer.go b/models/repo/repo_indexer.go index f442cad4d1..cba70a14e5 100644 --- a/models/repo/repo_indexer.go +++ b/models/repo/repo_indexer.go @@ -5,6 +5,7 @@ package repo import ( + "context" "fmt" "code.gitea.io/gitea/models/db" @@ -62,8 +63,8 @@ func GetUnindexedRepos(indexerType RepoIndexerType, maxRepoID int64, page, pageS return ids, err } -// getIndexerStatus loads repo codes indxer status -func getIndexerStatus(e db.Engine, repo *Repository, indexerType RepoIndexerType) (*RepoIndexerStatus, error) { +// GetIndexerStatus loads repo codes indxer status +func GetIndexerStatus(ctx context.Context, repo *Repository, indexerType RepoIndexerType) (*RepoIndexerStatus, error) { switch indexerType { case RepoIndexerTypeCode: if repo.CodeIndexerStatus != nil { @@ -75,7 +76,7 @@ func getIndexerStatus(e db.Engine, repo *Repository, indexerType RepoIndexerType } } status := &RepoIndexerStatus{RepoID: repo.ID} - if has, err := e.Where("`indexer_type` = ?", indexerType).Get(status); err != nil { + if has, err := db.GetEngine(ctx).Where("`indexer_type` = ?", indexerType).Get(status); err != nil { return nil, err } else if !has { status.IndexerType = indexerType @@ -90,36 +91,25 @@ func getIndexerStatus(e db.Engine, repo *Repository, indexerType RepoIndexerType return status, nil } -// GetIndexerStatus loads repo codes indxer status -func GetIndexerStatus(repo *Repository, indexerType RepoIndexerType) (*RepoIndexerStatus, error) { - return getIndexerStatus(db.GetEngine(db.DefaultContext), repo, indexerType) -} - -// updateIndexerStatus updates indexer status -func updateIndexerStatus(e db.Engine, repo *Repository, indexerType RepoIndexerType, sha string) error { - status, err := getIndexerStatus(e, repo, indexerType) +// UpdateIndexerStatus updates indexer status +func UpdateIndexerStatus(ctx context.Context, repo *Repository, indexerType RepoIndexerType, sha string) error { + status, err := GetIndexerStatus(ctx, repo, indexerType) if err != nil { return fmt.Errorf("UpdateIndexerStatus: Unable to getIndexerStatus for repo: %s Error: %v", repo.FullName(), err) } if len(status.CommitSha) == 0 { status.CommitSha = sha - _, err := e.Insert(status) - if err != nil { + if err := db.Insert(ctx, status); err != nil { return fmt.Errorf("UpdateIndexerStatus: Unable to insert repoIndexerStatus for repo: %s Sha: %s Error: %v", repo.FullName(), sha, err) } return nil } status.CommitSha = sha - _, err = e.ID(status.ID).Cols("commit_sha"). + _, err = db.GetEngine(ctx).ID(status.ID).Cols("commit_sha"). Update(status) if err != nil { return fmt.Errorf("UpdateIndexerStatus: Unable to update repoIndexerStatus for repo: %s Sha: %s Error: %v", repo.FullName(), sha, err) } return nil } - -// UpdateIndexerStatus updates indexer status -func UpdateIndexerStatus(repo *Repository, indexerType RepoIndexerType, sha string) error { - return updateIndexerStatus(db.GetEngine(db.DefaultContext), repo, indexerType, sha) -} |