Skip to content

Commit 2e5930e

Browse files
committed
Add Created and Updated to Milestone table and expose via API
1 parent 807a41c commit 2e5930e

File tree

6 files changed

+46
-1
lines changed

6 files changed

+46
-1
lines changed

models/issue_milestone.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ type Milestone struct {
3131
Completeness int // Percentage(1-100).
3232
IsOverdue bool `xorm:"-"`
3333

34-
DeadlineString string `xorm:"-"`
34+
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
35+
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
3536
DeadlineUnix timeutil.TimeStamp
3637
ClosedDateUnix timeutil.TimeStamp
38+
DeadlineString string `xorm:"-"`
3739

3840
TotalTrackedTime int64 `xorm:"-"`
3941
}

models/migrations/migrations.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ var migrations = []Migration{
228228
NewMigration("Add projects info to repository table", addProjectsInfo),
229229
// v147 -> v148
230230
NewMigration("create review for 0 review id code comments", createReviewsForCodeComments),
231+
// v148 -> v149
232+
NewMigration("Add Created and Updated to Milestone table", addCreatedAndUpdatedToMilestones),
231233
}
232234

233235
// GetCurrentDBVersion returns the current db version

models/migrations/v148.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright 2020 The Gitea Authors. All rights reserved.
2+
// Use of this source code is governed by a MIT-style
3+
// license that can be found in the LICENSE file.
4+
5+
package migrations
6+
7+
import (
8+
"fmt"
9+
10+
"code.gitea.io/gitea/modules/timeutil"
11+
12+
"xorm.io/xorm"
13+
)
14+
15+
func addCreatedAndUpdatedToMilestones(x *xorm.Engine) error {
16+
type Milestone struct {
17+
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
18+
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
19+
}
20+
21+
if err := x.Sync2(new(Milestone)); err != nil {
22+
return fmt.Errorf("Sync2: %v", err)
23+
}
24+
return nil
25+
}

modules/convert/issue.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,8 @@ func ToAPIMilestone(m *models.Milestone) *api.Milestone {
152152
Description: m.Content,
153153
OpenIssues: m.NumOpenIssues,
154154
ClosedIssues: m.NumClosedIssues,
155+
Created: m.CreatedUnix.AsTime(),
156+
Updated: m.UpdatedUnix.AsTimePtr(),
155157
}
156158
if m.IsClosed {
157159
apiMilestone.Closed = m.ClosedDateUnix.AsTimePtr()

modules/structs/issue_milestone.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ type Milestone struct {
1717
OpenIssues int `json:"open_issues"`
1818
ClosedIssues int `json:"closed_issues"`
1919
// swagger:strfmt date-time
20+
Created time.Time `json:"created_at"`
21+
// swagger:strfmt date-time
22+
Updated *time.Time `json:"updated_at"`
23+
// swagger:strfmt date-time
2024
Closed *time.Time `json:"closed_at"`
2125
// swagger:strfmt date-time
2226
Deadline *time.Time `json:"due_on"`

templates/swagger/v1_json.tmpl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13527,6 +13527,11 @@
1352713527
"format": "int64",
1352813528
"x-go-name": "ClosedIssues"
1352913529
},
13530+
"created_at": {
13531+
"type": "string",
13532+
"format": "date-time",
13533+
"x-go-name": "Created"
13534+
},
1353013535
"description": {
1353113536
"type": "string",
1353213537
"x-go-name": "Description"
@@ -13552,6 +13557,11 @@
1355213557
"title": {
1355313558
"type": "string",
1355413559
"x-go-name": "Title"
13560+
},
13561+
"updated_at": {
13562+
"type": "string",
13563+
"format": "date-time",
13564+
"x-go-name": "Updated"
1355513565
}
1355613566
},
1355713567
"x-go-package": "code.gitea.io/gitea/modules/structs"

0 commit comments

Comments
 (0)