25 lines
608 B
Go
25 lines
608 B
Go
// Package notify declares the adapter contract for run notifications.
|
|
package notify
|
|
|
|
import "context"
|
|
|
|
// TODO: implement a real notification backend (email/webhook/etc.).
|
|
|
|
// Sender is the adapter boundary for notifications.
|
|
type Sender interface {
|
|
Send(ctx context.Context, req SendRequest) (SendResult, error)
|
|
}
|
|
|
|
// SendRequest describes one notification request.
|
|
type SendRequest struct {
|
|
Subject string
|
|
Body string
|
|
Metadata map[string]string
|
|
}
|
|
|
|
// SendResult describes notification send outcome metadata.
|
|
type SendResult struct {
|
|
ProviderMessageID string
|
|
Metadata map[string]any
|
|
}
|