File tree Expand file tree Collapse file tree 3 files changed +17
-11
lines changed Expand file tree Collapse file tree 3 files changed +17
-11
lines changed Original file line number Diff line number Diff line change @@ -335,33 +335,28 @@ type GetMilestonesOption struct {
335
335
ListOptions
336
336
RepoID int64
337
337
State api.StateType
338
+ Name string
338
339
SortType string
339
340
}
340
341
341
342
// GetMilestones returns milestones filtered by GetMilestonesOption's
342
343
func GetMilestones (opts GetMilestonesOption ) (MilestoneList , error ) {
343
- sess := x .NewSession ()
344
- defer sess .Close ()
345
- if err := sess .Begin (); err != nil {
346
- return nil , err
347
- }
348
-
349
- if opts .RepoID != 0 {
350
- sess = sess .Where ("repo_id = ?" , opts .RepoID )
351
- }
344
+ sess := x .Where ("repo_id = ?" , opts .RepoID )
352
345
353
346
switch opts .State {
354
347
case api .StateClosed :
355
348
sess = sess .And ("is_closed = ?" , true )
356
-
357
349
case api .StateAll :
358
350
break
359
-
360
351
// api.StateOpen:
361
352
default :
362
353
sess = sess .And ("is_closed = ?" , false )
363
354
}
364
355
356
+ if len (opts .Name ) != 0 {
357
+ sess = sess .And (builder.Like {"name" , opts .Name })
358
+ }
359
+
365
360
if opts .Page != 0 {
366
361
sess = opts .setSessionPagination (sess )
367
362
}
Original file line number Diff line number Diff line change @@ -39,6 +39,10 @@ func ListMilestones(ctx *context.APIContext) {
39
39
// in: query
40
40
// description: Milestone state, Recognised values are open, closed and all. Defaults to "open"
41
41
// type: string
42
+ // - name: name
43
+ // in: query
44
+ // description: filter by milestone name
45
+ // type: string
42
46
// - name: page
43
47
// in: query
44
48
// description: page number of results to return (1-based)
@@ -55,6 +59,7 @@ func ListMilestones(ctx *context.APIContext) {
55
59
ListOptions : utils .GetListOptions (ctx ),
56
60
RepoID : ctx .Repo .Repository .ID ,
57
61
State : api .StateType (ctx .Query ("state" )),
62
+ Name : ctx .Query ("name" ),
58
63
})
59
64
if err != nil {
60
65
ctx .Error (http .StatusInternalServerError , "GetMilestones" , err )
Original file line number Diff line number Diff line change 6164
6164
"name": "state",
6165
6165
"in": "query"
6166
6166
},
6167
+ {
6168
+ "type": "string",
6169
+ "description": "filter by milestone name",
6170
+ "name": "name",
6171
+ "in": "query"
6172
+ },
6167
6173
{
6168
6174
"type": "integer",
6169
6175
"description": "page number of results to return (1-based)",
You can’t perform that action at this time.
0 commit comments