module

package
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2025 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

View Source
const DefaultModuleDir = "modules"

Variables

View Source
var (
	ErrModulePathNotFound = errors.New("module path not found")
	ErrModuleNotFound     = errors.New("module not found")
	ErrInvalidModuleType  = errors.New("invalid module type")
)

Functions

This section is empty.

Types

type Module

type Module interface {
	Id() string
	Name() string
	Version() string
	Description() string
	Initialize(ctx context.Context, options *Options) error
	Start(ctx context.Context) error
	Stop(ctx context.Context) error
	Dependencies() []string
}

type ModuleConfig

type ModuleConfig struct {
	Id     string
	Name   string
	Enable bool
}

type ModuleManager

type ModuleManager struct {
	// contains filtered or unexported fields
}

func NewModuleManager

func NewModuleManager(options ...Option) *ModuleManager

func (*ModuleManager) DynamicRegisterModuleById

func (mm *ModuleManager) DynamicRegisterModuleById(ctx context.Context, moduleId string) error

func (*ModuleManager) GetModule

func (mm *ModuleManager) GetModule(moduleId string) Module

func (*ModuleManager) GetModules

func (mm *ModuleManager) GetModules() map[string]Module

func (*ModuleManager) LoadAllDynamicModules

func (mm *ModuleManager) LoadAllDynamicModules(ctx context.Context, modules []ModuleConfig)

func (*ModuleManager) LoadModule

func (mm *ModuleManager) LoadModule(modulePath string) (Module, error)

func (*ModuleManager) RegisterModule

func (mm *ModuleManager) RegisterModule(ctx context.Context, m Module) error

func (*ModuleManager) RegisterModules

func (mm *ModuleManager) RegisterModules(ctx context.Context, modules ...Module) error

func (*ModuleManager) StartAllModules

func (mm *ModuleManager) StartAllModules(ctx context.Context) error

type Option

type Option func(*Options)

func WithCache

func WithCache(c cache.Cache) Option

func WithDB added in v0.11.0

func WithDB(db *gorm.DB) Option

func WithEventBus

func WithEventBus(e messaging.EventBus) Option

func WithLogger

func WithLogger(l logger.Logger) Option

type Options

type Options struct {
	Cache    cache.Cache
	Logger   logger.Logger
	EventBus messaging.EventBus
	Db       *gorm.DB
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL