1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-03 09:07:19 +00:00

Move webhook into models/webhook/ (#17579)

This commit is contained in:
Lunny Xiao
2021-11-10 13:13:16 +08:00
committed by GitHub
parent edbaa5d3f0
commit 33fca2b537
47 changed files with 770 additions and 717 deletions

View File

@ -22,19 +22,20 @@ import (
"syscall"
"time"
"code.gitea.io/gitea/models"
webhook_model "code.gitea.io/gitea/models/webhook"
"code.gitea.io/gitea/modules/graceful"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/proxy"
"code.gitea.io/gitea/modules/setting"
"github.com/gobwas/glob"
)
var contextKeyWebhookRequest interface{} = "contextKeyWebhookRequest"
// Deliver deliver hook task
func Deliver(t *models.HookTask) error {
w, err := models.GetWebhookByID(t.HookID)
func Deliver(t *webhook_model.HookTask) error {
w, err := webhook_model.GetWebhookByID(t.HookID)
if err != nil {
return err
}
@ -58,14 +59,14 @@ func Deliver(t *models.HookTask) error {
fallthrough
case http.MethodPost:
switch w.ContentType {
case models.ContentTypeJSON:
case webhook_model.ContentTypeJSON:
req, err = http.NewRequest("POST", w.URL, strings.NewReader(t.PayloadContent))
if err != nil {
return err
}
req.Header.Set("Content-Type", "application/json")
case models.ContentTypeForm:
case webhook_model.ContentTypeForm:
var forms = url.Values{
"payload": []string{t.PayloadContent},
}
@ -91,7 +92,7 @@ func Deliver(t *models.HookTask) error {
}
case http.MethodPut:
switch w.Type {
case models.MATRIX:
case webhook_model.MATRIX:
req, err = getMatrixHookRequest(w, t)
if err != nil {
return err
@ -133,7 +134,7 @@ func Deliver(t *models.HookTask) error {
req.Header["X-GitHub-Event-Type"] = []string{eventType}
// Record delivery information.
t.RequestInfo = &models.HookRequest{
t.RequestInfo = &webhook_model.HookRequest{
URL: req.URL.String(),
HTTPMethod: req.Method,
Headers: map[string]string{},
@ -142,7 +143,7 @@ func Deliver(t *models.HookTask) error {
t.RequestInfo.Headers[k] = strings.Join(vals, ",")
}
t.ResponseInfo = &models.HookResponse{
t.ResponseInfo = &webhook_model.HookResponse{
Headers: map[string]string{},
}
@ -154,17 +155,17 @@ func Deliver(t *models.HookTask) error {
log.Trace("Hook delivery failed: %s", t.UUID)
}
if err := models.UpdateHookTask(t); err != nil {
if err := webhook_model.UpdateHookTask(t); err != nil {
log.Error("UpdateHookTask [%d]: %v", t.ID, err)
}
// Update webhook last delivery status.
if t.IsSucceed {
w.LastStatus = models.HookStatusSucceed
w.LastStatus = webhook_model.HookStatusSucceed
} else {
w.LastStatus = models.HookStatusFail
w.LastStatus = webhook_model.HookStatusFail
}
if err = models.UpdateWebhookLastStatus(w); err != nil {
if err = webhook_model.UpdateWebhookLastStatus(w); err != nil {
log.Error("UpdateWebhookLastStatus: %v", err)
return
}
@ -206,7 +207,7 @@ func DeliverHooks(ctx context.Context) {
return
default:
}
tasks, err := models.FindUndeliveredHookTasks()
tasks, err := webhook_model.FindUndeliveredHookTasks()
if err != nil {
log.Error("DeliverHooks: %v", err)
return
@ -240,7 +241,7 @@ func DeliverHooks(ctx context.Context) {
continue
}
tasks, err := models.FindRepoUndeliveredHookTasks(repoID)
tasks, err := webhook_model.FindRepoUndeliveredHookTasks(repoID)
if err != nil {
log.Error("Get repository [%d] hook tasks: %v", repoID, err)
continue