From cb362513f027ca8e2c53204f5f2ea447ad06bf05 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Wed, 29 Mar 2017 20:59:28 -0300 Subject: [PATCH] Add updated_unix column on issue_watch --- models/issue_watch.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/models/issue_watch.go b/models/issue_watch.go index 03a677a3a..1e2650963 100644 --- a/models/issue_watch.go +++ b/models/issue_watch.go @@ -12,12 +12,21 @@ type IssueWatch struct { IsWatching bool `xorm:"NOT NULL"` Created time.Time `xorm:"-"` CreatedUnix int64 `xorm:"NOT NULL"` + Updated time.Time `xorm:"-"` + UpdatedUnix int64 `xorm:"NOT NULL"` } // BeforeInsert is invoked from XORM before inserting an object of this type. func (iw *IssueWatch) BeforeInsert() { iw.Created = time.Now() iw.CreatedUnix = time.Now().Unix() + iw.Updated = time.Now() + iw.UpdatedUnix = time.Now().Unix() +} + +func (iw *IssueWatch) BeforeUpdate() { + iw.Updated = time.Now() + iw.UpdatedUnix = time.Now().Unix() } // CreateOrUpdateIssueWatch set watching for a user and issue @@ -38,7 +47,9 @@ func CreateOrUpdateIssueWatch(userID, issueID int64, isWatching bool) error { return err } } else { - if _, err := x.Table(&IssueWatch{}).Id(iw.ID).Update(map[string]interface{}{"is_watching": isWatching}); err != nil { + iw.IsWatching = isWatching + + if _, err := x.Id(iw.ID).Cols("is_watching", "updated_unix").Update(iw); err != nil { return err } }