From 27fc2a0ed38373935fe9e6d1edf3ad1fd6a03ee8 Mon Sep 17 00:00:00 2001 From: Mesut GENEZ Date: Fri, 5 Jul 2024 22:37:13 +0300 Subject: [PATCH] webhooks --- handler/web/webhook.go | 22 ++++++++++------------ models/request.go | 4 ++-- models/webhook.go | 9 +++++---- services/webhook.go | 4 ++-- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/handler/web/webhook.go b/handler/web/webhook.go index 10cb234..c853fe1 100644 --- a/handler/web/webhook.go +++ b/handler/web/webhook.go @@ -15,9 +15,7 @@ import ( ) type WebhookHandler struct { - webhook *services.WebhookService - request *services.RequestService - schedule *services.ScheduleService + webhook *services.WebhookService } func (h *WebhookHandler) HomeHandler(w http.ResponseWriter, r *http.Request) error { @@ -42,13 +40,13 @@ func (h *WebhookHandler) CreateHandler(w http.ResponseWriter, r *http.Request) e func (h *WebhookHandler) EditHandler(w http.ResponseWriter, r *http.Request) error { + cUser, _ := r.Context().Value(config.CKey("user")).(*models.User) id := chi.URLParam(r, "id") query := r.URL.Query() query.Set("id", id) r.URL.RawQuery = query.Encode() _, response := h.webhook.ListService(w, r) - data, _ := response.Data["webhooks"].([]*models.Webhook) var updatedAt = "" if data[0].UpdatedAt != nil { @@ -65,20 +63,20 @@ func (h *WebhookHandler) EditHandler(w http.ResponseWriter, r *http.Request) err } // requests - _, requests := h.request.ListService(w, r) - requestData, _ := requests.Data["requests"].([]models.Request) + request := &models.Request{} + requests, _ := request.Get(cUser.ID, 0, "") requestList := `" // schedules - _, schedules := h.schedule.ListService(w, r) - schedulesData, _ := schedules.Data["schedules"].([]models.Schedule) + schedule := &models.Schedule{} + schedules, _ := schedule.Get(0, cUser.ID, 0, 0, 0, "") scheduleList := `" diff --git a/models/request.go b/models/request.go index b3c0a35..8994290 100644 --- a/models/request.go +++ b/models/request.go @@ -71,10 +71,10 @@ func (m *Request) Get(userID, id int, url string) ([]Request, error) { query := strings.TrimSuffix(config.App().QUERY["REQUESTS"], ";") if id > 0 { - query += fmt.Sprintf(" AND id=%v", id) + query += fmt.Sprintf(" AND id=%d", id) } if url != "" { - query += fmt.Sprintf(" AND url=%v", url) + query += fmt.Sprintf(" AND url='%s'", url) } // prepare diff --git a/models/webhook.go b/models/webhook.go index 6366d73..c80289a 100644 --- a/models/webhook.go +++ b/models/webhook.go @@ -2,6 +2,7 @@ package models import ( "fmt" + "log" "strings" "time" @@ -58,17 +59,17 @@ func (m *Webhook) Get(id, schedule_id, request_id, user_id int) ([]*Webhook, err query := strings.TrimSuffix(config.App().QUERY["WEBHOOKS"], ";") if id > 0 { - query += fmt.Sprintf(" AND id=%v", id) + query += fmt.Sprintf(" AND w.id=%d", id) } if schedule_id > 0 { - query += fmt.Sprintf(" AND schedule_id=%v", schedule_id) + query += fmt.Sprintf(" AND w.schedule_id=%d", schedule_id) } if request_id > 0 { - query += fmt.Sprintf(" AND request_id=%v", request_id) + query += fmt.Sprintf(" AND w.request_id=%d", request_id) } - + log.Println(query) // prepare stmt, err := config.App().DB.Prepare(query) if err != nil { diff --git a/services/webhook.go b/services/webhook.go index 50c13b6..5ac8ca6 100644 --- a/services/webhook.go +++ b/services/webhook.go @@ -24,8 +24,8 @@ func (h *WebhookService) ListService(w http.ResponseWriter, r *http.Request) (in schedule_id, _ := strconv.Atoi(r.URL.Query().Get("schedule_id")) request_id, _ := strconv.Atoi(r.URL.Query().Get("request_id")) - if schedule_id == 0 { - return http.StatusBadRequest, config.Response{Status: false, Message: "schedule_id param required"} + if id == 0 && schedule_id == 0 && request_id == 0 { + return http.StatusBadRequest, config.Response{Status: false, Message: "id, schedule_id or request_id param required"} } webhooks, err := webhook.Get(id, schedule_id, request_id, cUser.ID)