package types

import (
	"database/sql"
)

// EmailMessage is a first class object type
type EmailMessage struct {
	ID                    string
	ActivityID            string
	BCCAddress            string
	CCAddress             string
	CreatedByID           string
	CreatedDate           sql.NullTime
	EmailMessageID        string
	FromAddress           string
	FromName              string
	HasAttachment         bool
	Headers               []*Header
	HTML                  []byte
	Incoming              bool
	IsClientManaged       bool
	IsExternallyManaged   bool
	LastModifiedByID      string
	LastModifiedDate      sql.NullTime
	MessageDate           sql.NullTime
	MessageIdentifier     string
	ParentID              string
	RelatedToID           string
	RelationAddress       string
	RelationID            string
	RelationObjectType    string
	RelationType          string
	ReplyToEmailMessageID string
	Status                string
	Subject               string
	Text                  []byte
	ThreadIdentifier      string
	ToAddress             string
	ToName                string
	ValidatedFromAddress  string
}

// Header is a first class object type
type Header struct {
	Key    string
	Values []string
}
