reminder

package
v0.0.0-...-74836cc Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Component

type Component interface {
	Run()
	RunOnce()
	Close()
}

type ComponentError

type ComponentError struct {
	Name string
	Err  error
}

func (*ComponentError) Error

func (err *ComponentError) Error() string

func (*ComponentError) Unwrap

func (err *ComponentError) Unwrap() error

type DueReminderQuerier

type DueReminderQuerier struct {
	Pool      *pgxpool.Pool
	Done      <-chan bool
	Reminders chan<- *Reminder
	Errors    chan<- error
	Interval  time.Duration
}

func NewDueReminderQuerier

func NewDueReminderQuerier(
	interval time.Duration, pool *pgxpool.Pool, done <-chan bool,
) (*DueReminderQuerier, <-chan *Reminder, <-chan error)

func (*DueReminderQuerier) Close

func (q *DueReminderQuerier) Close()

func (*DueReminderQuerier) Run

func (q *DueReminderQuerier) Run()

func (*DueReminderQuerier) RunOnce

func (q *DueReminderQuerier) RunOnce()

type PrintSender

type PrintSender struct{}

func (PrintSender) Send

func (PrintSender) Send(to string, subject string, body string) error

type Reminder

type Reminder struct {
	Id            uuid.UUID
	GeneratedById string
	DueTime       time.Time
	Recipient     string
	Content       string
	IsSent        bool
}

func ReminderFromMail

func ReminderFromMail(m *mail.Mail) (*Reminder, error)

func (*Reminder) SendWith

func (rem *Reminder) SendWith(sender Sender) error

type ReminderDAO

type ReminderDAO struct {
	Tx      pgx.Tx
	Context context.Context
}

func (*ReminderDAO) Delete

func (dao *ReminderDAO) Delete(rem *Reminder) error

func (*ReminderDAO) Load

func (dao *ReminderDAO) Load(id uuid.UUID) (*Reminder, error)

func (*ReminderDAO) QueryDue

func (dao *ReminderDAO) QueryDue(asOf time.Time) ([]*Reminder, error)

func (*ReminderDAO) Save

func (dao *ReminderDAO) Save(rem *Reminder) error

func (*ReminderDAO) Scan

func (dao *ReminderDAO) Scan(row pgx.Row) (*Reminder, error)

func (*ReminderDAO) Update

func (dao *ReminderDAO) Update(rem *Reminder) error

type ReminderMailConverter

type ReminderMailConverter struct {
	Mail      <-chan *mail.Mail
	Reminders chan<- *Reminder
	Errors    chan<- error
	// contains filtered or unexported fields
}

func NewReminderMailConverter

func NewReminderMailConverter(mail <-chan *mail.Mail) (*ReminderMailConverter, <-chan *Reminder, <-chan error)

func (*ReminderMailConverter) Close

func (rmc *ReminderMailConverter) Close()

func (*ReminderMailConverter) Run

func (rmc *ReminderMailConverter) Run()

func (*ReminderMailConverter) RunOnce

func (rmc *ReminderMailConverter) RunOnce()

type ReminderSaver

type ReminderSaver struct {
	Pool      *pgxpool.Pool
	Reminders <-chan *Reminder
	Errors    chan<- error
	// contains filtered or unexported fields
}

func NewReminderSaver

func NewReminderSaver(pool *pgxpool.Pool, reminders <-chan *Reminder) (*ReminderSaver, <-chan error)

func (*ReminderSaver) Close

func (rs *ReminderSaver) Close()

func (*ReminderSaver) Run

func (rs *ReminderSaver) Run()

func (*ReminderSaver) RunOnce

func (rs *ReminderSaver) RunOnce()

type ReminderSender

type ReminderSender struct {
	Sender    Sender
	Errors    chan<- error
	Reminders <-chan *Reminder
	// contains filtered or unexported fields
}

func NewReminderSender

func NewReminderSender(reminders <-chan *Reminder, sender Sender) (*ReminderSender, <-chan error)

func (*ReminderSender) Close

func (rs *ReminderSender) Close()

func (*ReminderSender) Run

func (rs *ReminderSender) Run()

func (*ReminderSender) RunOnce

func (rs *ReminderSender) RunOnce()

type Sender

type Sender interface {
	Send(to string, subject string, body string) error
}

type Service

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

func NewService

func NewService(ctx context.Context, conf *config.Config) (*Service, error)

func (*Service) Close

func (s *Service) Close()

func (*Service) Drain

func (s *Service) Drain() []error

func (*Service) Errors

func (s *Service) Errors() <-chan error

func (*Service) RunOnce

func (s *Service) RunOnce()

func (*Service) Start

func (s *Service) Start()

func (*Service) Stop

func (s *Service) Stop()

Jump to

Keyboard shortcuts

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