diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-10-14 14:10:42 +0800 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2019-10-14 09:10:42 +0300 |
commit | e3e44a59d01da3af2be3a830f4a90394e7af4ff4 (patch) | |
tree | f66e8ead94693225668bacd0ba603bf3712aeae6 /models/issue_comment.go | |
parent | ba201aaa44b19f633fab0c4682d5f97558b3205e (diff) | |
download | gitea-e3e44a59d01da3af2be3a830f4a90394e7af4ff4.tar.gz gitea-e3e44a59d01da3af2be3a830f4a90394e7af4ff4.zip |
Update migrated repositories' issues/comments/prs poster id if user has a github external user saved (#7751)
* update migrated issues/comments when login as github
* add get userid when migrating or login with github oauth2
* fix lint
* add migrations for repository service type
* fix build
* remove unnecessary dependencies on migrations
* add cron task to update migrations poster ids and fix posterid when migrating
* fix lint
* fix lint
* improve code
* fix lint
* improve code
* replace releases publish id to actual author id
* fix import
* fix bug
* fix lint
* fix rawdata definition
* fix some bugs
* fix error message
Diffstat (limited to 'models/issue_comment.go')
-rw-r--r-- | models/issue_comment.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/models/issue_comment.go b/models/issue_comment.go index 7d38302b98..3a090c3b19 100644 --- a/models/issue_comment.go +++ b/models/issue_comment.go @@ -14,6 +14,7 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/markup/markdown" "code.gitea.io/gitea/modules/references" + "code.gitea.io/gitea/modules/structs" api "code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/modules/timeutil" @@ -1022,3 +1023,23 @@ func fetchCodeCommentsByReview(e Engine, issue *Issue, currentUser *User, review func FetchCodeComments(issue *Issue, currentUser *User) (CodeComments, error) { return fetchCodeComments(x, issue, currentUser) } + +// UpdateCommentsMigrationsByType updates comments' migrations information via given git service type and original id and poster id +func UpdateCommentsMigrationsByType(tp structs.GitServiceType, originalAuthorID, posterID int64) error { + _, err := x.Table("comment"). + Where(builder.In("issue_id", + builder.Select("issue.id"). + From("issue"). + InnerJoin("repository", "issue.repo_id = repository.id"). + Where(builder.Eq{ + "repository.original_service_type": tp, + }), + )). + And("comment.original_author_id = ?", originalAuthorID). + Update(map[string]interface{}{ + "poster_id": posterID, + "original_author": "", + "original_author_id": 0, + }) + return err +} |