email

package
v0.0.0-...-e786615 Latest Latest
Warning

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

Go to latest
Published: Jan 13, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetEmailByID

func GetEmailByID(ctx context.Context, s3Client *s3.Client, mailboxBucket, mailboxPrefix, userID, ID string) (string, error)

func ListEmails

func ListEmails(ctx context.Context, s3Client *s3.Client, mailboxBucket, mailboxPrefix, userID string) (string, error)

listEmails in the user's mailbox sitting in S3, as JSON

func SortEmailIntoMailbox

func SortEmailIntoMailbox(ctx context.Context, s3Client *s3.Client, mailboxBucket, mailboxPrefix string, email MoveOperation) error

SortEmailIntoMailbox for the given users in the To list

Types

type Meta

type Meta struct {
	MessageID string
	Subject   string
	Date      time.Time
}

Meta contians a snapshot of an email for the frontend

type MetaMultiMap

type MetaMultiMap map[string][]Meta

MetaMultiMap represents a simple json object with a single key holding the emails

type MoveOperation

type MoveOperation struct {
	MessageID string

	SourceBucket    string
	SourceObjectKey string

	DestPrefixes  []string
	DestObjectKey string

	Errored bool
}

MoveOperation defines an email to sort

func LoadErroredEmails

func LoadErroredEmails(ctx context.Context, s3Client *s3.Client, mailboxBucket, mailboxPrefix string) ([]MoveOperation, error)

LoadErroredEmails from the _errored mailbox

func ParseEvent

func ParseEvent(ctx context.Context, domain string, record events.SNSEventRecord) (MoveOperation, error)

ParseEvent take and SNS event and generates a move operation on the given subject email

Jump to

Keyboard shortcuts

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