package pushover import "regexp" var recipientRegexp *regexp.Regexp func init() { recipientRegexp = regexp.MustCompile(`^[A-Za-z0-9]{30}$`) } // Recipient represents the a recipient to notify. type Recipient struct { token string } // NewRecipient is the representation of the recipient to notify. func NewRecipient(token string) *Recipient { return &Recipient{token} } // Validates recipient token. func (r *Recipient) validate() error { // Check empty token if r.token == "" { return ErrEmptyRecipientToken } // Check invalid token if !recipientRegexp.MatchString(r.token) { return ErrInvalidRecipientToken } return nil } // RecipientDetails represents the receipt informations in case of emergency // priority. type RecipientDetails struct { Status int `json:"status"` Group int `json:"group"` Devices []string `json:"devices"` RequestID string `json:"request"` Errors Errors `json:"errors"` }