Fix Issue Unsubscription (#9634)
parent
b6fa229dcf
commit
9406368633
|
@ -4,7 +4,9 @@
|
|||
|
||||
package models
|
||||
|
||||
import "code.gitea.io/gitea/modules/timeutil"
|
||||
import (
|
||||
"code.gitea.io/gitea/modules/timeutil"
|
||||
)
|
||||
|
||||
// IssueWatch is connection request for receiving issue notification.
|
||||
type IssueWatch struct {
|
||||
|
@ -46,17 +48,18 @@ func CreateOrUpdateIssueWatch(userID, issueID int64, isWatching bool) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// GetIssueWatch returns an issue watch by user and issue
|
||||
// GetIssueWatch returns all IssueWatch objects from db by user and issue
|
||||
// the current Web-UI need iw object for watchers AND explicit non-watchers
|
||||
func GetIssueWatch(userID, issueID int64) (iw *IssueWatch, exists bool, err error) {
|
||||
return getIssueWatch(x, userID, issueID)
|
||||
}
|
||||
|
||||
// Return watcher AND explicit non-watcher if entry in db exist
|
||||
func getIssueWatch(e Engine, userID, issueID int64) (iw *IssueWatch, exists bool, err error) {
|
||||
iw = new(IssueWatch)
|
||||
exists, err = e.
|
||||
Where("user_id = ?", userID).
|
||||
And("issue_id = ?", issueID).
|
||||
And("is_watching = ?", true).
|
||||
Get(iw)
|
||||
return
|
||||
}
|
||||
|
|
|
@ -29,9 +29,10 @@ func TestGetIssueWatch(t *testing.T) {
|
|||
assert.True(t, exists)
|
||||
assert.NoError(t, err)
|
||||
|
||||
_, exists, err = GetIssueWatch(2, 2)
|
||||
assert.False(t, exists)
|
||||
iw, exists, err := GetIssueWatch(2, 2)
|
||||
assert.True(t, exists)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, false, iw.IsWatching)
|
||||
|
||||
_, exists, err = GetIssueWatch(3, 1)
|
||||
assert.False(t, exists)
|
||||
|
|
Loading…
Reference in New Issue