updated router

This commit is contained in:
tanyamadaan
2025-03-27 11:28:45 +05:30
parent a5e0c0ca19
commit a9ffe29a6e
12 changed files with 282 additions and 322 deletions

View File

@@ -18,7 +18,6 @@ type Config struct {
Decrypter PluginConfig `yaml:"decrypter"`
Encrypter PluginConfig `yaml:"encrypter"`
Publisher PluginConfig `yaml:"publisher"`
Router PluginConfig `yaml:"router"`
}
// PluginConfig represents configuration details for a plugin.
@@ -34,7 +33,6 @@ type Manager struct {
dp definition.DecrypterProvider
ep definition.EncrypterProvider
pb definition.PublisherProvider
rp definition.RouterProvider
cfg *Config
}
@@ -74,13 +72,7 @@ func NewManager(ctx context.Context, cfg *Config) (*Manager, error) {
return nil, fmt.Errorf("failed to load encryption plugin: %w", err)
}
// Load router plugin.
rp, err := provider[definition.RouterProvider](cfg.Root, cfg.Router.ID)
if err != nil {
return nil, fmt.Errorf("failed to load encryption plugin: %w", err)
}
return &Manager{sp: sp, vp: vp, pb: pb, ep: ep, dp: dp, rp: rp, cfg: cfg}, nil
return &Manager{sp: sp, vp: vp, pb: pb, ep: ep, dp: dp, cfg: cfg}, nil
}
// provider loads a plugin dynamically and retrieves its provider instance.
@@ -177,17 +169,3 @@ func (m *Manager) Publisher(ctx context.Context) (definition.Publisher, error) {
}
return publisher, nil
}
// Router retrieves the router plugin instances.
func (m *Manager) Router(ctx context.Context) (definition.Router, func() error, error) {
if m.rp == nil {
return nil, nil, fmt.Errorf("router plugin provider not loaded")
}
schemaValidator, close, err := m.rp.New(ctx, m.cfg.Router.Config)
if err != nil {
return nil, nil, fmt.Errorf("failed to initialize schema validator: %v", err)
}
return schemaValidator, close, nil
}