diff options
Diffstat (limited to 'internal/db/milestone.go')
-rw-r--r-- | internal/db/milestone.go | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/internal/db/milestone.go b/internal/db/milestone.go index 77f52f92..df059b30 100644 --- a/internal/db/milestone.go +++ b/internal/db/milestone.go @@ -14,6 +14,7 @@ import ( api "github.com/gogs/go-gogs-client" "gogs.io/gogs/internal/conf" + "gogs.io/gogs/internal/errutil" ) // Milestone represents a milestone of repository. @@ -130,6 +131,25 @@ func NewMilestone(m *Milestone) (err error) { return sess.Commit() } +var _ errutil.NotFound = (*ErrMilestoneNotExist)(nil) + +type ErrMilestoneNotExist struct { + args map[string]interface{} +} + +func IsErrMilestoneNotExist(err error) bool { + _, ok := err.(ErrMilestoneNotExist) + return ok +} + +func (err ErrMilestoneNotExist) Error() string { + return fmt.Sprintf("milestone does not exist: %v", err.args) +} + +func (ErrMilestoneNotExist) NotFound() bool { + return true +} + func getMilestoneByRepoID(e Engine, repoID, id int64) (*Milestone, error) { m := &Milestone{ ID: id, @@ -139,7 +159,7 @@ func getMilestoneByRepoID(e Engine, repoID, id int64) (*Milestone, error) { if err != nil { return nil, err } else if !has { - return nil, ErrMilestoneNotExist{id, repoID} + return nil, ErrMilestoneNotExist{args: map[string]interface{}{"repoID": repoID, "milestoneID": id}} } return m, nil } |