use xorm session

This commit is contained in:
6543 2019-11-15 14:01:23 +01:00
parent 7e97d575f2
commit c1de540147
No known key found for this signature in database
GPG key ID: A1CA74D27FD13271

View file

@ -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
}
}