mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Add Index to comment for migrations and mirroring (#18806)
Comments have an id (see Gitea[0], GitLab[1], GitHub[2], etc.), and the comment migration format must represent it during migrations so that it can be used during mirroring or incremental migrations. [0] https://try.gitea.io/api/swagger#/issue/issueGetComment [1] https://docs.gitlab.com/ee/api/discussions.html#get-single-issue-discussion-item [2] https://docs.github.com/en/rest/reference/issues#get-an-issue-comment Signed-off-by: Loïc Dachary <loic@dachary.org> Co-authored-by: Loïc Dachary <loic@dachary.org>
This commit is contained in:
@@ -371,6 +371,7 @@ func (d *CodebaseDownloader) GetIssues(page, perPage int) ([]*base.Issue, bool,
|
||||
poster := d.tryGetUser(note.UserID.Value)
|
||||
comments = append(comments, &base.Comment{
|
||||
IssueIndex: issue.TicketID.Value,
|
||||
Index: note.ID.Value,
|
||||
PosterID: poster.ID,
|
||||
PosterName: poster.Name,
|
||||
PosterEmail: poster.Email,
|
||||
@@ -481,7 +482,11 @@ func (d *CodebaseDownloader) GetPullRequests(page, perPage int) ([]*base.PullReq
|
||||
Type string `xml:"type,attr"`
|
||||
Comment []struct {
|
||||
Content string `xml:"content"`
|
||||
UserID struct {
|
||||
ID struct {
|
||||
Value int64 `xml:",chardata"`
|
||||
Type string `xml:"type,attr"`
|
||||
} `xml:"id"`
|
||||
UserID struct {
|
||||
Value int64 `xml:",chardata"`
|
||||
Type string `xml:"type,attr"`
|
||||
} `xml:"user-id"`
|
||||
@@ -528,6 +533,7 @@ func (d *CodebaseDownloader) GetPullRequests(page, perPage int) ([]*base.PullReq
|
||||
poster := d.tryGetUser(comment.UserID.Value)
|
||||
comments = append(comments, &base.Comment{
|
||||
IssueIndex: number,
|
||||
Index: comment.ID.Value,
|
||||
PosterID: poster.ID,
|
||||
PosterName: poster.Name,
|
||||
PosterEmail: poster.Email,
|
||||
|
@@ -473,6 +473,7 @@ func (g *GiteaDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Comm
|
||||
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: opts.Context.LocalID(),
|
||||
Index: comment.ID,
|
||||
PosterID: comment.Poster.ID,
|
||||
PosterName: comment.Poster.UserName,
|
||||
PosterEmail: comment.Poster.Email,
|
||||
|
@@ -532,6 +532,7 @@ func (g *GithubDownloaderV3) getComments(issueContext base.IssueContext) ([]*bas
|
||||
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: issueContext.LocalID(),
|
||||
Index: comment.GetID(),
|
||||
PosterID: comment.GetUser().GetID(),
|
||||
PosterName: comment.GetUser().GetLogin(),
|
||||
PosterEmail: comment.GetUser().GetEmail(),
|
||||
@@ -607,6 +608,7 @@ func (g *GithubDownloaderV3) GetAllComments(page, perPage int) ([]*base.Comment,
|
||||
issueIndex, _ := strconv.ParseInt((*comment.IssueURL)[idx+1:], 10, 64)
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: issueIndex,
|
||||
Index: comment.GetID(),
|
||||
PosterID: comment.GetUser().GetID(),
|
||||
PosterName: comment.GetUser().GetLogin(),
|
||||
PosterEmail: comment.GetUser().GetEmail(),
|
||||
|
@@ -485,6 +485,7 @@ func (g *GitlabDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Com
|
||||
for _, note := range comment.Notes {
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: context.LocalID(),
|
||||
Index: int64(note.ID),
|
||||
PosterID: int64(note.Author.ID),
|
||||
PosterName: note.Author.Username,
|
||||
PosterEmail: note.Author.Email,
|
||||
@@ -496,6 +497,7 @@ func (g *GitlabDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Com
|
||||
c := comment.Notes[0]
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: context.LocalID(),
|
||||
Index: int64(c.ID),
|
||||
PosterID: int64(c.Author.ID),
|
||||
PosterName: c.Author.Username,
|
||||
PosterEmail: c.Author.Email,
|
||||
|
@@ -236,6 +236,7 @@ func (g *GogsDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Comme
|
||||
}
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: opts.Context.LocalID(),
|
||||
Index: comment.ID,
|
||||
PosterID: comment.Poster.ID,
|
||||
PosterName: comment.Poster.Login,
|
||||
PosterEmail: comment.Poster.Email,
|
||||
|
@@ -379,6 +379,7 @@ func (d *OneDevDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Com
|
||||
}
|
||||
|
||||
rawComments := make([]struct {
|
||||
ID int64 `json:"id"`
|
||||
Date time.Time `json:"date"`
|
||||
UserID int64 `json:"userId"`
|
||||
Content string `json:"content"`
|
||||
@@ -429,6 +430,7 @@ func (d *OneDevDownloader) GetComments(opts base.GetCommentOptions) ([]*base.Com
|
||||
poster := d.tryGetUser(comment.UserID)
|
||||
comments = append(comments, &base.Comment{
|
||||
IssueIndex: context.LocalID(),
|
||||
Index: comment.ID,
|
||||
PosterID: poster.ID,
|
||||
PosterName: poster.Name,
|
||||
PosterEmail: poster.Email,
|
||||
|
Reference in New Issue
Block a user