mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Finish watch backend
This commit is contained in:
		@@ -55,16 +55,27 @@ func CommitRepoAction(userId int64, userName string,
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	_, err = orm.InsertOne(&Action{
 | 
			
		||||
		UserId:      userId,
 | 
			
		||||
		ActUserId:   userId,
 | 
			
		||||
		ActUserName: userName,
 | 
			
		||||
		OpType:      OP_COMMIT_REPO,
 | 
			
		||||
		Content:     string(bs),
 | 
			
		||||
		RepoId:      repoId,
 | 
			
		||||
		RepoName:    repoName,
 | 
			
		||||
	})
 | 
			
		||||
	return err
 | 
			
		||||
 | 
			
		||||
	// Add feeds for user self and all watchers.
 | 
			
		||||
	watches, err := GetWatches(repoId)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	watches = append(watches, Watch{UserId: userId})
 | 
			
		||||
 | 
			
		||||
	for i := range watches {
 | 
			
		||||
		_, err = orm.InsertOne(&Action{
 | 
			
		||||
			UserId:      watches[i].UserId,
 | 
			
		||||
			ActUserId:   userId,
 | 
			
		||||
			ActUserName: userName,
 | 
			
		||||
			OpType:      OP_COMMIT_REPO,
 | 
			
		||||
			Content:     string(bs),
 | 
			
		||||
			RepoId:      repoId,
 | 
			
		||||
			RepoName:    repoName,
 | 
			
		||||
		})
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewRepoAction records action for create repository.
 | 
			
		||||
 
 | 
			
		||||
@@ -50,6 +50,7 @@ type Watch struct {
 | 
			
		||||
	UserId int64 `xorm:"UNIQUE(watch)"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Watch or unwatch repository.
 | 
			
		||||
func WatchRepo(userId, repoId int64, watch bool) (err error) {
 | 
			
		||||
	if watch {
 | 
			
		||||
		_, err = orm.Insert(&Watch{RepoId: repoId, UserId: userId})
 | 
			
		||||
@@ -59,6 +60,13 @@ func WatchRepo(userId, repoId int64, watch bool) (err error) {
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetWatches returns all watches of given repository.
 | 
			
		||||
func GetWatches(repoId int64) ([]Watch, error) {
 | 
			
		||||
	watches := make([]Watch, 0, 10)
 | 
			
		||||
	err := orm.Find(&watches, &Watch{RepoId: repoId})
 | 
			
		||||
	return watches, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	gitInitLocker          = sync.Mutex{}
 | 
			
		||||
	LanguageIgns, Licenses []string
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user