Add OriginalID for milestones

This commit is contained in:
harryzcy 2023-06-24 17:54:27 -05:00
parent 6855c81d0f
commit 6e3b98051b
No known key found for this signature in database
GPG Key ID: E3C2287691E40E35
5 changed files with 8 additions and 3 deletions

View File

@ -64,6 +64,8 @@ type Milestone struct {
DeadlineString string `xorm:"-"`
TotalTrackedTime int64 `xorm:"-"`
OriginalID int64 // ID from the upstream syncing source
}
func init() {

View File

@ -70,7 +70,7 @@ func UpdateMilestones(ms ...*issues_model.Milestone) (err error) {
for _, m := range ms {
var foundMilestone *issues_model.Milestone
for _, existingMilestone := range existingMilestones {
if existingMilestone.CreatedUnix == m.CreatedUnix {
if existingMilestone.OriginalID == m.OriginalID {
foundMilestone = existingMilestone
foundMap[existingMilestone.ID] = true
break
@ -79,8 +79,7 @@ func UpdateMilestones(ms ...*issues_model.Milestone) (err error) {
if foundMilestone == nil {
milestonesToAdd = append(milestonesToAdd, m)
} else if foundMilestone.UpdatedUnix != m.UpdatedUnix {
// consider as updated if updated_unix is different
} else if foundMilestone.OriginalID != m.OriginalID {
m.ID = foundMilestone.ID
milestonesToUpdate = append(milestonesToUpdate, m)
}
@ -116,6 +115,7 @@ func UpdateMilestones(ms ...*issues_model.Milestone) (err error) {
}
}
// TODO: is this correct?
if _, err = sess.ID(ms[0].RepoID).Update(&repo_model.Repository{
NumMilestones: len(ms),
NumOpenMilestones: openCount,

View File

@ -15,4 +15,5 @@ type Milestone struct {
Updated *time.Time `json:"updated"`
Closed *time.Time `json:"closed"`
State string `json:"state"` // open, closed
OriginalID int64 `json:"-"` // ID from the upstream syncing source
}

View File

@ -208,6 +208,7 @@ func (g *GiteaLocalUploader) prepareMilestones(milestones ...*base.Milestone) []
CreatedUnix: timeutil.TimeStamp(milestone.Created.Unix()),
UpdatedUnix: timeutil.TimeStamp(milestone.Updated.Unix()),
DeadlineUnix: deadline,
OriginalID: milestone.OriginalID,
}
if ms.IsClosed && milestone.Closed != nil {
ms.ClosedDateUnix = timeutil.TimeStamp(milestone.Closed.Unix())

View File

@ -265,6 +265,7 @@ func (g *GithubDownloaderV3) GetMilestones() ([]*base.Milestone, error) {
Created: m.GetCreatedAt().Time,
Updated: m.UpdatedAt.GetTime(),
Closed: m.ClosedAt.GetTime(),
OriginalID: m.GetID(),
})
}
if len(ms) < perPage {