Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124)
* Add timestamps to Star, Label, LanguageStat, Follow, Watch and Collaboration * Star do not need updated * LanguageStat do not need update (they wont change) * fix unit-test
This commit is contained in:
parent
f2858600af
commit
f4ffe8ed54
8 changed files with 108 additions and 25 deletions
|
@ -4,11 +4,16 @@
|
|||
|
||||
package models
|
||||
|
||||
import (
|
||||
"code.gitea.io/gitea/modules/timeutil"
|
||||
)
|
||||
|
||||
// Star represents a starred repo by an user.
|
||||
type Star struct {
|
||||
ID int64 `xorm:"pk autoincr"`
|
||||
UID int64 `xorm:"UNIQUE(s)"`
|
||||
RepoID int64 `xorm:"UNIQUE(s)"`
|
||||
ID int64 `xorm:"pk autoincr"`
|
||||
UID int64 `xorm:"UNIQUE(s)"`
|
||||
RepoID int64 `xorm:"UNIQUE(s)"`
|
||||
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
|
||||
}
|
||||
|
||||
// StarRepo or unstar repository.
|
||||
|
@ -39,7 +44,7 @@ func StarRepo(userID, repoID int64, star bool) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
if _, err := sess.Delete(&Star{0, userID, repoID}); err != nil {
|
||||
if _, err := sess.Delete(&Star{UID: userID, RepoID: repoID}); err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := sess.Exec("UPDATE `repository` SET num_stars = num_stars - 1 WHERE id = ?", repoID); err != nil {
|
||||
|
@ -59,7 +64,7 @@ func IsStaring(userID, repoID int64) bool {
|
|||
}
|
||||
|
||||
func isStaring(e Engine, userID, repoID int64) bool {
|
||||
has, _ := e.Get(&Star{0, userID, repoID})
|
||||
has, _ := e.Get(&Star{UID: userID, RepoID: repoID})
|
||||
return has
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue