Documentation
¶
Index ¶
- Constants
- type Event
- type Manager
- func (m *Manager) BroadcastEvent(event string, scope string, data any) error
- func (m *Manager) BroadcastToWebhook(hookID int64, event string, scope string, data any) error
- func (m *Manager) Close() error
- func (m *Manager) RegisterWebhook(url string, scopes []string) (Webhook, error)
- func (m *Manager) RemoveWebhook(id int64) error
- func (m *Manager) UpdateWebhook(id int64, url string, scopes []string) (Webhook, error)
- func (m *Manager) Webhooks() (hooks []Webhook, _ error)
- type NoOpBroadcaster
- type Store
- type UID
- type Webhook
- type WebhookBroadcaster
Constants ¶
const ( ScopeAll = "all" ScopeAlerts = "alerts" ScopeAlertsInfo = "alerts/info" ScopeAlertsWarning = "alerts/warning" ScopeAlertsError = "alerts/error" ScopeAlertsCritical = "alerts/critical" ScopeWallet = "wallet" ScopeTest = "test" )
event scope constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Event ¶
type Event struct { ID UID `json:"id"` Event string `json:"event"` Scope string `json:"scope"` Data any `json:"data"` }
An Event is a notification sent to a Webhook callback.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
A Manager manages Webhook subscribers and broadcasts events
func NewManager ¶
NewManager creates a new Webhook Manager
func (*Manager) BroadcastEvent ¶
BroadcastEvent sends an event to all registered Webhooks that match the event's scope.
func (*Manager) BroadcastToWebhook ¶
BroadcastToWebhook sends an event to a specific Webhook subscriber.
func (*Manager) RegisterWebhook ¶
RegisterWebhook registers a new Webhook.
func (*Manager) RemoveWebhook ¶
RemoveWebhook removes a registered Webhook.
func (*Manager) UpdateWebhook ¶
UpdateWebhook updates the URL and scopes of a registered Webhook.
type NoOpBroadcaster ¶
type NoOpBroadcaster struct{}
A NoOpBroadcaster is a WebhookBroadcaster that does nothing.
func (NoOpBroadcaster) BroadcastEvent ¶
func (NoOpBroadcaster) BroadcastEvent(event string, scope string, data any) error
BroadcastEvent implements WebhookBroadcaster.
func (NoOpBroadcaster) BroadcastToWebhook ¶
BroadcastToWebhook implements WebhookBroadcaster.
type Store ¶
type Store interface { RegisterWebhook(url, secret string, scopes []string) (int64, error) UpdateWebhook(id int64, url string, scopes []string) error RemoveWebhook(id int64) error Webhooks() ([]Webhook, error) }
A Store stores and retrieves Webhooks.