Fix #98, support web hook

This commit is contained in:
Unknown
2014-05-06 11:50:31 -04:00
parent 94bccbb148
commit e573855a4f
13 changed files with 581 additions and 23 deletions

View File

@ -28,7 +28,7 @@ type HookEvent struct {
type Webhook struct {
Id int64
RepoId int64
Payload string `xorm:"TEXT"`
Url string `xorm:"TEXT"`
ContentType int
Secret string `xorm:"TEXT"`
Events string `xorm:"TEXT"`
@ -50,6 +50,13 @@ func (w *Webhook) SaveEvent() error {
return err
}
func (w *Webhook) HasPushEvent() bool {
if w.PushOnly {
return true
}
return false
}
// CreateWebhook creates new webhook.
func CreateWebhook(w *Webhook) error {
_, err := orm.Insert(w)
@ -74,6 +81,12 @@ func GetWebhookById(hookId int64) (*Webhook, error) {
return w, nil
}
// GetActiveWebhooksByRepoId returns all active webhooks of repository.
func GetActiveWebhooksByRepoId(repoId int64) (ws []*Webhook, err error) {
err = orm.Find(&ws, &Webhook{RepoId: repoId, IsActive: true})
return ws, err
}
// GetWebhooksByRepoId returns all webhooks of repository.
func GetWebhooksByRepoId(repoId int64) (ws []*Webhook, err error) {
err = orm.Find(&ws, &Webhook{RepoId: repoId})