use xorm session

pull/8738/head
6543 5 years ago
parent 7e97d575f2
commit c1de540147
No known key found for this signature in database
GPG Key ID: A1CA74D27FD13271
  1. 20
      models/issue_watch.go

@ -21,7 +21,21 @@ type IssueWatchList []*IssueWatch
// CreateOrUpdateIssueWatch set watching for a user and issue
func CreateOrUpdateIssueWatch(userID, issueID int64, isWatching bool) error {
iw, exists, err := getIssueWatch(x, userID, issueID)
sess := x.NewSession()
defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
if err := createOrUpdateIssueWatch(sess, userID, issueID, isWatching); err != nil {
return err
}
return sess.Commit()
}
func createOrUpdateIssueWatch(e Engine, userID, issueID int64, isWatching bool) error {
iw, exists, err := getIssueWatch(e, userID, issueID)
if err != nil {
return err
}
@ -33,13 +47,13 @@ func CreateOrUpdateIssueWatch(userID, issueID int64, isWatching bool) error {
IsWatching: isWatching,
}
if _, err := x.Insert(iw); err != nil {
if _, err := e.Insert(iw); err != nil {
return err
}
} else {
iw.IsWatching = isWatching
if _, err := x.ID(iw.ID).Cols("is_watching", "updated_unix").Update(iw); err != nil {
if _, err := e.ID(iw.ID).Cols("is_watching", "updated_unix").Update(iw); err != nil {
return err
}
}

Loading…
Cancel
Save