meditime/vendor/github.com/gregdel/pushover/recipient.go

44 lines
950 B
Go
Raw Normal View History

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"`
}