subscriber

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package subscriber provides event subscribers for email notifications.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Logger            *slog.Logger
	RecipientResolver RecipientResolver
}

Config holds configuration for the email event subscriber.

type EmailEventSubscriber

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

EmailEventSubscriber subscribes to events and sends email notifications.

func NewEmailEventSubscriber

func NewEmailEventSubscriber(svc *email.EmailService, cfg Config) *EmailEventSubscriber

NewEmailEventSubscriber creates a new email event subscriber.

func (*EmailEventSubscriber) Handle

func (s *EmailEventSubscriber) Handle(ctx context.Context, event bus.Event) error

Handle processes events and sends email notifications.

func (*EmailEventSubscriber) SubscribeTo

func (s *EmailEventSubscriber) SubscribeTo(eventBus *bus.EventBus)

SubscribeTo registers the subscriber with an event bus.

type RecipientResolver

type RecipientResolver interface {
	// GetWorkflowRecipients returns recipients for workflow notifications.
	GetWorkflowRecipients(ctx context.Context, workflowID string) ([]string, error)

	// GetJobRecipients returns recipients for job notifications.
	GetJobRecipients(ctx context.Context, jobID string) ([]string, error)

	// GetTestRecipients returns recipients for test notifications.
	GetTestRecipients(ctx context.Context, testRunID string) ([]string, error)
}

RecipientResolver resolves email recipients for events.

Jump to

Keyboard shortcuts

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