mrnotifier

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ConfigDelayTime - время после которого уведомление должно быть отправлено / период задержки уведомления.
	ConfigDelayTime = "config.delayTime"

	// HeaderPrefix - префикс названий переменных уведомления, предназначенных для хранения в заголовке.
	HeaderPrefix = "header."

	// HeaderLang - название переменной языка уведомления.
	HeaderLang = HeaderPrefix + mrmailer.HeaderLang

	// HeaderCorrelationID - название переменной заголовка, содержащего CorrelationID.
	HeaderCorrelationID = HeaderPrefix + mrmailer.HeaderCorrelationID

	FieldFromName  = "fromName"  // FieldFromName - имя отправителя (адрес подставится тот, с которого произойдёт отправка письма)
	FieldTo        = "to"        // FieldTo - адрес получателя
	FieldReplyTo   = "replyTo"   // FieldReplyTo - адрес для ответа на письмо
	FieldPreHeader = "preheader" // FieldPreHeader - дополнительный заголовок отображаемый в некоторых почтовых клиентах
)

Variables

View Source
var ErrTemplateNotRegistered = mrerr.NewProto(
	"mrnotifier.errTemplateNotRegistered", mrerr.ErrorKindInternal, "no template is registered for the notification {{ .name }} with lang {{ .lang }}")

ErrTemplateNotRegistered - no template is registered for the notification with lang.

Functions

This section is empty.

Types

type MailerAPI

type MailerAPI interface {
	SendMessage(ctx context.Context, message dto.Message) error
	Send(ctx context.Context, messages []dto.Message) error
}

MailerAPI - отправляет внешним клиентом уведомление преобразованное в сообщение.

type NoticeBuilder

type NoticeBuilder interface {
	BuildNotice(ctx context.Context, notice entity.Notice) (messages []dto.Message, err error)
}

NoticeBuilder - собирает уведомление в форматированный вид для отправки их получателю.

type NoticeProducer

type NoticeProducer interface {
	SendNotice(ctx context.Context, key string, props map[string]any) error
}

NoticeProducer - размещает уведомления в очереди для их сборки и отправки.

type NoticeStorage

type NoticeStorage interface {
	FetchByIDs(ctx context.Context, rowsIDs []uint64) ([]entity.Notice, error)
	Insert(ctx context.Context, row entity.Notice) error
	DeleteByIDs(ctx context.Context, rowsIDs []uint64) error
}

NoticeStorage - предоставляет доступ к хранилищу уведомлений.

Jump to

Keyboard shortcuts

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