|
|
|
@ -725,14 +725,14 @@ func GetCollaborators(repoName string) ([]string, error) {
|
|
|
|
|
// Watch is connection request for receiving repository notifycation.
|
|
|
|
|
type Watch struct {
|
|
|
|
|
Id int64
|
|
|
|
|
Uid int64 `xorm:"UNIQUE(watch)"`
|
|
|
|
|
UserId int64 `xorm:"UNIQUE(watch)"`
|
|
|
|
|
RepoId int64 `xorm:"UNIQUE(watch)"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Watch or unwatch repository.
|
|
|
|
|
func WatchRepo(uid, rid int64, watch bool) (err error) {
|
|
|
|
|
if watch {
|
|
|
|
|
if _, err = orm.Insert(&Watch{RepoId: rid, Uid: uid}); err != nil {
|
|
|
|
|
if _, err = orm.Insert(&Watch{RepoId: rid, UserId: uid}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -770,12 +770,12 @@ func NotifyWatchers(act *Action) error {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for i := range watches {
|
|
|
|
|
if act.ActUserId == watches[i].Uid {
|
|
|
|
|
if act.ActUserId == watches[i].UserId {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
act.Id = 0
|
|
|
|
|
act.UserId = watches[i].Uid
|
|
|
|
|
act.UserId = watches[i].UserId
|
|
|
|
|
if _, err = orm.InsertOne(act); err != nil {
|
|
|
|
|
return errors.New("repo.NotifyWatchers(create action): " + err.Error())
|
|
|
|
|
}
|
|
|
|
|