summaryrefslogtreecommitdiffstats
path: root/models/issue_milestone.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-04-30 06:15:39 +0200
committerGitHub <noreply@github.com>2020-04-30 01:15:39 -0300
commitbfda0f38646f66dbae2767eed3097489c456ebf5 (patch)
treeb3c915a6fb63215cd2c31c24bf4d7da332503565 /models/issue_milestone.go
parentcbf5dffaf29c1e871342c15478b33e9229a7f9d2 (diff)
downloadgitea-bfda0f38646f66dbae2767eed3097489c456ebf5.tar.gz
gitea-bfda0f38646f66dbae2767eed3097489c456ebf5.zip
[API] ListIssues add filter for milestones (#10148)
* Refactor Issue Filter Func * ListIssues add filter for milestones * as per @lafriks * documentation ...
Diffstat (limited to 'models/issue_milestone.go')
-rw-r--r--models/issue_milestone.go24
1 files changed, 17 insertions, 7 deletions
diff --git a/models/issue_milestone.go b/models/issue_milestone.go
index 6bef35ce6e..274258e6a8 100644
--- a/models/issue_milestone.go
+++ b/models/issue_milestone.go
@@ -109,15 +109,12 @@ func NewMilestone(m *Milestone) (err error) {
}
func getMilestoneByRepoID(e Engine, repoID, id int64) (*Milestone, error) {
- m := &Milestone{
- ID: id,
- RepoID: repoID,
- }
- has, err := e.Get(m)
+ m := new(Milestone)
+ has, err := e.ID(id).Where("repo_id=?", repoID).Get(m)
if err != nil {
return nil, err
} else if !has {
- return nil, ErrMilestoneNotExist{id, repoID}
+ return nil, ErrMilestoneNotExist{ID: id, RepoID: repoID}
}
return m, nil
}
@@ -127,6 +124,19 @@ func GetMilestoneByRepoID(repoID, id int64) (*Milestone, error) {
return getMilestoneByRepoID(x, repoID, id)
}
+// GetMilestoneByRepoIDANDName return a milestone if one exist by name and repo
+func GetMilestoneByRepoIDANDName(repoID int64, name string) (*Milestone, error) {
+ var mile Milestone
+ has, err := x.Where("repo_id=? AND name=?", repoID, name).Get(&mile)
+ if err != nil {
+ return nil, err
+ }
+ if !has {
+ return nil, ErrMilestoneNotExist{Name: name, RepoID: repoID}
+ }
+ return &mile, nil
+}
+
// GetMilestoneByID returns the milestone via id .
func GetMilestoneByID(id int64) (*Milestone, error) {
var m Milestone
@@ -134,7 +144,7 @@ func GetMilestoneByID(id int64) (*Milestone, error) {
if err != nil {
return nil, err
} else if !has {
- return nil, ErrMilestoneNotExist{id, 0}
+ return nil, ErrMilestoneNotExist{ID: id, RepoID: 0}
}
return &m, nil
}