Added extra error type for unknown dependency type
This commit is contained in:
parent
7b26e2c92e
commit
3820fc4354
|
|
@ -1275,3 +1275,18 @@ func IsErrDependenciesLeft(err error) bool {
|
||||||
func (err ErrDependenciesLeft) Error() string {
|
func (err ErrDependenciesLeft) Error() string {
|
||||||
return fmt.Sprintf("cannot close this issue as it still has open dependencies [issue id: %d]", err.IssueID)
|
return fmt.Sprintf("cannot close this issue as it still has open dependencies [issue id: %d]", err.IssueID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ErrUnknownDependencyType represents an error where an unknown dependency type was passed
|
||||||
|
type ErrUnknownDependencyType struct {
|
||||||
|
Type DependencyType
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsErrUnknownDependencyType checks if an error is ErrUnknownDependencyType
|
||||||
|
func IsErrUnknownDependencyType(err error) bool {
|
||||||
|
_, ok := err.(ErrUnknownDependencyType)
|
||||||
|
return ok
|
||||||
|
}
|
||||||
|
|
||||||
|
func (err ErrUnknownDependencyType) Error() string {
|
||||||
|
return fmt.Sprintf("unknown dependency type [type: %d]", err.Type)
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
"code.gitea.io/gitea/modules/util"
|
"code.gitea.io/gitea/modules/util"
|
||||||
|
"fmt"
|
||||||
)
|
)
|
||||||
|
|
||||||
// IssueDependency represents an issue dependency
|
// IssueDependency represents an issue dependency
|
||||||
|
|
@ -83,7 +84,7 @@ func RemoveIssueDependency(user *User, issue *Issue, dep *Issue, depType Depende
|
||||||
case DependencyTypeBlocking:
|
case DependencyTypeBlocking:
|
||||||
err = issueDepExists(sess, dep.ID, issue.ID)
|
err = issueDepExists(sess, dep.ID, issue.ID)
|
||||||
default:
|
default:
|
||||||
return
|
return ErrUnknownDependencyType{depType}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if IsErrDependencyExists(err) {
|
if IsErrDependencyExists(err) {
|
||||||
|
|
@ -104,7 +105,7 @@ func RemoveIssueDependency(user *User, issue *Issue, dep *Issue, depType Depende
|
||||||
case DependencyTypeBlocking:
|
case DependencyTypeBlocking:
|
||||||
issueDepToDelete = IssueDependency{IssueID: dep.ID, DependencyID: issue.ID}
|
issueDepToDelete = IssueDependency{IssueID: dep.ID, DependencyID: issue.ID}
|
||||||
default:
|
default:
|
||||||
return
|
return ErrUnknownDependencyType{depType}
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err := sess.Delete(&issueDepToDelete); err != nil {
|
if _, err := sess.Delete(&issueDepToDelete); err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user