mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Add context.Context to more methods (#21546)
				
					
				
			This PR adds a context parameter to a bunch of methods. Some helper `xxxCtx()` methods got replaced with the normal name now. Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		@@ -116,8 +116,8 @@ func (label *Label) CalOpenIssues() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CalOpenOrgIssues calculates the open issues of a label for a specific repo
 | 
			
		||||
func (label *Label) CalOpenOrgIssues(repoID, labelID int64) {
 | 
			
		||||
	counts, _ := CountIssuesByRepo(&IssuesOptions{
 | 
			
		||||
func (label *Label) CalOpenOrgIssues(ctx context.Context, repoID, labelID int64) {
 | 
			
		||||
	counts, _ := CountIssuesByRepo(ctx, &IssuesOptions{
 | 
			
		||||
		RepoID:   repoID,
 | 
			
		||||
		LabelIDs: []int64{labelID},
 | 
			
		||||
		IsClosed: util.OptionalBoolFalse,
 | 
			
		||||
@@ -395,9 +395,9 @@ func BuildLabelNamesIssueIDsCondition(labelNames []string) *builder.Builder {
 | 
			
		||||
 | 
			
		||||
// GetLabelsInRepoByIDs returns a list of labels by IDs in given repository,
 | 
			
		||||
// it silently ignores label IDs that do not belong to the repository.
 | 
			
		||||
func GetLabelsInRepoByIDs(repoID int64, labelIDs []int64) ([]*Label, error) {
 | 
			
		||||
func GetLabelsInRepoByIDs(ctx context.Context, repoID int64, labelIDs []int64) ([]*Label, error) {
 | 
			
		||||
	labels := make([]*Label, 0, len(labelIDs))
 | 
			
		||||
	return labels, db.GetEngine(db.DefaultContext).
 | 
			
		||||
	return labels, db.GetEngine(ctx).
 | 
			
		||||
		Where("repo_id = ?", repoID).
 | 
			
		||||
		In("id", labelIDs).
 | 
			
		||||
		Asc("name").
 | 
			
		||||
@@ -498,9 +498,9 @@ func GetLabelIDsInOrgByNames(orgID int64, labelNames []string) ([]int64, error)
 | 
			
		||||
 | 
			
		||||
// GetLabelsInOrgByIDs returns a list of labels by IDs in given organization,
 | 
			
		||||
// it silently ignores label IDs that do not belong to the organization.
 | 
			
		||||
func GetLabelsInOrgByIDs(orgID int64, labelIDs []int64) ([]*Label, error) {
 | 
			
		||||
func GetLabelsInOrgByIDs(ctx context.Context, orgID int64, labelIDs []int64) ([]*Label, error) {
 | 
			
		||||
	labels := make([]*Label, 0, len(labelIDs))
 | 
			
		||||
	return labels, db.GetEngine(db.DefaultContext).
 | 
			
		||||
	return labels, db.GetEngine(ctx).
 | 
			
		||||
		Where("org_id = ?", orgID).
 | 
			
		||||
		In("id", labelIDs).
 | 
			
		||||
		Asc("name").
 | 
			
		||||
@@ -746,13 +746,13 @@ func DeleteLabelsByRepoID(ctx context.Context, repoID int64) error {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CountOrphanedLabels return count of labels witch are broken and not accessible via ui anymore
 | 
			
		||||
func CountOrphanedLabels() (int64, error) {
 | 
			
		||||
	noref, err := db.GetEngine(db.DefaultContext).Table("label").Where("repo_id=? AND org_id=?", 0, 0).Count()
 | 
			
		||||
func CountOrphanedLabels(ctx context.Context) (int64, error) {
 | 
			
		||||
	noref, err := db.GetEngine(ctx).Table("label").Where("repo_id=? AND org_id=?", 0, 0).Count()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	norepo, err := db.GetEngine(db.DefaultContext).Table("label").
 | 
			
		||||
	norepo, err := db.GetEngine(ctx).Table("label").
 | 
			
		||||
		Where(builder.And(
 | 
			
		||||
			builder.Gt{"repo_id": 0},
 | 
			
		||||
			builder.NotIn("repo_id", builder.Select("id").From("repository")),
 | 
			
		||||
@@ -762,7 +762,7 @@ func CountOrphanedLabels() (int64, error) {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	noorg, err := db.GetEngine(db.DefaultContext).Table("label").
 | 
			
		||||
	noorg, err := db.GetEngine(ctx).Table("label").
 | 
			
		||||
		Where(builder.And(
 | 
			
		||||
			builder.Gt{"org_id": 0},
 | 
			
		||||
			builder.NotIn("org_id", builder.Select("id").From("user")),
 | 
			
		||||
@@ -776,14 +776,14 @@ func CountOrphanedLabels() (int64, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DeleteOrphanedLabels delete labels witch are broken and not accessible via ui anymore
 | 
			
		||||
func DeleteOrphanedLabels() error {
 | 
			
		||||
func DeleteOrphanedLabels(ctx context.Context) error {
 | 
			
		||||
	// delete labels with no reference
 | 
			
		||||
	if _, err := db.GetEngine(db.DefaultContext).Table("label").Where("repo_id=? AND org_id=?", 0, 0).Delete(new(Label)); err != nil {
 | 
			
		||||
	if _, err := db.GetEngine(ctx).Table("label").Where("repo_id=? AND org_id=?", 0, 0).Delete(new(Label)); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// delete labels with none existing repos
 | 
			
		||||
	if _, err := db.GetEngine(db.DefaultContext).
 | 
			
		||||
	if _, err := db.GetEngine(ctx).
 | 
			
		||||
		Where(builder.And(
 | 
			
		||||
			builder.Gt{"repo_id": 0},
 | 
			
		||||
			builder.NotIn("repo_id", builder.Select("id").From("repository")),
 | 
			
		||||
@@ -793,7 +793,7 @@ func DeleteOrphanedLabels() error {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// delete labels with none existing orgs
 | 
			
		||||
	if _, err := db.GetEngine(db.DefaultContext).
 | 
			
		||||
	if _, err := db.GetEngine(ctx).
 | 
			
		||||
		Where(builder.And(
 | 
			
		||||
			builder.Gt{"org_id": 0},
 | 
			
		||||
			builder.NotIn("org_id", builder.Select("id").From("user")),
 | 
			
		||||
@@ -806,23 +806,23 @@ func DeleteOrphanedLabels() error {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CountOrphanedIssueLabels return count of IssueLabels witch have no label behind anymore
 | 
			
		||||
func CountOrphanedIssueLabels() (int64, error) {
 | 
			
		||||
	return db.GetEngine(db.DefaultContext).Table("issue_label").
 | 
			
		||||
func CountOrphanedIssueLabels(ctx context.Context) (int64, error) {
 | 
			
		||||
	return db.GetEngine(ctx).Table("issue_label").
 | 
			
		||||
		NotIn("label_id", builder.Select("id").From("label")).
 | 
			
		||||
		Count()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DeleteOrphanedIssueLabels delete IssueLabels witch have no label behind anymore
 | 
			
		||||
func DeleteOrphanedIssueLabels() error {
 | 
			
		||||
	_, err := db.GetEngine(db.DefaultContext).
 | 
			
		||||
func DeleteOrphanedIssueLabels(ctx context.Context) error {
 | 
			
		||||
	_, err := db.GetEngine(ctx).
 | 
			
		||||
		NotIn("label_id", builder.Select("id").From("label")).
 | 
			
		||||
		Delete(IssueLabel{})
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CountIssueLabelWithOutsideLabels count label comments with outside label
 | 
			
		||||
func CountIssueLabelWithOutsideLabels() (int64, error) {
 | 
			
		||||
	return db.GetEngine(db.DefaultContext).Where(builder.Expr("(label.org_id = 0 AND issue.repo_id != label.repo_id) OR (label.repo_id = 0 AND label.org_id != repository.owner_id)")).
 | 
			
		||||
func CountIssueLabelWithOutsideLabels(ctx context.Context) (int64, error) {
 | 
			
		||||
	return db.GetEngine(ctx).Where(builder.Expr("(label.org_id = 0 AND issue.repo_id != label.repo_id) OR (label.repo_id = 0 AND label.org_id != repository.owner_id)")).
 | 
			
		||||
		Table("issue_label").
 | 
			
		||||
		Join("inner", "label", "issue_label.label_id = label.id ").
 | 
			
		||||
		Join("inner", "issue", "issue.id = issue_label.issue_id ").
 | 
			
		||||
@@ -831,8 +831,8 @@ func CountIssueLabelWithOutsideLabels() (int64, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FixIssueLabelWithOutsideLabels fix label comments with outside label
 | 
			
		||||
func FixIssueLabelWithOutsideLabels() (int64, error) {
 | 
			
		||||
	res, err := db.GetEngine(db.DefaultContext).Exec(`DELETE FROM issue_label WHERE issue_label.id IN (
 | 
			
		||||
func FixIssueLabelWithOutsideLabels(ctx context.Context) (int64, error) {
 | 
			
		||||
	res, err := db.GetEngine(ctx).Exec(`DELETE FROM issue_label WHERE issue_label.id IN (
 | 
			
		||||
		SELECT il_too.id FROM (
 | 
			
		||||
			SELECT il_too_too.id
 | 
			
		||||
				FROM issue_label AS il_too_too
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user