summaryrefslogtreecommitdiffstats
path: root/models/issue.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2020-01-15 19:14:07 +0800
committerAntoine GIRARD <sapk@users.noreply.github.com>2020-01-15 12:14:07 +0100
commit2b3e931cde3e3d70b69202164f35fc6f2c609ade (patch)
treedd519a5741642dde99433028d0e7d0e9da7b67c9 /models/issue.go
parent4e566df1c694e47908e59a6db163e5a98d144b83 (diff)
downloadgitea-2b3e931cde3e3d70b69202164f35fc6f2c609ade.tar.gz
gitea-2b3e931cde3e3d70b69202164f35fc6f2c609ade.zip
Migrate reactions when migrating repository from github (#9599)
* Migrate reactions when migrating repository from github * fix missed sleep * fix tests * update reactions when external user binding * Fix test * fix tests * change the copy head * fix test * fix migrator add/delete reaction
Diffstat (limited to 'models/issue.go')
-rw-r--r--models/issue.go19
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
+}