diff options
Diffstat (limited to 'models/issue.go')
-rw-r--r-- | models/issue.go | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/models/issue.go b/models/issue.go index b6408365f7..1c6b930d2e 100644 --- a/models/issue.go +++ b/models/issue.go @@ -218,8 +218,11 @@ func (issue *Issue) loadReactions(e Engine) (err error) { if err != nil { return err } + if err = issue.loadRepo(e); err != nil { + return err + } // Load reaction user data - if _, err := ReactionList(reactions).loadUsers(e); err != nil { + if _, err := ReactionList(reactions).loadUsers(e, issue.Repo); err != nil { return err } @@ -1836,3 +1839,17 @@ func UpdateIssuesMigrationsByType(gitServiceType structs.GitServiceType, origina }) return err } + +// UpdateReactionsMigrationsByType updates all migrated repositories' reactions from gitServiceType to replace originalAuthorID to posterID +func UpdateReactionsMigrationsByType(gitServiceType structs.GitServiceType, originalAuthorID string, userID int64) error { + _, err := x.Table("reaction"). + Join("INNER", "issue", "issue.id = reaction.issue_id"). + Where("issue.repo_id IN (SELECT id FROM repository WHERE original_service_type = ?)", gitServiceType). + And("reaction.original_author_id = ?", originalAuthorID). + Update(map[string]interface{}{ + "user_id": userID, + "original_author": "", + "original_author_id": 0, + }) + return err +} |