mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-04 09:24:36 -04:00
Add state param to milestone listing API (#7131)
* Support state params * update tests * fix tests * add state=all support * update tests * update swagger * update swagger
This commit is contained in:
parent
59e6a7b97f
commit
de6539fc8c
8 changed files with 76 additions and 15 deletions
|
@ -190,10 +190,26 @@ func (milestones MilestoneList) getMilestoneIDs() []int64 {
|
|||
}
|
||||
|
||||
// GetMilestonesByRepoID returns all opened milestones of a repository.
|
||||
func GetMilestonesByRepoID(repoID int64) (MilestoneList, error) {
|
||||
func GetMilestonesByRepoID(repoID int64, state api.StateType) (MilestoneList, error) {
|
||||
|
||||
sess := x.Where("repo_id = ?", repoID)
|
||||
|
||||
switch state {
|
||||
case api.StateClosed:
|
||||
sess = sess.And("is_closed = ?", true)
|
||||
|
||||
case api.StateAll:
|
||||
break
|
||||
|
||||
case api.StateOpen:
|
||||
fallthrough
|
||||
|
||||
default:
|
||||
sess = sess.And("is_closed = ?", false)
|
||||
}
|
||||
|
||||
miles := make([]*Milestone, 0, 10)
|
||||
return miles, x.Where("repo_id = ? AND is_closed = ?", repoID, false).
|
||||
Asc("deadline_unix").Asc("id").Find(&miles)
|
||||
return miles, sess.Asc("deadline_unix").Asc("id").Find(&miles)
|
||||
}
|
||||
|
||||
// GetMilestones returns a list of milestones of given repository and status.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue