Documentation
¶
Index ¶
- Constants
- type BaseLogicblock
- func (l *BaseLogicblock) BlockName() string
- func (l *BaseLogicblock) BlockType() string
- func (l *BaseLogicblock) Config() types.LogicBlockConfig
- func (l *BaseLogicblock) Logger() *slog.Logger
- func (l *BaseLogicblock) Reset() error
- func (l *BaseLogicblock) Shutdown(ctx context.Context) error
- func (l *BaseLogicblock) Test(did string, rkey string, post *apibsky.FeedPost) (result bool)
- type CommandProcessor
- type DropInLogicblock
- func (d *DropInLogicblock) GetMetrics() []metrics.Metric
- func (d *DropInLogicblock) HandlePreDelete(did string, rkey string) error
- func (d *DropInLogicblock) ProcessCommand(command string, args map[string]string) (message string, err error)
- func (d *DropInLogicblock) Reset() error
- func (d *DropInLogicblock) Shutdown(ctx context.Context) error
- func (d *DropInLogicblock) Test(did string, rkey string, post *apibsky.FeedPost) bool
- type LimiterLogicblock
- func (l *LimiterLogicblock) ProcessCommand(command string, args map[string]string) (message string, err error)
- func (l *LimiterLogicblock) Reset() error
- func (l *LimiterLogicblock) Shutdown(ctx context.Context) error
- func (l *LimiterLogicblock) Test(did string, rkey string, post *apibsky.FeedPost) bool
- type LogicBlock
- func NewDropInLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
- func NewLimiterLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
- func NewRegexLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
- func NewRemoveLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
- func NewUserListLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
- type LogicBlockCreator
- type LogicBlockFactory
- type MetricProvider
- type PreDeleteHandler
- type RegexLogicblock
- type RemoveLogicblock
- type UserListLogicblock
- func (l *UserListLogicblock) ProcessCommand(command string, args map[string]string) (message string, err error)
- func (l *UserListLogicblock) Reset() error
- func (l *UserListLogicblock) Shutdown(ctx context.Context) error
- func (l *UserListLogicblock) Test(did string, rkey string, post *apibsky.FeedPost) bool
Constants ¶
View Source
const ( BlockTypeDropIn = config.DropInBlockType DropInLogicMetricDropinListUserCount = "dropin_list_user_count" DropInCommandReset = "reset" DropInCommandAdd = "add" DropInCommandDelete = "delete" DropinCommandList = "list" )
View Source
const ( BlockTypeLimiter = config.LimiterBlockType LimiterCommandList = "list" LimiterCommandClear = "clear" )
View Source
const ( BlockTypeUserList = config.UserListBlockType UserListCommandList = "list" UserListCommandReload = "reload" )
View Source
const BlockTypeRegex = config.RegexBlockType
View Source
const BlockTypeRemove = config.RemoveBlockType
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseLogicblock ¶
type BaseLogicblock struct {
// contains filtered or unexported fields
}
func NewBaseLogicblock ¶
func NewBaseLogicblock(blockType string, cfg types.LogicBlockConfig, logger *slog.Logger) *BaseLogicblock
func (*BaseLogicblock) BlockName ¶
func (l *BaseLogicblock) BlockName() string
func (*BaseLogicblock) BlockType ¶
func (l *BaseLogicblock) BlockType() string
func (*BaseLogicblock) Config ¶
func (l *BaseLogicblock) Config() types.LogicBlockConfig
func (*BaseLogicblock) Logger ¶
func (l *BaseLogicblock) Logger() *slog.Logger
func (*BaseLogicblock) Reset ¶
func (l *BaseLogicblock) Reset() error
type CommandProcessor ¶
type DropInLogicblock ¶
type DropInLogicblock struct {
*BaseLogicblock
// contains filtered or unexported fields
}
func (*DropInLogicblock) GetMetrics ¶
func (d *DropInLogicblock) GetMetrics() []metrics.Metric
func (*DropInLogicblock) HandlePreDelete ¶
func (d *DropInLogicblock) HandlePreDelete(did string, rkey string) error
func (*DropInLogicblock) ProcessCommand ¶
func (*DropInLogicblock) Reset ¶
func (d *DropInLogicblock) Reset() error
type LimiterLogicblock ¶
type LimiterLogicblock struct {
*BaseLogicblock
// contains filtered or unexported fields
}
func (*LimiterLogicblock) ProcessCommand ¶
func (*LimiterLogicblock) Reset ¶
func (l *LimiterLogicblock) Reset() error
type LogicBlock ¶
type LogicBlock interface {
// BlockType returns the unique identifier of the logic block
BlockType() string
// BlockName returns the name of the logic block
BlockName() string
// Config returns the configuration for this logic block
Config() types.LogicBlockConfig
// Logger returns the logger instance for this logic block
Logger() *slog.Logger
// Test evaluates a post against the logic block's rules
Test(did string, rkey string, post *apibsky.FeedPost) (result bool)
// Reset resets any internal state of the logic block
Reset() error
// Shutdown performs cleanup when the logic block is being shut down
Shutdown(ctx context.Context) error
}
LogicBlock represents a unit of logic that can be applied to posts for filtering and processing in the feed generation pipeline.
func NewDropInLogicBlock ¶
func NewDropInLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
func NewLimiterLogicBlock ¶
func NewLimiterLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
func NewRegexLogicBlock ¶
func NewRegexLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
func NewRemoveLogicBlock ¶
func NewRemoveLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
func NewUserListLogicBlock ¶
func NewUserListLogicBlock(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
type LogicBlockCreator ¶
type LogicBlockCreator func(types.LogicBlockConfig, *slog.Logger) (LogicBlock, error)
LogicBlockCreator is a function type that creates new logic block instances
type LogicBlockFactory ¶
type LogicBlockFactory struct {
Creators map[string]LogicBlockCreator
}
func FactoryInstance ¶
func FactoryInstance() *LogicBlockFactory
func (*LogicBlockFactory) Create ¶
func (f *LogicBlockFactory) Create(cfg types.LogicBlockConfig, logger *slog.Logger) (LogicBlock, error)
func (*LogicBlockFactory) RegisterCreator ¶
func (f *LogicBlockFactory) RegisterCreator(name string, creator func(types.LogicBlockConfig, *slog.Logger) (LogicBlock, error))
type MetricProvider ¶
type PreDeleteHandler ¶
PreDeleteHandler is an interface for logic blocks that handle pre-delete events
type RegexLogicblock ¶
type RegexLogicblock struct {
*BaseLogicblock
// contains filtered or unexported fields
}
func (*RegexLogicblock) Reset ¶
func (l *RegexLogicblock) Reset() error
type RemoveLogicblock ¶
type RemoveLogicblock struct {
*BaseLogicblock
// contains filtered or unexported fields
}
func (*RemoveLogicblock) Reset ¶
func (l *RemoveLogicblock) Reset() error
type UserListLogicblock ¶
type UserListLogicblock struct {
*BaseLogicblock
// contains filtered or unexported fields
}
func (*UserListLogicblock) ProcessCommand ¶
func (*UserListLogicblock) Reset ¶
func (l *UserListLogicblock) Reset() error
Click to show internal directories.
Click to hide internal directories.