|
|
|
@ -2043,17 +2043,17 @@ func deleteIssue(ctx context.Context, issue *Issue) error { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// delete actions assigned to this issue
|
|
|
|
|
var comments []int64 |
|
|
|
|
if err := e.Table(new(Comment)).In("issue_id", issue.ID).Cols("id").Find(&comments); err != nil { |
|
|
|
|
subQuery := builder.Select("`id`"). |
|
|
|
|
From("`comment`"). |
|
|
|
|
Where(builder.Eq{"`issue_id`": issue.ID}) |
|
|
|
|
if _, err := e.In("comment_id", subQuery).Delete(&Action{}); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
for i := range comments { |
|
|
|
|
if _, err := e.Where("comment_id = ?", comments[i]).Delete(&Action{}); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if _, err := e.Table("action").Where("repo_id = ?", issue.RepoID).In("op_type", ActionCreateIssue, ActionCreatePullRequest). |
|
|
|
|
Where("content LIKE ?", strconv.FormatInt(issue.ID, 10)+"|%").Delete(&Action{}); err != nil { |
|
|
|
|
|
|
|
|
|
if _, err := e.Table("action").Where("repo_id = ?", issue.RepoID). |
|
|
|
|
In("op_type", ActionCreateIssue, ActionCreatePullRequest). |
|
|
|
|
Where("content LIKE ?", strconv.FormatInt(issue.ID, 10)+"|%"). |
|
|
|
|
Delete(&Action{}); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|