Browse Source

Finish watch backend

tags/v1.2.0-rc1
Unknown 12 years ago
parent
commit
59ea3c0413
2 changed files with 29 additions and 10 deletions
  1. +21
    -10
      models/action.go
  2. +8
    -0
      models/repo.go

+ 21
- 10
models/action.go View File

@@ -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.


+ 8
- 0
models/repo.go View File

@@ -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


Loading…
Cancel
Save