From 4e56d7bb6c7deae287ed1cece4b3a9b92d7dc8c3 Mon Sep 17 00:00:00 2001 From: d3m0k1d Date: Mon, 23 Feb 2026 23:40:44 +0300 Subject: [PATCH] feat: recode interfaces --- internal/actions/email.go | 8 ++++++++ internal/actions/interface.go | 20 ++++++++++++++++---- internal/actions/scripts.go | 8 ++++++++ internal/actions/webhooks.go | 21 +++------------------ 4 files changed, 35 insertions(+), 22 deletions(-) diff --git a/internal/actions/email.go b/internal/actions/email.go index 0f3a37f..463406f 100644 --- a/internal/actions/email.go +++ b/internal/actions/email.go @@ -1 +1,9 @@ package actions + +import ( + "github.com/d3m0k1d/BanForge/internal/config" +) + +func SendEmail(action config.Action) error { + return nil +} diff --git a/internal/actions/interface.go b/internal/actions/interface.go index 4620e4e..9c14283 100644 --- a/internal/actions/interface.go +++ b/internal/actions/interface.go @@ -1,7 +1,19 @@ package actions -type Action struct { - Name string - Type string - Args []string +import "github.com/d3m0k1d/BanForge/internal/config" + +type Executor struct { + Action config.Action +} + +func (e *Executor) Execute() error { + switch e.Action.Type { + case "email": + return SendEmail(e.Action) + case "webhook": + return SendWebhook(e.Action) + case "script": + return RunScript(e.Action) + } + return nil } diff --git a/internal/actions/scripts.go b/internal/actions/scripts.go index 0f3a37f..fe0b693 100644 --- a/internal/actions/scripts.go +++ b/internal/actions/scripts.go @@ -1 +1,9 @@ package actions + +import ( + "github.com/d3m0k1d/BanForge/internal/config" +) + +func RunScript(action config.Action) error { + return nil +} diff --git a/internal/actions/webhooks.go b/internal/actions/webhooks.go index cdbb5da..6b579b0 100644 --- a/internal/actions/webhooks.go +++ b/internal/actions/webhooks.go @@ -1,24 +1,9 @@ package actions import ( - "bytes" - "net/http" - "time" + "github.com/d3m0k1d/BanForge/internal/config" ) -func SendWebhook(url string, data []byte) (int, error) { - client := &http.Client{ - Timeout: 30 * time.Second, - } - req, err := http.NewRequest("POST", url, bytes.NewReader(data)) - if err != nil { - return 0, err - } - req.Header.Set("Content-Type", "application/json") - // #nosec G704 validating by admin - resp, err := client.Do(req) - if err != nil { - return 0, err - } - return resp.StatusCode, nil +func SendWebhook(action config.Action) error { + return nil }