config

package
v0.2024.4 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultEmailBody = `` /* 841-byte string literal not displayed */
View Source
const DefaultEmailSubject = `Smart Core Meter Readings {{.Now.Format "Jan 02, 2006"}}`

Variables

View Source
var (
	DefaultSendTime = jsontypes.MustParseSchedule("0 0 * * 1")
)

Functions

This section is empty.

Types

type AttachmentCfg

type AttachmentCfg struct {
	AttachmentName string
	Attachment     []byte
}

func (*AttachmentCfg) AttachFile

func (d *AttachmentCfg) AttachFile(name string, b []byte)

type Destination

type Destination struct {
	Host     string `json:"host,omitempty"`
	Port     int    `json:"port,omitempty"`
	Username string `json:"username,omitempty"` // defaults to From.Address
	jsontypes.Password

	From string   `json:"from,omitempty"` // RFC 5322 address, the address part used for auth against Host
	To   []string `json:"to,omitempty"`   // RFC 5322 address

	SendTime *jsontypes.Schedule `json:"sendTime,omitempty"` // defaults to midnight on Monday mornings: "0 0 * * 1"

	SubjectTemplate jsontypes.String `json:"subjectTemplate,omitempty"`
	BodyTemplate    jsontypes.String `json:"bodyTemplate,omitempty"`

	Parsed *ParsedDestination `json:"-"`
}

func (Destination) Addr

func (d Destination) Addr() string

Addr returns the combination of Host and Port, taking defaults into account. Suitable for smtp.Dial.

func (Destination) Parse

func (d Destination) Parse() (*ParsedDestination, error)

func (Destination) ReadBodyTemplate

func (d Destination) ReadBodyTemplate() (*template.Template, error)

func (Destination) ReadSubjectTemplate

func (d Destination) ReadSubjectTemplate() (*template.Template, error)

type ParsedDestination

type ParsedDestination struct {
	Addr            string
	Username        string
	Password        string
	From            *mail.Address
	To              []*mail.Address
	SubjectTemplate *template.Template
	BodyTemplate    *template.Template
}

type Root

type Root struct {
	auto.Config
	// Configuration information for how to send the email.
	Destination Destination `json:"destination,omitempty"`

	Source Source `json:"source,omitempty"`

	Now func() time.Time `json:"-"`

	ElectricMeters []string `json:"electricMeters,omitempty"`

	WaterMeters []string `json:"waterMeters,omitempty"`

	Timeout time.Duration `json:"timeout,omitempty"`
}

func ReadBytes

func ReadBytes(data []byte) (cfg Root, err error)

type Source

type Source struct {
	Name      string `json:"name,omitempty"`
	Title     string `json:"title,omitempty"`
	Floor     string `json:"floor,omitempty"`
	Zone      string `json:"zone,omitempty"`
	Subsystem string `json:"subsystem,omitempty"`
}

Jump to

Keyboard shortcuts

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