diff --git a/models/issue_watch.go b/models/issue_watch.go new file mode 100644 index 000000000..96e080136 --- /dev/null +++ b/models/issue_watch.go @@ -0,0 +1,20 @@ +package models + +import ( + "time" +) + +// IssueWatch is connection request for receiving issue notification. +type IssueWatch struct { + ID int64 `xorm:"pk autoincr"` + UserID int64 `xorm:"UNIQUE(watch) NOT NULL"` + IssueID int64 `xorm:"UNIQUE(watch) NOT NULL"` + IsWatching bool `xorm:"NOT NULL"` + Created time.Time `xorm:"-"` + CreatedUnix int64 `xorm:"NOT NULL"` +} + +// BeforeInsert is invoked from XORM before inserting an object of this type. +func (iw *IssueWatch) BeforeInsert() { + iw.CreatedUnix = time.Now().Unix() +} diff --git a/models/models.go b/models/models.go index 2ae6e355f..a1332ac23 100644 --- a/models/models.go +++ b/models/models.go @@ -117,6 +117,7 @@ func init() { new(ExternalLoginUser), new(ProtectedBranch), new(UserOpenID), + new(IssueWatch), ) gonicNames := []string{"SSL", "UID"}