From c1a3110b7948d9741a96ea957593221883da1f2a Mon Sep 17 00:00:00 2001 From: Ilya Chernishev Date: Mon, 12 Jan 2026 17:53:13 +0300 Subject: [PATCH] revert: remove factory.go --- internal/blocker/factory.go | 65 ------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 internal/blocker/factory.go diff --git a/internal/blocker/factory.go b/internal/blocker/factory.go deleted file mode 100644 index 505e688..0000000 --- a/internal/blocker/factory.go +++ /dev/null @@ -1,65 +0,0 @@ -package blocker - -import ( - "fmt" - - "github.com/d3m0k1d/BanForge/internal/logger" -) - -// BlockerType defines the type of firewall blocker -type BlockerType string - -const ( - BlockerTypeNftables BlockerType = "nftables" - BlockerTypeIptables BlockerType = "iptables" - BlockerTypeFirewalld BlockerType = "firewalld" - BlockerTypeUfw BlockerType = "ufw" -) - -// BlockerFactory creates new blocker instances -type BlockerFactory struct { - logger *logger.Logger -} - -// NewBlockerFactory creates a new blocker factory -func NewBlockerFactory(logger *logger.Logger) *BlockerFactory { - return &BlockerFactory{ - logger: logger, - } -} - -// Create creates a new blocker instance of the specified type -func (bf *BlockerFactory) Create(btype BlockerType, config string) (BlockerEngine, error) { - switch btype { - case BlockerTypeNftables: - return NewNftables(bf.logger, config), nil - case BlockerTypeIptables: - return NewIptables(bf.logger, config), nil - case BlockerTypeFirewalld: - return NewFirewalld(bf.logger), nil - case BlockerTypeUfw: - return NewUfw(bf.logger), nil - default: - return nil, fmt.Errorf("unknown blocker type: %s", btype) - } -} - -// CreateFromString creates a blocker from string type name -func (bf *BlockerFactory) CreateFromString(typename, config string) (BlockerEngine, error) { - return bf.Create(BlockerType(typename), config) -} - -// ListAvailable returns all available blocker types -func ListAvailable(logger *logger.Logger) []string { - factory := NewBlockerFactory(logger) - var available []string - - for _, btype := range []BlockerType{BlockerTypeNftables, BlockerTypeIptables, BlockerTypeFirewalld, BlockerTypeUfw} { - blocker, err := factory.Create(btype, "") - if err == nil && blocker.IsAvailable() { - available = append(available, blocker.Name()) - } - } - - return available -}