summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/issue_watch.go20
-rw-r--r--models/models.go1
2 files changed, 21 insertions, 0 deletions
diff --git a/models/issue_watch.go b/models/issue_watch.go
new file mode 100644
index 0000000000..96e080136f
--- /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 2ae6e355fc..a1332ac23e 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"}